Nikola Matic
a9c8b4b4d1
Purge using namespace std
2023-07-10 13:12:46 +02:00
Rodrigo Q. Saramago
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
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
chriseth
4f02be110c
Unused store eliminator.
2022-03-10 18:25:28 +01:00
chriseth
d0d4bca35b
Extend side effects to operations.
2022-03-01 16:06:20 +01:00
Alexander Arlt
7fcf888fbf
Remove unused AssemblyItemType::PushString.
2021-09-13 18:59:18 +02:00
hrkrshnn
d92b211a2f
Added the instruction basefee.
2021-08-09 16:18:08 +02:00
chriseth
e2d8005737
Add verbatim builtin.
2021-04-26 19:56:44 +02:00
chriseth
6dba5f5c2b
Remove semantic information function for assembly items.
2021-04-13 18:34:16 +02:00
Daniel Kirchner
588535566f
Mark chainid as view.
2020-12-09 16:55:51 +01:00
Harikrishnan Mulackal
3cbe65e4f3
Refactor SideEffects struct
2020-08-18 14:53:59 +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
04d8ad2ae1
Legacy codegeneration for immutable state variables.
2020-03-24 16:45:25 +01:00
Daniel Kirchner
809e3503ba
Control flow analysis for inline assembly.
2020-03-09 16:23:10 +01:00
Christian Parpart
6b23412fae
C++ namespace cleanup (except tests).
2020-01-07 15:51:50 +01:00
Dimitry
fd3ae0b24a
add chainid and selfbalance to lllc
2019-09-09 23:35:36 +03:00
chriseth
afe887adc1
Split MovableChecker and introduce SideEffectsUpToMSize.
2019-05-28 12:54:32 +02:00
chriseth
e8a88b13e4
Introduce side-effect-free as relaxed version of movable.
2019-05-16 12:30:05 +02:00
chriseth
99e96c2d66
Refactor termination detection.
2019-05-13 18:58:36 +02:00
Mathias Baumann
e20acf5d0a
Yul Optimizer: Remove dead code
2019-04-01 17:16:04 +02:00
chriseth
2308904f68
Remove "using namespace" from header and move Instruction to dev::eth.
2019-03-28 13:48:11 +01:00
chriseth
27e4e25a99
Optimize some instruction comparisons.
2018-12-18 17:25:49 +01:00
Jared Wasinger
c6bd2979b1
Add assembly support for EXTCODEHASH (EIP-1052)
2018-09-26 16:11:02 +01:00
chriseth
6777f7a57f
Optimize across MLOAD if MSIZE is not used.
2018-04-03 14:34:32 +02:00
chriseth
6807010dc7
Prevent libraries from being called.
2018-01-19 16:27:44 +01:00
chriseth
95cf9266ab
Movability.
2018-01-12 17:48:51 +01:00
chriseth
082e7b6a9e
Allow `gas
` in view functions.
2017-10-16 13:28:44 +02:00
Alex Beregszaszi
43719839bf
Use isDup/SwapInstruction helper
2017-10-03 11:45:44 +01:00
chriseth
66c01301fe
Rename to invalidInPureFunctions
2017-09-13 17:18:22 +02:00
chriseth
15bdc48a73
Rename and add anonymous namespace.
2017-09-06 13:52:29 +02:00
chriseth
d6861d909c
Analyze assembly.
2017-09-06 13:52:29 +02:00
chriseth
7c61a6daf2
Add view/pure information about instructions.
2017-09-06 13:52:29 +02:00
Dimitry
c20cdd0a05
add new opcode instructions to the parser
...
STATICCALL 0xfa 6 inputs (gas address mem1 mem2 mem3 mem4)
2017-06-14 18:18:12 +02:00
Alex Beregszaszi
bec30051c5
Introduce CREATE2 in the assembler
2017-06-14 16:00:39 +02:00
Yoichi Hirai
9ff3064d03
Mention RETURNDATACOPY in GasMeter and SemanticInformation
2017-06-13 16:57:07 +02:00
Alex Beregszaszi
148f923351
Add REVERT to libevmasm
2017-02-10 22:40:12 +00:00
Alex Beregszaszi
693226b1ab
Rename SUICIDE opcode to SELFDESTRUCT in libevmasm
2017-02-06 20:17:52 +00:00
chriseth
ae2b59d18a
Fix optimizer with regards to INVALID instruction.
2017-01-26 16:39:07 +01:00
VoR0220
3f9f725737
Fix licensing headers
...
Signed-off-by: VoR0220 <rj@erisindustries.com>
2016-11-23 12:22:33 +01:00
Dimitry
b50e65437e
move libevmasm
2016-03-21 11:55:45 +03:00