Commit Graph

459 Commits

Author SHA1 Message Date
chriseth
329b8f2a60 Merge remote-tracking branch 'origin/develop' into breaking 2020-12-07 13:04:14 +01:00
Bhargava Shastry
32fd692c51 Yul interpreter: Introduce expression evaluation maximum nesting depth 2020-12-04 17:27:03 +01:00
chriseth
d56a7bb89e
Merge pull request #10489 from ethereum/develop
Merge develop into breaking.
2020-12-03 18:11:12 +01:00
Alex Beregszaszi
a9be2e4bb8 update tests 2020-12-03 17:15:45 +01:00
Alex Beregszaszi
6c0a3bd043 Ensure that builtins must be executed 2020-12-03 17:15:44 +01:00
Alex Beregszaszi
43353bb6ca update tests 2020-12-03 17:15:43 +01:00
Bhargava Shastry
e1b44500dd Yul interpreter: Smaller execution timeout for tests and additional test cases 2020-12-03 10:08:41 +01:00
chriseth
9a5902f9d7 Merge remote-tracking branch 'origin/develop' into breaking 2020-12-02 12:28:02 +01:00
chriseth
e10712c173
Merge pull request #10454 from ethereum/ewasm-cleanup
[ewasm] Clean up some builtins and fix text representation of `select`
2020-12-01 17:34:48 +01:00
chriseth
c193ce6c07 Rename SourceReferenceFormatterHuman. 2020-12-01 16:09:46 +01:00
Alex Beregszaszi
1dedba8538 Only use SourceReferenceFormatterHuman 2020-12-01 16:09:46 +01:00
Alex Beregszaszi
04cf4867fe [ewasm] Clean up opcodes/builtins in the binary encoder
Also make sure that `i32.drop/i64.drop` won't silently drop its arguments, as they may have side-effects.
2020-12-01 12:50:54 +00:00
Alex Beregszaszi
a22077f736 Rename AsmData -> AST
Also attempt to only include ASTForward where appropriate.
2020-11-25 17:58:02 +00:00
chriseth
0a31a6bc36
Merge pull request #10258 from ethereum/develop
Merge develop into breaking.
2020-11-11 13:36:17 +01:00
Alex Beregszaszi
6f6bcdd526 [ewasm] Display custom sections as hex string in the text output 2020-11-10 23:48:24 +01:00
Alex Beregszaszi
e5396e42c3 Add wasm support to libyul/ObjectCompilerTest 2020-11-10 23:24:49 +01:00
chriseth
04195439b7 Merge remote-tracking branch 'origin/develop' into HEAD 2020-11-09 14:28:05 +01:00
Alex Beregszaszi
1536e49b3d Add more syntax tests for uncovered cases 2020-11-05 10:30:09 +00:00
Christian Parpart
1a9a3b115c Moving the surplus_input inline assembly test to yulSyntaxTests. 2020-11-04 12:03:33 +01:00
Christian Parpart
f55844e0f2 InlineAssembly: Extracting remaining tests. 2020-11-04 12:03:33 +01:00
Christian Parpart
3597c8343d InlineAssembly: Extracting tests for name clashes. 2020-11-04 12:03:33 +01:00
Christian Parpart
55f9eab51f InlineAssembly: Extracting tests for function definition and calls. 2020-11-04 12:03:33 +01:00
Christian Parpart
f2117b87f7 InlineAssembly: Extracting tests for for-statements. 2020-11-04 12:03:33 +01:00
Christian Parpart
671b1c950e InlineAssembly: Extracting function expression tests 2020-11-04 12:03:33 +01:00
Christian Parpart
616f03f577 InlineAssembly: Extracting tests for variable declaration 2020-11-04 12:03:33 +01:00
Christian Parpart
cc230ddda3 InlineAssembly: Extracting tests for switch statement 2020-11-04 12:03:33 +01:00
Christian Parpart
6f872dbebf InlineAssembly: Extracting tests for if statement 2020-11-04 12:03:33 +01:00
chriseth
e93a84ccd4 Merge remote-tracking branch 'origin/develop' into HEAD 2020-10-28 18:19:31 +01:00
Alex Beregszaszi
62028c90f0 [ewasm] Overhaul memory handling in EwasmInterpreter
Introduce writeMemory and read/writeBytes32/Address helpers.
Fix read/writeU128/U256 to be little-endian.
Update each instruction to follow the specification.
2020-10-28 11:57:18 +00:00
Daniel Kirchner
0dca223b45 Add another argument to setimmutable and the AssignImmutable opcode, allowing to modify code at any memory offset. 2020-10-15 18:14:41 +02:00
Christian Parpart
626b7cdb09 Extract yul syntax tests: invalid use of builtin identifiers 2020-10-14 12:18:33 +02:00
Christian Parpart
5d40494ed2 Extract yul syntax tests: function 2020-10-14 12:05:46 +02:00
Christian Parpart
5b799b01ab Extract yul syntax tests: multiple assignment expression 2020-10-14 11:50:25 +02:00
Christian Parpart
99d18336a0 Extract yul syntax tests: recursion depth 2020-10-14 11:45:54 +02:00
Christian Parpart
b1b2d3ef62 Extract yul syntax tests: switch statement 2020-10-14 11:39:10 +02:00
Christian Parpart
c63265ff03 Extract yul syntax tests: for statement 2020-10-14 11:23:10 +02:00
Christian Parpart
2accbbe251 Extract yul syntax tests: if statement 2020-10-14 10:54:18 +02:00
Harikrishnan Mulackal
2b9f040c48 Optimize exp when base is -1 2020-09-29 17:44:09 +02:00
Daniel Kirchner
7fa9a9d312
Merge pull request #9162 from ethereum/memoryEscalator
Memory Escalator
2020-09-21 20:03:38 +02:00
chriseth
306fef334b
Merge pull request #9546 from ethereum/expToShift
Optimization rule: Replace exp by shl.
2020-09-21 12:21:47 +02:00
Daniel Kirchner
48f620fb50 Reverse the order of the memory offsets assigned to variables. 2020-09-17 22:13:27 +02:00
Daniel Kirchner
f4b42d1c72 Add stack limit evader. 2020-09-17 22:13:27 +02:00
chriseth
684fff34a9 Replace exp by shl. 2020-09-17 16:06:52 +02:00
chriseth
6e4205e445 Do not run reasoning test if no SMT Solver is available. 2020-09-17 13:43:35 +02:00
chriseth
2d7e28769a Skip smt optimizer tests if smt is disabled. 2020-09-15 15:57:59 +02:00
chriseth
f73fb726af Reasoning based optimizer. 2020-09-15 15:57:58 +02:00
chriseth
768e0e96e4 Extract yul syntax tests. 2020-09-15 12:13:30 +02:00
chriseth
552a5f0913
Merge pull request #9314 from ethereum/inlineStartingFromLeaves
Handle "leaf functions" first in full inliner.
2020-09-14 20:22:48 +02:00
Harikrishnan Mulackal
b7944477a1 Update UnusedFunctionParameterPruner tests to avoid getting inlined 2020-09-14 17:59:50 +02:00
chriseth
8e39110a30 Remove flag. 2020-09-14 17:35:04 +02:00