diff options
author | Yoichi Hirai <i@yoichihirai.com> | 2017-05-17 00:45:08 +0800 |
---|---|---|
committer | Yoichi Hirai <i@yoichihirai.com> | 2017-06-13 22:57:02 +0800 |
commit | 0b22154a75254697d0bde328039c5d6bfedd935f (patch) | |
tree | 0c761c5e23b05afdd781ac2f416aa9b923111499 /libevmasm | |
parent | 0c8c2091947e23297655bd6a65587a7580d7dae8 (diff) | |
download | dexon-solidity-0b22154a75254697d0bde328039c5d6bfedd935f.tar.gz dexon-solidity-0b22154a75254697d0bde328039c5d6bfedd935f.tar.zst dexon-solidity-0b22154a75254697d0bde328039c5d6bfedd935f.zip |
libevmasm: add RETURNDATACOPY and RETURNDATASIZE
Diffstat (limited to 'libevmasm')
-rw-r--r-- | libevmasm/Instruction.cpp | 4 | ||||
-rw-r--r-- | libevmasm/Instruction.h | 2 |
2 files changed, 6 insertions, 0 deletions
diff --git a/libevmasm/Instruction.cpp b/libevmasm/Instruction.cpp index 25eab60b..af7e9ff9 100644 --- a/libevmasm/Instruction.cpp +++ b/libevmasm/Instruction.cpp @@ -67,6 +67,8 @@ const std::map<std::string, Instruction> dev::solidity::c_instructions = { "GASPRICE", Instruction::GASPRICE }, { "EXTCODESIZE", Instruction::EXTCODESIZE }, { "EXTCODECOPY", Instruction::EXTCODECOPY }, + { "RETURNDATASIZE", Instruction::RETURNDATASIZE }, + { "RETURNDATACOPY", Instruction::RETURNDATACOPY }, { "BLOCKHASH", Instruction::BLOCKHASH }, { "COINBASE", Instruction::COINBASE }, { "TIMESTAMP", Instruction::TIMESTAMP }, @@ -203,6 +205,8 @@ static const std::map<Instruction, InstructionInfo> c_instructionInfo = { Instruction::GASPRICE, { "GASPRICE", 0, 0, 1, false, Tier::Base } }, { Instruction::EXTCODESIZE, { "EXTCODESIZE", 0, 1, 1, false, Tier::ExtCode } }, { Instruction::EXTCODECOPY, { "EXTCODECOPY", 0, 4, 0, true, Tier::ExtCode } }, + { Instruction::RETURNDATASIZE, {"RETURNDATASIZE", 0, 0, 1, false, Tier::Base } }, + { Instruction::RETURNDATACOPY, {"RETURNDATACOPY", 0, 3, 0, true, Tier::VeryLow } }, { Instruction::BLOCKHASH, { "BLOCKHASH", 0, 1, 1, false, Tier::Ext } }, { Instruction::COINBASE, { "COINBASE", 0, 0, 1, false, Tier::Base } }, { Instruction::TIMESTAMP, { "TIMESTAMP", 0, 0, 1, false, Tier::Base } }, diff --git a/libevmasm/Instruction.h b/libevmasm/Instruction.h index 09d1e58b..a8c3bf4a 100644 --- a/libevmasm/Instruction.h +++ b/libevmasm/Instruction.h @@ -77,6 +77,8 @@ enum class Instruction: uint8_t GASPRICE, ///< get price of gas in current environment EXTCODESIZE, ///< get external code size (from another contract) EXTCODECOPY, ///< copy external code (from another contract) + RETURNDATASIZE, ///< get size of the last return data + RETURNDATACOPY, ///< copy last return data to memory BLOCKHASH = 0x40, ///< get hash of most recent complete block COINBASE, ///< get the block's coinbase address |