Commit Graph
616 Commits
Author SHA1 Message Date
Daniel 851cc09742 Merge pull request #13516 from ethereum/fix-yul-interpreter-memory-access
Fix memory expansion semantics in the yul interpreter.
2022-12-01 15:42:41 +01:00
Daniel KirchnerandKamil Śliwak bf26d3be5a Add experimental EOF options for CLI and Standard JSON.
Co-authored-by: Kamil Śliwak <kamil.sliwak@codepoets.it>
2022-11-23 19:53:44 +01:00
Bhargava Shastry 2c27405cbb Fix zero size memory expansion semantics in the yul interpreter. 2022-11-21 11:53:42 +01:00
chriseth 5ba8c109f4 Use side-effects of user defined functions in evm code transform. 2022-11-14 21:26:36 +01:00
nishant-sachdeva efbd3666a7 added optimization. shl comes out from being distributed over and 2022-11-11 01:16:14 +05:30
chriseth cffacac9de Hash number literals according to their value instead of their string representation. 2022-11-08 20:34:10 +01:00
Daniel bbaf8a4eb4 Merge pull request #13283 from ethereum/yulDebugger
Yul Debugger
2022-11-01 14:04:56 +01:00
Alex Beregszaszi 565423c934 Replace use of boost::adapters::filtered with ranges::views::filter 2022-09-27 03:14:17 +02:00
nishant-sachdeva c8011d8719 Cleaning up helpers around errors 2022-09-19 10:51:14 +05:30
Marenz d10d967008 yulRun: Fix unexpected return value for call* instructions and add tests 2022-09-14 11:40:08 +02:00
Marenz 4b69b5fdc1 YulRunner: Add support for external calls to the same contract 2022-09-14 11:40:02 +02:00
Daniel Kirchner 1730e43bf7 Merge pull request #13514 from ethereum/yul-interpreter-create2
Fix create2 memory access in yul interpreter.
2022-09-14 11:19:11 +02:00
Nikola Matic f6f0d6a360 Make hardcoded parts of the optimizer sequence configurable 2022-09-12 10:57:36 +02:00
Bhargava Shastry 69d9869d21 Fix create2 memory access in yul interpreter. 2022-09-12 09:53:31 +02:00
Daniel KirchnerandKamil Śliwak a33da17300 Bugfix and tests.
Co-authored-by: Kamil Śliwak <kamil.sliwak@codepoets.it>
2022-09-08 11:54:14 +02:00
Daniel Kirchner d5e2925326 broken yul optimizer test 2022-09-07 16:49:58 +02:00
Marenz f7cc29bec1 Add std:: qualifier to move() calls 2022-08-30 11:12:15 +02:00
Daniel Kirchner e996fe6247 Yul Optimizer: Simplify start offset of zero-length operations. 2022-08-15 15:42:51 +02:00
Daniel Lupu 8c5f5c7db0 add rules for mod(mul(X, Y), A) & mod(add(X, Y), A) 2022-06-22 09:26:09 +02:00
Samuel OsewaandKamil Śliwak c21265f9f8 Changed error message for for Unicode character in non-unicode string literal
Co-authored-by: Kamil Śliwak <cameel2@gmail.com>
2022-06-15 16:12:24 +05:30
Kamil Śliwak f08d349791 Separate some inlining tests into pre- and post-homestead 2022-05-23 13:37:50 +02:00
Daniel Kirchner 9fa907aac2 Do not remove potentially reverting returndatacopy cases. 2022-05-23 11:01:03 +02:00
Joshua Quinones e1a59397c6 Renamed AssemblyStack to YulStack
All files, references, variables, comments, etc. were renamed to YulStack.
2022-04-08 20:28:55 +02:00
chriseth af86a80536 Merge pull request #12796 from ethereum/refactorStackCompressor
Refactor stack compressor
2022-03-16 16:36:41 +01:00
chriseth 75abe92eb2 Refactor stack compressor. 2022-03-15 21:28:47 +01:00
Daniel Kirchner 5cd98006d4 Fill in junk in stack layouts on terminating control flow paths. 2022-03-15 18:36:55 +01:00
Daniel Kirchner b6cd3e154c Test case for current behaviour. 2022-03-15 18:36:30 +01:00
chriseth eab4ca906c Refactor data flow analyzer state access. 2022-03-14 19:32:33 +01:00
chriseth 4f02be110c Unused store eliminator. 2022-03-10 18:25:28 +01:00
chriseth 6ab31420af Remove unneeded header files. 2022-03-10 09:55:05 +01:00
Daniel Kirchner ce0a3e93f2 Store whether an evmasm Assembly is creation code. 2022-03-09 17:42:29 +01:00
chriseth b0dcd7b915 Split out disassemble to remove numeric from instruction includes. 2022-03-02 15:30:41 +01:00
Daniel Kirchner de28f31716 Improved stack shuffling in corner cases. 2022-01-21 15:41:30 +01:00
Bhargava Shastry 2c7aed1d7e Add FunctionHoister as a pre-requisite for equal store eliminator. 2022-01-06 14:16:02 +01:00
chriseth c16867cb83 Merge pull request #12272 from ethereum/equalStoreEliminator
Equal store eliminator.
2022-01-05 11:24:59 +01:00
Bhargava Shastry b8ad2b2718 Yul interpreter: Add flag to disable memory tracing and dump for fuzzing.
Model revert in yul interpreter.
Add logTrace for a few more instructions and clear trace on revert.
2022-01-04 11:56:27 +01:00
hrkrshnn 85d1a57e65 Added more tests. Updated chromosome. Remove unused headers. 2022-01-04 13:27:39 +05:30
chriseth e7fc2a176a Test updates. 2022-01-03 15:52:05 +01:00
chriseth 772e100813 Equal store eliminator. 2022-01-03 15:52:05 +01:00
chriseth b6bd85202c Accessors for exceptions. 2021-12-01 14:26:23 +01:00
chriseth 0e7a065a78 Enhance documentation. 2021-11-23 14:58:04 +01:00
chriseth bd321b9f1f Rename RedundantAssignEliminator to UnusedAssignEliminator. 2021-11-23 10:38:36 +01:00
Daniel Kirchner 10618188dd Update tests. 2021-11-09 14:34:05 +01:00
chriseth 766d10b848 Tests. 2021-11-04 16:38:07 +01:00
chriseth 776ae466bc Control flow side effects on non-disambiguated source. 2021-11-04 16:32:11 +01:00
Daniel Kirchner 28ae316556 Named function labels. 2021-11-03 12:42:07 +01:00
Daniel Kirchner 1a0605c594 Update tests. 2021-11-03 12:39:55 +01:00
chriseth 7f7c5ca171 New tests. 2021-11-02 11:59:01 +01:00
chriseth 3996d0a343 Update tests. 2021-11-02 11:59:01 +01:00
chriseth 2c2269d300 Tests 2021-10-14 17:46:07 +02:00