mirror of
https://github.com/ethereum/solidity
synced 2023-10-03 13:03:40 +00:00
add new opcode instructions to the parser
STATICCALL 0xfa 6 inputs (gas address mem1 mem2 mem3 mem4)
This commit is contained in:
+8
-1
@@ -236,11 +236,15 @@ In the grammar, opcodes are represented as pre-defined identifiers.
|
||||
+-------------------------+------+-----------------------------------------------------------------+
|
||||
| returndatasize | | size of the last returndata |
|
||||
+-------------------------+------+-----------------------------------------------------------------+
|
||||
| returndatacopy(t, f, s) | `*` | copy s bytes from returndata at position f to mem at position t |
|
||||
| returndatacopy(t, f, s) | `-` | copy s bytes from returndata at position f to mem at position t |
|
||||
+-------------------------+------+-----------------------------------------------------------------+
|
||||
| create(v, p, s) | | create new contract with code mem[p..(p+s)) and send v wei |
|
||||
| | | and return the new address |
|
||||
+-------------------------+------+-----------------------------------------------------------------+
|
||||
| create2(v, n, p, s) | | create new contract with code mem[p..(p+s)) at address |
|
||||
| | | keccak256(<address> . n . keccak256(mem[p..(p+s))) and send v |
|
||||
| | | wei and return the new address |
|
||||
+-------------------------+------+-----------------------------------------------------------------+
|
||||
| call(g, a, v, in, | | call contract at address a with input mem[in..(in+insize)) |
|
||||
| insize, out, outsize) | | providing g gas and v wei and output area |
|
||||
| | | mem[out..(out+outsize)) returning 0 on error (eg. out of gas) |
|
||||
@@ -252,6 +256,9 @@ In the grammar, opcodes are represented as pre-defined identifiers.
|
||||
| delegatecall(g, a, in, | | identical to `callcode` but also keep ``caller`` |
|
||||
| insize, out, outsize) | | and ``callvalue`` |
|
||||
+-------------------------+------+-----------------------------------------------------------------+
|
||||
| staticcall(g, a, in, | | identical to `call(g, a, 0, in, insize, out, outsize)` but do |
|
||||
| insize, out, outsize) | | not allow state modifications |
|
||||
+-------------------------+------+-----------------------------------------------------------------+
|
||||
| return(p, s) | `-` | end execution, return data mem[p..(p+s)) |
|
||||
+-------------------------+------+-----------------------------------------------------------------+
|
||||
| revert(p, s) | `-` | end execution, revert state changes, return data mem[p..(p+s)) |
|
||||
|
||||
Reference in New Issue
Block a user