chriseth
721878d91f
Merge pull request #8770 from ethereum/sol_yul_logN
...
[Sol - Yul] Add support for built-in logN().
2020-04-25 21:45:18 +02:00
Alexander Arlt
66edaf43f4
[Sol - Yul] Add support for built-in logN().
2020-04-25 11:10:28 -05:00
chriseth
ed6c6b3170
Merge pull request #8771 from ethereum/sol_yul_selfdestruct
...
[Sol - Yul] Add support for built-in selfdestruct(..).
2020-04-25 17:35:53 +02:00
Alexander Arlt
2fa26f4e92
[Sol - Yul] Add support for built-in selfdestruct(..).
2020-04-24 17:03:41 -05:00
Kamil Śliwak
ee915008bd
[yul-phaser] README
2020-04-24 17:31:50 +02:00
Kamil Śliwak
163e35dd23
[yul-phaser] Tweak default values according to experiment results
...
- Long chromosomes in the intial population are better. Set minimum and maximum to 100.
- The classic algorithm does not work well without elite. 50% performed better but I think it might be too large. Let's set it to 25%.
- Switch to uniform crossover since this is what was used in most experiments and performed well.
2020-04-24 17:31:50 +02:00
Kamil Śliwak
35395a4b9c
[yul-phaser] Phaser: Missing word in --metric-aggregator option description
2020-04-24 17:31:50 +02:00
Kamil Śliwak
424edecd21
[yul-phaser] Phaser: List all available values of enum options in --help
2020-04-24 17:31:50 +02:00
Kamil Śliwak
e19d8d1fa3
[yul-phaser] GeneticAlgorithm::runNextRound(): Fix outdated docstring
2020-04-24 17:31:50 +02:00
Kamil Śliwak
c8b612536f
Add yulDetails.optimizerSteps to the standard JSON interface
2020-04-24 17:30:56 +02:00
Kamil Śliwak
35cc64e33d
Add --yul-optimizations option to the command-line interface
2020-04-24 17:30:56 +02:00
Kamil Śliwak
c41a832f65
Move the default optimisation steps from OptimiserSuite to OptimiserSettings
...
- Now it's a mandatory parameter in OptimiserSuite::run()
2020-04-24 17:30:56 +02:00
Kamil Śliwak
69b79f848b
OptimiserSuite: Allow validating the optimisation sequence without executing it
...
- Create a separate validateSequence() that can be used independently.
- Tweak the exception messages a bit to be usable as command-line errors
2020-04-24 17:30:56 +02:00
Kamil Śliwak
e2c0e6331c
OptimiserSuite: Define NonStepAbbreviations and use it for extra sanity checks
2020-04-24 17:30:56 +02:00
Kamil Śliwak
5a515240ac
OptimiserSuite: Use brackets instead of parentheses as syntax for repeating abbreviation sequences
...
- We want to start accepting abbreviation sequences on the command line and parentheses would always have to be escaped in that context.
- There wasn't any important reason behind choosing () rather than [] or {} and it still isn't too late to switch.
2020-04-24 17:30:56 +02:00
chriseth
dd7aebe7f1
Merge pull request #8769 from ethereum/fix-cmdlinetests-not-removing-tmp-all-files
...
Fix cmdlineTests.sh not removing all tmp.XXXXXX files
2020-04-24 15:35:17 +02:00
chriseth
a85736d874
Merge pull request #8721 from ethereum/sol-yul-internal-library-calls
...
[Sol->Yul] Calls to internal library functions
2020-04-24 15:34:41 +02:00
Alexander Arlt
55eda85a30
docs/cheatsheet.rst: Add `type(I).interfaceId
` description.
2020-04-24 08:09:45 -05:00
Kamil Śliwak
172b6c245f
cmdlineTests.sh: Fix the script not removing all temporary files it creates in /tmp
...
- The script was leaving hundreds of loose `tmp.XXXXXX` and `tmp.XXXXXX.bak` files in `/tmp` after each run
- There's a trap handler that removes them but it's being registered multiple times in a loop and only the last one actually runs when the script exits. It's still useful because it removes the remaining files from the most recent iteration but on its own it's not enough to clean up everything.
2020-04-24 15:09:26 +02:00
Kamil Śliwak
d3da878200
Enable internal library calls
2020-04-24 15:00:51 +02:00
Kamil Śliwak
64bce597a1
IRGenerator: Enable code generation for libraries
2020-04-24 15:00:17 +02:00
Kamil Śliwak
56a85d6cb3
IRGeneratorForStatements: Handle internal calls to functions from specific base contracts as static calls rather than calls via pointers
2020-04-24 15:00:16 +02:00
Kamil Śliwak
397ea18b78
IRVariable: Fix improperly wrapped docstring
2020-04-24 15:00:16 +02:00
chriseth
2b39f3b988
Merge pull request #8766 from ethereum/sol_yul_gasleft
...
[Sol - Yul] Add support for built-in gasleft().
2020-04-24 14:24:01 +02:00
chriseth
cc1b339c96
Merge pull request #8715 from ethereum/improveTOC
...
Restructure documentation and improve TOC.
2020-04-24 14:21:13 +02:00
chriseth
3bbd89e8e1
Merge pull request #8768 from ethereum/smt_revert_option
...
Revert "Use Spacer option to improve performance of constant arrays"
2020-04-24 14:19:53 +02:00
Leonardo Alt
059d0bdebb
Revert "Use Spacer option to improve performance of constant arrays"
...
This reverts commit 92059fa848
.
2020-04-24 11:55:58 +02:00
a3d4
523460da07
Prevent coloring irrelevant whitespaces
2020-04-24 00:51:15 +02:00
chriseth
989d1da43c
Merge pull request #8764 from ethereum/sol-yul-fix-pointers-to-functions-returning-nothing
...
[Sol->Yul] Fix pointers to functions returning nothing
2020-04-24 00:35:48 +02:00
a3d4
8717c073a6
Fix leftpad in SourceReferenceFormatterHuman
2020-04-24 00:34:24 +02:00
Alexander Arlt
aafa4583df
[Sol - Yul] Add support for built-in gasleft().
2020-04-23 17:14:03 -05:00
Kamil Śliwak
e65a5a562e
IRGenerationContext::internalDispatch(): Fix code generated when the function called via pointer does not return anything
2020-04-23 21:16:41 +02:00
chriseth
d429d20b0b
Restructure documentation and improve TOC.
2020-04-23 19:05:42 +02:00
chriseth
aa071af476
Merge pull request #8707 from ethereum/optimizeIdempotencies
...
Rules for optimizing idempotency for bitwise operations.
2020-04-23 14:42:32 +02:00
chriseth
d136e7dc95
Rules for optimizing idempotency for bitwise operations.
2020-04-23 14:21:00 +02:00
chriseth
ed2a42610b
Merge pull request #8730 from ethereum/reduceMultipleConsecutiveLines
...
Yul formatting: Reduce multiple consecutive empty lines to a single one.
2020-04-23 14:11:09 +02:00
chriseth
d25b16ed55
Merge pull request #8737 from ethereum/yulProtoDisallowEmpty
...
Disallow statements containing empty blocks e.g., empty if, for etc.
2020-04-23 14:10:36 +02:00
chriseth
0f4fe64315
Merge pull request #8659 from ethereum/empty-modifier
...
Allow modifier declaration without implementation
2020-04-23 14:09:03 +02:00
hrkrshnn
48ff9fd4d6
Tests, Changelog and updated grammar
2020-04-23 17:27:37 +05:30
hrkrshnn
e2e32d372f
virtual modifiers (in Abstract contracts) allow empty bodies
2020-04-23 17:26:59 +05:30
chriseth
0c5aa36e46
Merge pull request #8516 from imapp-pl/yul-phaser-crossover-operators
...
[yul-phaser] Crossover operators
2020-04-23 13:50:39 +02:00
chriseth
f82f167290
Yul formatting: Reduce multiple consecutive empty lines to a single one.
2020-04-23 13:49:12 +02:00
chriseth
c7b4fa34bd
Merge pull request #8759 from ethereum/movePrintIndentedUp
...
Move helper up and avoid trailing spaces.
2020-04-23 13:44:53 +02:00
chriseth
35eae96a7f
Move helper up and avoid trailing spaces.
2020-04-23 13:16:26 +02:00
chriseth
16ed53ddd0
Merge pull request #8591 from mijovic/sol2YulConstructorParams
...
[Sol2Yul] Adding support for constructors with parameters (inheritance)
2020-04-23 12:56:54 +02:00
chriseth
edef6a0edd
Merge pull request #8757 from ethereum/removeMove
...
Remove unnecessary move.
2020-04-23 12:28:33 +02:00
chriseth
a371910674
Merge pull request #8642 from ethereum/interfaceid
...
Add support for interfaceId.
2020-04-23 12:24:49 +02:00
chriseth
5a160be128
Merge pull request #8754 from ethereum/smt_improve_array_performance
...
Use Spacer option to improve performance of constant arrays
2020-04-23 12:19:04 +02:00
chriseth
393f922081
Merge pull request #8747 from ethereum/smt_chc_docs_internal_calls
...
Add internal function calls to CHC docs
2020-04-23 12:14:54 +02:00
chriseth
b864fe1c43
Remove unnecessary move.
2020-04-23 12:13:26 +02:00