Commit Graph
428 Commits
Author SHA1 Message Date
Kamil Śliwak 7f4f655cca Disallow RETURNDATASIZE and RETURNDATACOPY in inline assembly blocks in pure functions
(cherry picked from commit f567eb1fb2)

quick fix to pass failing test at ./test/externalTests/ens.sh (line 80) -- Should be removed when 0.9 is released.
2022-05-20 09:31:27 -03:00
chriseth 3c2cee5836 Merge pull request #13026 from ethereum/develop
Merge develop into breaking.
2022-05-16 15:29:39 +02:00
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
chriseth a137d42094 Merge pull request #13007 from ethereum/develop
Merge develop into breaking.
2022-05-11 16:39:24 +02:00
chriseth a433511128 Merge remote-tracking branch 'origin/develop' into breaking 2022-04-13 17:08:27 +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
chriseth 0d96c5c8a5 Merge remote-tracking branch 'origin/develop' into breaking 2022-03-16 15:41:37 +01: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
chriseth 6b88e470ff Merge remote-tracking branch 'origin/develop' into breaking 2022-03-07 16:34:55 +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
Daniel Kirchner d6d286b39b Disallow codecopy and codesize in pure functions. 2022-01-31 19:36:25 +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