Commit Graph

13372 Commits

Author SHA1 Message Date
Bhargava Shastry
6c1d0b62b5 Adds oss-fuzz harnesses to fuzz AssemblyStack API calls for parsing/optimizing StrictAssembly and generating EVM bytecode. 2019-03-20 16:06:45 +01:00
chriseth
e3c3b9e542
Merge pull request #6276 from ethereum/properlyDetectRemovableVariables
Properly detect removable variables
2019-03-20 16:06:19 +01:00
chriseth
57f99247c8 Update tests. 2019-03-20 15:07:05 +01:00
chriseth
8514c0bc60 Provide max iterations for stack compressor as parameter. 2019-03-20 15:07:05 +01:00
chriseth
9ac117e5b9 Changelog entry. 2019-03-20 15:07:05 +01:00
chriseth
aa9a2935ac Properly determine whether a variable can be eliminated or not. 2019-03-20 15:07:05 +01:00
chriseth
38cbf8d230 Pass "optimize stack allocation" flag down to the stack compressor. 2019-03-20 15:03:27 +01:00
Mathias Baumann
84b68006ba Fix function calls with named arguments for overloaded functions 2019-03-20 14:54:41 +01:00
Christian Parpart
bb28c8a877 Fixes wrong source location when reporting pragma solidity version conflicts. 2019-03-20 11:42:25 +01:00
Leonardo Alt
9659f40c8d [SMTChecker] Support modifiers 2019-03-20 11:32:20 +01:00
chriseth
556d11dae0
Merge pull request #6310 from ethereum/smt_callstack_model
[SMTChecker] Add callstack to model report
2019-03-20 10:51:49 +01:00
chriseth
93027c40b6
Merge pull request #6322 from ethereum/asm-datasize-exception-fix
Improve exception information in Yul function datasize(name) and dataoffset(name).
2019-03-20 10:50:49 +01:00
Leonardo Alt
3296fb3764 Add callstack to model report 2019-03-20 10:35:29 +01:00
chriseth
b021f015f9
Merge pull request #6321 from ethereum/metadata-cbor-encoder
Introduce simplfied CBOR encoding for Metadata
2019-03-20 10:10:16 +01:00
chriseth
4d89fc1644
Merge pull request #6320 from ethereum/callvalue_nonpayable
Inline Assembly: Issue error for callvalue in nonpayable function
2019-03-20 10:07:09 +01:00
chriseth
1e970ccc5b
Merge pull request #6324 from ethereum/useABICheck
Use ABI_CHECK for event data comparison.
2019-03-20 10:05:02 +01:00
Alex Beregszaszi
5245a66d91
Merge pull request #6318 from ethereum/signal-failure-and-such
Allow simplification patterns to signal failure
2019-03-20 03:38:51 +00:00
Leonardo Alt
0386d39942 Add test with internal function 2019-03-19 20:45:27 +01:00
Leonardo Alt
9acec99c31 Issue error for callvalue in nonpayable function 2019-03-19 20:45:27 +01:00
chriseth
11198cd76a
Merge pull request #6326 from ethereum/moveAppendSet
Add operator for move-append onto set.
2019-03-19 19:44:25 +01:00
chriseth
7da5e9575b
Merge pull request #6325 from ethereum/alsoOutputOptimized
Also output optimized yul code if requested.
2019-03-19 17:51:42 +01:00
chriseth
b82b970429 Add operator for move-append onto set. 2019-03-19 17:50:50 +01:00
chriseth
cf0fdfb175
Merge pull request #6319 from ethereum/operators_namespace
[RFC] Move CommonData operator functions to the global namespace
2019-03-19 17:41:08 +01:00
chriseth
7c524f794f Also output optimized yul code if requested. 2019-03-19 17:24:36 +01:00
chriseth
87ebb16890 Use ABI_CHECK for event data comparison. 2019-03-19 17:23:50 +01: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
Alex Beregszaszi
7babe3dbba Introduce simplfied CBOR encoding for Metadata 2019-03-19 16:06:19 +00:00
chriseth
164a51eeae
Merge pull request #6313 from ethereum/yul-for-continue-tests-prerequisites
[Yul] Refactors RedundantAssignEliminator for future changes wrt. break/continue stmts.
2019-03-19 17:03:17 +01:00
Mathias Baumann
6b60e90cde Fix commented debug output code 2019-03-19 16:15:05 +01:00
Leonardo Alt
15a5b2bf65 Move CommonData operator functions to the global namespace 2019-03-19 16:06:23 +01:00
Alex Beregszaszi
f95388011b Allow simplification patterns to signal failure 2019-03-19 15:51:52 +01:00
Christian Parpart
89f1dbfbb6
[Yul] Refactors RedundantAssignEliminator for future changes wrt. break/continue statements. 2019-03-19 12:24:45 +01:00
chriseth
c7824932a4
Merge pull request #6311 from ethereum/docs-rem-heading
[DOCS] Remove random heading
2019-03-19 11:21:45 +01:00
Chris Ward
7075f158e3 Instead update heading 2019-03-18 16:30:23 +01:00
chriseth
304ef77b4a
Merge pull request #6300 from ethereum/extractedTestsEVMVersionRules
Support EVM Version rules for extracted tests.
2019-03-18 15:29:04 +01:00
Chris Ward
855555e941 Add mention of initialisation cost of storage 2019-03-18 14:37:47 +01:00
Daniel Kirchner
a178486436 Review suggestions. 2019-03-18 14:34:00 +01:00
Chris Ward
61be78b42a Adding populus gotcha covering storage costs 2019-03-18 14:20:47 +01:00
chriseth
f174cb9ab9
Merge pull request #6308 from ethereum/yul-for-continue-tests
[Yul] Adds another test case for multiple continue statements within a for-loop.
2019-03-18 13:16:07 +01:00
Christian Parpart
82ced641e5
[Yul] Adds another test case for multiple continue statements within a for-loop 2019-03-18 12:43:20 +01:00
chriseth
834c23fc38
Merge pull request #6289 from ethereum/strictasm_fuzzer_ascii_only
Discard fuzz input containing non ASCII character(s).
2019-03-18 11:44:06 +01:00
chriseth
5b5c9aa2ff
Merge pull request #6297 from ethereum/proto-add-binary-ops
Add more binary operations to the yul proto spec.
2019-03-18 11:19:29 +01:00
Bhargava Shastry
725fc898fd Discard fuzz input containing at least one character not in the following set: "isprint"able, newline, and horizontal
Co-Authored-By: bshastry <bshastry@ethereum.org>
2019-03-18 10:36:43 +01:00
Daniel Kirchner
4a28e1eb43 Support EVM Version rules for extracted tests. 2019-03-15 17:23:20 +01:00
Bhargava Shastry
5e8ed426df Add more binary operations to the yul proto spec. 2019-03-14 22:26:25 +01:00
chriseth
48f0d41cc5
Merge pull request #6294 from ethereum/merge-canBeUsedExternally-and-interfaceType-6223
Merge interfaceType() canBeUsedExternally()
2019-03-14 18:12:07 +01:00
Mathias Baumann
4d060ef991 Merge interfaceType() canBeUsedExternally()
And cache the result for expensive calls.
2019-03-14 17:19:59 +01:00
chriseth
500843f9c5
Merge pull request #6242 from ethereum/yul-bc-dataflow
Yul dataflow analysis for continue/break statements
2019-03-14 16:34:34 +01:00
Christian Parpart
57bcb8ba83
[yul] Ensures DataFlowAnalyzer works fine with break/continue statements just like without. 2019-03-14 16:18:45 +01:00
chriseth
34893225ab
Merge pull request #6292 from ethereum/better-docu-for-param
[Trivial] Clarify documentation of ContractType::m_super
2019-03-14 16:07:30 +01:00