Alexander Arlt
|
2ffa8aa57a
|
[libevmasm] EVM Assembly JSON Export: add subobject index.
|
2023-07-12 17:48:48 +02:00 |
|
Alexander Arlt
|
49a0948d92
|
[test] import/export: Add simple yul reimport bytecode equivalance test.
|
2023-07-12 17:48:48 +02:00 |
|
Alexander Arlt
|
b0d65f83ce
|
[libevmasm] EVM Assembly import: Fix sub-assembly object import.
|
2023-07-12 17:48:48 +02:00 |
|
Alexander Arlt
|
ac7fcd6f7c
|
[libevmasm] EVMAssemblStack: remove std::optional for source mappings.
|
2023-07-12 17:48:48 +02:00 |
|
Alexander Arlt
|
ff05b7a485
|
[evmasm] EVMAssemblyStack::parseAndAnalyze remove return code.
|
2023-07-12 17:48:48 +02:00 |
|
Alexander Arlt
|
52f2d4b6e0
|
[evmasm::EVMAssemblyStack] Implement AbstractAssemblyStack.
|
2023-07-12 17:48:48 +02:00 |
|
Alexander Arlt
|
a9b56ef5ff
|
[evmasm::Assembly] Fix createAssemblyItemFromJSON value check: no value on c_instructions.
|
2023-07-12 17:48:48 +02:00 |
|
Alexander Arlt
|
024f55165a
|
[evmasm::Assembly] Fix createAssemblyItemFromJSON VERBATIM value check.
|
2023-07-12 17:48:48 +02:00 |
|
Alexander Arlt
|
14304b7d75
|
[evmasm::Assembly] Fix SourceLocation::sourceName shared_ptr creation.
|
2023-07-12 17:48:48 +02:00 |
|
Alexander Arlt
|
98944cba5b
|
[libevmasm] Remove m_sourceList member from Assembly class.
|
2023-07-12 17:48:48 +02:00 |
|
Kamil Śliwak
|
7cfb34ce76
|
Introduce AbstractAssemblyStack as an interface to functionality common for both CompilerStack and EVMAssemblyStack
|
2023-07-12 17:48:48 +02:00 |
|
Kamil Śliwak
|
72caea92e6
|
fixup! [libevmasm] Add support to import evm assembly json.
|
2023-07-12 17:48:48 +02:00 |
|
Alexander Arlt
|
108490e630
|
[libevmasm] Add support to import evm assembly json.
|
2023-07-12 17:48:48 +02:00 |
|
Nikola Matic
|
a9c8b4b4d1
|
Purge using namespace std
|
2023-07-10 13:12:46 +02:00 |
|
 Daniel KirchnerandRodrigo Q. Saramago
|
44da8507b1
|
Change default EVM version to Shanghai.
Co-authored-by: Rodrigo Q. Saramago <rodrigoqsaramago@gmail.com>
|
2023-05-08 16:34:23 +02:00 |
|
Alexander Arlt
|
2f78e9549a
|
Misc small refactors: Superfluous std::, trailing commas in lists, whitespace, missing breaks, import order
|
2023-04-20 19:53:48 +02:00 |
|
hrkrshnn
|
0bfcdaf794
|
feat: change generation of bytecode for pushes with zero-value
|
2023-04-12 00:10:24 +02:00 |
|
hrkrshnn
|
8757e0aa11
|
feat: add support for push0 in libevmasm
See https://eips.ethereum.org/EIPS/eip-3855
Note: `push0` costs 2 gas, i.e., `Tier::Base` unlike other pushes.
|
2023-04-09 18:01:52 +02:00 |
|
Daniel Kirchner
|
4064116df4
|
Do not duplicate subassemblies.
Add LinkerObject check and more tests
|
2023-02-20 22:20:45 +01:00 |
|
   
