mirror of
				https://github.com/ethereum/solidity
				synced 2023-10-03 13:03:40 +00:00 
			
		
		
		
	
		
			
				
	
	
		
			96 lines
		
	
	
		
			3.1 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			96 lines
		
	
	
		
			3.1 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
| {
 | |
|     mstore(0x40, memoryguard(128))
 | |
|     sstore(0, g(sload(3)))
 | |
|     function g(x) -> v {
 | |
|         v := f()
 | |
|     }
 | |
|     function f() -> v {
 | |
|         let a1 := calldataload(mul(1,4))
 | |
|         let a2 := calldataload(mul(2,4))
 | |
|         let a3 := calldataload(mul(3,4))
 | |
|         let a4 := calldataload(mul(4,4))
 | |
|         let a5 := calldataload(mul(5,4))
 | |
|         let a6 := calldataload(mul(6,4))
 | |
|         let a7 := calldataload(mul(7,4))
 | |
|         let a8 := calldataload(mul(8,4))
 | |
|         let a9 := calldataload(mul(9,4))
 | |
|         a1 := calldataload(mul(0,4))
 | |
|         let a10 := calldataload(mul(10,4))
 | |
|         let a11 := calldataload(mul(11,4))
 | |
|         let a12 := calldataload(mul(12,4))
 | |
|         let a13 := calldataload(mul(13,4))
 | |
|         let a14 := calldataload(mul(14,4))
 | |
|         let a15 := calldataload(mul(15,4))
 | |
|         let a16 := calldataload(mul(16,4))
 | |
|         let a17 := calldataload(mul(17,4))
 | |
|         sstore(0, a1)
 | |
|         sstore(mul(17,4), a17)
 | |
|         sstore(mul(16,4), a16)
 | |
|         sstore(mul(15,4), a15)
 | |
|         sstore(mul(14,4), a14)
 | |
|         sstore(mul(13,4), a13)
 | |
|         sstore(mul(12,4), a12)
 | |
|         sstore(mul(11,4), a11)
 | |
|         sstore(mul(10,4), a10)
 | |
|         sstore(mul(9,4), a9)
 | |
|         sstore(mul(8,4), a8)
 | |
|         sstore(mul(7,4), a7)
 | |
|         sstore(mul(6,4), a6)
 | |
|         sstore(mul(5,4), a5)
 | |
|         sstore(mul(4,4), a4)
 | |
|         sstore(mul(3,4), a3)
 | |
|         sstore(mul(2,4), a2)
 | |
|         sstore(mul(1,4), a1)
 | |
|         sstore(23, g(sload(42)))
 | |
|     }
 | |
| }
 | |
| // ----
 | |
| // step: stackLimitEvader
 | |
| //
 | |
| // {
 | |
| //     mstore(0x40, memoryguard(128))
 | |
| //     sstore(0, g(sload(3)))
 | |
| //     function g(x) -> v
 | |
| //     { v := f() }
 | |
| //     function f() -> v_1
 | |
| //     {
 | |
| //         let a1 := calldataload(mul(1, 4))
 | |
| //         let a2 := calldataload(mul(2, 4))
 | |
| //         let a3 := calldataload(mul(3, 4))
 | |
| //         let a4 := calldataload(mul(4, 4))
 | |
| //         let a5 := calldataload(mul(5, 4))
 | |
| //         let a6 := calldataload(mul(6, 4))
 | |
| //         let a7 := calldataload(mul(7, 4))
 | |
| //         let a8 := calldataload(mul(8, 4))
 | |
| //         let a9 := calldataload(mul(9, 4))
 | |
| //         a1 := calldataload(mul(0, 4))
 | |
| //         let a10 := calldataload(mul(10, 4))
 | |
| //         let a11 := calldataload(mul(11, 4))
 | |
| //         let a12 := calldataload(mul(12, 4))
 | |
| //         let a13 := calldataload(mul(13, 4))
 | |
| //         let a14 := calldataload(mul(14, 4))
 | |
| //         let a15 := calldataload(mul(15, 4))
 | |
| //         let a16 := calldataload(mul(16, 4))
 | |
| //         let a17 := calldataload(mul(17, 4))
 | |
| //         sstore(0, a1)
 | |
| //         sstore(mul(17, 4), a17)
 | |
| //         sstore(mul(16, 4), a16)
 | |
| //         sstore(mul(15, 4), a15)
 | |
| //         sstore(mul(14, 4), a14)
 | |
| //         sstore(mul(13, 4), a13)
 | |
| //         sstore(mul(12, 4), a12)
 | |
| //         sstore(mul(11, 4), a11)
 | |
| //         sstore(mul(10, 4), a10)
 | |
| //         sstore(mul(9, 4), a9)
 | |
| //         sstore(mul(8, 4), a8)
 | |
| //         sstore(mul(7, 4), a7)
 | |
| //         sstore(mul(6, 4), a6)
 | |
| //         sstore(mul(5, 4), a5)
 | |
| //         sstore(mul(4, 4), a4)
 | |
| //         sstore(mul(3, 4), a3)
 | |
| //         sstore(mul(2, 4), a2)
 | |
| //         sstore(mul(1, 4), a1)
 | |
| //         sstore(23, g(sload(42)))
 | |
| //     }
 | |
| // }
 |