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  }