Commit Graph

20707 Commits

Author SHA1 Message Date
Bhargava Shastry
ac302862a7 Fuzzer harness. 2021-08-18 14:01:59 +02:00
Daniel Kirchner
c23b18926f Adjusted stack compression for testing. 2021-08-18 13:28:28 +02:00
Daniel Kirchner
4c9fcda641 Add optimizer setting for fuzzing. 2021-08-18 10:02:32 +02:00
Daniel Kirchner
e3bbc3f18b Some more tests. 2021-08-17 19:00:28 +02:00
Daniel Kirchner
f9e57dd642 Test updates. 2021-08-17 19:00:28 +02:00
Daniel Kirchner
442666d181 Allow stack limit evasion in system yul routines during old code generation. 2021-08-17 19:00:28 +02:00
Daniel Kirchner
8bd358074e Compatibility with StackCompressor and StackLimitEvader. 2021-08-17 19:00:28 +02:00
Daniel Kirchner
de7f26c15d Enable the new code generator for "system" inline assembly routines. 2021-08-17 19:00:28 +02:00
Daniel Kirchner
ed57df4465 A first stack shuffling unit test. 2021-08-17 19:00:28 +02:00
Daniel Kirchner
7cfa6b9a54 Update code transform tests. 2021-08-17 19:00:28 +02:00
Daniel Kirchner
68a0af709b Enable for IR code generation with stack optimization > homestead. 2021-08-17 19:00:28 +02:00
Daniel Kirchner
c0c214df2b Optimized EVM Code Transform. 2021-08-17 19:00:17 +02:00
Daniel Kirchner
1e3034a0eb Clarification with some comments and another assertion to help understanding the preconditions. 2021-08-17 18:59:57 +02:00
Daniel Kirchner
55e60bd493 Reuse stack helpers from tests. 2021-08-17 13:24:11 +02:00
Daniel Kirchner
1612648268 Maintain only one best candidate during combineStack. 2021-08-17 13:24:11 +02:00
Daniel Kirchner
79d39d241c Simplify compressStack. 2021-08-17 13:24:11 +02:00
Daniel Kirchner
a58694ca4d Also push deep slots early if swapping is required later. 2021-08-17 13:24:11 +02:00
Daniel Kirchner
ae48500147 Refactor createIdealLayout slightly and add more comments. 2021-08-16 17:34:00 +02:00
Daniel Kirchner
3bfd437ba7 Fixup! coding style from review suggestion. 2021-08-16 17:34:00 +02:00
Daniel Kirchner
556bd9adfc Remove fixStackTooDeep and adjust combineStack comments. 2021-08-16 17:34:00 +02:00
Daniel Kirchner
3bb7414703 Review comments. 2021-08-16 17:34:00 +02:00
Daniel Kirchner
387c248601 Adjust pushDeepSlotIfRequired (and rename to dupDeepSlotIfRequired). 2021-08-16 17:34:00 +02:00
Daniel Kirchner
eca4fb6781 Adjust and extend comments for the stack shuffling operations. 2021-08-16 17:34:00 +02:00
Daniel Kirchner
20956a7a19 Fix findOffset for containers with .find. 2021-08-16 17:34:00 +02:00
Daniel Kirchner
535d30bbb3 Avoid dupping slots if doing so causes other needed slots to become unreachable. 2021-08-16 17:34:00 +02:00
Daniel Kirchner
74edc40a7e Reorder functions in implementation to match order in header. 2021-08-16 17:34:00 +02:00
Daniel Kirchner
6037c4f26c Add function to FunctionReturnLabelSlot and assert that functions are identical in comparison operators. 2021-08-16 17:34:00 +02:00
Daniel Kirchner
9f46fff467 Review suggestions and a lot more comments. 2021-08-16 17:34:00 +02:00
Daniel Kirchner
a756ec3e0e Attempt to split up the main algorithm a bit. 2021-08-16 17:33:59 +02:00
Daniel Kirchner
1fd4cf2254 Stack layout generator for new code generation. 2021-08-16 17:33:59 +02:00
Kamil Śliwak
d59497bd92
Merge pull request #11805 from ethereum/fixSolcjs
Remove the code for disabling `prepublish` hook before solc-js tests
2021-08-16 17:30:56 +02:00
Daniel Kirchner
9f2885e173 Disabling of prepublish hook is no longer needed in setup_solcjs
See https://github.com/ethereum/solc-js/pull/542
2021-08-16 16:50:31 +02:00
chriseth
97b4ff15f1
Merge pull request #11791 from CrimsonGlory/patch-2
Document pre-0.5.0 bytesX/uintY conversions
2021-08-16 14:24:55 +02:00
CrimsonGlory
e42ebcd612 Document pre-0.5.0 bytesX/uintY conversions
Document pre-0.5.0 compiler behavior on bytesX/uintY conversions when they have different size.
2021-08-16 14:24:26 +02:00
chriseth
c0a9578979
Merge pull request #11798 from adlerjohn/patch-1
Fix typo
2021-08-16 12:11:48 +02:00
John Adler
a029b0ba67
Fix typo
Fix missing `s`.
2021-08-14 14:31:06 -04:00
chriseth
1a68228c28
Merge pull request #11790 from ethereum/chriseth-patch-1
Run npm prepublish
2021-08-13 15:17:14 +02:00
chriseth
07def75084
Merge pull request #11774 from ethereum/refactorRedundantAssign
Refactor redundant assign
2021-08-13 15:05:50 +02:00
chriseth
3622b30a1d Refactor RedundantAssignEliminator. 2021-08-13 14:25:14 +02:00
chriseth
d7a802e4bf
Merge pull request #11682 from ethereum/fixedPointTypes
Fixed point types for isoltest
2021-08-13 09:37:29 +02:00
Daniel Kirchner
4fdf7db02e
Merge pull request #11796 from ethereum/smt_fix_develop
Fix SMT test develop
2021-08-12 23:15:21 +02:00
Leo Alt
937af7d722 Fix SMT test 2021-08-12 22:34:18 +02:00
Alexander Arlt
d6b9b4175b [isoltest] Add support for fixed point types. 2021-08-12 21:27:51 +02:00
chriseth
fe0d027d45
Merge pull request #11785 from ethereum/someMoreBaseFees
Some more base fees.
2021-08-12 19:48:10 +02:00
Leonardo
b0164bd2a4
Merge pull request #11795 from ethereum/smt_fix_ext_constructor
[SMTChecker] Fix false positive on external calls from constructors
2021-08-12 19:34:57 +02:00
chriseth
93ebdb9e6e
Merge pull request #11772 from v-sreekesh/v-sreekesh-external-fix-voting
updated public to external for the functions
2021-08-12 19:08:19 +02:00
Leo Alt
6ee60aa628 Fix false positive on external calls from constructors 2021-08-12 18:51:55 +02:00
chriseth
c87c0f02bd Test updates. 2021-08-12 16:56:12 +02:00
chriseth
90c4623460 Some more base fees. 2021-08-12 16:37:21 +02:00
Sreekesh V
9b9e52e53e updated public to external for the functions
changed public to external for the functions
2021-08-12 16:24:40 +02:00