diff options
author | chriseth <c@ethdev.com> | 2016-12-12 00:51:17 +0800 |
---|---|---|
committer | chriseth <c@ethdev.com> | 2016-12-12 00:57:15 +0800 |
commit | bfa4f451160bff14d79bf6e25d969b1f586a8b00 (patch) | |
tree | dd16eb515fd3c1594a044d1ec7235782ef6ffa36 /libsolidity/codegen/CompilerUtils.h | |
parent | 4184525d4ad7aff3acb2d521c3cdc21054e36eff (diff) | |
download | dexon-solidity-bfa4f451160bff14d79bf6e25d969b1f586a8b00.tar.gz dexon-solidity-bfa4f451160bff14d79bf6e25d969b1f586a8b00.tar.zst dexon-solidity-bfa4f451160bff14d79bf6e25d969b1f586a8b00.zip |
Split memcopy into three functions.
Diffstat (limited to 'libsolidity/codegen/CompilerUtils.h')
-rw-r--r-- | libsolidity/codegen/CompilerUtils.h | 10 |
1 files changed, 9 insertions, 1 deletions
diff --git a/libsolidity/codegen/CompilerUtils.h b/libsolidity/codegen/CompilerUtils.h index 52b5b0d6..ad53efea 100644 --- a/libsolidity/codegen/CompilerUtils.h +++ b/libsolidity/codegen/CompilerUtils.h @@ -112,7 +112,15 @@ public: /// Uses a CALL to the identity contract to perform a memory-to-memory copy. /// Stack pre: <size> <target> <source> /// Stack post: - void memoryCopy(bool _useIdentityPrecompile = false); + 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: + void memoryCopy32(); + /// Copies data in memory (regions cannot overlap). + /// Stack pre: <size> <target> <source> + /// Stack post: + void memoryCopy(); /// Converts the combined and left-aligned (right-aligned if @a _rightAligned is true) /// external function type <address><function identifier> into two stack slots: |