Commit Graph
2778 Commits
Author SHA1 Message Date
Alex Beregszaszi a96cc6e0e8 Add allocateMemory helper with value known at compile time 2019-03-04 17:46:42 +01:00
Christian Parpart 609855546e Yul: Adds optimizer pass to make variable names suffix-canonical. 2019-03-04 17:26:56 +01:00
chriseth 62b2599cb7 Update tests. 2019-03-04 16:31:08 +01:00
Alex Beregszaszi fcbb8ec51c Allow returning metadata in StandardCompiler without compilation 2019-03-04 16:19:55 +01:00
chriseth 9a949c1bda Set default EVM version to Petersburg. 2019-03-04 14:53:00 +01:00
Alex Beregszaszi ecd246aeb6 Support petersburg in evmVersion 2019-03-04 14:10:41 +01:00
chriseth 2e0ea16a0f Merge pull request #5959 from ethereum/optimiser2
Introduce global optimiser settings.
2019-03-04 12:54:59 +01:00
chriseth 5490a5cd37 Merge pull request #6115 from ethereum/fixUnavailableOpcodes
Make unavailable opcodes errors.
2019-03-04 12:26:22 +01:00
chriseth 43850d55f3 Update tests. 2019-03-04 11:44:54 +01:00
chriseth 851dd635eb Remove defaults in constructor arguments. 2019-03-04 11:41:52 +01:00
chriseth 5ddbc434d6 Provide commandline option to activate yul optimizer. 2019-03-04 11:40:28 +01:00
chriseth 4d10f4b4cf Process and validate standard-json optimizer settings. 2019-03-04 11:40:28 +01:00
Alex Beregszaszi cf5c13f9c7 Introduce global optimiser settings. 2019-03-04 11:40:28 +01:00
chriseth 0e475438a9 Merge pull request #6142 from ethereum/yul_interpreter_fix_overflow
yulInterpreter: Fix u256 overflow in logMemory.
2019-02-28 23:29:14 +01:00
chriseth 8f5e12c192 Make unavailable opcodes errors. 2019-02-28 22:20:01 +01:00
Alex Beregszaszi c3ab43dca7 Remove blockhash workaround in tests
This is now obsolete as final constantinople doesn't contain the blockhash EIP.

Revert 3e55aa3fa2.
2019-02-28 21:17:58 +00:00
Bhargava Shastry c48cc19fae yulInterpreter: Fix u256 overflow in logMemory. 2019-02-28 16:42:50 +01:00
chriseth ab33ff1408 Merge pull request #6132 from ethereum/ossfuzz-nullref-typechecker
TypeChecker: Check if type exists before dereferencing it
2019-02-28 16:38:54 +01:00
chriseth 3dee9c50cd Merge pull request #6131 from ethereum/fix-yul-opt
Yul Optimizer: reduce switches with const arguments
2019-02-28 16:28:53 +01:00
Mathias Baumann 50b4193705 TypeChecker: Check if type exists before dereferencing it 2019-02-28 15:49:15 +01:00
Mathias Baumann c686a65876 Yul Optimizer: reduce switches with const arguments 2019-02-28 15:43:10 +01:00
chriseth 6aab3b1369 Merge pull request #6139 from ethereum/compilerstack-restrict
Restrict the state when settings can be altered in CompilerStack
2019-02-28 14:52:52 +01:00
Alex Beregszaszi 8b6049b733 Merge pull request #6111 from ethereum/fuzz-crash-smt
Fix SMT Checker crash due to missing type information
2019-02-28 13:19:32 +00:00
Alex Beregszaszi b04b86a938 Restrict the state when settings can be altered in CompilerStack 2019-02-28 12:55:36 +00:00
chriseth e9543d83c7 Merge pull request #6129 from ethereum/expressionSimplifierToUseDataFlowAnalyzer
Fix expression simplifying by moving from SSAValueTracker to DataFlowAnalyzer as a base.
2019-02-28 12:21:41 +01:00
Mathias Baumann f782125463 Fix SMT Checker crash due to missing type information 2019-02-28 11:55:45 +01:00
chriseth 4f7f3bf689 Merge pull request #6113 from ethereum/positionalArgForYulRun
Allow positional arguments for yulrun.
2019-02-27 16:24:04 +01:00
chriseth 477c53a46f Fix expression simplifying by moving from SSAValueTracker to DataFlowAnalyzer as a base. 2019-02-27 16:14:39 +01:00
Erik Kundt 9d6ffb7c0f Adds a workaround for truffle npm issue. 2019-02-27 12:37:53 +01:00
chriseth 77a3d08a87 Merge pull request #6104 from ethereum/useCorrectSolcjs
Use correct solcjs binary for testing.
2019-02-27 11:49:02 +01:00
chriseth 5123a2afa7 Allow positional arguments for yulrun. 2019-02-27 11:44:09 +01:00
Erik Kundt e13bb994fb Fix ambiguous type on Windows. 2019-02-27 10:40:58 +01:00
chriseth 514c9910aa Fix implementation of signextend. 2019-02-26 17:56:32 +01:00
chriseth ebec54aacb Merge pull request #6093 from ethereum/mapping-string-keys
Allow dynamic types in public mappings
2019-02-26 17:05:18 +01:00
chriseth 4e74c508ce Merge pull request #6089 from ethereum/extcodehash
Consider extcodehash as part of Constantinople
2019-02-26 17:04:01 +01:00
Mathias Baumann e4a52aa2f6 Allow dynamic types in public mappings 2019-02-26 15:48:54 +01:00
chriseth aba879f39f Use correct solcjs binary for testing. 2019-02-26 15:10:58 +01:00
Alex Beregszaszi d2f493268b Provide access to the name of contracts. 2019-02-26 14:07:03 +00:00
Alex Beregszaszi cb7b053a4a Consider extcodehash as part of Constantinople 2019-02-26 12:40:31 +00:00
chriseth 38fc740690 Merge pull request #6080 from ethereum/library-index-access
Disallow index access on contracts and libraries
2019-02-26 13:26:05 +01:00
Alex Beregszaszi 758537b274 Add test for returning string literal in LLL 2019-02-25 23:59:52 +00:00
Erik Kundt 3076d80480 Adds syntax test that covers arrays of contracts. 2019-02-25 23:05:33 +00:00
Erik Kundt 2d0daae796 Disallows index access on contracts and libraries. 2019-02-25 23:05:33 +00:00
Alex Beregszaszi a498062816 Fix gas test after using shifts in constant optimiser 2019-02-25 19:44:47 +00:00
chriseth 7a2645f7d2 Merge pull request #6079 from ethereum/shift-tests
Add more test cases for shifts with constants
2019-02-25 16:28:06 +01:00
Erik Kundt e4182e2add Fixes wrong EVMVersion namespace in yulrun. 2019-02-25 15:56:17 +01:00
Alex Beregszaszi 7d52884247 Add more test cases for shifts with constants 2019-02-25 14:44:30 +00:00
chriseth 70bbdd8fac Merge pull request #3464 from ethereum/iulia_interp
Yul interpreter
2019-02-25 15:38:41 +01:00
Leonardo Alt 2405b2151a EVMVersion in langutil namespace instead of solidity 2019-02-25 15:29:57 +01:00
chriseth 94e2afff81 Rebase update. 2019-02-25 14:30:34 +01:00