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  }