Commit Graph
5271 Commits
Author SHA1 Message Date
chriseth db2eece7fc Merge pull request #8273 from ethereum/fix-8271
yul proto fuzzer: Support boolean literal generation
2020-02-10 17:35:09 +01:00
Bhargava Shastry 59e7206c8f yul proto fuzzer: Support boolean literal generation 2020-02-10 20:48:29 +05:30
Leonardo Alt 36928c7a35 Add reason string for internal reverts 2020-02-10 11:57:20 -03:00
a3d4 e3d6a3e44e Updated expectations. 2020-02-09 17:29:13 +01:00
chriseth 92c9b078b4 Use correct instance of EVMDialectTyped. 2020-02-06 19:46:37 +01:00
chriseth 4ae97f4563 Make dialect option lowercase. 2020-02-06 19:46:37 +01:00
chriseth f0ebb26f29 Merge pull request #8223 from imapp-pl/yul-phaser-program-reuse
[yul-phaser] Program reuse
2020-02-06 13:29:44 +01:00
Daniel Kirchner e07274a96f Disallow libraries as mapping keys. 2020-02-06 09:09:43 +01:00
cameel e4c7b73897 [yul-phaser] Store already loaded program in Population and make copies when computing fitness
- Until now the source code was being parsed during every fitness computation. Now the parsed program is reused and only the optimisation steps are applied each time.
2020-02-06 09:01:10 +01:00
cameel 57fb64d467 [yul-phaser] Make Program copyable by doing a deep copy of the AST in the copy constructor 2020-02-06 09:01:10 +01:00
cameel 33cf4e4769 [yul-phaser] Tests for Population class 2020-02-05 18:13:30 +01:00
cameel ccaff1b08e [yul-phaser] Tests for random number generators 2020-02-05 18:13:30 +01:00
cameel 24d63a93cf [yul-phaser] Tests for Program class 2020-02-05 18:13:30 +01:00
cameel bee62cdd9e [yul-phaser] Tests for Chromosome class 2020-02-05 18:13:30 +01:00
cameel f8e397b487 [yul-phaser] Create test suite for Chromosome 2020-02-05 18:13:30 +01:00
chriseth 5de3379d82 Merge pull request #8238 from ethereum/yul-syntax-tests
Implement yul syntax tests
2020-02-05 15:15:41 +01:00
Mathias Baumann fc10e701fc Implement yul syntax tests 2020-02-05 14:58:34 +01:00
Mathias Baumann ef07fc3066 Fix formatting 2020-02-05 13:22:15 +01:00
chriseth 0b9c842656 Fix abstract without contract. 2020-02-05 12:14:14 +01:00
chriseth 527c011c2e Update tests. 2020-02-04 22:51:33 +01:00
chriseth 48933df18d Add some missing wasm functions. 2020-02-04 22:44:08 +01:00
chriseth a7624ffc45 Implement i32 builtins for the interpreter. 2020-02-04 22:44:08 +01:00
chriseth 7cca036f4c Merge pull request #8224 from a3d4/refactor-sourcelocation
Replaced SourceLocation::isEmpty() with isValid() and hasText().
2020-02-04 22:23:51 +01:00
alex 3416c029cf Relaxed assert in AsmJsonImporter::createAsmNode. 2020-02-04 20:37:51 +01:00
chriseth cafad3770d Update tests. 2020-02-04 18:27:01 +01:00
chriseth 9f0cef97c2 Specify default type for word size transform externally. 2020-02-04 18:13:37 +01:00
Daniel Kirchner d882b6fa83 Allow tests to be marked ABIEncoderV1Only. 2020-02-04 17:22:03 +01:00
Daniel Kirchner af9fc8b634 Mapping getters for Yul IR. 2020-02-04 17:22:03 +01:00
Daniel Kirchner d3cbfb0c5c Allow user-defined types as mapping keys in parser and restrict to contracts during type checking. 2020-02-04 17:22:03 +01:00
alex 211227f50b Modified SourceLocation::hasText() to allow empty source. 2020-02-04 04:19:28 +01:00
cameel 5fbc4d4afa [yulopti] Automate printing of the usage banner
- This now displays internal step names rather than human-readable ones but the internal ones are readable enough and it's not something worth creating another map.
- Options in the banner are now aligned in columns and thus easier to read.
2020-02-03 12:22:47 +01:00
cameel 4129c27495 [yulopti] Replace hard-coded step list with OptimiserSuite's maps 2020-02-03 12:22:47 +01:00
alex e4b18e85e6 Replaced SourceLocation::isEmpty() with isValid() and hasText().
The function SourceLocation::isEmpty() had somewhat dual role.
Sometimes it indicates that the SourceLocation is invalid.
Sometimes it means that there is no corresponding source text.

Hence the proposal is to replace it with two functions, isValid() and hasText().

I also removed Scanner::sourceAt(). (Do we have a rule of thumb to remove unused code?)

Since hasText() checks that start and end are valid indices for source, I adjusted a couple of tests to avoid empty source strings.
2020-02-03 08:04:21 +01:00
chriseth 2098dbade9 Merge pull request #7834 from ethereum/docstring-ast-node
[natspec] Introduce AST node for structured documentation
2020-01-30 19:04:52 +01:00
Erik Kundt 4a179056ed Adds JSON import / export for structured documentation. 2020-01-30 18:26:01 +01:00
Erik Kundt ec27c2e507 Introduce AST node for structured documentation. 2020-01-30 18:25:56 +01:00
chriseth 2afcfec77b Merge pull request #8220 from ethereum/remove-var-name-cleaner-from-optimiser-suite-step-list
Remove var name cleaner from optimiser suite step list
2020-01-30 17:58:43 +01:00
cameel ed5210490d [yulopti] Run disambiguator after VarNameCleaner
- This is a trivial change and it makes it safe to use in combination with other step.
2020-01-30 17:35:27 +01:00
chriseth d41e1db74a Adjust and add commandline tests for yul. 2020-01-29 19:10:53 +01:00
chriseth d3b53ee394 Make bool type optional for bool literals. 2020-01-29 19:01:28 +01:00
chriseth a66782537a Use old yul dialect only in tests. 2020-01-29 19:01:28 +01:00
chriseth d07dd55096 Update wasm tests. 2020-01-29 17:25:25 +01:00
chriseth 23667ce12d Update Yul optimizer tests. 2020-01-29 17:25:25 +01:00
chriseth e7b95de315 Tests for default type parsing. 2020-01-29 17:25:25 +01:00
chriseth fbe5bb0cce Parse default dialect and omit when printing. 2020-01-29 17:25:25 +01:00
chriseth e41155cf48 Merge pull request #8062 from imapp-pl/polyfill-part-2
Arithmetic functions implementation for EVM->EWasm translator.
2020-01-29 17:22:27 +01:00
chriseth 457cdecf6f Merge pull request #8135 from ethereum/fix-get-options-7112
TestFramework: Merge Options.h into Common.h
2020-01-29 16:05:55 +01:00
Mathias L. Baumann 5130a2b0ae Merge pull request #8063 from ethereum/yulvisit-7656
Use yul::AstWalker for assembly reference resolving
2020-01-29 14:56:19 +01:00
Mathias Baumann 00e4d13975 TestFramework: Merge Options.h into Common.h 2020-01-29 12:27:05 +01:00
chriseth a788ba14f3 Merge pull request #8173 from ethereum/fix-7859
yul proto fuzzer: Add EVM version field
2020-01-28 22:14:25 +01:00