github.com/annchain/OG@v0.0.9/vm/vm_test/contracts/o/C2.evm (about) 1 /* "../vm_test/contracts/intercall.sol":89:222 contract C2 {... */ 2 mstore(0x40, 0x80) 3 callvalue 4 /* "--CODEGEN--":8:17 */ 5 dup1 6 /* "--CODEGEN--":5:7 */ 7 iszero 8 tag_1 9 jumpi 10 /* "--CODEGEN--":30:31 */ 11 0x0 12 /* "--CODEGEN--":27:28 */ 13 dup1 14 /* "--CODEGEN--":20:32 */ 15 revert 16 /* "--CODEGEN--":5:7 */ 17 tag_1: 18 /* "../vm_test/contracts/intercall.sol":89:222 contract C2 {... */ 19 pop 20 dataSize(sub_0) 21 dup1 22 dataOffset(sub_0) 23 0x0 24 codecopy 25 0x0 26 return 27 stop 28 29 sub_0: assembly { 30 /* "../vm_test/contracts/intercall.sol":89:222 contract C2 {... */ 31 mstore(0x40, 0x80) 32 jumpi(tag_1, lt(calldatasize, 0x4)) 33 calldataload(0x0) 34 0x100000000000000000000000000000000000000000000000000000000 35 swap1 36 div 37 0xffffffff 38 and 39 dup1 40 0xc3642756 41 eq 42 tag_2 43 jumpi 44 tag_1: 45 0x0 46 dup1 47 revert 48 /* "../vm_test/contracts/intercall.sol":107:220 function f2(address addrC1) pure public returns(uint) {... */ 49 tag_2: 50 callvalue 51 /* "--CODEGEN--":8:17 */ 52 dup1 53 /* "--CODEGEN--":5:7 */ 54 iszero 55 tag_3 56 jumpi 57 /* "--CODEGEN--":30:31 */ 58 0x0 59 /* "--CODEGEN--":27:28 */ 60 dup1 61 /* "--CODEGEN--":20:32 */ 62 revert 63 /* "--CODEGEN--":5:7 */ 64 tag_3: 65 /* "../vm_test/contracts/intercall.sol":107:220 function f2(address addrC1) pure public returns(uint) {... */ 66 pop 67 tag_4 68 0x4 69 dup1 70 calldatasize 71 sub 72 /* "--CODEGEN--":13:15 */ 73 0x20 74 /* "--CODEGEN--":8:11 */ 75 dup2 76 /* "--CODEGEN--":5:16 */ 77 lt 78 /* "--CODEGEN--":2:4 */ 79 iszero 80 tag_5 81 jumpi 82 /* "--CODEGEN--":29:30 */ 83 0x0 84 /* "--CODEGEN--":26:27 */ 85 dup1 86 /* "--CODEGEN--":19:31 */ 87 revert 88 /* "--CODEGEN--":2:4 */ 89 tag_5: 90 /* "../vm_test/contracts/intercall.sol":107:220 function f2(address addrC1) pure public returns(uint) {... */ 91 dup2 92 add 93 swap1 94 dup1 95 dup1 96 calldataload 97 0xffffffffffffffffffffffffffffffffffffffff 98 and 99 swap1 100 0x20 101 add 102 swap1 103 swap3 104 swap2 105 swap1 106 pop 107 pop 108 pop 109 jump(tag_6) 110 tag_4: 111 mload(0x40) 112 dup1 113 dup3 114 dup2 115 mstore 116 0x20 117 add 118 swap2 119 pop 120 pop 121 mload(0x40) 122 dup1 123 swap2 124 sub 125 swap1 126 return 127 tag_6: 128 /* "../vm_test/contracts/intercall.sol":155:159 uint */ 129 0x0 130 /* "../vm_test/contracts/intercall.sol":171:176 C1 c1 */ 131 dup1 132 /* "../vm_test/contracts/intercall.sol":182:188 addrC1 */ 133 dup3 134 /* "../vm_test/contracts/intercall.sol":171:189 C1 c1 = C1(addrC1) */ 135 swap1 136 pop 137 /* "../vm_test/contracts/intercall.sol":206:208 c1 */ 138 dup1 139 /* "../vm_test/contracts/intercall.sol":206:211 c1.f1 */ 140 0xffffffffffffffffffffffffffffffffffffffff 141 and 142 0xc27fc305 143 /* "../vm_test/contracts/intercall.sol":206:213 c1.f1() */ 144 mload(0x40) 145 dup2 146 0xffffffff 147 and 148 0x100000000000000000000000000000000000000000000000000000000 149 mul 150 dup2 151 mstore 152 0x4 153 add 154 0x20 155 mload(0x40) 156 dup1 157 dup4 158 sub 159 dup2 160 dup7 161 dup1 162 extcodesize 163 iszero 164 /* "--CODEGEN--":8:17 */ 165 dup1 166 /* "--CODEGEN--":5:7 */ 167 iszero 168 tag_8 169 jumpi 170 /* "--CODEGEN--":30:31 */ 171 0x0 172 /* "--CODEGEN--":27:28 */ 173 dup1 174 /* "--CODEGEN--":20:32 */ 175 revert 176 /* "--CODEGEN--":5:7 */ 177 tag_8: 178 /* "../vm_test/contracts/intercall.sol":206:213 c1.f1() */ 179 pop 180 gas 181 staticcall 182 iszero 183 /* "--CODEGEN--":8:17 */ 184 dup1 185 /* "--CODEGEN--":5:7 */ 186 iszero 187 tag_9 188 jumpi 189 /* "--CODEGEN--":45:61 */ 190 returndatasize 191 /* "--CODEGEN--":42:43 */ 192 0x0 193 /* "--CODEGEN--":39:40 */ 194 dup1 195 /* "--CODEGEN--":24:62 */ 196 returndatacopy 197 /* "--CODEGEN--":77:93 */ 198 returndatasize 199 /* "--CODEGEN--":74:75 */ 200 0x0 201 /* "--CODEGEN--":67:94 */ 202 revert 203 /* "--CODEGEN--":5:7 */ 204 tag_9: 205 /* "../vm_test/contracts/intercall.sol":206:213 c1.f1() */ 206 pop 207 pop 208 pop 209 pop 210 mload(0x40) 211 returndatasize 212 /* "--CODEGEN--":13:15 */ 213 0x20 214 /* "--CODEGEN--":8:11 */ 215 dup2 216 /* "--CODEGEN--":5:16 */ 217 lt 218 /* "--CODEGEN--":2:4 */ 219 iszero 220 tag_10 221 jumpi 222 /* "--CODEGEN--":29:30 */ 223 0x0 224 /* "--CODEGEN--":26:27 */ 225 dup1 226 /* "--CODEGEN--":19:31 */ 227 revert 228 /* "--CODEGEN--":2:4 */ 229 tag_10: 230 /* "../vm_test/contracts/intercall.sol":206:213 c1.f1() */ 231 dup2 232 add 233 swap1 234 dup1 235 dup1 236 mload 237 swap1 238 0x20 239 add 240 swap1 241 swap3 242 swap2 243 swap1 244 pop 245 pop 246 pop 247 /* "../vm_test/contracts/intercall.sol":199:213 return c1.f1() */ 248 swap2 249 pop 250 pop 251 /* "../vm_test/contracts/intercall.sol":107:220 function f2(address addrC1) pure public returns(uint) {... */ 252 swap2 253 swap1 254 pop 255 jump // out 256 257 auxdata: 0xa165627a7a723058204e9beb52721cf84dbff7bae9db470f98b63cedf848ba61eea8dc89b0ec852e1c0029 258 }