Commit Graph
516 Commits
Author SHA1 Message Date
Bhargava Shastry dbae0fa939 Reset Yul string repository before each compilation. 2019-05-28 13:12:39 +02:00
chriseth cee1340113 Add mini-interpreter to check representation. 2019-05-28 11:35:07 +02:00
chriseth 6132f0aea9 Merge pull request #6800 from ethereum/skipEmptyDump
Skip empty entries in memory and storage dump.
2019-05-23 14:27:44 +02:00
chriseth e5902c58a4 Merge pull request #6777 from sifmelcara/loop-cond-rewriter
[YulOpt] Implement ForLoopConditionIntoBody
2019-05-23 12:51:51 +02:00
chriseth 1ca3edf6a1 Remove side-effect-free instructions from the trace. 2019-05-23 12:42:11 +02:00
chriseth 3ef03258ec Remove memory logging. 2019-05-23 12:42:11 +02:00
chriseth 91312e657b Skip empty entries in memory and storage dump. 2019-05-23 12:27:56 +02:00
mingchuan 4ab377eb00 Add tests for ForLoopConditionIntoBody 2019-05-22 21:51:03 +08:00
Bhargava Shastry 804368bb51 First commit 2019-05-22 10:15:28 +02:00
chriseth 1dc15d5864 Modify parser and optimizer. 2019-05-20 17:32:56 +02:00
chriseth 4bdb981224 Make dialect const& and allocate single instances statically. 2019-05-17 12:54:24 +02:00
chriseth 570db164c9 Make Dialect const. 2019-05-16 21:51:54 +02:00
chriseth dd4f9bf1a6 Really split structural simplifier. 2019-05-13 10:26:57 +02:00
Bhargava Shastry 495f7f9013 [Proto fuzzer] Add function calls, and multi variable declaration/assignment statements 2019-05-09 16:00:29 +02:00
Daniel Kirchner 76b88bdfd8 Allow test cases to indicate fatal errors. 2019-05-07 18:12:21 +02:00
Daniel Kirchner 0a99519142 Move gas cost tests from command line tests to interactive gas cost tests. 2019-05-07 18:12:21 +02:00
chriseth 18bc82e6fd Fix interpreter exp bug. 2019-05-07 11:40:33 +02:00
chriseth f113f8e4a0 Implement datasize, dataoffset and datacopy for yul interpreter. 2019-05-06 16:59:47 +02:00
Bhargava Shastry 2d1faf53be Reset loop state (to default) before interpreting for-loop post block 2019-05-02 22:22:19 +02:00
Bhargava Shastry a5524983f9 [Proto fuzzer]: Add terminating opcodes 2019-05-02 15:34:26 +02:00
Bhargava Shastry ac7bfec2c0 Support generation of calldata, code, extcode and returndata opcodes 2019-05-02 10:14:25 +02:00
Bhargava Shastry d894ffad16 Proto fuzzer: Add missing memory and log opcodes and fix visitation bug
for ternary ops
2019-04-30 14:18:00 +02:00
chriseth 1d5559c350 Merge pull request #6554 from ethereum/add-ternary-ops
ossfuzz: Generate addmod and mulmod builtin functions
2019-04-19 00:41:57 +02:00
Bhargava Shastry 836c466f09 ossfuzz: Generate addmod and mulmod builtin functions 2019-04-18 14:21:02 +02:00
Bhargava Shastry 68b7f40184 ossfuzz: Fixes buggy generation of duplicate case literals 2019-04-18 14:12:23 +02:00
chriseth 87a4ce2679 Merge pull request #6540 from ethereum/add-for-break-continue
Generate break and continue statements inside for loop body.
2019-04-18 12:57:40 +02:00
Bhargava Shastry 6f673f5e81 Generate break and continue statements inside for loop body. 2019-04-17 13:02:47 +02:00
chriseth 669df0d1e5 Allow more filters and rename member. 2019-04-17 12:00:01 +02:00
Erik Kundt 827e13a2d7 Refactors passing of options in isoltest. 2019-04-17 11:36:14 +02:00
Erik Kundt 11087422d6 Adds --test | -t option to isoltest. 2019-04-17 11:36:14 +02:00
Daniel Kirchner a4fbb06c2a Merge pull request #6491 from ethereum/increase-maxSteps-for-opt-yul
Increase upper bound for number of interpreted steps for optimized code
2019-04-12 12:34:47 +02:00
Bhargava Shastry 484c14af81 Increase upper bound for number of interpreted steps for optimized code 2019-04-10 12:57:54 +02:00
mingchuan f1374066af Add shortcuts for formatting error information 2019-04-10 18:44:45 +08:00
chriseth ef413bb0b3 Throw exception to allow fuzzer to report which file it failed on. 2019-04-04 14:05:38 +02:00
Bhargava Shastry 762dd24784 Reference only those variables that are in scope. 2019-04-04 13:28:56 +02:00
Bhargava Shastry f15cedad7a yulInterpreter: More fine-grained exception handling 2019-04-04 13:02:55 +02:00
chriseth aeb260cde1 Add settings framework for interactive tests. 2019-04-03 14:58:20 +02:00
Bhargava Shastry 0cc6e1cb08 Use default EVMVersion instead of a hard coded one 2019-04-02 11:40:59 +02:00
chriseth e894e0b967 Merge pull request #6410 from ethereum/eliminate-dead-code
Yul Optimizer: Remove dead code
2019-04-01 18:12:47 +02:00
Mathias Baumann e20acf5d0a Yul Optimizer: Remove dead code 2019-04-01 17:16:04 +02:00
Mathias Baumann 30820dda99 Support multiple input files with solfuzzer 2019-04-01 16:57:32 +02:00
Mathias Baumann 101ca5c120 Fix --help parameter for solfuzzer
the `readStandardInput()` branch would be taken if "input-file" was not
given and only "help", thus never reaching the check for "help"
2019-04-01 15:50:34 +02:00
chriseth 3264e9abf0 Make optimiser settings available to assembly stack. 2019-03-28 18:24:13 +01:00
chriseth 2308904f68 Remove "using namespace" from header and move Instruction to dev::eth. 2019-03-28 13:48:11 +01:00
Bhargava Shastry 10c3b31fa4 yulInterpreter: Add timeout based on the number of interpreted statements. 2019-03-27 12:06:02 +01:00
Bhargava Shastry b3c3a1f9cd Use visitor pattern for proto converter. 2019-03-26 16:39:44 +01:00
Bhargava Shastry ef94d6d645 yul Interpreter: Move memory size limit to interpreter state. 2019-03-26 14:42:25 +01:00
Bhargava Shastry a895ccba39 ossfuzz: Enable optimization in Assembly stack assembler call. 2019-03-26 13:42:51 +01:00
Bhargava Shastry d1d3dd8571 yul proto: Add support for generating string and hex literals. 2019-03-21 12:25:52 +01:00
Bhargava Shastry 22f5a82edc yul proto: Add support for generating for and switch statements. 2019-03-20 18:50:27 +00:00