Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | Split block code generation into main and finalize. | chriseth | 2017-06-16 | 1 | -1/+1 |
| | |||||
* | Helper to count the number of variables in a scope. | chriseth | 2017-06-16 | 3 | -3/+12 |
| | |||||
* | Add include file to forward-declare inline assembly structs. | chriseth | 2017-06-16 | 6 | -77/+64 |
| | |||||
* | For loops analysis. | chriseth | 2017-06-16 | 2 | -4/+41 |
| | |||||
* | Parse for statement in assembly parser / printer | Alex Beregszaszi | 2017-06-16 | 10 | -3/+52 |
| | |||||
* | Merge pull request #2192 from winsvega/develop | Alex Beregszaszi | 2017-06-15 | 1 | -17/+11 |
|\ | | | | | add STATICCALL instruction | ||||
| * | add new opcode instructions to the parser | Dimitry | 2017-06-15 | 1 | -17/+11 |
| | | | | | | | | STATICCALL 0xfa 6 inputs (gas address mem1 mem2 mem3 mem4) | ||||
* | | Merge pull request #2384 from ethereum/parseFunctionalInstructions | chriseth | 2017-06-15 | 1 | -0/+13 |
|\ \ | |/ |/| | Enforce function arguments when parsing functional instructions. | ||||
| * | Enforce function arguments when parsing functional instructions. | chriseth | 2017-06-14 | 1 | -0/+13 |
| | | |||||
* | | Display user friendly instruction name | Alex Beregszaszi | 2017-06-14 | 1 | -5/+12 |
| | | |||||
* | | Issue warning for using CREATE2 in inline assembly | Alex Beregszaszi | 2017-06-14 | 1 | -2/+3 |
|/ | |||||
* | Merge pull request #2389 from ethereum/moveLabelIDs | chriseth | 2017-06-14 | 4 | -25/+12 |
|\ | | | | | Move LabelIDs to generation phase. | ||||
| * | Move "active variable" to analysis phase. | chriseth | 2017-06-14 | 3 | -16/+10 |
| | | |||||
| * | Remove struct constructor. | chriseth | 2017-06-14 | 2 | -2/+1 |
| | | |||||
| * | Move stack height to generation phase. | chriseth | 2017-06-14 | 1 | -2/+0 |
| | | |||||
| * | Move LabelIDs to generation phase. | chriseth | 2017-06-14 | 1 | -5/+1 |
| | | |||||
* | | Warn if returndatasize/returndatacopy is used | Alex Beregszaszi | 2017-06-13 | 2 | -1/+20 |
|/ | |||||
* | Merge pull request #2362 from ethereum/lowercase_instructions | Alex Beregszaszi | 2017-06-09 | 2 | -11/+30 |
|\ | | | | | Use lowercase when reporting instruction error. | ||||
| * | Use lowercase when reporting instruction error. | chriseth | 2017-06-09 | 2 | -11/+30 |
| | | |||||
* | | Simplify CodeGenerator by remove seldom used case | Alex Beregszaszi | 2017-06-09 | 2 | -17/+0 |
| | | |||||
* | | Remove obsolete AsmStack | Alex Beregszaszi | 2017-06-09 | 2 | -175/+0 |
|/ | |||||
* | Comments and consistent variable names. | chriseth | 2017-06-09 | 1 | -4/+4 |
| | |||||
* | Fix: Copy resolver. | chriseth | 2017-06-08 | 1 | -1/+1 |
| | |||||
* | Visitor bugfix. | chriseth | 2017-06-08 | 2 | -6/+18 |
| | |||||
* | Remove error reporter from code generation phase. | chriseth | 2017-06-08 | 3 | -13/+7 |
| | |||||
* | Some more comments. | chriseth | 2017-06-08 | 1 | -2/+0 |
| | |||||
* | Correct stack height adjustment after returnsub. | chriseth | 2017-06-08 | 1 | -1/+1 |
| | |||||
* | Introduce machine-dependent stack adjustment. | chriseth | 2017-06-08 | 1 | -4/+2 |
| | |||||
* | Initial EVM1.5 assembly implementation. | chriseth | 2017-06-08 | 5 | -11/+69 |
| | |||||
* | Add comma. | chriseth | 2017-06-01 | 1 | -1/+1 |
| | |||||
* | Improved error message. | chriseth | 2017-06-01 | 1 | -1/+1 |
| | |||||
* | Refactor to use expectExpression in analyzer. | chriseth | 2017-06-01 | 2 | -38/+29 |
| | |||||
* | Merge pull request #2317 from ethereum/keccak256 | chriseth | 2017-05-31 | 1 | -0/+2 |
|\ | | | | | Use keccak256 in tests and replace the SHA3 instruction in assembly | ||||
| * | Alias sha3 to keccak256 in inline assembly | Alex Beregszaszi | 2017-05-30 | 1 | -0/+2 |
| | | |||||
* | | Refactor error reporting | Rhett Aultman | 2017-05-30 | 10 | -144/+108 |
|/ | | | | | | | | | This commit introduces ErrorReporter, a utility class which consolidates all of the error logging functionality into a common set of functions. It also replaces all direct interactions with an ErrorList with calls to an ErrorReporter. This commit resolves issue #2209 | ||||
* | Merge pull request #2319 from ethereum/virtualBlocks | chriseth | 2017-05-29 | 5 | -21/+28 |
|\ | | | | | Introduce virtual blocks for function arguments. | ||||
| * | Introduce virtual blocks for function arguments. | chriseth | 2017-05-29 | 5 | -21/+28 |
| | | |||||
* | | Introduce LabelID typedef. | chriseth | 2017-05-29 | 2 | -3/+4 |
|/ | |||||
* | Merge pull request #2311 from ethereum/julia-types | chriseth | 2017-05-29 | 3 | -12/+35 |
|\ | | | | | Validate types for Julia (part 1) | ||||
| * | Move builtin type list to the top | Alex Beregszaszi | 2017-05-27 | 1 | -1/+7 |
| | | |||||
| * | Change error message for invalid type | Alex Beregszaszi | 2017-05-27 | 1 | -1/+1 |
| | | |||||
| * | Introduce Julia mode in AsmAnalyzer | Alex Beregszaszi | 2017-05-27 | 3 | -6/+11 |
| | | |||||
| * | Validate that only basic types are used in Julia | Alex Beregszaszi | 2017-05-27 | 2 | -0/+21 |
| | | |||||
| * | Move constructor to AsmAnalyzer header | Alex Beregszaszi | 2017-05-27 | 2 | -11/+2 |
| | | |||||
* | | Use the new ParserBase API in AsmParser | Alex Beregszaszi | 2017-05-27 | 1 | -33/+33 |
|/ | |||||
* | Adapt EVM codegen to new namespace. | chriseth | 2017-05-26 | 6 | -45/+18 |
| | |||||
* | Move EVM codegen to libjulia. | chriseth | 2017-05-26 | 1 | -238/+0 |
| | |||||
* | Merge pull request #2316 from ethereum/inlineasm-cleanup | chriseth | 2017-05-26 | 1 | -5/+2 |
|\ | | | | | Better error message for elementary operations | ||||
| * | Better error message for elementary operations | Alex Beregszaszi | 2017-05-26 | 1 | -5/+2 |
| | | |||||
* | | Better error messages for invalid switch cases | Alex Beregszaszi | 2017-05-26 | 1 | -0/+4 |
| | | |||||
* | | Disallow instructions as a switch expression | Alex Beregszaszi | 2017-05-26 | 1 | -0/+2 |
| | | |||||
* | | Visit case bodies in scope filler | Alex Beregszaszi | 2017-05-26 | 2 | -1/+10 |
| | | |||||
* | | Do not stop on first switch error | Alex Beregszaszi | 2017-05-26 | 1 | -5/+7 |
| | | |||||
* | | Check token within parseCase | Alex Beregszaszi | 2017-05-26 | 2 | -7/+9 |
| | | |||||
* | | Switch cases are not followed by colon | Alex Beregszaszi | 2017-05-26 | 2 | -3/+2 |
| | | |||||
* | | Change switch case string to Literal | Alex Beregszaszi | 2017-05-26 | 4 | -15/+26 |
| | | |||||
* | | Implement switch statement in the assembly parser/printer | Alex Beregszaszi | 2017-05-26 | 10 | -2/+95 |
|/ | |||||
* | Uniform error messages | Alex Beregszaszi | 2017-05-24 | 1 | -3/+4 |
| | |||||
* | Better error messages during parsing functional instructions | Alex Beregszaszi | 2017-05-24 | 1 | -0/+9 |
| | |||||
* | Fix scope assert in AsmAnalyzer | Alex Beregszaszi | 2017-05-24 | 1 | -0/+1 |
| | |||||
* | Rename parseFunctionalInstruction to parseCall | Alex Beregszaszi | 2017-05-24 | 2 | -4/+4 |
| | |||||
* | Reorder AsmData for readability | Alex Beregszaszi | 2017-05-24 | 1 | -7/+14 |
| | |||||
* | Rename FunctionalAssignment to Assignment | Alex Beregszaszi | 2017-05-24 | 9 | -22/+21 |
| | |||||
* | Rename Assignment to StackAssignment | Alex Beregszaszi | 2017-05-24 | 9 | -15/+15 |
| | |||||
* | Display actual error message and not assertion in analysis | Alex Beregszaszi | 2017-05-23 | 1 | -1/+9 |
| | |||||
* | Enable a single right hand item on let | Alex Beregszaszi | 2017-05-23 | 5 | -37/+7 |
| | |||||
* | Support multiple variables in a variable declaration in inline assembly | Alex Beregszaszi | 2017-05-23 | 6 | -15/+71 |
| | |||||
* | Add const | chriseth | 2017-05-20 | 1 | -1/+1 |
| | |||||
* | Review changes. | chriseth | 2017-05-20 | 1 | -6/+6 |
| | |||||
* | Refactor to abstract assembly to JULIA. | chriseth | 2017-05-20 | 3 | -52/+99 |
| | |||||
* | Accept bool as a type in Julia mode | Alex Beregszaszi | 2017-05-19 | 1 | -1/+9 |
| | |||||
* | Support true/false literals in inline assembly | Alex Beregszaszi | 2017-05-19 | 5 | -5/+42 |
| | |||||
* | Use boost range adaptors in AsmPrinter | Alex Beregszaszi | 2017-05-06 | 1 | -4/+12 |
| | |||||
* | Parse types in Julia mode | Alex Beregszaszi | 2017-05-06 | 11 | -36/+98 |
| | |||||
* | Assert that invalid AST elements are not printed in Julia mode | Alex Beregszaszi | 2017-05-05 | 1 | -1/+5 |
| | |||||
* | Add flag for JULIA printing | Alex Beregszaszi | 2017-05-05 | 1 | -0/+5 |
| | |||||
* | Show better error message for Julia mode | Alex Beregszaszi | 2017-05-05 | 1 | -3/+11 |
| | |||||
* | Do not allow literal pushes in Julia | Alex Beregszaszi | 2017-05-05 | 1 | -0/+2 |
| | |||||
* | Disable labels in Julia | Alex Beregszaszi | 2017-05-05 | 1 | -0/+3 |
| | |||||
* | Remove error label / invalid jump label. | chriseth | 2017-04-28 | 3 | -7/+0 |
| | |||||
* | Merge pull request #2193 from ethereum/julia-assign-stack | chriseth | 2017-04-28 | 1 | -0/+2 |
|\ | | | | | Disallow assign from stack in Julia (=: var) | ||||
| * | Disallow assign from stack in Julia (=: var) | Alex Beregszaszi | 2017-04-28 | 1 | -1/+3 |
| | | |||||
| * | Do not validate identifiers against EVM instructions in JULIA | Alex Beregszaszi | 2017-04-28 | 1 | -4/+6 |
| | | |||||
| * | Add flag for JULIA parsing | Alex Beregszaszi | 2017-04-28 | 1 | -1/+4 |
| | | |||||
* | | Do not validate identifiers against EVM instructions in JULIA | Alex Beregszaszi | 2017-04-27 | 1 | -4/+6 |
| | | |||||
* | | Add flag for JULIA parsing | Alex Beregszaszi | 2017-04-27 | 1 | -1/+4 |
|/ | |||||
* | Remove parentheses from around function return parameters | Alex Beregszaszi | 2017-04-27 | 2 | -4/+2 |
| | |||||
* | Check stack height during code generation. | chriseth | 2017-04-26 | 1 | -6/+34 |
| | |||||
* | Refactor to combined scope and stack height info. | chriseth | 2017-04-26 | 7 | -52/+130 |
| | |||||
* | Store stack height in analysis phase. | chriseth | 2017-04-26 | 2 | -5/+35 |
| | |||||
* | Fix storage access tests. | chriseth | 2017-04-25 | 1 | -10/+16 |
| | |||||
* | Pass internal resolver to assembly analyzer. | chriseth | 2017-04-25 | 1 | -1/+2 |
| | |||||
* | Fix refactoring error. | chriseth | 2017-04-25 | 1 | -2/+2 |
| | |||||
* | Another stack check. | chriseth | 2017-04-25 | 1 | -0/+2 |
| | |||||
* | Move analysis out of code generator. | chriseth | 2017-04-25 | 4 | -23/+46 |
| | |||||
* | Only allow access to local variables and only if they have a stack size of one. | chriseth | 2017-04-25 | 1 | -1/+1 |
| | |||||
* | Check again that instruction argument count is correct. | chriseth | 2017-04-25 | 1 | -0/+1 |
| | |||||
* | Only run stack filler on AST elements that are or contain declarations. | chriseth | 2017-04-25 | 2 | -32/+4 |
| | |||||
* | Review comments and cleanup. | chriseth | 2017-04-25 | 2 | -6/+6 |
| | |||||
* | Remove some errors checks from code generation (was moved to analysis already). | chriseth | 2017-04-25 | 1 | -50/+10 |
| | |||||
* | Perform stack height checks in assembly analysis phase. | chriseth | 2017-04-25 | 3 | -37/+148 |
| | |||||
* | Add some missing error locations. | chriseth | 2017-04-25 | 1 | -2/+3 |
| | |||||
* | Use actual type checking phase of assembler. | chriseth | 2017-04-25 | 6 | -30/+38 |
| | |||||
* | Split external identifier access into resolving and code generation. | chriseth | 2017-04-25 | 4 | -29/+55 |
| | |||||
* | Refactor assembly analysis into scope filling and checking. | chriseth | 2017-04-25 | 8 | -236/+615 |
| | |||||
* | Register functions. | chriseth | 2017-04-25 | 3 | -33/+90 |
| | |||||
* | Implement missing assembly output functions and do not use PushString for ↵ | chriseth | 2017-04-12 | 1 | -1/+1 |
| | | | | assembly. | ||||
* | Fix error message. | chriseth | 2017-03-03 | 1 | -1/+1 |
| | |||||
* | Remove stack annotations again. | chriseth | 2017-03-03 | 6 | -95/+4 |
| | |||||
* | First reset stack height, then register variables. | chriseth | 2017-03-03 | 1 | -9/+10 |
| | |||||
* | Slightly cleaner label ids. | chriseth | 2017-03-03 | 3 | -17/+20 |
| | |||||
* | Partially add functions. | chriseth | 2017-03-03 | 3 | -10/+69 |
| | |||||
* | Generic visitor. | chriseth | 2017-03-03 | 1 | -37/+28 |
| | |||||
* | Refactor variable access. | chriseth | 2017-03-03 | 1 | -40/+30 |
| | |||||
* | Refactor CodeGen to recurse on blocks. | chriseth | 2017-03-03 | 3 | -72/+93 |
| | |||||
* | Analysis refactoring. | chriseth | 2017-03-03 | 5 | -115/+456 |
| | |||||
* | Parsing of labels with stack info. | chriseth | 2017-03-03 | 4 | -3/+40 |
| | |||||
* | Assembly printer for functions. | chriseth | 2017-02-16 | 2 | -0/+20 |
| | |||||
* | Parsing function calls. | chriseth | 2017-02-16 | 4 | -37/+64 |
| | |||||
* | Parsing function definitions. | chriseth | 2017-02-16 | 4 | -6/+55 |
| | |||||
* | Assembly printing fixes. | chriseth | 2017-02-14 | 1 | -5/+5 |
| | |||||
* | Review changes. | chriseth | 2017-02-14 | 3 | -4/+4 |
| | |||||
* | Assembly printer. | chriseth | 2017-02-14 | 4 | -4/+204 |
| | |||||
* | Rename SUICIDE opcode to SELFDESTRUCT in libevmasm | Alex Beregszaszi | 2017-02-07 | 1 | -2/+2 |
| | |||||
* | Update error message. | chriseth | 2017-01-26 | 1 | -1/+1 |
| | |||||
* | Disallow assignment to non-identifiers. | chriseth | 2017-01-26 | 1 | -0/+2 |
| | |||||
* | Disallow instructions in assignment. | chriseth | 2017-01-26 | 1 | -6/+5 |
| | |||||
* | Renamed function. | chriseth | 2017-01-26 | 2 | -5/+5 |
| | |||||
* | Moved test. | chriseth | 2017-01-26 | 1 | -1/+1 |
| | |||||
* | Do not allow shadowing inline assembly instructions with variables | Alex Beregszaszi | 2017-01-25 | 2 | -1/+11 |
| | |||||
* | Fix licensing headers | VoR0220 | 2016-11-23 | 7 | -28/+28 |
| | | | | Signed-off-by: VoR0220 <rj@erisindustries.com> | ||||
* | Rename ErrorTag to invalidJumpLabel in inline assembly | Alex Beregszaszi | 2016-11-15 | 1 | -1/+1 |
| | |||||
* | Support ErrorTag as a jump label in inline assembly | Alex Beregszaszi | 2016-11-15 | 1 | -1/+5 |
| | |||||
* | Fix inline assembly stack warnings when using variables | Alex Beregszaszi | 2016-11-15 | 1 | -7/+9 |
| | |||||
* | Issue warnings if stack is not balanced after inline assembly block | Alex Beregszaszi | 2016-10-20 | 1 | -2/+24 |
| | |||||
* | Fix assignment after tags in inline assembly | Alex Beregszaszi | 2016-10-11 | 1 | -1/+3 |
| | |||||
* | Support address in inline assembly | Alex Beregszaszi | 2016-10-07 | 1 | -0/+3 |
| | |||||
* | Support both suicide/selfdestruct in inline assembly | Alex Beregszaszi | 2016-10-06 | 1 | -2/+5 |
| | |||||
* | Provide inline assembly to the code generator. (#840) | chriseth | 2016-08-16 | 2 | -1/+29 |
| | | | | | | * Directly usable inline assembly. * Add missing header. | ||||
* | Allow access to functions in inline assembly. | chriseth | 2016-05-12 | 2 | -5/+17 |
| | |||||
* | Windows fix. | chriseth | 2016-04-21 | 1 | -1/+1 |
| | |||||
* | Source location for inline assembly. | chriseth | 2016-04-20 | 7 | -69/+149 |
| | |||||
* | Merge pull request #475 from chriseth/byteasm | chriseth | 2016-04-06 | 1 | -0/+4 |
|\ | | | | | Allow "byte" in inline assembly. | ||||
| * | Allow "byte" in inline assembly. | chriseth | 2016-04-06 | 1 | -0/+4 |
| | | |||||
* | | return instructionInfo style | Dimitry | 2016-04-04 | 1 | -2/+2 |
| | | |||||
* | | rename namespace for instruction.h/cpp in libevmasm | Dimitry | 2016-04-02 | 3 | -18/+18 |
| | | |||||
* | | move libevmcore to solidity | Dimitry | 2016-04-02 | 2 | -2/+2 |
|/ | |||||
* | Code generation (missing external access and source locations). | chriseth | 2016-03-30 | 7 | -71/+512 |
| | |||||
* | Parsing for inline assembly. | chriseth | 2016-03-30 | 3 | -0/+337 |