github.com/annchain/OG@v0.0.9/vm/vm_test/contracts/o/CallHelper.evm (about) 1 /* "../vm_test/contracts/delegatecall.sol":1290:1443 contract CallHelper {... */ 2 mstore(0x40, 0x60) 3 jumpi(tag_1, iszero(callvalue)) 4 0x0 5 dup1 6 revert 7 tag_1: 8 dataSize(sub_0) 9 dup1 10 dataOffset(sub_0) 11 0x0 12 codecopy 13 0x0 14 return 15 stop 16 17 sub_0: assembly { 18 /* "../vm_test/contracts/delegatecall.sol":1290:1443 contract CallHelper {... */ 19 mstore(0x40, 0x60) 20 jumpi(tag_1, lt(calldatasize, 0x4)) 21 calldataload(0x0) 22 0x100000000000000000000000000000000000000000000000000000000 23 swap1 24 div 25 0xffffffff 26 and 27 dup1 28 0xeec6a2d6 29 eq 30 tag_2 31 jumpi 32 tag_1: 33 0x0 34 dup1 35 revert 36 /* "../vm_test/contracts/delegatecall.sol":1316:1441 function justCall(Caller _caller, Callee _callee, uint _value) {... */ 37 tag_2: 38 jumpi(tag_3, iszero(callvalue)) 39 0x0 40 dup1 41 revert 42 tag_3: 43 tag_4 44 0x4 45 dup1 46 dup1 47 calldataload 48 0xffffffffffffffffffffffffffffffffffffffff 49 and 50 swap1 51 0x20 52 add 53 swap1 54 swap2 55 swap1 56 dup1 57 calldataload 58 0xffffffffffffffffffffffffffffffffffffffff 59 and 60 swap1 61 0x20 62 add 63 swap1 64 swap2 65 swap1 66 dup1 67 calldataload 68 swap1 69 0x20 70 add 71 swap1 72 swap2 73 swap1 74 pop 75 pop 76 jump(tag_5) 77 tag_4: 78 stop 79 tag_5: 80 /* "../vm_test/contracts/delegatecall.sol":1389:1396 _caller */ 81 dup3 82 /* "../vm_test/contracts/delegatecall.sol":1389:1417 _caller.delegatecallSetValue */ 83 0xffffffffffffffffffffffffffffffffffffffff 84 and 85 0x9207ba9a 86 /* "../vm_test/contracts/delegatecall.sol":1418:1425 _callee */ 87 dup4 88 /* "../vm_test/contracts/delegatecall.sol":1427:1433 _value */ 89 dup4 90 /* "../vm_test/contracts/delegatecall.sol":1389:1434 _caller.delegatecallSetValue(_callee, _value) */ 91 mload(0x40) 92 dup4 93 0xffffffff 94 and 95 0x100000000000000000000000000000000000000000000000000000000 96 mul 97 dup2 98 mstore 99 0x4 100 add 101 dup1 102 dup4 103 0xffffffffffffffffffffffffffffffffffffffff 104 and 105 0xffffffffffffffffffffffffffffffffffffffff 106 and 107 dup2 108 mstore 109 0x20 110 add 111 dup3 112 dup2 113 mstore 114 0x20 115 add 116 swap3 117 pop 118 pop 119 pop 120 0x0 121 mload(0x40) 122 dup1 123 dup4 124 sub 125 dup2 126 0x0 127 dup8 128 dup1 129 extcodesize 130 iszero 131 iszero 132 tag_7 133 jumpi 134 0x0 135 dup1 136 revert 137 tag_7: 138 sub(gas, 0x2c6) 139 call 140 iszero 141 iszero 142 tag_8 143 jumpi 144 0x0 145 dup1 146 revert 147 tag_8: 148 pop 149 pop 150 pop 151 /* "../vm_test/contracts/delegatecall.sol":1316:1441 function justCall(Caller _caller, Callee _callee, uint _value) {... */ 152 pop 153 pop 154 pop 155 jump // out 156 157 auxdata: 0xa165627a7a7230582058075c295d0ab7f09cfcbb5362faf8652a6ebab63a6ebb58967a750c97dbf73b0029 158 }