Christian Parpart
c48a5264be
liblangutil: SourceLocation: adds (shared) pointer to underlying CharStream source, eliminating sourceName
...
Also, adapted affecting code to those changes.
2018-11-30 17:07:12 +01:00
Christian Parpart
d67322a186
Introduce namespace langutil
in liblangutil directory.
...
Also:
- Use {}-style list initialisation for SourceLocation construction
- Introduce new system includes
- Changes the API of the Scanner to take source as value (with move) as opposed to as a reference
2018-11-21 19:13:44 +00: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
Khan M Rashedun-Naby
14738d05e4
Use 'switch' instead of 'else if'
2018-09-27 17:46:53 +06:00
Alex Beregszaszi
535026b492
Group append() functions in libevmasm
2018-09-26 11:14:40 +01:00
Leonardo Alt
17cac588d0
Replace safety stop by invalid
2018-08-14 12:32:47 +02:00
Alex Beregszaszi
d3c3fd2079
Use dev::toString() in Assembly instead of misusing string{} for u256
2018-08-08 20:52:19 +01: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
chriseth
6807010dc7
Prevent libraries from being called.
2018-01-19 16:27:44 +01:00
chriseth
f5e91e4a94
Throw on too many peephole optimizer iterations.
2017-10-16 18:45:21 +02:00
chriseth
7c94e5462a
Assume peephole optimizer was successful if number of pops increased.
2017-10-13 19:00:56 +02:00
Alex Beregszaszi
f4b87548c8
Add useful messages to exceptions in the assembler
2017-09-18 11:32:56 +01:00
chriseth
73771f5bb2
Named assembly labels.
2017-09-15 20:44:49 +01:00
Alex Beregszaszi
bbfb16cf5c
Introduce assemblyString
2017-09-11 15:53:20 +01:00
Alex Beregszaszi
50570c6c79
Do not return the stream in asssemblyStream
2017-09-11 15:48:58 +01:00
Alex Beregszaszi
a535a8b06e
Split out the JSON functionality from assembly.stream()
2017-09-11 15:48:52 +01:00
Alex Beregszaszi
55d2a459a9
Mark functions static in libevmasm
2017-09-11 15:15:02 +01:00
Alex Beregszaszi
70e89a5dac
Introduce JumpdestRemover optimisation step
2017-08-25 10:42:36 +01:00
chriseth
e3f90565d8
Avoid some Json copy operations.
2017-08-21 16:28:30 +01:00
Alex Beregszaszi
f9d5f7e497
Introduce fine-grained optimiser settings in libevmasm
2017-07-27 12:40:28 +01:00
chriseth
168f64f4cb
Fix negative stack size checks.
2017-06-28 16:55:49 +01:00
Alex Beregszaszi
becea47ac3
Use assertThrow where possible
2017-06-22 11:25:06 +01:00
Alex Beregszaszi
bc95da354d
Replace obsolete assembly code in LLL
2017-06-21 21:23:39 +01:00
chriseth
3cb71ac516
Merge pull request #2398 from ethereum/assembly-cleanup
...
Remove obsolete features from libevmasm
2017-06-15 08:41:14 +02:00
Alex Beregszaszi
18fc667658
Remove obsolete Assembly::out
2017-06-14 21:21:26 +01:00
Alex Beregszaszi
398099f50e
Remove obsolete errorTag()
2017-06-14 21:21:26 +01:00
Alex Beregszaszi
585b3ea3e3
Print auxiliary data in the assembly
2017-06-14 20:14:15 +01:00
Alex Beregszaszi
3273e865ec
Print assembly even if there's no data section
2017-06-14 19:51:02 +01:00
chriseth
4d715e9055
Implement missing assembly output functions and do not use PushString for assembly.
2017-04-11 19:54:44 +02:00
chriseth
46d3c2dd3d
Print source location before items.
2017-02-24 08:24:34 +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
afad40ac5a
Optimise AssemblyItem::m_data.
2017-01-12 17:52:26 +01:00
chriseth
a285ca44f2
Assembly output for Assembly object.
2017-01-03 14:13:49 +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
chriseth
f521624952
Integrate AddPop.
2016-11-25 16:10:57 +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
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
ba42c6e447
Optimizer: generate code starting with empty state
2016-10-21 18:03:57 +02:00
Alex Beregszaszi
aefb6e5fcf
Rename dev::sha3 to dev::keccak256
2016-10-06 14:53:40 +01:00
chriseth
cc0bc9b908
Explicitly specify length of push data for assembly output.
2016-08-18 16:37:42 +02:00
chriseth
93ebaa4822
Reset knowledge in optimizer for path joins.
2016-08-01 15:30:21 +02:00