chriseth
|
dfb7d5ebd9
|
Move analysis out of code generator.
|
2017-04-25 16:49:04 +02:00 |
|
chriseth
|
dfaab73efe
|
Only allow access to local variables and only if they have a stack size of one.
|
2017-04-25 16:49:04 +02:00 |
|
chriseth
|
f19e6a09a7
|
Check again that instruction argument count is correct.
|
2017-04-25 16:49:03 +02:00 |
|
chriseth
|
b622c2e9d3
|
Only run stack filler on AST elements that are or contain declarations.
|
2017-04-25 16:49:03 +02:00 |
|
chriseth
|
83bf34c571
|
Review comments and cleanup.
|
2017-04-25 16:49:03 +02:00 |
|
chriseth
|
4755757c00
|
Remove some errors checks from code generation (was moved to analysis already).
|
2017-04-25 16:49:03 +02:00 |
|
chriseth
|
580921b329
|
Perform stack height checks in assembly analysis phase.
|
2017-04-25 16:49:03 +02:00 |
|
chriseth
|
c4a0826f40
|
Add some missing error locations.
|
2017-04-25 16:49:03 +02:00 |
|
chriseth
|
c6fa78c73e
|
Use actual type checking phase of assembler.
|
2017-04-25 16:49:03 +02:00 |
|
chriseth
|
e0849f2f3b
|
Split external identifier access into resolving and code generation.
|
2017-04-25 16:49:03 +02:00 |
|
chriseth
|
5d6747eb32
|
Refactor assembly analysis into scope filling and checking.
|
2017-04-25 16:49:03 +02:00 |
|
chriseth
|
72fdf755c9
|
Register functions.
|
2017-04-25 16:49:03 +02:00 |
|
chriseth
|
4d715e9055
|
Implement missing assembly output functions and do not use PushString for assembly.
|
2017-04-11 19:54:44 +02:00 |
|
chriseth
|
f8ce32f2a6
|
Fix error message.
|
2017-03-03 15:41:02 +01:00 |
|
chriseth
|
369005fc03
|
Remove stack annotations again.
|
2017-03-03 15:41:02 +01:00 |
|
chriseth
|
13fd569f76
|
First reset stack height, then register variables.
|
2017-03-03 15:41:02 +01:00 |
|
chriseth
|
41236cd08c
|
Slightly cleaner label ids.
|
2017-03-03 15:41:02 +01:00 |
|
chriseth
|
e963405a19
|
Partially add functions.
|
2017-03-03 15:41:02 +01:00 |
|
chriseth
|
647473cf01
|
Generic visitor.
|
2017-03-03 15:41:02 +01:00 |
|
chriseth
|
caa3761dc9
|
Refactor variable access.
|
2017-03-03 15:41:02 +01:00 |
|
chriseth
|
25dcfa3480
|
Refactor CodeGen to recurse on blocks.
|
2017-03-03 15:41:01 +01:00 |
|
chriseth
|
7f2def8971
|
Analysis refactoring.
|
2017-03-03 15:41:01 +01:00 |
|
chriseth
|
98e343b3fc
|
Parsing of labels with stack info.
|
2017-03-03 15:41:01 +01:00 |
|
chriseth
|
a5ce81100e
|
Assembly printer for functions.
|
2017-02-16 10:18:12 +01:00 |
|
chriseth
|
49a919b3e0
|
Parsing function calls.
|
2017-02-16 10:15:22 +01:00 |
|
chriseth
|
5d584aded8
|
Parsing function definitions.
|
2017-02-16 10:15:22 +01:00 |
|
chriseth
|
24197a2b3f
|
Assembly printing fixes.
|
2017-02-14 15:41:25 +01:00 |
|
chriseth
|
ca71b7624d
|
Review changes.
|
2017-02-14 15:41:25 +01:00 |
|
chriseth
|
80f7243786
|
Assembly printer.
|
2017-02-14 15:41:25 +01:00 |
|
Alex Beregszaszi
|
693226b1ab
|
Rename SUICIDE opcode to SELFDESTRUCT in libevmasm
|
2017-02-06 20:17:52 +00:00 |
|
chriseth
|
873f2dddd6
|
Update error message.
|
2017-01-26 13:52:02 +01:00 |
|
chriseth
|
525758a130
|
Disallow assignment to non-identifiers.
|
2017-01-26 13:40:40 +01:00 |
|
chriseth
|
f62e269115
|
Disallow instructions in assignment.
|
2017-01-25 17:29:06 +01:00 |
|
chriseth
|
a5696e1f0a
|
Renamed function.
|
2017-01-25 17:26:11 +01:00 |
|
chriseth
|
27ba665694
|
Moved test.
|
2017-01-25 17:24:43 +01:00 |
|
Alex Beregszaszi
|
900c56d996
|
Do not allow shadowing inline assembly instructions with variables
|
2017-01-25 11:28:09 +00:00 |
|
VoR0220
|
3f9f725737
|
Fix licensing headers
Signed-off-by: VoR0220 <rj@erisindustries.com>
|
2016-11-23 12:22:33 +01:00 |
|
Alex Beregszaszi
|
ae8403ed08
|
Rename ErrorTag to invalidJumpLabel in inline assembly
|
2016-11-15 10:30:33 +00:00 |
|
Alex Beregszaszi
|
91367234d9
|
Support ErrorTag as a jump label in inline assembly
|
2016-11-15 10:30:12 +00:00 |
|
Alex Beregszaszi
|
dad33f80dd
|
Fix inline assembly stack warnings when using variables
|
2016-11-15 02:53:19 +00:00 |
|
Alex Beregszaszi
|
c3330faf21
|
Issue warnings if stack is not balanced after inline assembly block
|
2016-10-20 13:25:28 +01:00 |
|
Alex Beregszaszi
|
d0791fb365
|
Fix assignment after tags in inline assembly
|
2016-10-11 12:28:49 +01:00 |
|
Alex Beregszaszi
|
ae0477744c
|
Support address in inline assembly
|
2016-10-06 22:05:01 +01:00 |
|
Alex Beregszaszi
|
6afdee5958
|
Support both suicide/selfdestruct in inline assembly
|
2016-10-06 12:44:33 +01:00 |
|
chriseth
|
77f4424589
|
Provide inline assembly to the code generator. (#840)
* Directly usable inline assembly.
* Add missing header.
|
2016-08-16 16:27:20 +02:00 |
|
chriseth
|
67ca3bb4b9
|
Allow access to functions in inline assembly.
|
2016-05-12 12:30:48 +02:00 |
|
chriseth
|
8704dd0f7f
|
Windows fix.
|
2016-04-21 16:13:39 +02:00 |
|
chriseth
|
ed9da5171b
|
Source location for inline assembly.
|
2016-04-19 18:35:21 +02:00 |
|
chriseth
|
193b1c940c
|
Merge pull request #475 from chriseth/byteasm
Allow "byte" in inline assembly.
|
2016-04-06 16:40:20 +02:00 |
|
chriseth
|
26a91109a7
|
Allow "byte" in inline assembly.
|
2016-04-06 12:31:31 +02:00 |
|
Dimitry
|
d43d4347bf
|
return instructionInfo style
|
2016-04-04 15:27:09 +04:00 |
|
Dimitry
|
858c41260d
|
rename namespace for instruction.h/cpp in libevmasm
|
2016-04-02 15:56:43 +03:00 |
|
Dimitry
|
ccbd3ff63f
|
move libevmcore to solidity
|
2016-04-01 23:11:01 +03:00 |
|
chriseth
|
f049430723
|
Code generation (missing external access and source locations).
|
2016-03-30 02:37:00 +02:00 |
|
chriseth
|
949b00ed59
|
Parsing for inline assembly.
|
2016-03-30 02:37:00 +02:00 |
|