Commit Graph

421 Commits

Author SHA1 Message Date
Matheus Aguiar
35661479b6 Revert "Disallow RETURNDATASIZE and RETURNDATACOPY in inline assembly blocks in pure functions"
This reverts commit f567eb1fb2.

Correcting Bugfixes section of Changelog.
2022-05-13 08:35:21 -03: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
chriseth
d0d4bca35b Extend side effects to operations. 2022-03-01 16:06:20 +01:00
soroosh-sdi
816d8021e4 Remove linking to unqualified library name
- SemanticTests accepts fully qualified library name and also unqualifed library name when
the library is defined in the same file for convenience.
- commandline tests are added!

Signed-off-by: soroosh-sdi <soroosh.sardari@gmail.com>
2021-10-20 18:11:58 +03:30
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
Christian Parpart
3f08b2269a Adds fmtlib as 3rdparty dependency for easier string composition. 2021-10-11 13:35:08 +02:00
chriseth
ebba11a33e
Merge pull request #12022 from ethereum/urls-to-latest-boost-docs
[Docs] Always link to the latest version of Boost docs
2021-09-27 12:15:42 +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
Kamil Śliwak
caccd0a3e0 Always refer to the latest version of Boost in URLs 2021-09-24 15:35:33 +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
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
Bhargava Shastry
94086e734b Do not use std::iterator that is deprecated in c++17. 2021-09-14 14:00:37 +02: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
chriseth
2a8090d797 New simplification rules. 2021-08-19 12:51:54 +02:00
chriseth
16787ecfd6 Optimizer rules for signextend. 2021-08-16 18:54:33 +02:00
chriseth
90c4623460 Some more base fees. 2021-08-12 16:37:21 +02:00
hrkrshnn
11b80dc8ce Updated changes in refunds: EIP-3529
Refunds are not accounted in Solidity's gas meter.
2021-08-11 09:55:21 +02:00
hrkrshnn
d92b211a2f Added the instruction basefee. 2021-08-09 16:18:08 +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
Kamil Śliwak
6ad6fa2382 Do not hard-code the default 'runs' value as 200 in code that fills out optimizer settings 2021-06-28 14:12:28 +02:00
chriseth
0df8a38e55 Support metadata via IR. 2021-06-21 18:20:31 +02:00
TerranCivilian
c15501eea9 Remove unneeded include files 2021-06-07 12:53:18 -04:00
hrkrshnn
7d28ea3746 Updated gas costs for Berlin 2021-05-26 11:36:43 +02:00
chriseth
f9c94d7c42 Note function entry points. 2021-05-04 17:15:13 +02:00
chriseth
cb1af8b88a Make verbatim compatible with KnownState. 2021-04-26 19:56:44 +02:00
chriseth
e2d8005737 Add verbatim builtin. 2021-04-26 19:56:44 +02:00
Alex Beregszaszi
e39433198d Remove the usage of boost::noncopyable
Prior to this half of the codebase used explicit deleted copy constructors, the others used boost::noncopyable.
2021-04-23 14:57:01 +01:00
chriseth
6dba5f5c2b Remove semantic information function for assembly items. 2021-04-13 18:34:16 +02:00