aboutsummaryrefslogtreecommitdiffstats
path: root/libevmasm
Commit message (Collapse)AuthorAgeFilesLines
* libevmasm: add RETURNDATACOPY and RETURNDATASIZEYoichi Hirai2017-06-132-0/+6
|
* Initial EVM1.5 assembly implementation.chriseth2017-06-081-0/+9
|
* Rename the SHA3 assembly instruction to KECCAK256Alex Beregszaszi2017-05-308-26/+26
|
* Add simplification rule for SDIV(0,X) and SDIV(X,0)Alex Beregszaszi2017-05-201-0/+2
|
* Cleanup simplification rulesAlex Beregszaszi2017-05-201-8/+15
|
* Add parentheses for readability.chriseth2017-05-021-1/+1
|
* Fix number representation bug.chriseth2017-05-021-2/+7
|
* Do not use the member in checkRepresentationAlex Beregszaszi2017-04-272-4/+4
|
* Use OptimizerException to report errorchriseth2017-04-271-2/+6
|
* Add recomputation check for number representation.chriseth2017-04-272-1/+56
|
* libevmasm: fix sloadGas in another fileYoichi Hirai2017-04-251-1/+1
|
* libevmasm: add a breakYoichi Hirai2017-04-251-0/+1
|
* libevmasm: reflect EIP 160 gas schedule changeYoichi Hirai2017-04-251-1/+1
|
* libevmasm: EIP150.c gas changeYoichi Hirai2017-04-251-0/+1
|
* libevmasm: EIP150.a changes on SLOAD, CALL, CALLCODE, DELEGATECALL and SUICIDEYoichi Hirai2017-04-254-3/+6
|
* libevmadm: EIP150.a changes on EXTCODE, EXTCODESIZE and BALANCEYoichi Hirai2017-04-254-3/+9
|
* Initialize local variables.chriseth2017-04-121-2/+2
|
* Implement missing assembly output functions and do not use PushString for ↵chriseth2017-04-122-6/+14
| | | | assembly.
* Add upper bound for computing constants.chriseth2017-03-032-1/+5
|
* Print source location before items.chriseth2017-02-241-1/+1
|
* Add REVERT to libevmasmAlex Beregszaszi2017-02-115-1/+7
|
* Rename SUICIDE opcode to SELFDESTRUCT in libevmasmAlex Beregszaszi2017-02-076-8/+8
|
* More verbose log of when using invalid instructionsAlex Beregszaszi2017-02-021-4/+4
|
* Fix optimizer with regards to INVALID instruction.chriseth2017-01-262-0/+2
|
* Change code for INVALID opcode to 0xfe.chriseth2017-01-262-4/+4
|
* Change translation of implicit throws (issue #1589).Valentin Wüstholz2017-01-262-0/+4
| | | | | | | This adds a new invalid instruction that is used for encoding implicit throws that are emitted by the compiler. This makes it possible to distinguish such runtime errors from user-provided, explicit throws.
* Create functional assembly output, if possible.chriseth2017-01-244-17/+94
|
* Fix error tag usage in lll.chriseth2017-01-231-1/+1
|
* Merge pull request #1584 from ethereum/tierchriseth2017-01-193-149/+149
|\ | | | | libevmasm: remove duplicate `Tier` from `Tier::xTier`s
| * libevmasm: remove duplicate `Tier` from `Tier::xTier`sYoichi Hirai2017-01-193-149/+149
| | | | | | | | Synchronize with cpp-ethereum
* | Provide fallback for linking.chriseth2017-01-192-6/+29
|/
* Make enum Tier into an enum classYoichi Hirai2017-01-133-141/+141
|
* Minor changes from review.chriseth2017-01-132-2/+1
|
* Windows build fix.chriseth2017-01-131-0/+2
|
* Fix match groups.chriseth2017-01-131-0/+1
|
* Fix debug output.chriseth2017-01-131-2/+8
|
* Optimize constant optimization.chriseth2017-01-132-37/+58
|
* Optimise simplification rules (sort into bins).chriseth2017-01-134-394/+514
|
* Optimize pattern matcher.chriseth2017-01-132-16/+22
|
* Optimise AssemblyItem::m_data.chriseth2017-01-134-21/+58
|
* Rename programSize to bytecodeSize.chriseth2017-01-031-1/+1
|
* Assembly output for Assembly object.chriseth2017-01-033-51/+105
|
* libevmasm: OpPop() optimization keeps the source locationYoichi Hirai2016-12-301-1/+1
| | | | fixes #1521
* Fix tests.chriseth2016-12-011-2/+3
|
* Add swarm hash to the end of the bytecode.chriseth2016-12-012-4/+13
|
* libevmasm: remove an unused variable `total`Yoichi Hirai2016-12-011-3/+2
|
* Add more optimization rulesYoichi Hirai2016-11-301-0/+6
|
* Replace XOR with self with 0Alex Beregszaszi2016-11-301-0/+1
|
* Replace XOR/ISZERO with EQAlex Beregszaszi2016-11-301-0/+4
|
* Add optimiser rule for SUB with 0Alex Beregszaszi2016-11-301-1/+2
|
* Integrate AddPop.chriseth2016-11-252-16/+13
|
* Templatize.chriseth2016-11-251-37/+75
|
* Peephole optimizer for unreacheable code.chriseth2016-11-251-37/+73
|
* libevmasm: generalize ADDPOP optimization into ADDMODPOP etcYoichi Hirai2016-11-251-5/+6
|
* libevmasm: Add another peephole optimizationYoichi Hirai2016-11-252-3/+28
|
* Fix licensing headersVoR02202016-11-2331-124/+124
| | | | Signed-off-by: VoR0220 <rj@erisindustries.com>
* Optimizer: Clear state for JUMPDESTs.chriseth2016-11-221-36/+25
|
* Some more assertions and style changes.chriseth2016-11-161-1/+1
|
* Change encoding to address-funid and add "function" as ABI type.chriseth2016-11-161-0/+1
|
* Fix setting the tag.chriseth2016-11-161-1/+1
|
* fixup! Simple peephole optimizer that is activated even if not requested.chriseth2016-11-161-0/+2
|
* Simple peephole optimizer that is activated even if not requested.chriseth2016-11-164-12/+223
|
* Converted sub assembly to smart pointer.chriseth2016-11-163-37/+62
|
* Stored combined creation and runtime tags.chriseth2016-11-167-52/+145
| | | | | | | Includes a change to Assembly to allow tags from sub-assemblies to be used. Sorry, this get a bit bigger than I thought.
* Implement uninitialized storage functions.chriseth2016-11-161-0/+1
|
* Keep old code.chriseth2016-11-152-21/+30
|
* Report infinite gas for calls.chriseth2016-11-141-15/+19
|
* Merge pull request #1333 from ethereum/compare_location_fileschriseth2016-11-091-5/+10
|\ | | | | Compare source files in source locations
| * libevmasm: fix comparison of SourceLocationsYoichi Hirai2016-11-081-5/+10
| |
* | Merge pull request #1252 from ethereum/jsoncpp-from-sourcechriseth2016-11-081-1/+2
|\ \ | |/ |/| Build jsoncpp from source using jsoncpp.cmake script
| * Build jsoncpp from source using jsoncpp.cmake scriptPaweł Bylica2016-10-211-1/+2
| |
* | Merge pull request #1270 from ethereum/optimise-eq0chriseth2016-10-241-0/+1
|\ \ | | | | | | Optimise the PUSH 0, EQ case as ISZERO
| * | Optimiser the PUSH 0, EQ case as ISZEROAlex Beregszaszi2016-10-231-0/+1
| |/
* / Optimizer: generate code starting with empty statechriseth2016-10-221-2/+4
|/
* Rename dev::sha3 to dev::keccak256Alex Beregszaszi2016-10-063-4/+4
|
* Explicitly specify length of push data for assembly output.chriseth2016-08-181-1/+1
|
* Rename libevmasm.chriseth2016-08-101-1/+1
|
* Merge pull request #834 from chriseth/devcorecleanupchriseth2016-08-082-5/+1
|\ | | | | Some cleanup regarding libdevcore. Also rename to avoid conflicts.
| * Correct library usage.chriseth2016-08-081-1/+1
| |
| * Some cleanup regarding libdevcore. Also rename to avoid conflicts.chriseth2016-08-062-5/+1
| |
* | Do not install headers.chriseth2016-08-051-2/+0
|/
* Further fixes to the optimizer.chriseth2016-08-022-4/+5
|
* Reset knowledge in optimizer for path joins.chriseth2016-08-013-3/+12
|
* Make the Solidity repository standalone.Bob Summerwill2016-08-011-0/+62
| | | | | | | | | | | | | | | | | | | | This commit is the culmination of several months of work to decouple Solidity from the webthree-umbrella so that it can be developed in parallel with cpp-ethereum (the Ethereum C++ runtime) and so that even for the Solidity unit-tests there is no hard-dependency onto the C++ runtime. The Tests-over-IPC refactoring was a major step in the same process which was already committed. This commit contains the following changes: - A subset of the CMake functionality in webthree-helpers was extracted and tailored for Solidity into ./cmake. Further cleanup is certainly possible. - A subset of the libdevcore functionality in libweb3core was extracted and tailored for Solidity into ./libdevcore. Further cleanup is certainly possible - The gas price constants in EVMSchedule were orphaned into libevmasm. - Some other refactorings and cleanups were made to sever unnecessary EVM dependencies in the Solidity unit-tests. - TravisCI and Appveyor support was added, covering builds and running of the unit-tests (Linux and macOS only for now) - A bug-fix was made to get the Tests-over-IPC running on macOS. - There are still reliability issues in the unit-tests, which need immediate attention. The Travis build has been flipped to run the unit-tests 5 times, to try to flush these out. - The Emscripten automation which was previously in webthree-umbrella was merged into the TravisCI automation here. - The development ZIP deployment step has been commented out, but we will want to read that ONLY for release branch. Further iteration on these changes will definitely be needed, but I feel these have got to sufficient maturity than holding them back further isn't winning us anything. It is go time :-)
* Fix warning showing up in openSUSE build.Bob Summerwill2016-06-081-1/+1
|
* Correctly use not/bnot/iszero.chriseth2016-05-091-2/+2
| | | | | A long time ago, some opcodes were renamed. Now we should only have not (bitwise negation) and iszero (logical negation).
* Windows fix.chriseth2016-04-211-2/+13
|
* Source location for inline assembly.chriseth2016-04-201-18/+5
|
* Merge pull request #496 from chriseth/removelogBob Summerwill2016-04-122-10/+0
|\ | | | | Remove log.h from solidity.
| * Remove log.h from solidity.chriseth2016-04-122-10/+0
| |
* | Make solidity independent from ethcore.chriseth2016-04-077-121/+83
|/
* reduce unnecessary solidity:: namespaceDimitry2016-04-044-8/+8
|
* return instructionInfo styleDimitry2016-04-049-14/+14
|
* enable solidity testDimitry2016-04-042-6/+6
|
* rename namespace for instruction.h/cpp in libevmasmDimitry2016-04-0213-32/+33
|
* move libevmcore to solidityDimitry2016-04-026-4/+626
|
* includesDimitry2016-03-223-4/+5
|
* add liblll lllc libevmasmDimitry2016-03-222-4/+4
|
* move libevmasmDimitry2016-03-2129-0/+5102