chriseth
6bbedab383
Merge pull request #5265 from ethereum/cleanupsha3
...
Simplify sha3.
2018-11-09 15:39:57 +01:00
Christian Parpart
ab0de38f16
Eliminate byte
-typedef and use uint8_t
in all their places instead.
...
This change is made to (easily) be forward compatible with future C++
standards, in order to allow compiling the code with newer standards at
some point in the future.
* Removed the `using byte = uint8_t;` line from Common.h
* Mechanically change all uses of `byte` to `uint8_t`.
Tested with GCC 7.3 in C++11/14/17 modes :-)
2018-11-07 12:17:57 +01:00
chriseth
e78b95d9d4
Renamed SHA3.{h,cpp} files.
2018-10-18 14:31:36 +02:00
chriseth
26c693aa92
Change library placeholder to __$<hash>$__
.
2018-10-12 15:15:02 +02:00
chriseth
4d6d224cf8
Prefix "0x" to library placeholder.
2018-10-12 15:15:01 +02:00
chriseth
6daeb39ecc
Use hash for library placeholders.
2018-10-12 15:15:01 +02:00
chriseth
d76bfcd935
Fix typos.
2018-10-04 13:28:16 +02:00
chriseth
7609710d4f
Merge pull request #5110 from codemascot/libevmasm/Assembly.cpp
...
Use 'switch' instead of 'else if'
2018-10-02 13:18:22 +02:00
Khan M Rashedun-Naby
14738d05e4
Use 'switch' instead of 'else if'
2018-09-27 17:46:53 +06:00
Alex Beregszaszi
6a1e79a8e3
Set the price of EXTCODEHASH properly
2018-09-26 16:11:02 +01:00
Jared Wasinger
c6bd2979b1
Add assembly support for EXTCODEHASH (EIP-1052)
2018-09-26 16:11:02 +01:00
Alex Beregszaszi
410d94c498
Merge pull request #5089 from ethereum/gasmeter
...
Small pathgasmeter cleanups
2018-09-26 15:16:38 +01:00
chriseth
2c860b7d74
Merge pull request #5094 from ethereum/evmasm-grouping
...
Group LLL only assembly features in libevmasm
2018-09-26 15:51:20 +02:00
Alex Beregszaszi
d7c3f197c4
Some cleanups in GasMeter
2018-09-26 14:25:40 +01:00
Alex Beregszaszi
d64be90497
Add PathGasMeter.estimateMax helper
2018-09-26 14:25:40 +01:00
Alex Beregszaszi
9be058eb70
Add explanation to GasMeter::dataGas
2018-09-26 14:25:40 +01:00
Alex Beregszaszi
913ddf158f
Group LLL only assembly features in libevmasm
2018-09-26 12:46:03 +01:00
Alex Beregszaszi
535026b492
Group append() functions in libevmasm
2018-09-26 11:14:40 +01:00
Alex Beregszaszi
21beba76e2
Add helpers for the LOG instruction
2018-09-25 20:39:35 +01:00
Alex Beregszaszi
0db76a01da
CREATE2 opcode has been moved from 0xfb to 0xf5
2018-09-18 23:04:57 +01:00
Alex Beregszaszi
c42dfc5b10
Merge pull request #4967 from ethereum/const-opt-cost
...
Move dataGas calculation helper to GasMeter
2018-09-18 15:46:15 +01:00
Alex Beregszaszi
0b68d093b4
Move dataGas calculation helper to GasMeter
2018-09-18 14:47:53 +01:00
Daniel Kirchner
a1d73a7bef
Split simplification rules into two functions.
2018-09-18 14:28:21 +02:00
Alex Beregszaszi
0b6a26f854
Calculate the dataGas correctly in the constant optimiser
...
This may cause a wrong decision about cost (and as a result choosing the least efficient code),
but will not cause any miscompilation or invalid output.
2018-08-14 17:45:43 +02:00
Leonardo Alt
17cac588d0
Replace safety stop by invalid
2018-08-14 12:32:47 +02:00
chriseth
7d9692c31d
Explicitly use std::next to avoid boost version.
2018-08-09 01:12:55 +02:00
Alex Beregszaszi
d3c3fd2079
Use dev::toString() in Assembly instead of misusing string{} for u256
2018-08-08 20:52:19 +01:00
Leo Arias
c4a3c48aea
Fix typo
2018-08-07 13:35:15 -06:00
Augusto F. Hack
6c3b48ddfc
Added guards for unknown pragmas
...
Removed push/pop if there was no change to the warnings *in the same
file* for a given compiler. This assumes the imported boost headers use
a warning stack themselves.
The pragmas don't seem to be required anymore, but were not removed to
mantain compatibility with older versions of the boost library.
Compiled with
- clang version 6.0.1 (tags/RELEASE_601/final)
- gcc (GCC) 8.1.1 20180531
against:
- libboost 1.67.0-5
2018-08-05 19:21:33 -03:00
Christian Parpart
fb4857abed
evmasm/Instruction: fixes undefined behavior of advancing iterator beyond the end of a container.
...
Usually the STL doesn't check whether or not the developer advances beyond its container's end, but MSVC does (found out by running soltest in debug mode on Win32 / VS2017).
2018-08-02 19:53:46 +02:00
chriseth
28ac3f0a6c
Merge pull request #4473 from ethereum/fixGasTuple
...
Fix comparison operator for GasConsumption.
2018-07-11 11:55:19 +02:00
Cryptomental
140dbfdbd8
Code, Changelog, ReleaseChecklist: Fix typos.
...
Refs: #4442
2018-07-11 00:26:23 +02:00
chriseth
1fed3519e1
Fix comparison operator for GasConsumption.
2018-07-10 21:36:47 +02:00
Khan M Rashedun-Naby
0e5b97446a
As SWITCH..CASE is better than ELSE..IF
2018-07-02 15:42:30 +06:00
Nicolás Venturo
172e208c6a
Add TruthyAnd Peephole optimization
2018-06-15 11:27:39 -03:00
chriseth
fba7e055d9
Follow highest gas usage only for gas estimation.
2018-05-09 10:53:30 +02:00
chriseth
e681f4ee79
Merge pull request #4028 from ethereum/asm-tags-32bit
...
Restrict assembly tags to 32-bit
2018-05-02 17:34:13 +02:00
Alexander Arlt
f94b793472
Add virtual destructors on base classes.
2018-05-02 13:29:16 +02:00
Alex Beregszaszi
d569ad91e4
Restrict assembly tags to 32-bit
2018-04-30 18:47:57 +01:00
Alex Beregszaszi
3ac3018e1d
Ensure that subId and tag handling is correct on all compilers in AssemblyItem
2018-04-30 15:57:17 +01:00
Omar Boukli-Hacene
090f9995f2
Fix comment typos
2018-04-27 19:31:30 +04:00
Alexander Arlt
70fcf1a8e0
CMake: remove direct jsoncpp dependency in libevmasm
2018-04-20 20:37:26 +01:00
Alex Beregszaszi
38460d8b47
Remove unnecessary masking of the result of known short instructions
2018-04-19 23:59:06 +01:00
Alex Beregszaszi
cb352edd26
Add constant optimiser for SHR/SHL instructions
2018-04-09 20:07:44 +01:00
Alex Beregszaszi
02ea0e547f
Replace comparison operators with opposites if preceded by SWAP1
2018-04-04 17:47:58 +02:00
Alex Beregszaszi
17bcabb6cf
Remove useless SWAP1 in front of commutative operations
2018-04-03 18:57:07 +02:00
chriseth
6777f7a57f
Optimize across MLOAD if MSIZE is not used.
2018-04-03 14:34:32 +02:00
chriseth
6ec4517929
Use EVM version in gas meter and optimizer.
2018-03-05 11:36:33 +01:00
Alex Beregszaszi
afa4a48e37
Remove ROL/ROR as they are not part of EIP145 anymore
2018-02-27 13:42:41 +01:00
Alex Beregszaszi
59e6ea601b
Add bitwise shift operators to libevmasm (EIP145)
2018-02-27 12:03:18 +01:00