chriseth
2308904f68
Remove "using namespace" from header and move Instruction to dev::eth.
2019-03-28 13:48:11 +01:00
chriseth
6d1ed93247
Use stack optimizations.
2019-03-14 15:34:23 +01:00
chriseth
851dd635eb
Remove defaults in constructor arguments.
2019-03-04 11:41:52 +01:00
chriseth
83d1382e78
Take yul optimizer setting into account.
2019-03-04 11:40:28 +01:00
Alex Beregszaszi
cf5c13f9c7
Introduce global optimiser settings.
2019-03-04 11:40:28 +01:00
Leonardo Alt
2405b2151a
EVMVersion in langutil namespace instead of solidity
2019-02-25 15:29:57 +01:00
chriseth
17ea467e5b
Fix style of "const".
2019-02-13 16:34:53 +01:00
chriseth
29f6aa7d56
Do not create a copy of the assembly.
2019-01-17 20:36:48 +01:00
chriseth
e6fee257e6
Code generation for access to contract code.
2019-01-17 20:36:48 +01:00
Leonardo Alt
ab76676271
Sort includes in libsolidity/codegen
2018-12-17 17:06:11 +01:00
chriseth
0e08fb7469
Use "in" tag for jumps from unpacker to function.
2018-11-26 11:02:58 +01:00
Christian Parpart
87821c53c3
Isolating files shared between Yul- and Solidity language frontend.
2018-11-21 18:58:12 +00:00
chriseth
5e01d767d0
Prevent externally used functions from being removed.
2018-10-17 14:12:10 +02:00
Leonardo Alt
0c5e0e0d59
Added assertion and tests suggestions
2018-07-10 18:39:38 +02:00
Leonardo Alt
1f77deada1
[050] Reserving and popping local vars in their scope
2018-07-10 18:39:38 +02:00
Alex Beregszaszi
c3608eaf90
Use native shift instructions in ABIFunctions on Constantinople
2018-04-30 20:34:43 +01:00
chriseth
fcb7a27216
Only forward returndata if EVM version supports it.
2018-04-12 13:09:38 +02:00
chriseth
7a9ee69e98
Bubble up error messages.
2018-04-12 13:09:38 +02:00
chriseth
069b150e42
Bugfix in virtual lookup for modifiers in libraries.
2018-03-13 16:55:41 +01:00
chriseth
6ec4517929
Use EVM version in gas meter and optimizer.
2018-03-05 11:36:33 +01:00
chriseth
f75a411325
Provide target EVM version in CompilerContext.
2018-03-01 17:19:35 +01:00
chriseth
6807010dc7
Prevent libraries from being called.
2018-01-19 16:27:44 +01:00
chriseth
124190336b
Split inline assembly into loose and strict flavours.
2018-01-06 01:23:38 +00:00
chriseth
80ce3ca66f
Move ABI encoder into its own function.
2017-09-15 20:46:32 +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
3c24dcfe45
Document more of the codegen features
2017-08-29 13:36:13 +01:00
Alex Beregszaszi
e2cfc9ee92
Mark a lot of functions const (where possible)
2017-08-22 10:51:46 +01:00
chriseth
d1ad62fccc
Experimental feature switch for ABI encoder.
2017-08-14 13:11:41 +01:00
chriseth
ee6f56d641
Remove unused magic global feature.
2017-08-14 13:11:41 +01:00
chriseth
7c7c2baa82
Re-allow multiple modifiers per function.
2017-07-27 13:45:39 +02:00
chriseth
831ed08387
Change invalid opcode to revert for input validation.
2017-06-23 19:29:11 +02:00
Alex Beregszaszi
c08c4b8b6f
Move subroutine helpers from CompilerContext to Assembly
2017-06-14 21:21:26 +01:00
Alex Beregszaszi
398099f50e
Remove obsolete errorTag()
2017-06-14 21:21:26 +01:00
chriseth
d9fbb83861
Allow inserting low-level functions without calling them.
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
b60623521f
Move some util functions to low-level functions.
2017-01-24 12:06:40 +01:00
chriseth
d0e8d340a5
Low level named functions for CompilerContext.
2017-01-24 12:06:40 +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
chriseth
5789eaa78d
Metadata stamp.
2016-12-01 16:03:59 +01:00
VoR0220
3f9f725737
Fix licensing headers
...
Signed-off-by: VoR0220 <rj@erisindustries.com>
2016-11-23 12:22:33 +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
Yoichi Hirai
c9f9b2ab4d
codegen: add a compilation mode and a runtime context to CompilerContext
2016-11-16 14:37:18 +01:00
chriseth
47794c1da4
Implement uninitialized storage functions.
2016-11-16 14:37:18 +01:00
chriseth
77f4424589
Provide inline assembly to the code generator. ( #840 )
...
* Directly usable inline assembly.
* Add missing header.
2016-08-16 16:27:20 +02:00