Commit Graph

123 Commits

Author SHA1 Message Date
Daniel Kirchner
8426b0f35d Initial working version of rjumps. 2023-01-05 20:05:11 +01:00
Daniel Kirchner
96be94fa5e Per-function deduplication. 2023-01-05 20:05:11 +01:00
Daniel Kirchner
4513a3f2f2 More fixes. 2023-01-05 20:05:11 +01:00
Daniel Kirchner
c30bfc1d61 Some fixes. 2023-01-05 20:05:11 +01:00
Daniel Kirchner
860993273a First working version. 2023-01-05 20:05:11 +01:00
Daniel Kirchner
ed74f3d2a0 Initial still broken version. 2023-01-05 20:05:11 +01:00
Rodrigo Q. Saramago
651ac8c2d5 Add notes about temporary changes 2023-01-05 20:05:11 +01:00
Rodrigo Q. Saramago
8a1bbf1345 Enforce non-empty data section 2023-01-05 20:05:11 +01:00
Rodrigo Q. Saramago
bb997c4207 Make eofVersion member of Assembly class 2023-01-05 20:05:11 +01:00
Alex Beregszaszi
aeb58ee5b9 Properly offset jumpdests 2023-01-05 20:05:11 +01:00
Alex Beregszaszi
fe5fda93fc Remove typecast (size is determined by output) 2023-01-05 20:05:11 +01:00
Alex Beregszaszi
f7d3e61345 Compiler fix 2023-01-05 20:05:11 +01:00
Alex Beregszaszi
d6d1ba43bc Turn EOF optional 2023-01-05 20:05:11 +01:00
Alex Beregszaszi
e9647e371e Nicer code in the assembler 2023-01-05 20:05:11 +01:00
Alex Beregszaszi
3fb8431940 Dumb implementation of EOF1 support in libevasm 2023-01-05 20:05:11 +01:00
Alexander Arlt
b7abcb25ae [libevmasm] Add Assembly::OptimiserSettings::translateSettings. 2022-10-26 14:11:59 +02:00
Marenz
f7cc29bec1 Add std:: qualifier to move() calls 2022-08-30 11:12:15 +02:00
Alexander Arlt
1a0988e503 libevmasm: refactor asm-json export & add support for source list. 2022-03-23 15:58:07 -05:00
Daniel Kirchner
e0c837b33b Remove isCreation flag from OptimiserSettings. 2022-03-09 17:53:28 +01:00
Daniel Kirchner
ce0a3e93f2 Store whether an evmasm Assembly is creation code. 2022-03-09 17:42:29 +01:00
Daniel Kirchner
06820e1b1e Remove unused entry point to evmasm Assembly. 2022-03-07 12:14:08 +01:00
Christian Parpart
b1dd0d0d02 Properly compute source mappings for immutables. 2021-10-12 17:56:17 +02:00
Kamil Śliwak
f7c4ed849d Handle DebugInfoSelection in the code printing Yul and EVM assembly 2021-10-11 20:34:48 +02:00
Alex Beregszaszi
3c8846e669
Merge pull request #11976 from ethereum/json-cleanup
Some cleanup and testing for JSON
2021-09-24 19:03:45 +01: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
chriseth
50ce1f5ddd Disambiguate bytesRequired 2021-09-22 11:22:07 +02:00
chriseth
2741175507 Use function debug data. 2021-09-22 11:11:51 +02:00
Alex Beregszaszi
55c64e3ca1 Always explicitly initialise Json objects 2021-09-21 10:49:13 +01:00
Alexander Arlt
7fcf888fbf Remove unused AssemblyItemType::PushString. 2021-09-13 18:59:18 +02:00
chriseth
55bb53c9de
Merge pull request #11912 from ethereum/refactorSourcePrinting
Refactor source printing
2021-09-08 14:07:07 +02:00
Kamil Śliwak
a7612ce873 Move the function for creating code snippets used next to source locations in assembly to liblangutil 2021-09-07 17:18:22 +02:00
chriseth
3fe52d9869 Run the optimizer only once. 2021-09-07 15:06:31 +02:00
Kamil Śliwak
6753c8f624 Rename escapeAndQuoteYulString() back to escapeAndQuoteString() 2021-07-14 21:29:01 +02:00
chriseth
f75b55071e Remove CharStream from SourceLocation. 2021-07-14 15:12:07 +02:00
chriseth
f9c94d7c42 Note function entry points. 2021-05-04 17:15:13 +02:00
chriseth
e2d8005737 Add verbatim builtin. 2021-04-26 19:56:44 +02:00
Daniel Kirchner
cb74a45fd6 Add inlining for old optimizer. 2021-02-09 19:08:58 +01:00
Alex Beregszaszi
97173247c0 Improve the Error class with a constructor for secondaryLocation
Remove occurances of Error construction using the boost helpers.
2020-12-17 13:50:04 +00:00
chriseth
806453aca9 Merge remote-tracking branch 'origin/develop' into breaking 2020-12-08 21:00:09 +01:00
Alex Beregszaszi
7e88ba8da0 Enable the -Wconversion warning 2020-12-08 16:45:24 +00:00
chriseth
e93a84ccd4 Merge remote-tracking branch 'origin/develop' into HEAD 2020-10-28 18:19:31 +01:00
Alex Beregszaszi
e5faea5f35 Make use of pushInstruction() helper in libevmasm 2020-10-28 10:11:54 +00:00
Daniel Kirchner
68667f0e84 Remove POPs from ASSIGNIMMUTABLE generated bytecode, if possible. 2020-10-15 18:14:41 +02: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
a3d4
5b54cfbed3 Report an error if immutables not assigned 2020-07-23 16:38:54 +02:00
Djordje Mijovic
6f97e6153c [yul] Adding support for accessing subobjects via .
Co-authored-by: Kamil Śliwak <kamil.sliwak@codepoets.it>
2020-07-21 17:56:11 +02:00
chriseth
1c9179683e
Merge pull request #9433 from ethereum/reportAllStackErrors
Report all stack errors
2020-07-20 15:44:51 +02:00
Sachin Grover
b7adb2aa42 Add SPDX license identifier if not present already in source file
Fixes: #9220
2020-07-17 20:24:12 +05:30
Daniel Kirchner
92cd1ddb7d Add markAsInvalid to the various assemblies. 2020-07-16 17:38:13 +02:00