Commit Graph

112 Commits

Author SHA1 Message Date
chriseth
0b8060648e Add comments to UnusedPruner 2018-02-06 10:15:41 +00:00
Alex Beregszaszi
2cbbe58281 Support variable declarations without assignment in UnusedPruner 2018-02-06 10:07:00 +00:00
chriseth
b0407cfac0 Unused variable and function remover. 2018-02-05 16:43:39 +00:00
chriseth
9c85589122 Utility to remove empty blocks. 2018-02-05 16:43:39 +00:00
chriseth
3c8b777b9b References counter. 2018-02-05 16:43:39 +00:00
chriseth
eb42720145 Code size metric. 2018-02-02 15:28:41 +01:00
chriseth
95cf9266ab Movability. 2018-01-12 17:48:51 +01:00
chriseth
937b95cbe5 Use explicit visit function for the walker. 2018-01-12 17:21:52 +01:00
Alex Beregszaszi
2cdd789b5d
Merge pull request #3297 from ethereum/separate_expression_and_statement
Separate expression and statement
2018-01-04 12:04:19 +00:00
chriseth
dbad74ac1b
Merge pull request #3279 from ethereum/function_hoister
Function hoister
2017-12-18 15:08:13 +01:00
chriseth
7755e64872
Fixed typos in comment. 2017-12-18 14:56:56 +01:00
chriseth
99c8ed075e Function hoister. 2017-12-14 17:28:29 +01:00
chriseth
a6a64eb8ed Function grouper. 2017-12-14 17:21:01 +01:00
chriseth
54b6739962 Separate expression and statement. 2017-12-13 12:28:15 +01:00
chriseth
2add4f604b Description of the optimiser and stages. 2017-12-11 16:12:08 +01:00
Yoichi Hirai
c2109436de
Merge pull request #3287 from ethereum/substitution
Substitution
2017-12-06 11:12:06 +01:00
chriseth
07825e90fa substitution 2017-12-05 20:12:46 +01:00
chriseth
d34054ef58 copier 2017-12-05 20:12:46 +01:00
chriseth
6769a9a503 Make the modifier more flexible. 2017-12-05 20:12:46 +01:00
Alex Beregszaszi
745eefa36f Split Instruction and FunctionalInstruction in Julia 2017-12-05 14:52:11 +00:00
chriseth
c6df1cdaaa Generic AST walker. 2017-12-05 14:42:52 +01:00
chriseth
30d7afc2e3 Simplify disambiguator. 2017-12-05 12:09:55 +01:00
chriseth
861210f543 Disambiguator. 2017-12-05 12:09:52 +01:00
chriseth
07101c1338 Rename to ASTDataForward.h 2017-12-04 12:49:55 +01:00
chriseth
240c79e614
Merge pull request #3265 from ethereum/rename_args_to_params
Rename arguments to parameters.
2017-12-04 06:49:44 -05:00
chriseth
43bb915454 Rename arguments to paramaters and returns to returnVariables. 2017-12-01 16:18:01 +01:00
chriseth
cbb3370836 Fix namespace ambiguity. 2017-11-30 19:12:39 +01:00
chriseth
565130994a Introduce InlineAsm structs into Julia namespace. 2017-11-29 21:43:44 +00:00
chriseth
6dbc34e16e If statement for Iulia / inline assembly. 2017-11-22 16:25:24 +01:00
chriseth
e14ab959f9 Remove unintentional copy in assignment operation. 2017-09-20 11:16:26 +02:00
Alex Beregszaszi
3b813ed295 Support multiple assignment in inline assembly 2017-09-20 11:16:23 +02:00
chriseth
73771f5bb2 Named assembly labels. 2017-09-15 20:44:49 +01:00
Alex Beregszaszi
8d90e6fc4e Rename expectedItems to numVariables 2017-07-13 15:18:40 +02:00
Alex Beregszaszi
03abf792c5 Support variable declarations without an assignment in EVM 2017-07-13 15:18:18 +02:00
Alex Beregszaszi
7798a27112 Add Julia mode as an option to EVMCodeTransform 2017-07-03 10:13:36 +01:00
Alex Beregszaszi
58fca7215c Refactor updateReference 2017-06-23 01:00:14 +01:00
Alex Beregszaszi
5cf2332d6d Support appendAssemblySize() in AbstractAssembly 2017-06-23 00:09:35 +01:00
Alex Beregszaszi
d5f8ce90c7 Merge interface/Exceptions and interface/Utils 2017-06-22 11:25:07 +01:00
chriseth
667a9d32aa Set source location for for start label. 2017-06-16 11:29:41 +01:00
chriseth
ce5ef08e05 Helper for visiting statements. 2017-06-16 11:29:40 +01:00
chriseth
0745628a73 Code generation for for-loops. 2017-06-16 10:56:21 +01:00
chriseth
868b5ad3aa Split block code generation into main and finalize. 2017-06-16 10:56:21 +01:00
chriseth
78b49db779 Helper to count the number of variables in a scope. 2017-06-16 10:56:21 +01:00
chriseth
8e5c4bf21d Add include file to forward-declare inline assembly structs. 2017-06-16 10:56:21 +01:00
Alex Beregszaszi
47925bc14e Parse for statement in assembly parser / printer 2017-06-16 10:56:21 +01: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
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
40cb14cdef Fix compiler warning. 2017-06-08 15:52:45 +02:00
chriseth
893e6f4ec2 Missing stack height check for variable declaration. 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
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
chriseth
9adff68ecc Introduce LabelID typedef. 2017-05-29 15:40:32 +02: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
69413ae32a Review changes. 2017-05-19 20:12:12 +02:00
chriseth
e2b21e1c96 Refactor to abstract assembly to JULIA. 2017-05-19 19:20:28 +02:00