Commit Graph

354 Commits

Author SHA1 Message Date
chriseth
0d96c5c8a5 Merge remote-tracking branch 'origin/develop' into breaking 2022-03-16 15:41:37 +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
9410e125da Change memory-safe assembly annotation suggestion during stack too deep errors. 2022-03-14 11:54:09 +01:00
Daniel Kirchner
ce0a3e93f2 Store whether an evmasm Assembly is creation code. 2022-03-09 17:42:29 +01:00
chriseth
77c40cd2af
Merge pull request #12740 from ethereum/remove-locale-dependent-operations
Replace all locale-dependent operations with locale-agnostic counterparts
2022-03-07 17:56:58 +01:00
wechman
52dfccca98 Replace all locale-dependent operations with locale-agnostic counterparts 2022-03-07 17:23:08 +01:00
chriseth
6b88e470ff Merge remote-tracking branch 'origin/develop' into breaking 2022-03-07 16:34:55 +01:00
chriseth
4f19d68ee9
Merge pull request #12620 from ethereum/assemblyAnnotation
Memory-safety annotation for inline assembly.
2022-03-07 12:48:41 +01:00
Daniel Kirchner
dfb7bf2853 Report memoryguard in stack too deep error. 2022-03-02 16:42:28 +01:00
chriseth
b0dcd7b915 Split out disassemble to remove numeric from instruction includes. 2022-03-02 15:30:41 +01:00
Sreekesh V
9188e658d8 Revert "Allow basefee as Yul identifier for EVMVersion < london"
This reverts commit 7f1a2be0fe.

Added changes to changelog to include Make basfee as a reserved identifier

added changes under the breaking changes rst file

Update Changelog.md

Co-authored-by: Harikrishnan Mulackal <webmail.hari@gmail.com>

Update 090-breaking-changes.rst

moved the changes under "New restrictions" section

Update Changelog.md

avoided removing  line no 6

Update docs/090-breaking-changes.rst

Co-authored-by: Alex Beregszaszi <alex@rtfs.hu>
2022-03-02 10:48:33 +01:00
chriseth
0801c48e11 Merge remote-tracking branch 'origin/develop' into breaking 2022-02-17 09:42:15 +01:00
Daniel Kirchner
de28f31716 Improved stack shuffling in corner cases. 2022-01-21 15:41:30 +01:00
chriseth
923d1cf2d2
Merge pull request #12423 from ethereum/develop
Merge develop into breaking.
2021-12-20 11:40:40 +01:00
chriseth
9a0821f2c3 Fix warning about reference. 2021-12-16 00:12:19 +01:00
chriseth
0bbf58ec5e
Merge pull request #12376 from ethereum/develop
Merge `develop` into `breaking`
2021-12-13 12:59:33 +01:00
Marenz
49b4e77d6b Prevent crash when translating yul->ewasm with @use-src annotations 2021-11-11 13:43:57 +01:00
chriseth
88cc42230f Merge remote-tracking branch 'origin/develop' into breaking 2021-11-09 18:26:34 +01:00
chriseth
929ed094ce Register functions earlier. 2021-11-04 13:48:11 +01:00
chriseth
99aa18c4f3 Refactor: Only return output. 2021-11-04 13:42:50 +01:00
Daniel Kirchner
28ae316556 Named function labels. 2021-11-03 12:42:07 +01:00
Daniel Kirchner
b2c9b69de2 Enable for IR code generation with stack optimization > homestead. 2021-11-03 12:39:55 +01:00
chriseth
8c6e5e501b Merge remote-tracking branch 'origin/develop' into breaking 2021-10-27 18:09:13 +02:00
chriseth
9f48b7419c Do not use named function labels if function names are not unique. 2021-10-19 18:33:00 +02:00
chriseth
e239f62b64 Merge remote-tracking branch 'origin/develop' into HEAD 2021-10-19 18:24:42 +02:00
chriseth
9417d6775f Control flow side-effects for user-defined functions. 2021-10-14 17:46:07 +02:00
Kamil Śliwak
2cd1c644b6 Remove unused includes and sort existing includes in a few places 2021-10-11 20:34:48 +02:00
chriseth
8bcbe946c6 Merge remote-tracking branch 'origin/develop' into breaking 2021-10-06 12:00:17 +02:00
chriseth
1531863835 Split Common.h into Numeric.h. 2021-09-23 15:27:29 +02:00
chriseth
c8e6ef9657
Merge pull request #12004 from ethereum/disambiguateBytesRequired
Disambiguate bytesRequired
2021-09-23 15:25:44 +02:00
Kamil Śliwak
ce4420f857 Separate DebugData fields for Solidity and Yul source locations 2021-09-22 13:11:39 +02:00
chriseth
50ce1f5ddd Disambiguate bytesRequired 2021-09-22 11:22:07 +02:00
chriseth
e6f0fe8ae3 Use source id in yul to evm code transform. 2021-09-22 11:11:51 +02:00
chriseth
a66e6f08c0
Merge pull request #11951 from ethereum/scopeFillerNullptr
Use locationOf helper instead of accessing debugData directly.
2021-09-14 15:43:01 +02:00
Daniel Kirchner
854b8b65b5 Better source locations in Yul ControlFlowGraph and OptimizedEVMCodeTransform. 2021-09-14 13:43:16 +02:00
Daniel Kirchner
75c3286311 Optimized EVM Code Transform. 2021-09-14 13:37:04 +02:00
Daniel Kirchner
7abc55d89a Use locationOf helper instead of accessing debugData directly. 2021-09-14 10:04:09 +02:00
Daniel Kirchner
d512f7a4fd
Merge pull request #11890 from ethereum/stackLayoutGeneratorReportTooDeep
Report stack too deep and conditional stack compression in StackLayoutGenerator.
2021-09-08 10:28:30 +02:00
Daniel Kirchner
a683ea7646 Remove the expression callback from the code generator functions of Yul builtins. 2021-09-06 17:07:53 +02:00
Daniel Kirchner
e022ba1bfb Report stack too deep and conditionally aggressively compress stack in StackLayoutGenerator. 2021-09-06 09:08:04 +02:00
Daniel Kirchner
d384664dcb
Merge pull request #11615 from ethereum/yulStackLayoutGenerator
Yul Stack Layout Generator (New Code Transform Step 2)
2021-09-03 13:13:18 +02:00
chriseth
7f137d352a
Merge pull request #11869 from ethereum/remodelUseSrc
Allow and require use-src to be repeated for each object.
2021-09-02 18:34:07 +02:00
Daniel Kirchner
f881409ea4 Stack layout generator for new code generation. 2021-09-02 17:47:19 +02:00
chriseth
5caa15879b Allow and require use-src to be repeated for each object. 2021-09-02 11:29:42 +02:00
Alex Beregszaszi
9803b62a50
Merge pull request #11840 from ethereum/develop
Merge develop to breaking
2021-08-25 15:37:08 +01:00
Daniel Kirchner
c82f9b9fab Mark recursive calls in yul control flow graph. 2021-08-19 16:54:43 +02:00
chriseth
90c4623460 Some more base fees. 2021-08-12 16:37:21 +02:00
chriseth
838514a718 Undo backwards-compatibly change that prevents external identifer resolving. 2021-08-12 14:48:01 +02:00
chriseth
a4c94a1b5b Fixed inline assembly external identifier access. 2021-08-11 18:18:29 +02:00
hrkrshnn
7f1a2be0fe Allow basefee as Yul identifier for EVMVersion < london
This was done to prevent basefee from being a breaking change. This change will be removed in 0.9.0.

TODO revert this commit in breaking.
2021-08-11 10:46:08 +02:00