Alex Beregszaszi
|
7e88ba8da0
|
Enable the -Wconversion warning
|
2020-12-08 16:45:24 +00:00 |
|
chriseth
|
329b8f2a60
|
Merge remote-tracking branch 'origin/develop' into breaking
|
2020-12-07 13:04:14 +01:00 |
|
Daniel Kirchner
|
96a50b52e2
|
Add storage load/store functions to Yul dialect.
|
2020-12-03 19:10:05 +01:00 |
|
chriseth
|
9a5902f9d7
|
Merge remote-tracking branch 'origin/develop' into breaking
|
2020-12-02 12:28:02 +01:00 |
|
Alex Beregszaszi
|
a22077f736
|
Rename AsmData -> AST
Also attempt to only include ASTForward where appropriate.
|
2020-11-25 17:58:02 +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 |
|
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 |
|
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 |
|
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
|
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 |
|
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 |
|
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
|
4d2b9cd38f
|
Jump types for yul functions.
|
2020-07-06 18:12:54 +02:00 |
|
Alex Beregszaszi
|
55e41b602a
|
Explicitly check for jump instructions in EVMDialect
|
2020-07-06 14:46:24 +01: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 |
|
Kamil Śliwak
|
a331d4449d
|
Add linkersymbol() builtin to Yul EVM dialect
|
2020-06-24 15:06:52 +02:00 |
|
chriseth
|
5fdbb5c3e3
|
Simplify inline assembly resolver.
|
2020-06-15 18:10:18 +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 |
|
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 |
|
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 |
|
Mathias Baumann
|
5203503583
|
Allow for per-parameter literalValues builtin functions
|
2020-04-08 16:41:38 +02:00 |
|
Alexander Arlt
|
cae6e7769f
|
Apply modernize-use-override.
|
2020-04-02 18:00:44 -05:00 |
|
Daniel Kirchner
|
809e3503ba
|
Control flow analysis for inline assembly.
|
2020-03-09 16:23:10 +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
|
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 |
|
chriseth
|
81569f7208
|
Remove Scope::Label.
|
2020-01-16 19:13:25 +01:00 |
|
chriseth
|
123ea0a250
|
Remove asm flavour.
|
2020-01-14 17:16:09 +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 |
|
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 |
|
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 |
|
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 |
|
Daniel Kirchner
|
0556f64722
|
Analyze inline assembly variable declarations for invalid or shadowing names.
|
2019-11-07 13:04:37 +01:00 |
|
chriseth
|
e275bb88f0
|
Fix windows build.
|
2019-11-06 02:06:19 +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 |
|
Christian Parpart
|
df729b3084
|
Make use of C++17 std::optional<> instead of boost::optional<>.
|
2019-10-28 11:39:30 +01: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
|
4f80117eef
|
Use builtin iszero for for loop condition rewriting.
|
2019-09-12 10:26:16 +02:00 |
|
chriseth
|
7d30fbdef0
|
Extract side effects into their own struct.
|
2019-08-14 15:06:10 +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
|
8edf9e4baf
|
Merge pull request #6666 from vedant1811/issue-5405
Group function definitions
|
2019-06-19 18:03:40 +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
|
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 |
|
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 |
|