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  }