aboutsummaryrefslogtreecommitdiffstats
path: root/CompilerState.cpp
diff options
context:
space:
mode:
authorGav Wood <i@gavwood.com>2014-05-31 19:06:32 +0800
committerGav Wood <i@gavwood.com>2014-05-31 19:06:32 +0800
commit99e9cb0e2e891a790553adf9309362a709e8689a (patch)
tree90f427ca1fa52ccd618a34b956c8cafd5375d930 /CompilerState.cpp
parent7afd678509cf01187d8a706a0bbdb45df115f755 (diff)
downloaddexon-solidity-99e9cb0e2e891a790553adf9309362a709e8689a.tar
dexon-solidity-99e9cb0e2e891a790553adf9309362a709e8689a.tar.gz
dexon-solidity-99e9cb0e2e891a790553adf9309362a709e8689a.tar.bz2
dexon-solidity-99e9cb0e2e891a790553adf9309362a709e8689a.tar.lz
dexon-solidity-99e9cb0e2e891a790553adf9309362a709e8689a.tar.xz
dexon-solidity-99e9cb0e2e891a790553adf9309362a709e8689a.tar.zst
dexon-solidity-99e9cb0e2e891a790553adf9309362a709e8689a.zip
Additional variants of create and send.
Diffstat (limited to 'CompilerState.cpp')
-rw-r--r--CompilerState.cpp5
1 files changed, 3 insertions, 2 deletions
diff --git a/CompilerState.cpp b/CompilerState.cpp
index 2d23d14e..5cf2a965 100644
--- a/CompilerState.cpp
+++ b/CompilerState.cpp
@@ -43,18 +43,19 @@ void CompilerState::populateStandard()
"(def 'gav 0x8a40bfaa73256b60764c1bf40675a99083efb075)"
"(def 'send (to value) (call (- (gas) 21) to value 0 0 0 0))"
"(def 'send (gaslimit to value) (call gaslimit to value 0 0 0 0))"
-#if 1
"(def 'alloc (len) (asm msize 0 1 len msize add sub mstore8))"
"(def 'msg (gaslimit to value data datasize outsize) { [32]:outsize [0]:(alloc @32) (call gaslimit to value data datasize @0 @32) @0 })"
"(def 'msg (gaslimit to value data datasize) { (call gaslimit to value data datasize 0 32) @0 })"
"(def 'msg (gaslimit to value data) { [0]:data (msg gaslimit to value 0 32) })"
+ "(def 'msg (to value data) { [0]:data (msg 0 to value 0 32) })"
+ "(def 'msg (to data) { [0]:data (msg 0 to 0 0 32) })"
"(def 'create (value code) { [0]:(msize) (create value @0 (lll code @0)) })"
+ "(def 'create (code) { [0]:(msize) (create 0 @0 (lll code @0)) })"
"(def 'sha3 (val) { [0]:val (sha3 0 32) })"
"(def 'return (val) { [0]:val (return 0 32) })"
"(def 'makeperm (name pos) { (def name (sload pos)) (def name (v) (sstore pos v)) } )"
"(def 'permcount 0)"
"(def 'perm (name) { (makeperm name permcount) (def 'permcount (+ permcount 1)) } )"
-#endif
"}";
CodeFragment::compile(s, *this);
}