chriseth
|
a7a1feb1b8
|
Merge pull request #8626 from ethereum/immutable-functioncallgraph
Prepare literalArguments for immutable builtin functions
|
2020-04-09 15:46:02 +02:00 |
|
Mathias Baumann
|
5203503583
|
Allow for per-parameter literalValues builtin functions
|
2020-04-08 16:41:38 +02:00 |
|
chriseth
|
823a119117
|
Merge pull request #8570 from aarlt/clang-tidy-apply-modernize-use-emplace
clang-tidy: Apply modernize-use-emplace.
|
2020-04-07 17:28:50 +02:00 |
|
Alexander Arlt
|
cae6e7769f
|
Apply modernize-use-override.
|
2020-04-02 18:00:44 -05:00 |
|
Alexander Arlt
|
90bb1d8a7c
|
Apply modernize-use-emplace.
|
2020-04-02 17:35:48 -05:00 |
|
chriseth
|
a3d5af30c6
|
Mention ControlFlowSideEffects explicitly to ease the burden on MSVC.
|
2020-03-10 12:55:23 +01:00 |
|
Daniel Kirchner
|
809e3503ba
|
Control flow analysis for inline assembly.
|
2020-03-09 16:23:10 +01:00 |
|
chriseth
|
bddbcbe6a4
|
Use bool type in word size transform.
|
2020-02-24 15:05:19 +01:00 |
|
chriseth
|
6b272faec0
|
Some wasm related type fixes.
|
2020-02-24 15:05:19 +01:00 |
|
chriseth
|
e728cd76b6
|
Introduce typed named functions to dialect.
|
2020-02-24 15:05:19 +01:00 |
|
chriseth
|
4644d4616f
|
Fix builtin function types for typed evm dialect.
|
2020-02-11 17:17:41 +01:00 |
|
chriseth
|
48933df18d
|
Add some missing wasm functions.
|
2020-02-04 22:44:08 +01:00 |
|
chriseth
|
c41ef15a86
|
Fix types for polyfill.
|
2020-02-04 22:44:08 +01:00 |
|
chriseth
|
8f546849f2
|
Add i32 functions to wasm dialect.
|
2020-02-04 22:44:08 +01:00 |
|
chriseth
|
d3739fe620
|
Fix WordSizeTransform to properly assign default types.
|
2020-02-04 18:13:37 +01:00 |
|
chriseth
|
9f0cef97c2
|
Specify default type for word size transform externally.
|
2020-02-04 18:13:37 +01:00 |
|
chriseth
|
7496598b5a
|
Merge pull request #8155 from ethereum/removeStackHeightChecks
Remove stack height checks.
|
2020-02-03 12:28:37 +01:00 |
|
chriseth
|
2bcdb24ebe
|
Cause failing assertion for invalid u256 to bool conversion.
|
2020-01-29 19:01:28 +01:00 |
|
chriseth
|
db33ff6408
|
Clean up built-in instructions.
|
2020-01-29 19:01:28 +01:00 |
|
chriseth
|
fbe5bb0cce
|
Parse default dialect and omit when printing.
|
2020-01-29 17:25:25 +01:00 |
|
chriseth
|
90c98a3289
|
Introduce typed EVM dialect.
|
2020-01-29 17:25:25 +01:00 |
|
chriseth
|
f0afb0aeff
|
Remove stack height checks.
|
2020-01-28 15:26:17 +01:00 |
|
rodiazet
|
f1004e712c
|
[WASM] Add div, sdiv, mod, smod, exp, lt, sar, addmod, mulmod, signextend
|
2020-01-28 13:32:43 +01:00 |
|
chriseth
|
81569f7208
|
Remove Scope::Label.
|
2020-01-16 19:13:25 +01:00 |
|
chriseth
|
5fb8e76931
|
Merge pull request #8136 from imapp-pl/polyfill-mstore8
mstore8 polyfill
|
2020-01-15 17:02:40 +01:00 |
|
rodiazet
|
3760e90582
|
[WASM] mstore8 function implementation added.
|
2020-01-15 14:06:43 +01:00 |
|
chriseth
|
123ea0a250
|
Remove asm flavour.
|
2020-01-14 17:16:09 +01:00 |
|
rodiazet
|
b8c59c56e0
|
[WASM] Add keccak256, balance, extcodecopy, blockhash, coinbase, log's, call, callcode, delegatecall, staticcall
|
2020-01-08 10:08:36 +01:00 |
|
Christian Parpart
|
345f9928ab
|
Library libdevcore renamed to libsolutil.
|
2020-01-07 15:51:50 +01:00 |
|
Christian Parpart
|
6b23412fae
|
C++ namespace cleanup (except tests).
|
2020-01-07 15:51:50 +01:00 |
|
chriseth
|
7db88cfedd
|
Remove yul::Instruction .
|
2019-12-19 23:22:19 +01:00 |
|
Alex Beregszaszi
|
65e59ecd06
|
Rename EWasm/ewasm/eWasm to Ewasm
|
2019-12-19 11:36:08 +00:00 |
|
rodiazet
|
d867f5339b
|
[WASM] add i64.clz and i64.store8 to Wasm dialect and EWasm interpreter.
dsads
|
2019-12-18 19:51:27 +01:00 |
|
Alex Beregszaszi
|
7effc94f24
|
Rename EVMToEWasmTranslator to EVMToEwasmTranslator
|
2019-12-18 16:57:45 +00:00 |
|
Alex Beregszaszi
|
018960ebb1
|
Rename EWasmObjectCompiler to WasmObjectCompiler
|
2019-12-18 15:59:31 +00:00 |
|
Alex Beregszaszi
|
cec45a7df5
|
Rename EWasmCodeTransform to WasmCodeTransform
|
2019-12-18 15:59:31 +00:00 |
|
Alex Beregszaszi
|
7d3ccee921
|
Fix implementation of getCodeSize in Ewasm
|
2019-12-18 14:58:28 +00:00 |
|
rodiazet
|
7d8c4c24ee
|
Add arithmetic test cases for most of EVM->Ewasm translator
|
2019-12-18 13:58:03 +01:00 |
|
Alex Beregszaszi
|
1294c0df99
|
Rename EWasmAST to WasmAST
|
2019-12-11 12:08:38 +00:00 |
|
Alex Beregszaszi
|
ae7cc58b55
|
Rename EWasmToText to TextTransform
|
2019-12-11 12:08:38 +00:00 |
|
Alex Beregszaszi
|
fbf946e493
|
Add also smoke tests for opcodes not part of Ewasm
|
2019-12-10 17:00:45 +00:00 |
|
Alex Beregszaszi
|
7f40ca5a8f
|
Fix extcodecopy() stub in EVMToEWasm
|
2019-12-10 17:00:45 +00:00 |
|
chriseth
|
2f11ac3590
|
Merge remote-tracking branch 'origin/develop' into develop_060
|
2019-12-03 21:17:15 +01:00 |
|
Alex Beregszaszi
|
7e8f0a17bc
|
Replace all solAsserts with yulAsserts in libyul
|
2019-12-03 17:54:34 +01:00 |
|
chriseth
|
b0db64ff5b
|
Merge remote-tracking branch 'origin/develop' into develop_060
|
2019-11-26 16:19:35 +01:00 |
|
chriseth
|
40b4a876eb
|
Merge pull request #7778 from ethereum/generic_visitor_cpp17
Rewrite GenericVisitor
|
2019-11-26 16:09:38 +01:00 |
|
Leonardo Alt
|
2bfa3a7c97
|
Rewrite GenericVisitor
|
2019-11-26 15:55:06 +01:00 |
|
Alex Beregszaszi
|
991fbd2956
|
Replace uses of BOOST_THROW_EXCEPTION with assertThrow
Where appropriate.
|
2019-11-26 13:07:42 +01:00 |
|
chriseth
|
a00f824479
|
Merge pull request #7773 from ethereum/develop
Merge develop into develop_060
|
2019-11-21 21:49:22 +01:00 |
|
chriseth
|
f2c6e47038
|
Merge pull request #7755 from ethereum/fixWasmTransform
Fix Wasm transform.
|
2019-11-20 18:27:21 +01:00 |
|
Leonardo Alt
|
389da5228e
|
Merge remote-tracking branch 'origin/develop' into merge_develop_060
|
2019-11-20 12:27:40 +01:00 |
|
chriseth
|
5deaac0849
|
Merge pull request #7740 from ethereum/istanbul
Enable support for Istanbul
|
2019-11-20 10:49:27 +01:00 |
|
chriseth
|
d358af6515
|
Fix Wasm transform.
|
2019-11-20 00:02:02 +01:00 |
|
Leonardo Alt
|
be849b3c47
|
Replace boost::variant by std::variant in libyul
|
2019-11-19 17:23:18 +01:00 |
|
Alex Beregszaszi
|
840aba8929
|
Add new gas price for deployed bytecode (EIP2028)
|
2019-11-19 17:09:18 +01:00 |
|
Christian Parpart
|
f15d47f165
|
Yul: Remove obsoleted FunctionalInstruction.
|
2019-11-11 16:04:39 +01:00 |
|
chriseth
|
c0b27d0bc1
|
Merge pull request #7648 from ethereum/inlineAssemblyShadowing
Error on shadowing and invalid names in inline assembly
|
2019-11-07 13:31:09 +01:00 |
|
Daniel Kirchner
|
0556f64722
|
Analyze inline assembly variable declarations for invalid or shadowing names.
|
2019-11-07 13:04:37 +01:00 |
|
chriseth
|
64cad825e3
|
Fix build by adding return.
|
2019-11-06 22:16:06 +01:00 |
|
chriseth
|
21e65076b3
|
Merge pull request #7650 from ethereum/develop
Merge develop into develop_060
|
2019-11-06 21:56:55 +01:00 |
|
chriseth
|
e275bb88f0
|
Fix windows build.
|
2019-11-06 02:06:19 +01:00 |
|
chriseth
|
081845d775
|
EWasm binary transform.
|
2019-11-05 19:58:55 +01:00 |
|
chriseth
|
46ac16d25c
|
Merge remote-tracking branch 'origin/develop' into develop_060
|
2019-11-04 19:09:11 +01:00 |
|
chriseth
|
62aa20137c
|
Merge pull request #7600 from ethereum/TypeConversionOnTheFly
[WASM] Inject type conversions on the fly if needed.
|
2019-11-04 16:20:57 +01:00 |
|
chriseth
|
a964a2026b
|
Merge pull request #7602 from ethereum/fixWasmTypes
Fix types of wasm builtins.
|
2019-11-04 13:04:25 +01:00 |
|
chriseth
|
8337de5189
|
[WASM] Inject type conversions on the fly if needed.
|
2019-11-01 15:44:39 +01:00 |
|
chriseth
|
e1438b72ad
|
Fix types of wasm builtins.
|
2019-11-01 13:54:01 +01:00 |
|
chriseth
|
7f1593baa0
|
[WASM] datasize and dataoffset only return a single value.
|
2019-11-01 13:52:49 +01:00 |
|
Christian Parpart
|
112e63fe15
|
libyul: AST cleanup, eliminating dead Instruction AST type.
|
2019-11-01 12:32:25 +01:00 |
|
chriseth
|
21227d748c
|
Update polyfill and set name.
|
2019-10-31 18:51:19 +01:00 |
|
chriseth
|
42b8c98567
|
Merge remote-tracking branch 'origin/develop' into develop_060
|
2019-10-31 18:03:25 +01:00 |
|
chriseth
|
04c62e2dc3
|
Fix local and globals wast functions.
|
2019-10-31 17:41:31 +01:00 |
|
chriseth
|
d605f89167
|
Merge pull request #7548 from ethereum/fixWasmLayout
Wasm: Fix layout for text conversion.
|
2019-10-29 17:52:34 +01:00 |
|
chriseth
|
ceb8ee9124
|
[Yul] leave statement.
|
2019-10-29 14:32:16 +01:00 |
|
chriseth
|
edf1e83fda
|
Merge remote-tracking branch 'origin/develop' into develop_060
|
2019-10-28 15:21:49 +01:00 |
|
chriseth
|
607bf24afe
|
Merge pull request #7386 from ethereum/060-strict-inline-assembly
Defaulting to strict inline assembly (instead of loose)
|
2019-10-28 12:48:58 +01:00 |
|
Christian Parpart
|
df729b3084
|
Make use of C++17 std::optional<> instead of boost::optional<>.
|
2019-10-28 11:39:30 +01:00 |
|
Christian Parpart
|
3c1d12b16c
|
Assembly: Remove errorTypeForLoose property from AsmAnalyzer.
|
2019-10-25 15:01:26 +02:00 |
|
Christian Parpart
|
dc2adb3d9d
|
Assembly: Removing EVMDialect::looseAssemblyForEVM().
|
2019-10-25 15:01:26 +02:00 |
|
Christian Parpart
|
e23998fc6e
|
Assembly: Remove Label instruction.
|
2019-10-25 15:01:25 +02:00 |
|
Christian Parpart
|
5e8d348f66
|
Assembly: Remove StackAssignment instruction.
|
2019-10-25 15:01:25 +02:00 |
|
chriseth
|
f399d8415f
|
Fix layout for text conversion.
|
2019-10-23 16:43:29 +02:00 |
|
chriseth
|
f8ade0122a
|
Remove label from expression and add br_if.
|
2019-10-17 13:15:18 +02:00 |
|
chriseth
|
0657aff937
|
Remove continue from wasm.
|
2019-10-17 13:15:17 +02:00 |
|
chriseth
|
9ce1ca2340
|
Refactor Optimiser Steps Interface.
|
2019-09-24 14:52:01 +02:00 |
|
chriseth
|
4f80117eef
|
Use builtin iszero for for loop condition rewriting.
|
2019-09-12 10:26:16 +02:00 |
|
chriseth
|
bb4e7de38c
|
Merge pull request #7234 from ethereum/extractSideEffects
[Yul] Extract side-effects into their own struct.
|
2019-08-14 16:00:17 +02:00 |
|
chriseth
|
7d30fbdef0
|
Extract side effects into their own struct.
|
2019-08-14 15:06:10 +02:00 |
|
Bhargava Shastry
|
ddc3ce0eae
|
Avoid aggregate initialization of EWasmToText class
|
2019-08-14 13:40:46 +02:00 |
|
chriseth
|
35ca6ef5ed
|
Merge pull request #7079 from ethereum/moreWorkOnEWasmExternals
Add eWasm externals.
|
2019-07-16 14:51:43 +02:00 |
|
chriseth
|
6c31a5f3dd
|
Improve formatting.
|
2019-07-11 17:37:23 +02:00 |
|
chriseth
|
e3433aa4eb
|
Add eWasm externals.
|
2019-07-11 17:37:23 +02:00 |
|
chriseth
|
869d69d293
|
Supply full object to stack compressor and Optimizer Suite.
|
2019-07-10 18:49:42 +02:00 |
|
chriseth
|
4976b3ec67
|
More work on eWasm polyfill.
|
2019-07-01 13:05:20 +02:00 |
|
chriseth
|
d9db193249
|
Provide meta-information about eWasm builtins.
|
2019-07-01 13:01:18 +02:00 |
|
chriseth
|
e2bfb1a663
|
Translation of switch statement for wasm backend.
|
2019-06-27 13:02:35 +02:00 |
|
chriseth
|
8cd197e572
|
Support "datasize" and "dataoffset" with literals in eWasm.
|
2019-06-25 19:07:38 +02:00 |
|
chriseth
|
67f11104c1
|
EVM to eWasm translator.
|
2019-06-25 19:06:18 +02:00 |
|
chriseth
|
2b979cba38
|
Also optimize memory.
|
2019-06-20 18:43:37 +02:00 |
|
chriseth
|
1f9d11c644
|
Knowledge about storage.
|
2019-06-20 18:43:37 +02:00 |
|
chriseth
|
ecab46c707
|
Finish word size transform.
|
2019-06-20 10:42:56 +02:00 |
|
chriseth
|
d4a6844e64
|
Merge pull request #6970 from ethereum/ewasmBoilerplate
Some eWasm boilerplate code.
|
2019-06-19 19:12:48 +02:00 |
|
chriseth
|
b704abdd75
|
Some eWasm boilerplate code.
|
2019-06-19 18:21:58 +02:00 |
|
chriseth
|
8edf9e4baf
|
Merge pull request #6666 from vedant1811/issue-5405
Group function definitions
|
2019-06-19 18:03:40 +02:00 |
|
chriseth
|
cc5045a56e
|
[Yul] Run optimizer on all dialects.
|
2019-06-19 10:01:16 +02:00 |
|
Vedant Agarwala
|
5d6cbd97df
|
[Yul] Directly jump over a series of function definitions
Implement a AbstractAssembly::setStackHeight function
Update the tests
Update Changelog
|
2019-06-19 12:40:11 +08:00 |
|
chriseth
|
6cb6fe35ef
|
Make Yul optimizer not fail for wasm.
|
2019-06-17 18:42:47 +02:00 |
|
chriseth
|
a3f721bbcc
|
Merge pull request #6583 from ethereum/reset_yulstringrepo
Reset YulStringRepository regularly
|
2019-05-28 14:20:53 +02:00 |
|
Bhargava Shastry
|
dbae0fa939
|
Reset Yul string repository before each compilation.
|
2019-05-28 13:12:39 +02:00 |
|
chriseth
|
afe887adc1
|
Split MovableChecker and introduce SideEffectsUpToMSize.
|
2019-05-28 12:54:32 +02:00 |
|
chriseth
|
9a00729ce7
|
Provide dialect to Parser and InlineAssembly AST nodes.
|
2019-05-23 00:24:58 +02:00 |
|
chriseth
|
1dc15d5864
|
Modify parser and optimizer.
|
2019-05-20 17:32:56 +02:00 |
|
chriseth
|
46d9df7574
|
Add EVM opcodes as builtins.
|
2019-05-20 16:46:31 +02:00 |
|
chriseth
|
003c170989
|
Add EVM instructions as builtin functions.
|
2019-05-20 16:46:31 +02:00 |
|
chriseth
|
0731abd3f6
|
Merge pull request #6782 from ethereum/makeVectorEWasmCodeTransform
Use make_vector in EWasmCodeTransform.
|
2019-05-20 13:07:56 +02:00 |
|
Daniel Kirchner
|
39670abe4d
|
Use make_vector in EWasmCodeTransform.
|
2019-05-17 14:13:43 +02:00 |
|
chriseth
|
4bdb981224
|
Make dialect const& and allocate single instances statically.
|
2019-05-17 12:54:24 +02:00 |
|
chriseth
|
570db164c9
|
Make Dialect const.
|
2019-05-16 21:51:54 +02:00 |
|
chriseth
|
9a387380b3
|
Move generation of builtin functions to helper.
|
2019-05-16 21:51:54 +02:00 |
|
chriseth
|
7de150924c
|
Extract subIDs from Dialect to allow it being const.
|
2019-05-16 21:51:54 +02:00 |
|
chriseth
|
e8a88b13e4
|
Introduce side-effect-free as relaxed version of movable.
|
2019-05-16 12:30:05 +02:00 |
|
Andrey Bronin
|
4eb37fe631
|
fix warning in GCC 9.1: redundant move in return statement
|
2019-05-14 17:44:28 +03:00 |
|
chriseth
|
3f55b52a88
|
Unify suffixes.
|
2019-05-09 17:07:18 +02:00 |
|
chriseth
|
eaee4412da
|
Implement word size transform for if.
|
2019-05-09 16:55:39 +02:00 |
|
chriseth
|
7ab8cc60c9
|
Merge pull request #6556 from ethereum/wasmCodeTransform
Prototype for Wasm code transform
|
2019-05-07 17:48:48 +02:00 |
|
mingchuan
|
f7ccdb6447
|
Implement WordSizeTransform
This transformation turns every u256 variable into four u64 variable.
Purpose is to transpile EVMDialect yul to WasmDialect yul.
|
2019-05-03 01:51:56 +08:00 |
|
chriseth
|
01d1d08fea
|
Implement switch.
|
2019-05-02 18:39:54 +02:00 |
|
chriseth
|
c3705f268c
|
Add global variables and support multi-return and multi-assignment.
|
2019-05-02 18:37:13 +02:00 |
|
chriseth
|
61e36cbfaa
|
Activate ewasm dialect in commandline interface.
|
2019-05-02 18:36:48 +02:00 |
|
chriseth
|
f6c6871bce
|
EWasm to text transformation.
|
2019-05-02 18:36:47 +02:00 |
|
chriseth
|
ec27f484a1
|
Prototype for Wasm code transform into in-memory representation.
|
2019-05-02 18:33:59 +02:00 |
|
chriseth
|
ec0b78595d
|
[Yul] Wasm dialect.
|
2019-04-25 17:27:17 +02:00 |
|
chriseth
|
e82dcd1f91
|
Fix namespace.
|
2019-03-28 14:55:50 +01:00 |
|
chriseth
|
2b0c653f57
|
Merge pull request #6241 from ethereum/yul-bc-codegen
Yul codegen for break & continue statements
|
2019-03-28 14:48:50 +01:00 |
|
Christian Parpart
|
b8c6274179
|
[yul] Implements EVM codegen for break/continue plus respective tests & ChangeLog entry.
|
2019-03-28 14:09:25 +01:00 |
|
chriseth
|
2308904f68
|
Remove "using namespace" from header and move Instruction to dev::eth.
|
2019-03-28 13:48:11 +01:00 |
|
Alex Beregszaszi
|
c26ffa737e
|
Use move semantics on StackToDeepError
|
2019-03-26 16:15:16 +00:00 |
|
Christian Parpart
|
7f7f44dd63
|
Improve exception information in Yul function datasize(name) and dataoffset(name).
Makes sure we properly throw a detailed exception instead of an out_of_range from std::map.
|
2019-03-19 17:17:32 +01:00 |
|
chriseth
|
6d1ed93247
|
Use stack optimizations.
|
2019-03-14 15:34:23 +01:00 |
|
Christian Parpart
|
05e2d362c8
|
[Yul] Adds break/continue statements and some general tests for for-loop syntax.
|
2019-03-11 15:05:05 +01:00 |
|
Mathias Baumann
|
921d52bfcd
|
Move Literal to u256 conversions to extra functions
That way we can reuse them at different places
|
2019-03-05 18:39:27 +01:00 |
|
chriseth
|
9b7d793407
|
Fix windows build.
|
2019-02-26 19:43:24 +01:00 |
|
Leonardo Alt
|
2405b2151a
|
EVMVersion in langutil namespace instead of solidity
|
2019-02-25 15:29:57 +01:00 |
|
chriseth
|
7f5b335b47
|
Make EVM version part of EVM dialect.
|
2019-02-21 21:59:46 +01:00 |
|
chriseth
|
947215a901
|
Take builtin functions into account in the compilability checker.
|
2019-02-21 12:13:42 +01:00 |
|
chriseth
|
02373c2225
|
Adjust uses of AsmCodeGen.
|
2019-02-13 11:35:49 +01:00 |
|
chriseth
|
1ff6f2c71c
|
Move AsmCodeGen.
|
2019-02-13 11:20:15 +01:00 |
|
chriseth
|
22c8d74a8a
|
Store all stack errors before they are thrown.
|
2019-02-04 17:32:05 +01:00 |
|
chriseth
|
77baf6caf7
|
Compilability checker.
|
2019-02-04 17:32:05 +01:00 |
|
chriseth
|
dd5b43741c
|
No-output Assembly.
|
2019-02-04 17:32:04 +01:00 |
|