Alex Beregszaszi
|
6d79a8885f
|
[ewasm] Implement stop() in EVM->Ewasm translator
|
2020-10-27 17:09:30 +00:00 |
|
chriseth
|
bfd267459c
|
Panic codes.
|
2020-10-22 19:25:55 +02:00 |
|
Daniel Kirchner
|
0dca223b45
|
Add another argument to setimmutable and the AssignImmutable opcode, allowing to modify code at any memory offset.
|
2020-10-15 18:14:41 +02:00 |
|
Alexander Arlt
|
b6e1415509
|
Add LEB128 encoding functions & tests.
|
2020-09-28 16:06:19 -05:00 |
|
Daniel Kirchner
|
f3c2d6cfdc
|
Move memory load and store functions to the dialect.
|
2020-09-17 22:13:27 +02:00 |
|
Daniel Kirchner
|
f4b42d1c72
|
Add stack limit evader.
|
2020-09-17 22:13:27 +02:00 |
|
Harikrishnan Mulackal
|
d166c2540a
|
Fix typo block
|
2020-09-07 17:24:03 +02:00 |
|
Alex Beregszaszi
|
dd44fc1f06
|
Use explicit yul namespace in WasmCodeTransform
|
2020-08-27 19:49:30 +01:00 |
|
Alex Beregszaszi
|
fdf68a9525
|
Add some asserts to WasmCodeTransform
|
2020-08-27 19:49:30 +01:00 |
|
Harikrishnan Mulackal
|
3cbe65e4f3
|
Refactor SideEffects struct
|
2020-08-18 14:53:59 +02:00 |
|
Alex Beregszaszi
|
f6a57af809
|
Add LiteralKind to Dialect.literalArguments
Co-authored-by: Daniel Kirchner <daniel@ekpyron.org>
|
2020-08-05 11:37:00 +01:00 |
|
Alex Beregszaszi
|
24bb6252ac
|
Merge Parser::instructions() into EVMDialect
|
2020-07-29 13:15:54 +01:00 |
|
chriseth
|
b1f79072df
|
Fix stack compressor wrt literal arguments.
|
2020-07-23 14:03:51 +02:00 |
|
chriseth
|
6bb6783d39
|
Merge remote-tracking branch 'origin/develop' into breaking
|
2020-07-22 15:26:44 +02:00 |
|
Djordje Mijovic
|
6f97e6153c
|
[yul] Adding support for accessing subobjects via .
Co-authored-by: Kamil Śliwak <kamil.sliwak@codepoets.it>
|
2020-07-21 17:56:11 +02:00 |
|
chriseth
|
9be5ed1220
|
Merge remote-tracking branch 'origin/develop' into breaking
|
2020-07-21 11:35:28 +02:00 |
|
chriseth
|
1c9179683e
|
Merge pull request #9433 from ethereum/reportAllStackErrors
Report all stack errors
|
2020-07-20 15:44:51 +02:00 |
|
chriseth
|
f5d8636d28
|
Document variableHeightDiff.
|
2020-07-20 15:44:29 +02:00 |
|
Sachin Grover
|
b7adb2aa42
|
Add SPDX license identifier if not present already in source file
Fixes: #9220
|
2020-07-17 20:24:12 +05:30 |
|
Daniel Kirchner
|
92cd1ddb7d
|
Add markAsInvalid to the various assemblies.
|
2020-07-16 17:38:13 +02:00 |
|
Daniel Kirchner
|
579e4b5a69
|
Report all stack errors in the EVM code transform.
|
2020-07-16 17:38:04 +02:00 |
|
chriseth
|
f945163909
|
Merge pull request #9432 from ethereum/develop
Merge develop into breaking.
|
2020-07-16 17:14:45 +02:00 |
|
Alex Beregszaszi
|
870ea98c21
|
Prefix EIP-615 opcodes with EIP615 in Instructions
|
2020-07-13 17:34:19 +01:00 |
|
Daniel Kirchner
|
def0ebbb3e
|
Free variables directly after visiting RHS of Variable Declarations during EVMCodeTransform.
|
2020-07-13 17:36:15 +02:00 |
|
chriseth
|
8eee3ed3a2
|
Merge pull request #9388 from ethereum/develop
Merge develop into breaking.
|
2020-07-13 14:55:21 +02:00 |
|
Alex Beregszaszi
|
87557896ed
|
Add ctz and popcnt to WasmDialect
|
2020-07-13 11:10:14 +01:00 |
|
Djordje Mijovic
|
547590b972
|
Fixing additional signedness errors after adding -Wsign-conversion flag
Co-authored-by: Kamil Śliwak <kamil.sliwak@codepoets.it>
|
2020-07-09 17:22:45 +02:00 |
|
chriseth
|
64b6524bdb
|
Merge remote-tracking branch 'origin/develop' into breaking
|
2020-07-08 09:37:14 +02:00 |
|
chriseth
|
982a269b2b
|
Merge pull request #9325 from ethereum/develop
Merge develop into breaking.
|
2020-07-06 19:11:02 +02:00 |
|
chriseth
|
4d2b9cd38f
|
Jump types for yul functions.
|
2020-07-06 18:12:54 +02:00 |
|
Alex Beregszaszi
|
60d4b1e8cc
|
Rename drop to i64.drop in WasmDialect
Also properly implement support for both i32.drop and i64.drop in BinaryTransform, TextTransform, and YulInterpreter
|
2020-07-06 15:47:17 +01:00 |
|
Alex Beregszaszi
|
55e41b602a
|
Explicitly check for jump instructions in EVMDialect
|
2020-07-06 14:46:24 +01:00 |
|
chriseth
|
ab68406006
|
Merge remote-tracking branch 'origin/develop' into breaking
|
2020-07-06 15:25:25 +02:00 |
|
Daniel Kirchner
|
8c5fce5b31
|
Merge pull request #9304 from ethereum/yul-assert
Only use yulAssert and not solAssert in libyul
|
2020-07-03 19:00:14 +02:00 |
|
Alex Beregszaszi
|
4c7c7c0270
|
Only use yulAssert and not solAssert in libyul
|
2020-07-03 15:46:50 +01:00 |
|
Kamil Śliwak
|
356b9a7904
|
Restrict linkersymbol builtin to object dialect of Yul
|
2020-07-02 14:41:40 +02:00 |
|
Bhargava Shastry
|
1a0391bceb
|
Fuzzer: Add a specialized StackTooDeepError Exception that is caught in the fuzzing harness
|
2020-07-01 11:08:20 +02:00 |
|
chriseth
|
3e3f9a472f
|
Merge remote-tracking branch 'origin/develop' into breaking
|
2020-06-30 18:56:51 +02:00 |
|
Kamil Śliwak
|
a331d4449d
|
Add linkersymbol() builtin to Yul EVM dialect
|
2020-06-24 15:06:52 +02:00 |
|
chriseth
|
af0cd4ab98
|
Merge pull request #9252 from ethereum/develop
Merge develop into breaking.
|
2020-06-23 18:28:24 +02:00 |
|
Alexander Arlt
|
86be0fbc2f
|
[ewasm] Fix infinite loops.
|
2020-06-23 12:35:03 +02:00 |
|
chriseth
|
71cb7551f4
|
Merge pull request #9208 from ethereum/develop
Merge develop into breaking.
|
2020-06-16 16:11:41 +02:00 |
|
Kamil Śliwak
|
06e1b38d1d
|
WasmCodeTransform: Convert Yul 'if's with i32 argument directly to wasm 'if' without an extra comparison with zero
|
2020-06-16 15:36:47 +02:00 |
|
Kamil Śliwak
|
d9ca02b47a
|
Enable translation of i32 Yul variables/literals to i32 wasm variables/literals
- Until now they were being translated to i64
|
2020-06-16 15:36:47 +02:00 |
|
chriseth
|
50e8d6850f
|
Remove wasm type conversions.
|
2020-06-16 15:36:42 +02:00 |
|
chriseth
|
5fdbb5c3e3
|
Simplify inline assembly resolver.
|
2020-06-15 18:10:18 +02:00 |
|
chriseth
|
8155ad2187
|
Merge remote-tracking branch 'origin/develop' into breaking
|
2020-06-15 17:11:41 +02:00 |
|
Djordje Mijovic
|
33e7b24df0
|
Adding fixes for signedness conversion warnings in libyul
Co-authored-by: Kamil Śliwak <kamil.sliwak@codepoets.it>
|
2020-06-12 10:39:30 +02:00 |
|
Kamil Śliwak
|
e67f5072df
|
Add support for generating code with i32 variables in text and binary wasm
|
2020-06-11 02:44:23 +02:00 |
|
Kamil Śliwak
|
6a82d32ef6
|
Add the ability to store variable types in wasm AST
|
2020-06-11 02:44:23 +02:00 |
|
Kamil Śliwak
|
840ff40263
|
Define wasm::Type enum and use it for import parameters and result
|
2020-06-11 02:44:23 +02:00 |
|
chriseth
|
6b3171c38b
|
Merge remote-tracking branch 'origin/develop' into breaking
|
2020-06-10 11:30:50 +02:00 |
|
Kamil Śliwak
|
edfbae0167
|
was/BinaryTransform: Remove unnecessary std:: prefixes from the .cpp file
|
2020-06-09 17:34:32 +02:00 |
|
Kamil Śliwak
|
b9ecccdece
|
wasm/BinaryTransform: Rename globals and functions to globalIDs and functionIDs
|
2020-06-09 17:29:34 +02:00 |
|
Kamil Śliwak
|
b2a8639c20
|
wasm/BinaryTransform: Make most of section generation stateless and pass global/function/type maps via parameters
|
2020-06-09 17:29:08 +02:00 |
|
Kamil Śliwak
|
adbd4be151
|
wasm/BinaryTransform: Make global/function/type maps constant
|
2020-06-09 17:26:00 +02:00 |
|
Kamil Śliwak
|
4b1ea93b41
|
wasm/BinaryTransform: Put code for enumerating globals/functions/types in separate functions
|
2020-06-09 17:26:00 +02:00 |
|
Christian Parpart
|
2af45c62c8
|
[Yul] Removed now disabled pc() from wasm backend.
|
2020-06-08 16:46:55 +02:00 |
|
Kamil Śliwak
|
fe0a0802b2
|
wasm/BinaryTransform: Fix wrong alignment for .load/.store with arguments smaller than 64-bits
|
2020-06-06 00:00:46 +02:00 |
|
Kamil Śliwak
|
976a0f9395
|
wasm/BinaryTransform: Don't add an empty local entry in binary wasm if there are no locals
|
2020-06-05 21:03:06 +02:00 |
|
Kamil Śliwak
|
c96196c346
|
Define constants to make flag meanings more apparent in binary wasm
|
2020-05-28 22:17:02 +02:00 |
|
chriseth
|
bd64e537cb
|
Fix implementation of leave.
|
2020-05-26 10:24:01 +02:00 |
|
Alex Beregszaszi
|
cfdfa36065
|
Rename wasm::Break(If) to wasm::Branch(If) for clarity
|
2020-05-21 00:02:02 +01:00 |
|
chriseth
|
84092edc5d
|
Merge pull request #8914 from random-internet-cat/down-with-unique-ptr
Down with unique_ptr!
|
2020-05-20 13:22:06 +02:00 |
|
chriseth
|
4e9f6c3508
|
Fix webassembly loops by adding explicit break at the end.
|
2020-05-19 22:16:16 +02:00 |
|
Jason Cobb
|
899e6d7e2b
|
Use optional for FunctionImport::returnType
|
2020-05-18 10:24:38 -04:00 |
|
chriseth
|
6308ca4a22
|
Binary transform for br and br_if.
|
2020-05-14 11:30:19 +02:00 |
|
chriseth
|
7da453014d
|
Fix source location of yul variable declarations without value.
|
2020-05-12 17:45:19 +02:00 |
|
Daniel Kirchner
|
c1ed5bbb0f
|
Update Dockerfiles and CI scripts to Ubuntu 20.04 and simplify them.
|
2020-05-11 17:35:01 +02:00 |
|
chriseth
|
6fb112fa8e
|
Remove some unneeded headers.
|
2020-05-07 01:49:46 +02:00 |
|
Mathias Baumann
|
debcc8c056
|
Add setimmutable and loadimmutable to dialect.
|
2020-05-04 15:00:50 +02:00 |
|
Alexander Arlt
|
aac7a1e434
|
Apply modernize-pass-by-value.
|
2020-04-14 10:32:13 -05:00 |
|
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 |
|