|
ef6ff2f055
|
Adds support for the EVM version "Paris".
Deprecates `block.difficulty` and disallow `difficulty()` in inline assembly for EVM versions >= paris.
The change is due to the renaming introduced by EIP-4399 (see: https://eips.ethereum.org/EIPS/eip-4399).
Introduces `block.prevrandao` in Solidity and `prevrandao()` in inline assembly for EVM versions >= paris.
Co-authored-by: Alex Beregszaszi <alex@rtfs.hu>
Co-authored-by: Daniel <daniel@ekpyron.org>
Co-authored-by: matheusaaguiar <95899911+matheusaaguiar@users.noreply.github.com>
Co-authored-by: Nikola Matić <nikola.matic@ethereum.org>
|
2023-01-23 18:50:36 +00:00 |
|
nishant-sachdeva
|
efbd3666a7
|
added optimization. shl comes out from being distributed over and
|
2022-11-11 01:16:14 +05:30 |
|
Daniel
|
bbaf8a4eb4
|
Merge pull request #13283 from ethereum/yulDebugger
Yul Debugger
|
2022-11-01 14:04:56 +01:00 |
|
Alexander Arlt
|
b7abcb25ae
|
[libevmasm] Add Assembly::OptimiserSettings::translateSettings.
|
2022-10-26 14:11:59 +02:00 |
|
Marenz
|
4b69b5fdc1
|
YulRunner: Add support for external calls to the same contract
|
2022-09-14 11:40:02 +02:00 |
|
Marenz
|
f7cc29bec1
|
Add std:: qualifier to move() calls
|
2022-08-30 11:12:15 +02:00 |
|
Marenz
|
1b5332c2b9
|
Fix spelling mistakes and CI spellcheck job
|
2022-08-18 14:38:19 +02:00 |
|
Daniel Lupu
|
b99f85ec65
|
Only apply rules for yul optimizer
|
2022-06-22 09:26:09 +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 |
|
Daniel Kirchner
|
53c4facf4e
|
Fix compilation error.
|
2022-06-15 11:14:50 +02:00 |
|
Daniel Kirchner
|
953bc9fed2
|
Merge pull request #12983 from ethereum/hint-via-ir
Recommend `via-ir` whenever a stack too deep error is encountered.
|
2022-05-20 12:26:25 +02:00 |
|
hrkrshnn
|
5ae17c8e65
|
Recommend via-ir whenever a stack too deep error is encountered.
|
2022-05-05 19:22:03 +02:00 |
|
wechman
|
e980a29186
|
Set CommonSubexpressionEliminator max chunk size to 2000
|
2022-04-11 08:31:04 +02:00 |
|
wechman
|
91638ed7b2
|
fixup! Limit max chunk size in CommonSubexpressionEliminator::feedItems
|
2022-04-11 08:31:04 +02:00 |
|
wechman
|
63f53a19dd
|
Limit max chunk size in CommonSubexpressionEliminator::feedItems
|
2022-04-11 08:31:04 +02:00 |
|
wechman
|
b74a27e946
|
ExpressionClasses performance optimization
|
2022-04-11 08:31:04 +02:00 |
|
Kamil Śliwak
|
f567eb1fb2
|
Disallow RETURNDATASIZE and RETURNDATACOPY in inline assembly blocks in pure functions
|
2022-04-08 14:48:35 +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
|
54ab09fee8
|
Additional peephole optimizer rules for removing side-effect free instructions before simple terminations.
|
2022-03-16 15:34:37 +01:00 |
|
wechman
|
8b0845fe97
|
CommonSubexpressionEliminator performance optimization
|
2022-03-16 12:57:38 +01:00 |
|
Daniel Kirchner
|
5cd98006d4
|
Fill in junk in stack layouts on terminating control flow paths.
|
2022-03-15 18:36:55 +01:00 |
|
chriseth
|
4f02be110c
|
Unused store eliminator.
|
2022-03-10 18:25:28 +01:00 |
|
chriseth
|
b3fe042884
|
Optimize eq iszero jumpi to xor jumpi and remove double jump.
|
2022-03-10 14:41:41 +01:00 |
|
Daniel Kirchner
|
efc00bef55
|
Merge pull request #12748 from ethereum/markCreationAssembly
Store whether an evmasm Assembly is creation code.
|
2022-03-09 18:30:31 +01: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 |
|
chriseth
|
859869c4dd
|
Simplify peephole optimizer template.
|
2022-03-09 16:03:57 +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 |
|
Daniel Kirchner
|
06820e1b1e
|
Remove unused entry point to evmasm Assembly.
|
2022-03-07 12:14:08 +01:00 |
|
chriseth
|
b0dcd7b915
|
Split out disassemble to remove numeric from instruction includes.
|
2022-03-02 15:30:41 +01:00 |
|