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