aboutsummaryrefslogtreecommitdiffstats
path: root/CompilerUtils.h
diff options
context:
space:
mode:
authorchriseth <c@ethdev.com>2015-06-23 20:55:33 +0800
committerchriseth <c@ethdev.com>2015-06-24 18:18:19 +0800
commit1add48a652ea695032d8c664fad3ea84afbfb9ea (patch)
tree1410f848aeaf32b61d7745999c85334275151338 /CompilerUtils.h
parentfd1a01bbce5b5b6491e05b87fb183a55e9804f4e (diff)
downloaddexon-solidity-1add48a652ea695032d8c664fad3ea84afbfb9ea.tar
dexon-solidity-1add48a652ea695032d8c664fad3ea84afbfb9ea.tar.gz
dexon-solidity-1add48a652ea695032d8c664fad3ea84afbfb9ea.tar.bz2
dexon-solidity-1add48a652ea695032d8c664fad3ea84afbfb9ea.tar.lz
dexon-solidity-1add48a652ea695032d8c664fad3ea84afbfb9ea.tar.xz
dexon-solidity-1add48a652ea695032d8c664fad3ea84afbfb9ea.tar.zst
dexon-solidity-1add48a652ea695032d8c664fad3ea84afbfb9ea.zip
Copy routines for non-byte arrays.
Diffstat (limited to 'CompilerUtils.h')
-rw-r--r--CompilerUtils.h7
1 files changed, 7 insertions, 0 deletions
diff --git a/CompilerUtils.h b/CompilerUtils.h
index a880f9ee..ac70088b 100644
--- a/CompilerUtils.h
+++ b/CompilerUtils.h
@@ -77,6 +77,8 @@ public:
);
/// Dynamic version of @see storeInMemory, expects the memory offset below the value on the stack
/// and also updates that. For arrays, only copies the data part.
+ /// @param _padToWordBoundaries if true, adds zeros to pad to multiple of 32 bytes. Array elements
+ /// are always padded (except for byte arrays), regardless of this parameter.
/// Stack pre: memory_offset value...
/// Stack post: (memory_offset+length)
void storeInMemoryDynamic(Type const& _type, bool _padToWordBoundaries = true);
@@ -99,6 +101,11 @@ public:
bool _copyDynamicDataInPlace = false
);
+ /// Uses a CALL to the identity contract to perform a memory-to-memory copy.
+ /// Stack pre: <size> <target> <source>
+ /// Stack post:
+ void memoryCopy();
+
/// Appends code for an implicit or explicit type conversion. This includes erasing higher
/// order bits (@see appendHighBitCleanup) when widening integer but also copy to memory
/// if a reference type is converted from calldata or storage to memory.