github.com/annchain/OG@v0.0.9/vm/vm_test/contracts/o/Callee.evm (about) 1 /* "../vm_test/contracts/delegatecall.sol":721:1288 contract Callee {... */ 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":721:1288 contract Callee {... */ 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 0x3fa4f245 29 eq 30 tag_2 31 jumpi 32 dup1 33 0x55241077 34 eq 35 tag_3 36 jumpi 37 dup1 38 0xd737d0c7 39 eq 40 tag_4 41 jumpi 42 dup1 43 0xf96757d1 44 eq 45 tag_5 46 jumpi 47 tag_1: 48 0x0 49 dup1 50 revert 51 /* "../vm_test/contracts/delegatecall.sol":743:760 uint public value */ 52 tag_2: 53 jumpi(tag_6, iszero(callvalue)) 54 0x0 55 dup1 56 revert 57 tag_6: 58 tag_7 59 jump(tag_8) 60 tag_7: 61 mload(0x40) 62 dup1 63 dup3 64 dup2 65 mstore 66 0x20 67 add 68 swap2 69 pop 70 pop 71 mload(0x40) 72 dup1 73 swap2 74 sub 75 swap1 76 return 77 /* "../vm_test/contracts/delegatecall.sol":827:1286 function setValue(uint _value) {... */ 78 tag_3: 79 jumpi(tag_9, iszero(callvalue)) 80 0x0 81 dup1 82 revert 83 tag_9: 84 tag_10 85 0x4 86 dup1 87 dup1 88 calldataload 89 swap1 90 0x20 91 add 92 swap1 93 swap2 94 swap1 95 pop 96 pop 97 jump(tag_11) 98 tag_10: 99 stop 100 /* "../vm_test/contracts/delegatecall.sol":766:790 address public msgSender */ 101 tag_4: 102 jumpi(tag_12, iszero(callvalue)) 103 0x0 104 dup1 105 revert 106 tag_12: 107 tag_13 108 jump(tag_14) 109 tag_13: 110 mload(0x40) 111 dup1 112 dup3 113 0xffffffffffffffffffffffffffffffffffffffff 114 and 115 0xffffffffffffffffffffffffffffffffffffffff 116 and 117 dup2 118 mstore 119 0x20 120 add 121 swap2 122 pop 123 pop 124 mload(0x40) 125 dup1 126 swap2 127 sub 128 swap1 129 return 130 /* "../vm_test/contracts/delegatecall.sol":796:819 address public txOrigin */ 131 tag_5: 132 jumpi(tag_15, iszero(callvalue)) 133 0x0 134 dup1 135 revert 136 tag_15: 137 tag_16 138 jump(tag_17) 139 tag_16: 140 mload(0x40) 141 dup1 142 dup3 143 0xffffffffffffffffffffffffffffffffffffffff 144 and 145 0xffffffffffffffffffffffffffffffffffffffff 146 and 147 dup2 148 mstore 149 0x20 150 add 151 swap2 152 pop 153 pop 154 mload(0x40) 155 dup1 156 swap2 157 sub 158 swap1 159 return 160 /* "../vm_test/contracts/delegatecall.sol":743:760 uint public value */ 161 tag_8: 162 sload(0x0) 163 dup2 164 jump // out 165 /* "../vm_test/contracts/delegatecall.sol":827:1286 function setValue(uint _value) {... */ 166 tag_11: 167 /* "../vm_test/contracts/delegatecall.sol":876:882 _value */ 168 dup1 169 /* "../vm_test/contracts/delegatecall.sol":868:873 value */ 170 0x0 171 /* "../vm_test/contracts/delegatecall.sol":868:882 value = _value */ 172 dup2 173 swap1 174 sstore 175 pop 176 /* "../vm_test/contracts/delegatecall.sol":904:914 msg.sender */ 177 caller 178 /* "../vm_test/contracts/delegatecall.sol":892:901 msgSender */ 179 0x1 180 0x0 181 /* "../vm_test/contracts/delegatecall.sol":892:914 msgSender = msg.sender */ 182 0x100 183 exp 184 dup2 185 sload 186 dup2 187 0xffffffffffffffffffffffffffffffffffffffff 188 mul 189 not 190 and 191 swap1 192 dup4 193 0xffffffffffffffffffffffffffffffffffffffff 194 and 195 mul 196 or 197 swap1 198 sstore 199 pop 200 /* "../vm_test/contracts/delegatecall.sol":935:944 tx.origin */ 201 origin 202 /* "../vm_test/contracts/delegatecall.sol":924:932 txOrigin */ 203 0x2 204 0x0 205 /* "../vm_test/contracts/delegatecall.sol":924:944 txOrigin = tx.origin */ 206 0x100 207 exp 208 dup2 209 sload 210 dup2 211 0xffffffffffffffffffffffffffffffffffffffff 212 mul 213 not 214 and 215 swap1 216 dup4 217 0xffffffffffffffffffffffffffffffffffffffff 218 and 219 mul 220 or 221 swap1 222 sstore 223 pop 224 /* "../vm_test/contracts/delegatecall.sol":827:1286 function setValue(uint _value) {... */ 225 pop 226 jump // out 227 /* "../vm_test/contracts/delegatecall.sol":766:790 address public msgSender */ 228 tag_14: 229 0x1 230 0x0 231 swap1 232 sload 233 swap1 234 0x100 235 exp 236 swap1 237 div 238 0xffffffffffffffffffffffffffffffffffffffff 239 and 240 dup2 241 jump // out 242 /* "../vm_test/contracts/delegatecall.sol":796:819 address public txOrigin */ 243 tag_17: 244 0x2 245 0x0 246 swap1 247 sload 248 swap1 249 0x100 250 exp 251 swap1 252 div 253 0xffffffffffffffffffffffffffffffffffffffff 254 and 255 dup2 256 jump // out 257 258 auxdata: 0xa165627a7a7230582069f6c976d7f07116bf84b222cfff9c1a0f3c4c662a694fbeb36ae68977c869c00029 259 }