Commit Graph

8161 Commits

Author SHA1 Message Date
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
chriseth
29e7ad3d7b Silence compiler warning. 2017-06-14 17:39:36 +02:00
chriseth
bab470086c Merge pull request #2364 from VoR0220/abiSpec
Bring ABI Spec Into Solidity Documentation
2017-06-14 17:25:31 +02:00
Alex Beregszaszi
5609d2b4a8 Merge pull request #2395 from ethereum/json-license
Include license text in emscripten output
2017-06-14 15:57:18 +01:00
chriseth
2b3b00776e Additional test. 2017-06-14 16:06:48 +02:00
Alex Beregszaszi
a921bd0ae4 Display user friendly instruction name 2017-06-14 16:00:39 +02:00
Alex Beregszaszi
494b9dbfaa Issue warning for using CREATE2 in inline assembly 2017-06-14 16:00:39 +02:00
Alex Beregszaszi
bec30051c5 Introduce CREATE2 in the assembler 2017-06-14 16:00:39 +02:00
chriseth
98139ead42 Clarify functional style. 2017-06-14 15:46:16 +02:00
chriseth
1ae0e082b3 Merge pull request #2392 from federicobond/disallow-trailing-commas
Forbid trailing commas in named arguments
2017-06-14 15:31:40 +02:00
Alex Beregszaszi
e6a36e0121 Include trailing zero in license 2017-06-14 14:14:52 +01:00
Alex Beregszaszi
412802a6c1 Include license text in emscripten output 2017-06-14 14:14:01 +01:00
Alex Beregszaszi
600e3ad240 Support shl/shr in LLL 2017-06-14 14:08:28 +01:00
RJ Catalano
1d644bed31
try to get rid of warning
Signed-off-by: RJ Catalano <rj@monax.io>
2017-06-14 08:06:03 -05:00
chriseth
1b1f35762e Enforce function arguments when parsing functional instructions. 2017-06-14 14:51:47 +02:00
chriseth
0b99c81f85 Merge pull request #2393 from ethereum/license_char_array
Convert license to character array.
2017-06-14 14:47:09 +02:00
chriseth
21aafaa704 Merge pull request #2331 from ethereum/ASTDocumentationEntry
documentation field added to ContractDefinition-Node
2017-06-14 14:32:27 +02:00
chriseth
e232a105f0 Merge pull request #2327 from ethereum/assembler-object
Return assembler object in AssemblyStack
2017-06-14 14:28:06 +02:00
chriseth
07cc84fade Fix a crash about a non-callable expression. 2017-06-14 14:26:20 +02:00
chriseth
6441baae6b Merge pull request #2390 from travs/patch-1
Add linter-solium
2017-06-14 14:19:49 +02:00
chriseth
1ce949519d Move 0x to cmake file. 2017-06-14 14:17:53 +02:00
chriseth
43cfab70d0 Merge pull request #2389 from ethereum/moveLabelIDs
Move LabelIDs to generation phase.
2017-06-14 14:12:33 +02:00
chriseth
1d79059897 Convert license to character array. 2017-06-14 12:42:48 +02:00
Federico Bond
fd8365df08 Forbid trailing commas in named arguments 2017-06-14 00:15:27 -03:00
Travis Jacobs
9191f8af5f Add linter-solium 2017-06-13 21:03:58 -02:30
Alex Beregszaszi
c99c1c76f7 Merge pull request #2354 from benjaminion/patch-2
LLL: fix handling of "sha3" expression
2017-06-13 23:23:02 +01:00
chriseth
154002cda0 Move "active variable" to analysis phase. 2017-06-14 00:10:33 +02:00
chriseth
1bf717fd65 Remove struct constructor. 2017-06-14 00:03:08 +02:00
chriseth
c554145f4d Move stack height to generation phase. 2017-06-14 00:01:06 +02:00
benjaminion
3299c479b6 LLL: fix handling of "sha3" expression
When PR #2317 changed the EVM opcode from SHA3 to KECCAK256 it broke the `(sha3 loc len)` expression in LLL. This PR fixes things while allowing existing code using the sha3 expression (such as the ENS registrar) to continue to compile.  I.e. both `(keccak256 loc len)` and `(sha3 loc len)` may be used, and the existing related sha3 macros continue to work.

Three end-to-end test cases have been added for kekkac256 and sha3.
2017-06-13 22:20:14 +01:00
chriseth
45d96959f8 Move LabelIDs to generation phase. 2017-06-13 22:01:15 +02:00
Yoichi Hirai
d3f4c97c53 Merge pull request #2350 from benjaminion/patch-1
Change LLL opcode generated by "panic" to INVALID
2017-06-13 19:37:48 +02:00