Commit Graph

2525 Commits

Author SHA1 Message Date
chriseth
62b2599cb7 Update tests. 2019-03-04 16:31:08 +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
chriseth
cc88c517a2 Review changes. 2019-02-25 11:58:37 +01:00
Bhargava Shastry
d564c24f30 POP is actually a valid instruction. 2019-02-25 11:58:37 +01:00
chriseth
0e471ab811 Review comments. 2019-02-25 11:58:37 +01:00