Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | Merge pull request #5693 from ethereum/assemblyitem | chriseth | 2018-12-19 | 1 | -3/+5 |
|\ | | | | | Use explicit break and do not coerce 0 into bool in AssemblyItem | ||||
| * | Use explicit break and do not coerce 0 into bool in AssemblyItem | Alex Beregszaszi | 2018-12-19 | 1 | -3/+5 |
| | | |||||
* | | make use of C++ `= default` constructor declarations as well as more ↵ | Christian Parpart | 2018-12-19 | 3 | -15/+8 |
|/ | | | | non-static member initialization syntax. | ||||
* | Optimize some instruction comparisons. | chriseth | 2018-12-19 | 2 | -5/+3 |
| | |||||
* | Provide comparison shortcut. | chriseth | 2018-12-18 | 1 | -0/+7 |
| | |||||
* | Use the move. | chriseth | 2018-12-18 | 1 | -7/+11 |
| | |||||
* | Make swappable instructions static. | chriseth | 2018-12-18 | 1 | -1/+1 |
| | |||||
* | Add headers to targets in CMakeLists.txt. | Daniel Kirchner | 2018-12-17 | 1 | -0/+18 |
| | |||||
* | Use curly-brackets initialization | Mathias Baumann | 2018-12-11 | 2 | -14/+14 |
| | |||||
* | Replace push_back with emplace_back where it makes sense | Mathias Baumann | 2018-12-11 | 3 | -3/+3 |
| | |||||
* | Remove `w` parameter for toHex. | chriseth | 2018-12-06 | 1 | -1/+1 |
| | |||||
* | liblangutil: SourceLocation: adds (shared) pointer to underlying CharStream ↵ | Christian Parpart | 2018-12-01 | 1 | -5/+5 |
| | | | | | | source, eliminating sourceName Also, adapted affecting code to those changes. | ||||
* | Fix nondeterminism bug related to boost version. | chriseth | 2018-11-27 | 1 | -1/+1 |
| | |||||
* | CMake: Explicitly state which files to compile instead of relying on globbing. | Christian Parpart | 2018-11-26 | 1 | -3/+19 |
| | | | | | Also remove header file lists, as there is no need to add them to add_library() or add_executable(), which should lower maintenance of the cmake files. | ||||
* | Merge pull request #5472 from ethereum/assemblyAnnotationOutput | chriseth | 2018-11-24 | 1 | -0/+2 |
|\ | | | | | Jumps with annotations cannot be functional. | ||||
| * | Jumps with annotations cannot be functional. | chriseth | 2018-11-22 | 1 | -0/+2 |
| | | |||||
* | | Introduce namespace `langutil` in liblangutil directory. | Christian Parpart | 2018-11-22 | 12 | -24/+47 |
| | | | | | | | | | | | | | | Also: - Use {}-style list initialisation for SourceLocation construction - Introduce new system includes - Changes the API of the Scanner to take source as value (with move) as opposed to as a reference | ||||
* | | Isolating files shared between Yul- and Solidity language frontend. | Christian Parpart | 2018-11-22 | 6 | -111/+6 |
|/ | |||||
* | Removing redundant virtual from override function declaration | mordax | 2018-11-21 | 1 | -6/+6 |
| | | | | | | Remove trailing whitespace Remove changelog change | ||||
* | Merge pull request #5265 from ethereum/cleanupsha3 | chriseth | 2018-11-09 | 4 | -4/+4 |
|\ | | | | | Simplify sha3. | ||||
| * | Renamed SHA3.{h,cpp} files. | chriseth | 2018-10-18 | 4 | -4/+4 |
| | | |||||
* | | Eliminate `byte`-typedef and use `uint8_t` in all their places instead. | Christian Parpart | 2018-11-07 | 4 | -21/+21 |
|/ | | | | | | | | | | | This change is made to (easily) be forward compatible with future C++ standards, in order to allow compiling the code with newer standards at some point in the future. * Removed the `using byte = uint8_t;` line from Common.h * Mechanically change all uses of `byte` to `uint8_t`. Tested with GCC 7.3 in C++11/14/17 modes :-) | ||||
* | Change library placeholder to `__$<hash>$__`. | chriseth | 2018-10-12 | 1 | -1/+1 |
| | |||||
* | Prefix "0x" to library placeholder. | chriseth | 2018-10-12 | 1 | -1/+1 |
| | |||||
* | Use hash for library placeholders. | chriseth | 2018-10-12 | 2 | -2/+13 |
| | |||||
* | Fix typos. | chriseth | 2018-10-04 | 1 | -1/+1 |
| | |||||
* | Merge pull request #5110 from codemascot/libevmasm/Assembly.cpp | chriseth | 2018-10-02 | 1 | -2/+11 |
|\ | | | | | Use 'switch' instead of 'else if' | ||||
| * | Use 'switch' instead of 'else if' | Khan M Rashedun-Naby | 2018-09-27 | 1 | -2/+11 |
| | | |||||
* | | Set the price of EXTCODEHASH properly | Alex Beregszaszi | 2018-09-26 | 2 | -2/+4 |
| | | |||||
* | | Add assembly support for EXTCODEHASH (EIP-1052) | Jared Wasinger | 2018-09-26 | 4 | -0/+7 |
|/ | |||||
* | Merge pull request #5089 from ethereum/gasmeter | Alex Beregszaszi | 2018-09-26 | 3 | -2/+14 |
|\ | | | | | Small pathgasmeter cleanups | ||||
| * | Some cleanups in GasMeter | Alex Beregszaszi | 2018-09-26 | 1 | -2/+2 |
| | | |||||
| * | Add PathGasMeter.estimateMax helper | Alex Beregszaszi | 2018-09-26 | 1 | -0/+10 |
| | | |||||
| * | Add explanation to GasMeter::dataGas | Alex Beregszaszi | 2018-09-26 | 1 | -0/+2 |
| | | |||||
* | | Merge pull request #5094 from ethereum/evmasm-grouping | chriseth | 2018-09-26 | 2 | -24/+33 |
|\ \ | |/ |/| | Group LLL only assembly features in libevmasm | ||||
| * | Group LLL only assembly features in libevmasm | Alex Beregszaszi | 2018-09-26 | 1 | -11/+18 |
| | | |||||
| * | Group append() functions in libevmasm | Alex Beregszaszi | 2018-09-26 | 2 | -15/+17 |
| | | |||||
* | | Add helpers for the LOG instruction | Alex Beregszaszi | 2018-09-26 | 2 | -2/+13 |
|/ | |||||
* | CREATE2 opcode has been moved from 0xfb to 0xf5 | Alex Beregszaszi | 2018-09-19 | 1 | -1/+1 |
| | |||||
* | Merge pull request #4967 from ethereum/const-opt-cost | Alex Beregszaszi | 2018-09-18 | 3 | -10/+17 |
|\ | | | | | Move dataGas calculation helper to GasMeter | ||||
| * | Move dataGas calculation helper to GasMeter | Alex Beregszaszi | 2018-09-18 | 3 | -10/+17 |
| | | |||||
* | | Split simplification rules into two functions. | Daniel Kirchner | 2018-09-18 | 4 | -13/+62 |
|/ | |||||
* | Calculate the dataGas correctly in the constant optimiser | Alex Beregszaszi | 2018-08-14 | 2 | -3/+2 |
| | | | | | This may cause a wrong decision about cost (and as a result choosing the least efficient code), but will not cause any miscompilation or invalid output. | ||||
* | Replace safety stop by invalid | Leonardo Alt | 2018-08-14 | 1 | -2/+2 |
| | |||||
* | Explicitly use std::next to avoid boost version. | chriseth | 2018-08-09 | 1 | -1/+1 |
| | |||||
* | Use dev::toString() in Assembly instead of misusing string{} for u256 | Alex Beregszaszi | 2018-08-09 | 1 | -2/+2 |
| | |||||
* | Fix typo | Leo Arias | 2018-08-08 | 1 | -1/+1 |
| | |||||
* | Added guards for unknown pragmas | Augusto F. Hack | 2018-08-06 | 1 | -4/+10 |
| | | | | | | | | | | | | | | | Removed push/pop if there was no change to the warnings *in the same file* for a given compiler. This assumes the imported boost headers use a warning stack themselves. The pragmas don't seem to be required anymore, but were not removed to mantain compatibility with older versions of the boost library. Compiled with - clang version 6.0.1 (tags/RELEASE_601/final) - gcc (GCC) 8.1.1 20180531 against: - libboost 1.67.0-5 | ||||
* | evmasm/Instruction: fixes undefined behavior of advancing iterator beyond ↵ | Christian Parpart | 2018-08-03 | 1 | -3/+11 |
| | | | | | | the end of a container. Usually the STL doesn't check whether or not the developer advances beyond its container's end, but MSVC does (found out by running soltest in debug mode on Win32 / VS2017). | ||||
* | Merge pull request #4473 from ethereum/fixGasTuple | chriseth | 2018-07-11 | 1 | -3/+4 |
|\ | | | | | Fix comparison operator for GasConsumption. | ||||
| * | Fix comparison operator for GasConsumption. | chriseth | 2018-07-11 | 1 | -3/+4 |
| | | |||||
* | | Code, Changelog, ReleaseChecklist: Fix typos. | Cryptomental | 2018-07-11 | 4 | -4/+4 |
|/ | | | | Refs: #4442 | ||||
* | As SWITCH..CASE is better than ELSE..IF | Khan M Rashedun-Naby | 2018-07-02 | 1 | -8/+13 |
| | |||||
* | Add TruthyAnd Peephole optimization | Nicolás Venturo | 2018-06-15 | 1 | -1/+18 |
| | |||||
* | Follow highest gas usage only for gas estimation. | chriseth | 2018-05-09 | 2 | -5/+24 |
| | |||||
* | Merge pull request #4028 from ethereum/asm-tags-32bit | chriseth | 2018-05-02 | 1 | -2/+2 |
|\ | | | | | Restrict assembly tags to 32-bit | ||||
| * | Restrict assembly tags to 32-bit | Alex Beregszaszi | 2018-05-01 | 1 | -2/+2 |
| | | |||||
* | | Add virtual destructors on base classes. | Alexander Arlt | 2018-05-02 | 2 | -0/+3 |
|/ | |||||
* | Ensure that subId and tag handling is correct on all compilers in AssemblyItem | Alex Beregszaszi | 2018-04-30 | 1 | -4/+12 |
| | |||||
* | Fix comment typos | Omar Boukli-Hacene | 2018-04-27 | 1 | -7/+7 |
| | |||||
* | CMake: remove direct jsoncpp dependency in libevmasm | Alexander Arlt | 2018-04-21 | 1 | -1/+1 |
| | |||||
* | Remove unnecessary masking of the result of known short instructions | Alex Beregszaszi | 2018-04-20 | 1 | -0/+20 |
| | |||||
* | Add constant optimiser for SHR/SHL instructions | Alex Beregszaszi | 2018-04-10 | 1 | -0/+10 |
| | |||||
* | Replace comparison operators with opposites if preceded by SWAP1 | Alex Beregszaszi | 2018-04-04 | 1 | -1/+27 |
| | |||||
* | Remove useless SWAP1 in front of commutative operations | Alex Beregszaszi | 2018-04-04 | 1 | -1/+20 |
| | |||||
* | Optimize across MLOAD if MSIZE is not used. | chriseth | 2018-04-03 | 5 | -7/+17 |
| | |||||
* | Use EVM version in gas meter and optimizer. | chriseth | 2018-03-05 | 8 | -31/+83 |
| | |||||
* | Remove ROL/ROR as they are not part of EIP145 anymore | Alex Beregszaszi | 2018-02-27 | 2 | -6/+0 |
| | |||||
* | Add bitwise shift operators to libevmasm (EIP145) | Alex Beregszaszi | 2018-02-27 | 2 | -1/+16 |
| | |||||
* | Replace MOD with AND if constant is power of 2 | Alex Beregszaszi | 2018-02-13 | 1 | -0/+11 |
| | |||||
* | Turn simplification rule tuple into struct. | chriseth | 2018-02-07 | 5 | -19/+63 |
| | |||||
* | Remove recursive call to simplify with reversed arguments. | chriseth | 2018-02-07 | 2 | -10/+2 |
| | | | | (We now have explicit rules for that). | ||||
* | Explicitly add reversed operands for commutative operations. | chriseth | 2018-02-07 | 1 | -34/+56 |
| | |||||
* | Expression simplifier. | chriseth | 2018-02-07 | 1 | -0/+5 |
| | |||||
* | Add flag to indicate whether it can be applied to expressions with side-effects. | chriseth | 2018-02-07 | 4 | -87/+104 |
| | |||||
* | Move out the rule list. | chriseth | 2018-02-07 | 2 | -163/+217 |
| | |||||
* | Prevent libraries from being called. | chriseth | 2018-01-19 | 5 | -1/+22 |
| | |||||
* | Movability. | chriseth | 2018-01-13 | 2 | -0/+29 |
| | |||||
* | Replaced solAssert in Jumpdest optimization | Isaac van Bakel | 2017-11-26 | 1 | -3/+1 |
| | | | | | | This is the only use of solAssert in libevmasm, and the only dependency on libsolidity. There is no justification for why the illegal state is checked here. | ||||
* | Merge pull request #3077 from ethereum/optimze_pops | chriseth | 2017-10-17 | 2 | -2/+12 |
|\ | | | | | Assume peephole optimizer was successful if number of pops increased. | ||||
| * | Throw on too many peephole optimizer iterations. | chriseth | 2017-10-17 | 1 | -1/+4 |
| | | |||||
| * | Assume peephole optimizer was successful if number of pops increased. | chriseth | 2017-10-14 | 2 | -3/+10 |
| | | |||||
* | | Allow ``gas`` in view functions. | chriseth | 2017-10-16 | 1 | -1/+1 |
|/ | |||||
* | Remove duplicate EVMSchedule | Alex Beregszaszi | 2017-10-03 | 1 | -62/+0 |
| | |||||
* | Use isDup/SwapInstruction helper | Alex Beregszaszi | 2017-10-03 | 2 | -5/+3 |
| | |||||
* | Add helpers for isPush/isDup/isSwap | Alex Beregszaszi | 2017-10-02 | 1 | -0/+18 |
| | |||||
* | CMake: Cleanup include paths | Paweł Bylica | 2017-09-27 | 1 | -1/+1 |
| | |||||
* | Ensure parameter names match between headers and implementation | Alex Beregszaszi | 2017-09-20 | 2 | -3/+3 |
| | |||||
* | Merge pull request #2922 from ethereum/asm-bytes-required | chriseth | 2017-09-18 | 1 | -3/+3 |
|\ | | | | | Properly calculate bytesRequired for subs | ||||
| * | Properly calculate bytesRequired for subs | Alex Beregszaszi | 2017-09-18 | 1 | -3/+3 |
| | | |||||
* | | Add useful messages to exceptions in the assembler | Alex Beregszaszi | 2017-09-18 | 1 | -3/+3 |
|/ | |||||
* | Named assembly labels. | chriseth | 2017-09-16 | 2 | -0/+14 |
| | |||||
* | Merge pull request #2848 from ethereum/checkViewPure | chriseth | 2017-09-14 | 2 | -0/+55 |
|\ | | | | | Enforce view and pure. | ||||
| * | Rename to invalidInPureFunctions | chriseth | 2017-09-13 | 2 | -2/+2 |
| | | |||||
| * | Rename and add anonymous namespace. | chriseth | 2017-09-06 | 2 | -2/+2 |
| | | |||||
| * | Analyze assembly. | chriseth | 2017-09-06 | 1 | -0/+1 |
| | | |||||
| * | Add view/pure information about instructions. | chriseth | 2017-09-06 | 2 | -0/+54 |
| | | |||||
* | | Introduce assemblyString | Alex Beregszaszi | 2017-09-11 | 2 | -0/+10 |
| | | |||||
* | | Do not return the stream in asssemblyStream | Alex Beregszaszi | 2017-09-11 | 2 | -4/+2 |
| | | |||||
* | | Split out the JSON functionality from assembly.stream() | Alex Beregszaszi | 2017-09-11 | 2 | -23/+13 |
| | | |||||
* | | Mark functions static in libevmasm | Alex Beregszaszi | 2017-09-11 | 2 | -3/+4 |
|/ | |||||
* | Merge pull request #2843 from ethereum/anonymous-cleanup | chriseth | 2017-08-29 | 1 | -0/+5 |
|\ | | | | | Move all file specific globals to anonymous namespace | ||||
| * | Move all file specific globals to anonymous namespace | Alex Beregszaszi | 2017-08-29 | 1 | -0/+5 |
| | | |||||
* | | Reconcile EVM 1.5 instruction numbers with working draft EIP615 | gcolvin | 2017-08-29 | 1 | -9/+11 |
|/ | |||||
* | Cleanup of vector_ref.h | chriseth | 2017-08-26 | 1 | -1/+1 |
| | |||||
* | Cleanup of FixedHash.h | chriseth | 2017-08-25 | 1 | -1/+4 |
| | |||||
* | Cleanup of Common.h | chriseth | 2017-08-25 | 2 | -3/+8 |
| | |||||
* | Introduce JumpdestRemover optimisation step | Alex Beregszaszi | 2017-08-25 | 4 | -10/+146 |
| | |||||
* | Merge pull request #2757 from ethereum/cmake | Alex Beregszaszi | 2017-08-23 | 1 | -13/+4 |
|\ | | | | | Static linking | ||||
| * | CMake: Cleanup "local" include path | Paweł Bylica | 2017-08-23 | 1 | -1/+0 |
| | | |||||
| * | CMake: Simplify libevmasm config | Paweł Bylica | 2017-08-18 | 1 | -11/+5 |
| | | |||||
| * | CMake: Build static libs by default | Paweł Bylica | 2017-08-18 | 1 | -2/+0 |
| | | |||||
* | | Merge pull request #2656 from ethereum/performance1 | chriseth | 2017-08-23 | 1 | -5/+2 |
|\ \ | | | | | | | Avoid some Json copy operations. | ||||
| * | | Avoid some Json copy operations. | chriseth | 2017-08-21 | 1 | -5/+2 |
| |/ | |||||
* | | Some smaller issues found by Covertiy Scan | Alex Beregszaszi | 2017-08-22 | 2 | -1/+2 |
| | | |||||
* | | Switch stream properties back after temporary modification | Alex Beregszaszi | 2017-08-22 | 1 | -6/+6 |
| | | |||||
* | | Mark a lot of functions static (where possible) | Alex Beregszaszi | 2017-08-22 | 2 | -4/+4 |
| | | |||||
* | | Mark appropriate constructors explicit | Alex Beregszaszi | 2017-08-22 | 3 | -3/+3 |
| | | |||||
* | | Mark a lot of functions const (where possible) | Alex Beregszaszi | 2017-08-22 | 2 | -16/+16 |
|/ | |||||
* | Introduce fine-grained optimiser settings in libevmasm | Alex Beregszaszi | 2017-07-27 | 2 | -17/+60 |
| | |||||
* | Refactor exceptions and provide comment function. | chriseth | 2017-07-13 | 2 | -10/+11 |
| | |||||
* | MLOAD has side-effects, treat it like that in the optimiser | Alex Beregszaszi | 2017-07-01 | 1 | -1/+1 |
| | |||||
* | Fix negative stack size checks. | chriseth | 2017-06-28 | 1 | -0/+1 |
| | |||||
* | Use assertThrow where possible | Alex Beregszaszi | 2017-06-22 | 1 | -8/+5 |
| | |||||
* | Replace obsolete assembly code in LLL | Alex Beregszaszi | 2017-06-22 | 2 | -12/+0 |
| | |||||
* | Remove debugbreak. | chriseth | 2017-06-21 | 1 | -3/+3 |
| | |||||
* | Merge pull request #2397 from ethereum/doublepush | chriseth | 2017-06-15 | 3 | -7/+29 |
|\ | | | | | Peephole optimizer for double push. | ||||
| * | Peephole optimizer for double push. | chriseth | 2017-06-15 | 3 | -7/+29 |
| | | |||||
* | | Merge pull request #2398 from ethereum/assembly-cleanup | chriseth | 2017-06-15 | 2 | -12/+8 |
|\ \ | | | | | | | Remove obsolete features from libevmasm | ||||
| * | | Move subroutine helpers from CompilerContext to Assembly | Alex Beregszaszi | 2017-06-15 | 1 | -0/+7 |
| | | | |||||
| * | | Remove single use Assembly::popTo | Alex Beregszaszi | 2017-06-15 | 1 | -2/+0 |
| | | | |||||
| * | | Remove obsolete Assembly::out | Alex Beregszaszi | 2017-06-15 | 2 | -8/+0 |
| | | | |||||
| * | | Remove obsolete errorTag() | Alex Beregszaszi | 2017-06-15 | 2 | -2/+1 |
| | | | |||||
* | | | Merge branch 'develop' into asm-aux | chriseth | 2017-06-15 | 4 | -5/+13 |
|\| | | |||||
| * | | add new opcode instructions to the parser | Dimitry | 2017-06-15 | 4 | -5/+13 |
| |/ | | | | | | | STATICCALL 0xfa 6 inputs (gas address mem1 mem2 mem3 mem4) | ||||
* | | Print auxiliary data in the assembly | Alex Beregszaszi | 2017-06-15 | 1 | -0/+6 |
| | | |||||
* | | Print assembly even if there's no data section | Alex Beregszaszi | 2017-06-15 | 1 | -1/+3 |
|/ | |||||
* | Introduce CREATE2 in the assembler | Alex Beregszaszi | 2017-06-14 | 4 | -1/+7 |
| | |||||
* | Mention RETURNDATACOPY in GasMeter and SemanticInformation | Yoichi Hirai | 2017-06-13 | 2 | -0/+4 |
| | |||||
* | libevmasm: add RETURNDATACOPY and RETURNDATASIZE | Yoichi Hirai | 2017-06-13 | 2 | -0/+6 |
| | |||||
* | Initial EVM1.5 assembly implementation. | chriseth | 2017-06-08 | 1 | -0/+9 |
| | |||||
* | Rename the SHA3 assembly instruction to KECCAK256 | Alex Beregszaszi | 2017-05-30 | 8 | -26/+26 |
| | |||||
* | Add simplification rule for SDIV(0,X) and SDIV(X,0) | Alex Beregszaszi | 2017-05-20 | 1 | -0/+2 |
| | |||||
* | Cleanup simplification rules | Alex Beregszaszi | 2017-05-20 | 1 | -8/+15 |
| | |||||
* | Add parentheses for readability. | chriseth | 2017-05-02 | 1 | -1/+1 |
| | |||||
* | Fix number representation bug. | chriseth | 2017-05-02 | 1 | -2/+7 |
| | |||||
* | Do not use the member in checkRepresentation | Alex Beregszaszi | 2017-04-27 | 2 | -4/+4 |
| | |||||
* | Use OptimizerException to report error | chriseth | 2017-04-27 | 1 | -2/+6 |
| | |||||
* | Add recomputation check for number representation. | chriseth | 2017-04-27 | 2 | -1/+56 |
| | |||||
* | libevmasm: fix sloadGas in another file | Yoichi Hirai | 2017-04-25 | 1 | -1/+1 |
| | |||||
* | libevmasm: add a break | Yoichi Hirai | 2017-04-25 | 1 | -0/+1 |
| | |||||
* | libevmasm: reflect EIP 160 gas schedule change | Yoichi Hirai | 2017-04-25 | 1 | -1/+1 |
| | |||||
* | libevmasm: EIP150.c gas change | Yoichi Hirai | 2017-04-25 | 1 | -0/+1 |
| | |||||
* | libevmasm: EIP150.a changes on SLOAD, CALL, CALLCODE, DELEGATECALL and SUICIDE | Yoichi Hirai | 2017-04-25 | 4 | -3/+6 |
| | |||||
* | libevmadm: EIP150.a changes on EXTCODE, EXTCODESIZE and BALANCE | Yoichi Hirai | 2017-04-25 | 4 | -3/+9 |
| | |||||
* | Initialize local variables. | chriseth | 2017-04-12 | 1 | -2/+2 |
| | |||||
* | Implement missing assembly output functions and do not use PushString for ↵ | chriseth | 2017-04-12 | 2 | -6/+14 |
| | | | | assembly. | ||||
* | Add upper bound for computing constants. | chriseth | 2017-03-03 | 2 | -1/+5 |
| | |||||
* | Print source location before items. | chriseth | 2017-02-24 | 1 | -1/+1 |
| | |||||
* | Add REVERT to libevmasm | Alex Beregszaszi | 2017-02-11 | 5 | -1/+7 |
| | |||||
* | Rename SUICIDE opcode to SELFDESTRUCT in libevmasm | Alex Beregszaszi | 2017-02-07 | 6 | -8/+8 |
| | |||||
* | More verbose log of when using invalid instructions | Alex Beregszaszi | 2017-02-02 | 1 | -4/+4 |
| | |||||
* | Fix optimizer with regards to INVALID instruction. | chriseth | 2017-01-26 | 2 | -0/+2 |
| | |||||
* | Change code for INVALID opcode to 0xfe. | chriseth | 2017-01-26 | 2 | -4/+4 |
| | |||||
* | Change translation of implicit throws (issue #1589). | Valentin Wüstholz | 2017-01-26 | 2 | -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. | chriseth | 2017-01-24 | 4 | -17/+94 |
| | |||||
* | Fix error tag usage in lll. | chriseth | 2017-01-23 | 1 | -1/+1 |
| | |||||
* | Merge pull request #1584 from ethereum/tier | chriseth | 2017-01-19 | 3 | -149/+149 |
|\ | | | | | libevmasm: remove duplicate `Tier` from `Tier::xTier`s | ||||
| * | libevmasm: remove duplicate `Tier` from `Tier::xTier`s | Yoichi Hirai | 2017-01-19 | 3 | -149/+149 |
| | | | | | | | | Synchronize with cpp-ethereum | ||||
* | | Provide fallback for linking. | chriseth | 2017-01-19 | 2 | -6/+29 |
|/ | |||||
* | Make enum Tier into an enum class | Yoichi Hirai | 2017-01-13 | 3 | -141/+141 |
| | |||||
* | Minor changes from review. | chriseth | 2017-01-13 | 2 | -2/+1 |
| | |||||
* | Windows build fix. | chriseth | 2017-01-13 | 1 | -0/+2 |
| | |||||
* | Fix match groups. | chriseth | 2017-01-13 | 1 | -0/+1 |
| | |||||
* | Fix debug output. | chriseth | 2017-01-13 | 1 | -2/+8 |
| | |||||
* | Optimize constant optimization. | chriseth | 2017-01-13 | 2 | -37/+58 |
| | |||||
* | Optimise simplification rules (sort into bins). | chriseth | 2017-01-13 | 4 | -394/+514 |
| | |||||
* | Optimize pattern matcher. | chriseth | 2017-01-13 | 2 | -16/+22 |
| | |||||
* | Optimise AssemblyItem::m_data. | chriseth | 2017-01-13 | 4 | -21/+58 |
| | |||||
* | Rename programSize to bytecodeSize. | chriseth | 2017-01-03 | 1 | -1/+1 |
| | |||||
* | Assembly output for Assembly object. | chriseth | 2017-01-03 | 3 | -51/+105 |
| | |||||
* | libevmasm: OpPop() optimization keeps the source location | Yoichi Hirai | 2016-12-30 | 1 | -1/+1 |
| | | | | fixes #1521 | ||||
* | Fix tests. | chriseth | 2016-12-01 | 1 | -2/+3 |
| | |||||
* | Add swarm hash to the end of the bytecode. | chriseth | 2016-12-01 | 2 | -4/+13 |
| | |||||
* | libevmasm: remove an unused variable `total` | Yoichi Hirai | 2016-12-01 | 1 | -3/+2 |
| | |||||
* | Add more optimization rules | Yoichi Hirai | 2016-11-30 | 1 | -0/+6 |
| | |||||
* | Replace XOR with self with 0 | Alex Beregszaszi | 2016-11-30 | 1 | -0/+1 |
| | |||||
* | Replace XOR/ISZERO with EQ | Alex Beregszaszi | 2016-11-30 | 1 | -0/+4 |
| | |||||
* | Add optimiser rule for SUB with 0 | Alex Beregszaszi | 2016-11-30 | 1 | -1/+2 |
| | |||||
* | Integrate AddPop. | chriseth | 2016-11-25 | 2 | -16/+13 |
| | |||||
* | Templatize. | chriseth | 2016-11-25 | 1 | -37/+75 |
| | |||||
* | Peephole optimizer for unreacheable code. | chriseth | 2016-11-25 | 1 | -37/+73 |
| | |||||
* | libevmasm: generalize ADDPOP optimization into ADDMODPOP etc | Yoichi Hirai | 2016-11-25 | 1 | -5/+6 |
| | |||||
* | libevmasm: Add another peephole optimization | Yoichi Hirai | 2016-11-25 | 2 | -3/+28 |
| | |||||
* | Fix licensing headers | VoR0220 | 2016-11-23 | 31 | -124/+124 |
| | | | | Signed-off-by: VoR0220 <rj@erisindustries.com> | ||||
* | Optimizer: Clear state for JUMPDESTs. | chriseth | 2016-11-22 | 1 | -36/+25 |
| | |||||
* | Some more assertions and style changes. | chriseth | 2016-11-16 | 1 | -1/+1 |
| | |||||
* | Change encoding to address-funid and add "function" as ABI type. | chriseth | 2016-11-16 | 1 | -0/+1 |
| | |||||
* | Fix setting the tag. | chriseth | 2016-11-16 | 1 | -1/+1 |
| | |||||
* | fixup! Simple peephole optimizer that is activated even if not requested. | chriseth | 2016-11-16 | 1 | -0/+2 |
| | |||||
* | Simple peephole optimizer that is activated even if not requested. | chriseth | 2016-11-16 | 4 | -12/+223 |
| | |||||
* | Converted sub assembly to smart pointer. | chriseth | 2016-11-16 | 3 | -37/+62 |
| | |||||
* | Stored combined creation and runtime tags. | chriseth | 2016-11-16 | 7 | -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. | chriseth | 2016-11-16 | 1 | -0/+1 |
| | |||||
* | Keep old code. | chriseth | 2016-11-15 | 2 | -21/+30 |
| | |||||
* | Report infinite gas for calls. | chriseth | 2016-11-14 | 1 | -15/+19 |
| | |||||
* | Merge pull request #1333 from ethereum/compare_location_files | chriseth | 2016-11-09 | 1 | -5/+10 |
|\ | | | | | Compare source files in source locations | ||||
| * | libevmasm: fix comparison of SourceLocations | Yoichi Hirai | 2016-11-08 | 1 | -5/+10 |
| | | |||||
* | | Merge pull request #1252 from ethereum/jsoncpp-from-source | chriseth | 2016-11-08 | 1 | -1/+2 |
|\ \ | |/ |/| | Build jsoncpp from source using jsoncpp.cmake script | ||||
| * | Build jsoncpp from source using jsoncpp.cmake script | Paweł Bylica | 2016-10-21 | 1 | -1/+2 |
| | | |||||
* | | Merge pull request #1270 from ethereum/optimise-eq0 | chriseth | 2016-10-24 | 1 | -0/+1 |
|\ \ | | | | | | | Optimise the PUSH 0, EQ case as ISZERO | ||||
| * | | Optimiser the PUSH 0, EQ case as ISZERO | Alex Beregszaszi | 2016-10-23 | 1 | -0/+1 |
| |/ | |||||
* / | Optimizer: generate code starting with empty state | chriseth | 2016-10-22 | 1 | -2/+4 |
|/ | |||||
* | Rename dev::sha3 to dev::keccak256 | Alex Beregszaszi | 2016-10-06 | 3 | -4/+4 |
| | |||||
* | Explicitly specify length of push data for assembly output. | chriseth | 2016-08-18 | 1 | -1/+1 |
| | |||||
* | Rename libevmasm. | chriseth | 2016-08-10 | 1 | -1/+1 |
| | |||||
* | Merge pull request #834 from chriseth/devcorecleanup | chriseth | 2016-08-08 | 2 | -5/+1 |
|\ | | | | | Some cleanup regarding libdevcore. Also rename to avoid conflicts. | ||||
| * | Correct library usage. | chriseth | 2016-08-08 | 1 | -1/+1 |
| | | |||||
| * | Some cleanup regarding libdevcore. Also rename to avoid conflicts. | chriseth | 2016-08-06 | 2 | -5/+1 |
| | | |||||
* | | Do not install headers. | chriseth | 2016-08-05 | 1 | -2/+0 |
|/ | |||||
* | Further fixes to the optimizer. | chriseth | 2016-08-02 | 2 | -4/+5 |
| | |||||
* | Reset knowledge in optimizer for path joins. | chriseth | 2016-08-01 | 3 | -3/+12 |
| | |||||
* | Make the Solidity repository standalone. | Bob Summerwill | 2016-08-01 | 1 | -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 Summerwill | 2016-06-08 | 1 | -1/+1 |
| | |||||
* | Correctly use not/bnot/iszero. | chriseth | 2016-05-09 | 1 | -2/+2 |
| | | | | | A long time ago, some opcodes were renamed. Now we should only have not (bitwise negation) and iszero (logical negation). | ||||
* | Windows fix. | chriseth | 2016-04-21 | 1 | -2/+13 |
| | |||||
* | Source location for inline assembly. | chriseth | 2016-04-20 | 1 | -18/+5 |
| | |||||
* | Merge pull request #496 from chriseth/removelog | Bob Summerwill | 2016-04-12 | 2 | -10/+0 |
|\ | | | | | Remove log.h from solidity. | ||||
| * | Remove log.h from solidity. | chriseth | 2016-04-12 | 2 | -10/+0 |
| | | |||||
* | | Make solidity independent from ethcore. | chriseth | 2016-04-07 | 7 | -121/+83 |
|/ | |||||
* | reduce unnecessary solidity:: namespace | Dimitry | 2016-04-04 | 4 | -8/+8 |
| | |||||
* | return instructionInfo style | Dimitry | 2016-04-04 | 9 | -14/+14 |
| | |||||
* | enable solidity test | Dimitry | 2016-04-04 | 2 | -6/+6 |
| | |||||
* | rename namespace for instruction.h/cpp in libevmasm | Dimitry | 2016-04-02 | 13 | -32/+33 |
| | |||||
* | move libevmcore to solidity | Dimitry | 2016-04-02 | 6 | -4/+626 |
| | |||||
* | includes | Dimitry | 2016-03-22 | 3 | -4/+5 |
| | |||||
* | add liblll lllc libevmasm | Dimitry | 2016-03-22 | 2 | -4/+4 |
| | |||||
* | move libevmasm | Dimitry | 2016-03-21 | 29 | -0/+5102 |