Commit Graph

138 Commits

Author SHA1 Message Date
chriseth
43cfab70d0 Merge pull request #2389 from ethereum/moveLabelIDs
Move LabelIDs to generation phase.
2017-06-14 14:12:33 +02:00
chriseth
154002cda0 Move "active variable" to analysis phase. 2017-06-14 00:10:33 +02:00
chriseth
1bf717fd65 Remove struct constructor. 2017-06-14 00:03:08 +02:00
chriseth
c554145f4d Move stack height to generation phase. 2017-06-14 00:01:06 +02:00
chriseth
45d96959f8 Move LabelIDs to generation phase. 2017-06-13 22:01:15 +02:00
Alex Beregszaszi
05af6c9255
Warn if returndatasize/returndatacopy is used 2017-06-13 16:57:07 +02:00
Alex Beregszaszi
fe3b46554a Merge pull request #2362 from ethereum/lowercase_instructions
Use lowercase when reporting instruction error.
2017-06-09 14:49:59 +01:00
chriseth
bf2b5c746a Use lowercase when reporting instruction error. 2017-06-09 15:17:29 +02:00
Alex Beregszaszi
1da3af161f Simplify CodeGenerator by remove seldom used case 2017-06-09 12:45:56 +01:00
Alex Beregszaszi
114c157b04 Remove obsolete AsmStack 2017-06-09 11:43:41 +01:00
chriseth
6b3e7f79cf Comments and consistent variable names. 2017-06-09 10:45:36 +01:00
chriseth
308a726ad1 Fix: Copy resolver. 2017-06-08 15:52:45 +02:00
chriseth
b32d5e4cc0 Visitor bugfix. 2017-06-08 15:52:45 +02:00
chriseth
ef3d5874fe Remove error reporter from code generation phase. 2017-06-08 15:52:45 +02:00
chriseth
19f707aeaa Some more comments. 2017-06-08 15:52:45 +02:00
chriseth
0185f3cbf6 Correct stack height adjustment after returnsub. 2017-06-08 15:52:45 +02:00
chriseth
fefd3b866d Introduce machine-dependent stack adjustment. 2017-06-08 15:52:45 +02:00
chriseth
97cc968a13 Initial EVM1.5 assembly implementation. 2017-06-08 15:52:44 +02:00
chriseth
d5408f78ad Add comma. 2017-06-01 15:56:49 +02:00
chriseth
40f3e4413b Improved error message. 2017-06-01 15:31:07 +02:00
chriseth
05004253ba Refactor to use expectExpression in analyzer. 2017-06-01 14:28:39 +02:00
chriseth
d4a57d81ba Merge pull request #2317 from ethereum/keccak256
Use keccak256 in tests and replace the SHA3 instruction in assembly
2017-05-30 19:34:28 +02:00
Rhett Aultman
89b60ffbd4 Refactor error reporting
This commit introduces ErrorReporter, a utility class which consolidates
all of the error logging functionality into a common set of functions.
It also replaces all direct interactions with an ErrorList with calls to
an ErrorReporter.

This commit resolves issue #2209
2017-05-30 07:28:31 -07:00
Alex Beregszaszi
75e4a2be1b Alias sha3 to keccak256 in inline assembly 2017-05-30 10:54:29 +01:00
chriseth
8b29cc5535 Merge pull request #2319 from ethereum/virtualBlocks
Introduce virtual blocks for function arguments.
2017-05-29 16:52:51 +02:00
chriseth
4af55c78eb Introduce virtual blocks for function arguments. 2017-05-29 16:18:16 +02:00
chriseth
9adff68ecc Introduce LabelID typedef. 2017-05-29 15:40:32 +02:00
chriseth
2c4a107f43 Merge pull request #2311 from ethereum/julia-types
Validate types for Julia (part 1)
2017-05-29 14:12:38 +02:00
Alex Beregszaszi
9337003d5e Use the new ParserBase API in AsmParser 2017-05-26 20:44:34 +01:00
Alex Beregszaszi
2a50e869d0 Move builtin type list to the top 2017-05-26 20:43:28 +01:00
Alex Beregszaszi
efadf7e41f Change error message for invalid type 2017-05-26 20:42:17 +01:00
Alex Beregszaszi
8fe79fe706 Introduce Julia mode in AsmAnalyzer 2017-05-26 20:39:30 +01:00
Alex Beregszaszi
3b75c5b45f Validate that only basic types are used in Julia 2017-05-26 20:39:10 +01:00
Alex Beregszaszi
dda497ca02 Move constructor to AsmAnalyzer header 2017-05-26 20:39:10 +01:00
chriseth
261731f7ee Adapt EVM codegen to new namespace. 2017-05-26 15:08:27 +02:00
chriseth
71b923cc36 Move EVM codegen to libjulia. 2017-05-26 15:03:30 +02:00
chriseth
68e1e464be Merge pull request #2316 from ethereum/inlineasm-cleanup
Better error message for elementary operations
2017-05-26 11:29:51 +02:00
Alex Beregszaszi
e410cec19a Better error message for elementary operations 2017-05-26 09:41:53 +01:00
Alex Beregszaszi
05fcf1989c Better error messages for invalid switch cases 2017-05-26 03:20:34 +01:00
Alex Beregszaszi
c64bd33784 Disallow instructions as a switch expression 2017-05-26 03:20:34 +01:00
Alex Beregszaszi
d745dd6542 Visit case bodies in scope filler 2017-05-26 03:20:34 +01:00
Alex Beregszaszi
ba8a79c600 Do not stop on first switch error 2017-05-26 03:20:31 +01:00
Alex Beregszaszi
e48e84ca2b Check token within parseCase 2017-05-26 03:20:15 +01:00
Alex Beregszaszi
db3d9e0416 Switch cases are not followed by colon 2017-05-26 03:20:15 +01:00
Alex Beregszaszi
66eab1caf6 Change switch case string to Literal 2017-05-26 03:20:10 +01:00
Alex Beregszaszi
b5080860d5 Implement switch statement in the assembly parser/printer 2017-05-26 03:16:09 +01:00
Alex Beregszaszi
338202ea96 Uniform error messages 2017-05-24 13:35:52 +01:00
Alex Beregszaszi
56fe3a6ab9 Better error messages during parsing functional instructions 2017-05-24 13:35:52 +01:00
Alex Beregszaszi
74d41ad25f Fix scope assert in AsmAnalyzer 2017-05-24 11:58:49 +01:00
Alex Beregszaszi
b77b11781d Rename parseFunctionalInstruction to parseCall 2017-05-24 01:48:54 +01:00