diff options
author | chriseth <chris@ethereum.org> | 2017-04-28 19:09:48 +0800 |
---|---|---|
committer | chriseth <chris@ethereum.org> | 2017-04-28 19:14:52 +0800 |
commit | 28f10f4783bd4365654191740069a7112be03d92 (patch) | |
tree | 0a6900822f7c838ba59a0916c90b54c7e7890441 /libsolidity/codegen | |
parent | f9bccab7b744c786f1eb12fad5cc0e499d0f1075 (diff) | |
download | dexon-solidity-28f10f4783bd4365654191740069a7112be03d92.tar.gz dexon-solidity-28f10f4783bd4365654191740069a7112be03d92.tar.zst dexon-solidity-28f10f4783bd4365654191740069a7112be03d92.zip |
Remove error label / invalid jump label.
Diffstat (limited to 'libsolidity/codegen')
-rw-r--r-- | libsolidity/codegen/CompilerUtils.cpp | 19 | ||||
-rw-r--r-- | libsolidity/codegen/CompilerUtils.h | 4 |
2 files changed, 0 insertions, 23 deletions
diff --git a/libsolidity/codegen/CompilerUtils.cpp b/libsolidity/codegen/CompilerUtils.cpp index dc0b340c..4ae9a09a 100644 --- a/libsolidity/codegen/CompilerUtils.cpp +++ b/libsolidity/codegen/CompilerUtils.cpp @@ -299,25 +299,6 @@ void CompilerUtils::zeroInitialiseMemoryArray(ArrayType const& _type) m_context << Instruction::SWAP1 << Instruction::POP; } -void CompilerUtils::memoryCopyPrecompile() -{ - // Stack here: size target source - - m_context.appendInlineAssembly(R"( - { - let words := div(add(len, 31), 32) - let cost := add(15, mul(3, words)) - jumpi(invalidJumpLabel, iszero(call(cost, $identityContractAddress, 0, src, len, dst, len))) - } - )", - { "len", "dst", "src" }, - map<string, string> { - { "$identityContractAddress", toString(identityContractAddress) } - } - ); - m_context << Instruction::POP << Instruction::POP << Instruction::POP; -} - void CompilerUtils::memoryCopy32() { // Stack here: size target source diff --git a/libsolidity/codegen/CompilerUtils.h b/libsolidity/codegen/CompilerUtils.h index b9ed6757..4140ce8b 100644 --- a/libsolidity/codegen/CompilerUtils.h +++ b/libsolidity/codegen/CompilerUtils.h @@ -109,10 +109,6 @@ public: /// Stack post: <updated_memptr> void zeroInitialiseMemoryArray(ArrayType const& _type); - /// Uses a CALL to the identity contract to perform a memory-to-memory copy. - /// Stack pre: <size> <target> <source> - /// Stack post: - void memoryCopyPrecompile(); /// Copies full 32 byte words in memory (regions cannot overlap), i.e. may copy more than length. /// Stack pre: <size> <target> <source> /// Stack post: |