chriseth
|
565d9837e4
|
Virtual function calls.
|
2019-04-11 15:45:43 +02:00 |
|
chriseth
|
18ab8aeb85
|
Overflow-checked addition.
|
2019-04-11 15:45:14 +02:00 |
|
mingchuan
|
f1374066af
|
Add shortcuts for formatting error information
|
2019-04-10 18:44:45 +08:00 |
|
Mathias Baumann
|
b4380a2137
|
Move convert functions to Yul module
|
2019-04-09 15:31:46 +02:00 |
|
chriseth
|
3df4936b6f
|
Merge pull request #6179 from ethereum/solidity-yul1
Solidity to Yul compiler
|
2019-04-04 16:33:39 +02:00 |
|
chriseth
|
420a7dc3d6
|
Initial IR generator.
|
2019-04-04 15:02:42 +02:00 |
|
Daniel Kirchner
|
91a2a9a9c3
|
Implement ABI encoding of calldata arrays and structs.
|
2019-04-04 13:05:32 +02:00 |
|
Daniel Kirchner
|
d82157d46a
|
Refactor abi encoding functions to prepare implementing calldata arrays and structs.
|
2019-04-04 11:18:03 +02:00 |
|
Daniel Kirchner
|
b0cb330397
|
Allow encoding calldata arrays for base types that do not require cleanup.
|
2019-04-04 11:18:03 +02:00 |
|
Alex Beregszaszi
|
43008dd08e
|
Validate value types in decoder of ABIEncoderV2.
|
2019-04-03 11:32:02 +02:00 |
|
Daniel Kirchner
|
ab8dfed144
|
Implement copying recursive structs from storage to memory.
|
2019-04-02 16:01:44 +02:00 |
|
chriseth
|
529aca5cbd
|
Merge pull request #6407 from ethereum/changeNamespace
Remove "using namespace" from header and move Instruction to dev::eth.
|
2019-03-28 14:32:07 +01:00 |
|
chriseth
|
2308904f68
|
Remove "using namespace" from header and move Instruction to dev::eth.
|
2019-03-28 13:48:11 +01:00 |
|
chriseth
|
a1fe2562c4
|
Move suffixedVariableNameList to utils.
|
2019-03-27 17:14:17 +01:00 |
|
chriseth
|
d079cdbfaa
|
Merge pull request #6362 from ethereum/fixABIEncoderV2StorageRead
Fix abi encoder v2 storage read
|
2019-03-26 10:23:08 +01:00 |
|
Alex Beregszaszi
|
d2185bf529
|
Remove obsolete identifer for the identity precompile
|
2019-03-25 20:57:59 +00:00 |
|
chriseth
|
6b69c31703
|
Fix ABIEncoderV2 array overwrite bug.
|
2019-03-25 18:28:43 +01:00 |
|
chriseth
|
68d4a85575
|
Properly read and clean value types read from storage.
|
2019-03-25 18:28:43 +01:00 |
|
Daniel Kirchner
|
66d6711364
|
ABIFunctions: Split out a function for generating a comma separated list of variable names.
|
2019-03-25 10:58:18 +01:00 |
|
chriseth
|
38cbf8d230
|
Pass "optimize stack allocation" flag down to the stack compressor.
|
2019-03-20 15:03:27 +01:00 |
|
chriseth
|
7c524f794f
|
Also output optimized yul code if requested.
|
2019-03-19 17:24:36 +01:00 |
|
chriseth
|
6d1ed93247
|
Use stack optimizations.
|
2019-03-14 15:34:23 +01:00 |
|
chriseth
|
2e7794d8a6
|
Defensively pad memory for `type(C).name ` to multiples of 32.
|
2019-03-13 18:51:32 +01:00 |
|
Daniel Kirchner
|
66fc7ffab2
|
Allow dynamically encoded calldata structs with ABIEncoderV2.
|
2019-03-11 16:40:13 +01:00 |
|
chriseth
|
4d8c57006b
|
Merge pull request #6195 from ethereum/extractYulUtils
[REF] Extract utility functions from ABI encoder.
|
2019-03-08 00:51:58 +01:00 |
|
Daniel Kirchner
|
f7c6eda2c3
|
Allow calldata arrays with dynamically encoded base type.
|
2019-03-06 18:04:12 +01:00 |
|
chriseth
|
d515d77bfe
|
Extract utility functions from ABI encoder.
|
2019-03-05 22:13:55 +01:00 |
|
chriseth
|
a27ef3489c
|
Allow encoding and decoding functions with empty type list.
|
2019-03-05 15:55:50 +01:00 |
|
Alex Beregszaszi
|
a96cc6e0e8
|
Add allocateMemory helper with value known at compile time
|
2019-03-04 17:46:42 +01:00 |
|
Alex Beregszaszi
|
bd51589f1a
|
Use "if" instead of "switch" in codegen for the deployment time address of a library
|
2019-03-04 15:16:58 +01:00 |
|
chriseth
|
2e0ea16a0f
|
Merge pull request #5959 from ethereum/optimiser2
Introduce global optimiser settings.
|
2019-03-04 12:54:59 +01:00 |
|
chriseth
|
6a32f6e1ac
|
Properly assign reference to context.
|
2019-03-04 12:00:47 +01:00 |
|
chriseth
|
851dd635eb
|
Remove defaults in constructor arguments.
|
2019-03-04 11:41:52 +01:00 |
|
chriseth
|
83d1382e78
|
Take yul optimizer setting into account.
|
2019-03-04 11:40:28 +01:00 |
|
chriseth
|
1ff562d28a
|
Provide full optimiser settings to ContractCompiler.
|
2019-03-04 11:40:28 +01:00 |
|
Alex Beregszaszi
|
cf5c13f9c7
|
Introduce global optimiser settings.
|
2019-03-04 11:40:28 +01:00 |
|
Mathias Baumann
|
e4a52aa2f6
|
Allow dynamic types in public mappings
|
2019-02-26 15:48:54 +01:00 |
|
Alex Beregszaszi
|
d2f493268b
|
Provide access to the name of contracts.
|
2019-02-26 14:07:03 +00:00 |
|
Alex Beregszaszi
|
358ccbe372
|
Properly issue unimplemented assertion on FixedPointType in type conversion
|
2019-02-25 21:21:33 +00:00 |
|
Leonardo Alt
|
2405b2151a
|
EVMVersion in langutil namespace instead of solidity
|
2019-02-25 15:29:57 +01:00 |
|
chriseth
|
7f5b335b47
|
Make EVM version part of EVM dialect.
|
2019-02-21 21:59:46 +01:00 |
|
Mathias Baumann
|
c65a96d189
|
Small documentation fixes in the code
|
2019-02-21 12:54:39 +01:00 |
|
chriseth
|
05541e5adb
|
Fixed internal error related to ecrecover and ABIEncoderV2.
|
2019-02-19 14:17:03 +01:00 |
|
chriseth
|
d5791fef41
|
Fix combination of delegatecall and ABIEncoderV2.
We can set the flag to false for bare delegatecall, because we always
send a memory string and never a storage reference.
|
2019-02-19 13:57:03 +01:00 |
|
chriseth
|
c690f679cb
|
Allow cleanup for mappings (do nothing).
|
2019-02-18 18:50:22 +01:00 |
|
Daniel Kirchner
|
0408130338
|
Merge pull request #6003 from ethereum/moreStyleChecks
Even more style checks.
|
2019-02-15 11:52:32 +01:00 |
|
Daniel Kirchner
|
809b9a95f9
|
Even more style checks.
|
2019-02-14 11:53:00 +01:00 |
|
Daniel Kirchner
|
8ca6715e18
|
More style checks.
|
2019-02-14 11:41:20 +01:00 |
|
Daniel Kirchner
|
32190dac48
|
Add stride helpers to ArrayType.
|
2019-02-14 10:51:39 +01:00 |
|
chriseth
|
1a823f0bf8
|
Fix tabs/spaces.
|
2019-02-13 17:05:48 +01:00 |
|
chriseth
|
17ea467e5b
|
Fix style of "const".
|
2019-02-13 16:34:53 +01:00 |
|
chriseth
|
02373c2225
|
Adjust uses of AsmCodeGen.
|
2019-02-13 11:35:49 +01:00 |
|
chriseth
|
1ff6f2c71c
|
Move AsmCodeGen.
|
2019-02-13 11:20:15 +01:00 |
|
Daniel Kirchner
|
0e4912a203
|
ABIEncoderV2: Implement calldata structs without dynamically encoded members.
|
2019-02-11 15:46:58 +01:00 |
|
chriseth
|
a8d0ef4bad
|
Allow indexed structs in events with encoder v2.
|
2019-02-11 11:37:47 +01:00 |
|
chriseth
|
a08f4f43fa
|
Add packed encoder V2.
|
2019-02-11 11:37:47 +01:00 |
|
chriseth
|
1b9d30f05f
|
Packed encoding.
|
2019-02-11 11:37:47 +01:00 |
|
chriseth
|
fc18258250
|
Remove type check that is covered by assertions.
|
2019-02-07 12:02:15 +01:00 |
|
chriseth
|
49f8fa4cfe
|
Extract storing length to its own function.
|
2019-02-06 14:03:49 +01:00 |
|
chriseth
|
77baf6caf7
|
Compilability checker.
|
2019-02-04 17:32:05 +01:00 |
|
chriseth
|
cd8cf7745b
|
Merge pull request #5888 from ethereum/betterStackErrorMessages
Better error message for out of stack in assembly.
|
2019-02-04 15:26:55 +01:00 |
|
chriseth
|
17a1e7aed5
|
Better error message for out of stack in assembly.
|
2019-01-30 12:24:10 +01:00 |
|
chriseth
|
35483422f3
|
Pad code to multiple of 32 bytes.
|
2019-01-30 11:31:28 +01:00 |
|
chriseth
|
64312584dc
|
Do not provide access to external assembly variables from within functions.
|
2019-01-28 14:42:38 +01:00 |
|
chriseth
|
628d665474
|
Merge pull request #5843 from ethereum/abi-typos
Do not ignore revertOnFailure flag when validating Address/Contract
|
2019-01-22 18:44:09 +01:00 |
|
Alex Beregszaszi
|
3f2898ea47
|
Do not ignore revertOnFailure flag when validating Address/Contract
|
2019-01-22 14:45:08 +00:00 |
|
chriseth
|
01e87cfc08
|
Refactor struct encoder.
|
2019-01-22 14:45:25 +01:00 |
|
chriseth
|
7a69455c13
|
Provide ABI encoding options as single struct parameter.
|
2019-01-21 16:43:32 +01:00 |
|
chriseth
|
29f6aa7d56
|
Do not create a copy of the assembly.
|
2019-01-17 20:36:48 +01:00 |
|
chriseth
|
e6fee257e6
|
Code generation for access to contract code.
|
2019-01-17 20:36:48 +01:00 |
|
chriseth
|
2fcfb216b5
|
Syntax for meta type information.
|
2019-01-17 20:36:48 +01:00 |
|
Christian Parpart
|
62fe57479e
|
make use of C++ = default constructor declarations as well as more non-static member initialization syntax.
|
2018-12-19 11:26:42 +01:00 |
|
chriseth
|
d8218b7eef
|
Formatting.
|
2018-12-18 23:50:39 +01:00 |
|
Mathias Baumann
|
1b8570f829
|
Only generate sort/search code when interface functions exist
|
2018-12-17 21:24:37 +01:00 |
|
Leonardo Alt
|
ab76676271
|
Sort includes in libsolidity/codegen
|
2018-12-17 17:06:11 +01:00 |
|
Alex Beregszaszi
|
c863cbf80d
|
Add missing header guards
|
2018-12-12 15:47:05 +00:00 |
|
chriseth
|
fb3a0ac1c7
|
Codegen for object access.
|
2018-12-11 19:24:44 +01:00 |
|
chriseth
|
8d49e53995
|
Provide Dialect to EVMCodeTransform.
|
2018-12-11 19:24:31 +01:00 |
|
chriseth
|
b5deca0383
|
Merge pull request #4779 from ethereum/optimise-string-literals
Decide better in storing string literals as data
|
2018-12-11 17:50:14 +01:00 |
|
Mathias Baumann
|
2f6dc2e773
|
Replace push_back with emplace_back where it makes sense
|
2018-12-10 19:02:39 +01:00 |
|
chriseth
|
53f531ecb0
|
Set codecopy limit for data to 32 bytes.
|
2018-12-10 17:11:48 +01:00 |
|
liangdzou
|
362648a450
|
Reuse stack slots in Yul to EVM code generation.
|
2018-12-10 14:28:56 +01:00 |
|
chriseth
|
6a9e8a6fe3
|
Merge pull request #4936 from ethereum/binSelect
Binary search for dispatch.
|
2018-12-07 00:55:09 +01:00 |
|
chriseth
|
f6ed29b88b
|
Extend abstract assembly to be able to handle sub-objects.
|
2018-12-06 14:32:04 +01:00 |
|
chriseth
|
4721cf332f
|
Expose EthAssemblyAdapter.
|
2018-12-06 14:32:04 +01:00 |
|
Christian Parpart
|
073b03d90c
|
liblangutil: refactor SourceReferenceFormatter, splitting out retrieval and making use of new SourceLocation's CharStream knowledge
|
2018-12-06 14:01:01 +01:00 |
|
chriseth
|
7f39c3e522
|
Binary search for dispatch.
|
2018-12-06 13:07:14 +01:00 |
|
chriseth
|
7ee1ddc172
|
Switch namespaces.
|
2018-12-04 15:36:03 +01:00 |
|
chriseth
|
0b1125281a
|
Remove some includes.
|
2018-12-04 15:31:00 +01:00 |
|
chriseth
|
3ebb78a886
|
Adjust include paths.
|
2018-12-04 15:20:29 +01:00 |
|
chriseth
|
0ec7a0e72c
|
Move AsmCodeGen.
|
2018-12-04 15:20:23 +01:00 |
|
chriseth
|
99db4e3ff4
|
Introduce the concept of builtin functions.
|
2018-12-04 12:06:33 +01:00 |
|
chriseth
|
aaeb74f592
|
Merge pull request #5537 from ethereum/cp-SourceLocation-related-refactoring
[1/3] SourceLocation related refactoring.
|
2018-11-30 23:45:31 +01:00 |
|
Christian Parpart
|
435f7b3b72
|
liblangutil: Scanner: remove superfluous sourceName field (it's in CharStream already)
Also, ParserBase::sourceName() was dead code. Eliminating it should
increase test coverage (how sneaky) :-)
|
2018-11-30 17:07:17 +01:00 |
|
chriseth
|
73a64da041
|
Fix bug related to state variables of function type accessed via base contract.
|
2018-11-29 19:30:27 +01:00 |
|
Christian Parpart
|
22eff22492
|
liblangutil: extends CharStream to know about the respective (file-)name (and adapt codebase to it)
|
2018-11-29 12:45:27 +01:00 |
|
hydai
|
9326adc3db
|
Replace IntegerType(256) with static function IntegerType::uint256()
|
2018-11-29 17:07:18 +08:00 |
|
Daniel Kirchner
|
30e6f8d3fb
|
Allow mapping arguments for public and external library functions.
|
2018-11-26 16:31:46 +01:00 |
|
chriseth
|
764d618c44
|
Merge pull request #5404 from ethereum/jumpFixes
Annotate jump from calldata decode to function as "jump in".
|
2018-11-26 16:08:04 +01:00 |
|
chriseth
|
0b474d5299
|
Merge pull request #5497 from ethereum/langutil-SourceReferenceFormatter
Moving SourceReferenceFormatter into langutil namespace.
|
2018-11-26 12:44:25 +01:00 |
|