Commit Graph

45 Commits

Author SHA1 Message Date
Alex Beregszaszi
15517b571d lll: disallow useless PUSHn in assembly 2017-10-13 02:04:36 +01:00
Alex Beregszaszi
ab206b8113 LLL: do not crash if import callback is null 2017-10-03 10:22:30 +01:00
Alex Beregszaszi
26f3ea8cf7 LLL: change (include) to use a callback 2017-10-02 21:19:36 +01:00
Alex Beregszaszi
cbd4465a7f lll: do not expose push/dup/swap/jumpdest as functions 2017-10-02 16:21:21 +01:00
Alex Beregszaszi
6cbb726fb8 Merge pull request #2622 from benjaminion/lll-switch
LLL: Implement a "switch" expression
2017-10-02 13:38:21 +01:00
benjaminion
326c7887a4 LLL: Implement a switch expression. 2017-10-02 12:01:15 +01:00
Alex Beregszaszi
cddfec27ee lll: better error reporting in some cases 2017-10-02 11:48:26 +01:00
Alex Beregszaszi
d70974ea7c Merge pull request #2573 from benjaminion/lll-error-report-symbol
LLL: Improve error reporting in certain cases.
2017-07-20 11:02:31 +01:00
Alex Beregszaszi
fa2781d6da LLL: remove useless code 2017-07-18 21:12:43 +01:00
benjaminion
4c0953385e LLL: Improve error reporting in certain cases. 2017-07-15 22:17:20 +01:00
benjaminion
3bc935d932 LLL: rewrite alloc to avoid issues with edge cases. 2017-07-11 21:22:38 +01:00
Alex Beregszaszi
dbbdcc66e6 LLL: fix redefinitions on some compilers 2017-06-24 12:59:30 +01:00
Alex Beregszaszi
af57c083f2 LLL: fix the set keyword (create symbol if not present) 2017-06-23 02:52:44 +01:00
Alex Beregszaszi
1ffe286a81 LLL: report correct name if a symbol was not found 2017-06-22 23:00:22 +01:00
Alex Beregszaszi
581aace501 LLL: do not allow empty variable names 2017-06-22 23:00:22 +01:00
chriseth
0868a50eb1 Merge pull request #2440 from ethereum/lll-include
LLL: better error reporting in (include)
2017-06-22 17:18:34 +02:00
Alex Beregszaszi
a14a1254ca LLL: report errors if (include) failed 2017-06-22 10:56:58 +01:00
Alex Beregszaszi
bc95da354d Replace obsolete assembly code in LLL 2017-06-21 21:23:39 +01:00
Alex Beregszaszi
c08c4b8b6f Move subroutine helpers from CompilerContext to Assembly 2017-06-14 21:21:26 +01:00
Alex Beregszaszi
6a260a9ff1 Remove single use Assembly::popTo 2017-06-14 21:21:26 +01:00
benjaminion
c603369a51 Change opcode generated by (panic) to INVALID
EIP-141 ethereum/EIPs#141 has preserved 0xfe as an invalid opcode for aborting EVM execution. The EVM assembler supports this via the INVALID opcode.

The LLL "panic" expression used to generate a jump to an invalid location in order to abort EVM execution.  This change brings "panic" into line with EIP-141 by generating the INVALID opcode instead.
2017-06-13 17:01:38 +01:00
Alex Beregszaszi
902f69640b Replace cpp-ethereum with solidity in the license headers 2017-02-02 10:06:28 +00:00
Alex Beregszaszi
b1add657b7 LLL: throw exceptions on invalid symbols 2016-11-30 16:17:50 +00:00
Alex Beregszaszi
4a67a2862c Merge pull request #1329 from ethereum/lll-lit-changes
LLL: improvements (and fixes) to the lit keyword
2016-11-26 15:22:14 +00:00
Alex Beregszaszi
eee10f1af2 LLL: simplify the LIT parsing code 2016-11-26 14:41:15 +00:00
chriseth
e51f852504 Converted sub assembly to smart pointer. 2016-11-16 14:37:18 +01:00
chriseth
e543bd34c0 Stored combined creation and runtime tags.
Includes a change to Assembly to allow tags from sub-assemblies to be
used.

Sorry, this get a bit bigger than I thought.
2016-11-16 14:37:18 +01:00
Alex Beregszaszi
200cbc08dd LLL: add bytecodesize keyword to push resulting bytecode size 2016-11-01 22:19:06 +00:00
Alex Beregszaszi
ac3c8a553a LLL: properly support dashes (-) as part of variable names 2016-11-01 10:45:13 +00:00
Alex Beregszaszi
b24eed1c3e LLL: remove unneeded includes 2016-10-31 23:19:32 +00:00
Alex Beregszaszi
9b65a79cb3 LLL: report back unsupported keywords 2016-10-31 23:19:32 +00:00
Alex Beregszaszi
75b1ae8910 LLL: only support variable length bigendian numbers in LIT 2016-10-31 23:17:55 +00:00
Alex Beregszaszi
6d97a56af1 LLL: support multiple strings in LIT 2016-10-31 23:17:48 +00:00
chriseth
e85390cc60 Merge pull request #1302 from ethereum/lll-panic
LLL: introduce panic keyword
2016-10-28 11:44:46 +02:00
Alex Beregszaszi
274c76fc5e LLL: introduce panic keyword 2016-10-27 13:45:33 +01:00
Daniel Ellison
7ac53f5305 Added support for until, the inverse of while. 2016-10-26 09:24:01 -04:00
Alex Beregszaszi
6cb9c36977 LLL: reorder arithmetic/binary instruction list for readability 2016-10-26 01:16:29 +01:00
Alex Beregszaszi
ee3cfd8f52 LLL: use NOT for ~ 2016-10-26 01:12:15 +01:00
Alex Beregszaszi
5a981b59c3 LLL: replace (1 0 sub) with literal value 2016-10-26 01:10:55 +01:00
Alex Beregszaszi
7c7a6de87b LLL: fix the commented out debugging code 2016-10-15 12:58:57 +01:00
chriseth
6f54b13d7a Remove log.h from solidity. 2016-04-12 01:03:46 +02:00
Dimitry
d43d4347bf return instructionInfo style 2016-04-04 15:27:09 +04:00
Dimitry
858c41260d rename namespace for instruction.h/cpp in libevmasm 2016-04-02 15:56:43 +03:00
Dimitry
ccbd3ff63f move libevmcore to solidity 2016-04-01 23:11:01 +03:00
Dimitry
e95dd9203a move liblll 2016-03-21 14:58:34 +03:00