Alex Beregszaszi
693226b1ab
Rename SUICIDE opcode to SELFDESTRUCT in libevmasm
2017-02-06 20:17:52 +00:00
Alex Beregszaszi
7ec3dd9bbc
More verbose log of when using invalid instructions
2017-02-02 11:39:29 +00:00
chriseth
ae2b59d18a
Fix optimizer with regards to INVALID instruction.
2017-01-26 16:39:07 +01:00
chriseth
c2b3d8bcd2
Change code for INVALID opcode to 0xfe.
2017-01-26 16:39:07 +01:00
Valentin Wüstholz
9bcbd93ac5
Change translation of implicit throws (issue #1589 ).
...
This adds a new invalid instruction that is used for encoding
implicit throws that are emitted by the compiler. This makes it
possible to distinguish such runtime errors from user-provided,
explicit throws.
2017-01-26 16:39:07 +01:00
chriseth
997f5d751a
Create functional assembly output, if possible.
2017-01-24 01:09:55 +01:00
chriseth
4713dd625d
Fix error tag usage in lll.
2017-01-23 15:46:03 +01:00
chriseth
7c18b785e3
Merge pull request #1584 from ethereum/tier
...
libevmasm: remove duplicate `Tier` from `Tier::xTier`s
2017-01-18 19:28:37 +01:00
chriseth
d3a391c136
Provide fallback for linking.
2017-01-18 17:41:36 +01:00
Yoichi Hirai
821997a1d3
libevmasm: remove duplicate Tier
from Tier::xTier
s
...
Synchronize with cpp-ethereum
2017-01-18 17:24:39 +01:00
Yoichi Hirai
20c62a132d
Make enum Tier into an enum class
2017-01-13 13:19:14 +01:00
chriseth
3cfa851f6f
Minor changes from review.
2017-01-12 17:53:06 +01:00
chriseth
d34b561f68
Windows build fix.
2017-01-12 17:52:27 +01:00
chriseth
58509ca3aa
Fix match groups.
2017-01-12 17:52:27 +01:00
chriseth
7127f2fdfd
Fix debug output.
2017-01-12 17:52:27 +01:00
chriseth
da5e171f3b
Optimize constant optimization.
2017-01-12 17:52:27 +01:00
chriseth
f1a4976ce6
Optimise simplification rules (sort into bins).
2017-01-12 17:52:26 +01:00
chriseth
652d8dab19
Optimize pattern matcher.
2017-01-12 17:52:26 +01:00
chriseth
afad40ac5a
Optimise AssemblyItem::m_data.
2017-01-12 17:52:26 +01:00
chriseth
49ac2a1ee5
Rename programSize to bytecodeSize.
2017-01-03 14:13:49 +01:00
chriseth
a285ca44f2
Assembly output for Assembly object.
2017-01-03 14:13:49 +01:00
Yoichi Hirai
2d60990238
libevmasm: OpPop() optimization keeps the source location
...
fixes #1521
2016-12-30 13:52:38 +01:00
chriseth
1e35526eb6
Fix tests.
2016-12-01 16:03:59 +01:00
chriseth
91ecc4533d
Add swarm hash to the end of the bytecode.
2016-12-01 16:03:59 +01:00
Yoichi Hirai
77bad18648
libevmasm: remove an unused variable total
2016-12-01 11:31:58 +01:00
Yoichi Hirai
df4b405f9c
Add more optimization rules
2016-11-30 11:16:43 +00:00
Alex Beregszaszi
3fdef92911
Replace XOR with self with 0
2016-11-30 11:16:43 +00:00
Alex Beregszaszi
b8bba66220
Replace XOR/ISZERO with EQ
2016-11-30 11:16:43 +00:00
Alex Beregszaszi
25160bfc26
Add optimiser rule for SUB with 0
2016-11-30 11:16:43 +00:00
chriseth
f521624952
Integrate AddPop.
2016-11-25 16:10:57 +01:00
chriseth
612c1726d9
Templatize.
2016-11-25 16:10:02 +01:00
chriseth
f2872bfa99
Peephole optimizer for unreacheable code.
2016-11-25 16:10:02 +01:00
Yoichi Hirai
b6ffb6c8b7
libevmasm: generalize ADDPOP optimization into ADDMODPOP etc
2016-11-24 18:22:22 +01:00
Yoichi Hirai
c0fe5fbe9b
libevmasm: Add another peephole optimization
2016-11-24 18:22:22 +01:00
VoR0220
3f9f725737
Fix licensing headers
...
Signed-off-by: VoR0220 <rj@erisindustries.com>
2016-11-23 12:22:33 +01:00
chriseth
7fb7d5ae39
Optimizer: Clear state for JUMPDESTs.
2016-11-22 14:58:24 +01:00
chriseth
2c14a96820
Some more assertions and style changes.
2016-11-16 15:09:01 +01:00
chriseth
ec31d08775
Change encoding to address-funid and add "function" as ABI type.
2016-11-16 14:37:19 +01:00
chriseth
cb000a5532
Fix setting the tag.
2016-11-16 14:37:19 +01:00
chriseth
390ba085b6
fixup! Simple peephole optimizer that is activated even if not requested.
2016-11-16 14:37:19 +01:00
chriseth
0335ed4cb4
Simple peephole optimizer that is activated even if not requested.
2016-11-16 14:37:19 +01:00
chriseth
e51f852504
Converted sub assembly to smart pointer.
2016-11-16 14:37:18 +01:00
chriseth
e543bd34c0
Stored combined creation and runtime tags.
...
Includes a change to Assembly to allow tags from sub-assemblies to be
used.
Sorry, this get a bit bigger than I thought.
2016-11-16 14:37:18 +01:00
chriseth
47794c1da4
Implement uninitialized storage functions.
2016-11-16 14:37:18 +01:00
chriseth
bf5b0dc2d2
Keep old code.
2016-11-14 23:28:26 +01:00
chriseth
c2c39239d6
Report infinite gas for calls.
2016-11-14 16:02:57 +01:00
chriseth
c82acfd3eb
Merge pull request #1333 from ethereum/compare_location_files
...
Compare source files in source locations
2016-11-09 10:49:30 +01:00
chriseth
7a30e8cf6e
Merge pull request #1252 from ethereum/jsoncpp-from-source
...
Build jsoncpp from source using jsoncpp.cmake script
2016-11-08 13:47:52 +01:00
Yoichi Hirai
2e92966684
libevmasm: fix comparison of SourceLocations
2016-11-08 11:11:08 +01:00
chriseth
9e0594f4c1
Merge pull request #1270 from ethereum/optimise-eq0
...
Optimise the PUSH 0, EQ case as ISZERO
2016-10-24 15:50:31 +02:00