Commit Graph

7734 Commits

Author SHA1 Message Date
chriseth
0c75afb2c1 Merge pull request #2225 from ethereum/julia-for
Implement for statement in assembly parser / printer / code generator
2017-06-19 11:53:22 +02:00
chriseth
e0b9589e5a Merge pull request #2373 from jamesray1/patch-14
Changed to "is compiled" rather than "maps" to the DVM op code to avoid ambiguity
2017-06-16 16:52:46 +02:00
chriseth
3abadc7122 Merge pull request #2386 from ethereum/utf8-fix
Fix UTF-8 validation for high codepoints (>10000)
2017-06-16 16:41:59 +02:00
chriseth
c1f5016e16 Changelog entry. 2017-06-16 16:41:41 +02:00
Alex Beregszaszi
d7e63f23de Fix UTF-8 validation for high codepoints (>10000) 2017-06-16 16:41:29 +02:00
chriseth
17de4a0756 Merge pull request #2411 from federicobond/recover-parser
Try to recover from parser errors where possible
2017-06-16 15:56:48 +02:00
Alex Beregszaszi
c5339037e9 Test for variable redeclaration in for loops 2017-06-16 11:30:03 +01:00
chriseth
0fd73e5832 Fix test. 2017-06-16 11:29:41 +01:00
chriseth
7a09860ec1 Mention functions in changelog. 2017-06-16 11:29:41 +01:00
chriseth
667a9d32aa Set source location for for start label. 2017-06-16 11:29:41 +01:00
chriseth
ce5ef08e05 Helper for visiting statements. 2017-06-16 11:29:40 +01:00
chriseth
ea0a86a995 Some more parsing tests. 2017-06-16 11:29:35 +01:00
chriseth
2f0826ffd7 Functionality tests for for. 2017-06-16 10:56:21 +01:00
chriseth
71d39755fe Changelog and documentation. 2017-06-16 10:56:21 +01:00
chriseth
0745628a73 Code generation for for-loops. 2017-06-16 10:56:21 +01:00
chriseth
868b5ad3aa Split block code generation into main and finalize. 2017-06-16 10:56:21 +01:00
chriseth
1b3ba7bc57 Some more tests. 2017-06-16 10:56:21 +01:00
chriseth
78b49db779 Helper to count the number of variables in a scope. 2017-06-16 10:56:21 +01:00
chriseth
8e5c4bf21d Add include file to forward-declare inline assembly structs. 2017-06-16 10:56:21 +01:00
chriseth
49b1112117 For loops analysis. 2017-06-16 10:56:21 +01:00
Alex Beregszaszi
47925bc14e Parse for statement in assembly parser / printer 2017-06-16 10:56:21 +01:00
Federico Bond
0eaae03bbf Try to recover from parser errors where possible 2017-06-15 21:14:05 -03:00
James Ray
c1e0a6557d Create types.rst
"is compiled" avoids ambiguity compared with "maps", especially for those who may not understand what maps may mean and may confuse it with the "mapping" code keyword
2017-06-15 19:37:37 +10:00
Alex Beregszaszi
54e97d1c34 Merge pull request #2402 from ethereum/grammar-updates
Grammar updates (mostly assembly)
2017-06-15 10:19:04 +01:00
chriseth
fb5db94879 Merge pull request #2397 from ethereum/doublepush
Peephole optimizer for double push.
2017-06-15 10:50:07 +02:00
chriseth
1636602fc4 Merge pull request #2363 from ethereum/windows_bytecodedir
Change windows CI to use the same bytecode directory as linux.
2017-06-15 10:13:58 +02:00
chriseth
9084d48750 Merge pull request #2382 from ruchevits/combined-json-hashes
Allow including hashes of method signatures in --combined-json output
2017-06-15 10:10:18 +02:00
chriseth
7af9d10006 Fix lll test. 2017-06-15 10:07:17 +02:00
chriseth
3cb71ac516 Merge pull request #2398 from ethereum/assembly-cleanup
Remove obsolete features from libevmasm
2017-06-15 08:41:14 +02:00
chriseth
71fea1e370 Merge pull request #2396 from ethereum/asm-aux
Display auxiliary data in assembly
2017-06-15 08:39:11 +02:00
chriseth
66881bd675 Merge branch 'develop' into asm-aux 2017-06-15 08:39:02 +02:00
Alex Beregszaszi
eb73015fd2 Support dialect of assembly in grammar 2017-06-15 00:43:19 +01:00
Alex Beregszaszi
9e1d24a7eb Support interface contracts 2017-06-15 00:41:00 +01:00
Alex Beregszaszi
4970d89f3b Support AssemblyLabel in grammar 2017-06-15 00:40:01 +01:00
Alex Beregszaszi
1ceb735fe1 Fix AssemblyAssignment in grammar 2017-06-15 00:39:46 +01:00
Alex Beregszaszi
c08c4b8b6f Move subroutine helpers from CompilerContext to Assembly 2017-06-14 21:21:26 +01:00
Alex Beregszaszi
6a260a9ff1 Remove single use Assembly::popTo 2017-06-14 21:21:26 +01:00
Alex Beregszaszi
18fc667658 Remove obsolete Assembly::out 2017-06-14 21:21:26 +01:00
Alex Beregszaszi
398099f50e Remove obsolete errorTag() 2017-06-14 21:21:26 +01:00
Alex Beregszaszi
42b61171d9 Merge pull request #2192 from winsvega/develop
add STATICCALL instruction
2017-06-14 21:03:32 +01:00
Alex Beregszaszi
3c4671a2da Match substring in tests to avoid metadata issues 2017-06-14 20:31:20 +01:00
Alex Beregszaszi
585b3ea3e3 Print auxiliary data in the assembly 2017-06-14 20:14:15 +01:00
Alex Beregszaszi
3273e865ec Print assembly even if there's no data section 2017-06-14 19:51:02 +01:00
chriseth
e5b0ad562e Peephole optimizer for double push. 2017-06-14 20:02:45 +02:00
chriseth
a87b22c122 Change windows CI to use the same bytecode directory as linux. 2017-06-14 18:59:23 +02:00
chriseth
f008ddf836 Merge pull request #2381 from ethereum/fixcrash
Fix a crash about a non-callable expression.
2017-06-14 18:35:38 +02:00
chriseth
fd5bf16101 Merge pull request #2384 from ethereum/parseFunctionalInstructions
Enforce function arguments when parsing functional instructions.
2017-06-14 18:35:16 +02:00
Dimitry
c20cdd0a05 add new opcode instructions to the parser
STATICCALL        0xfa  6 inputs  (gas address mem1 mem2 mem3 mem4)
2017-06-14 18:18:12 +02:00
chriseth
d693822a6f Merge pull request #2394 from ethereum/lll-shifts
Support shl/shr in LLL
2017-06-14 18:04:40 +02:00
chriseth
2491721d42 Merge pull request #2149 from ethereum/eip-create
Introduce CREATE2 in the assembler
2017-06-14 17:40:39 +02:00