Commit Graph
864 Commits
Author SHA1 Message Date
mingchuan bfe074b2b1 Fix storage array abi encoding
Fix incorrect abi encoding of storage array of data type that occupy multiple storage slots
2019-06-19 10:46:05 +08:00
chriseth 6cb6fe35ef Make Yul optimizer not fail for wasm. 2019-06-17 18:42:47 +02:00
Mathias Baumann 8ca27c2bb0 [Sol->Yul] Style fixes
addresses the points @chriseth mentioned in #6909
2019-06-17 15:26:40 +02:00
Mathias Baumann 6a0976ed5e [Sol->Yul] Refactor shift functions to be consistent 2019-06-11 17:44:36 +02:00
Mathias Baumann 89c435a167 [Sol->Yul] Make IRStorageItem work with dynamic offsets 2019-06-11 17:44:36 +02:00
Daniel Kirchner 2dbdddc7e5 Fix argument count for require with message and string literals. 2019-06-06 13:17:08 +02:00
chriseth c3cdae908d Merge pull request #6767 from ethereum/constantOptimiserForYul
[Yul] Constant optimiser
2019-05-28 11:53:04 +02:00
chriseth b95eebee1c Merge pull request #6822 from ethereum/uninitializedLoadFromStorage
Explicitly turn uninitialized internal function pointers into invalid function when loaded from storage.
2019-05-28 11:48:56 +02:00
chriseth 1c16124a09 Constant optimiser for Yul. 2019-05-28 11:35:07 +02:00
chriseth fbf189151d [SolYul] Division. 2019-05-27 17:53:46 +02:00
chriseth 5b1a984882 Explicitly turn uninitialized internal function pointers into invalid function when loaded from storage. 2019-05-27 17:26:37 +02:00
chriseth a600126703 Merge pull request #6833 from sifmelcara/fix-struct-array-mapping
Fix assignment of struct containing array of mappings
2019-05-27 11:14:28 +02:00
mingchuan bf8af89bba Fix assignment of struct containing array of mappings 2019-05-25 01:33:49 +08:00
chriseth fb40063253 Compound assignment. 2019-05-23 21:32:30 +02:00
Mathias Baumann 981983089c [Sol -> Yul] Implement delete for function pointers 2019-05-23 15:51:59 +02:00
Mathias Baumann 81702717b0 [Sol -> Yul] Enable function pointer comparison 2019-05-23 12:52:50 +02:00
chriseth 97fa21841d Use different way to fall back to FunctionalInstruction for loose assembly. 2019-05-23 11:30:12 +02:00
chriseth e324deabd6 Merge pull request #6740 from ethereum/unary-ops
[Sol -> Yul] Implement Int/Bool Unary: ++, --, ~, !
2019-05-20 18:06:01 +02:00
Daniel Kirchner b6f4d4e9bc [Sol - Yul] Implement checked multiplication. 2019-05-20 17:36:53 +02:00
Mathias Baumann 86000fdcce [Sol -> Yul] Implement unary -, + 2019-05-20 16:14:46 +02:00
Mathias Baumann 7dbcb80523 [Sol -> Yul] Implement Int/Bool Unary: ++, --, ~, ! 2019-05-20 11:43:12 +02:00
chriseth f2ae30f620 Fix handling of structs of dynamic size as constructor parameters. 2019-05-16 17:10:54 +02:00
Mathias Baumann f5980f08cc Remove m_code from IRValue
Only one place to append to m_code avoids confusion and bugs
2019-05-14 11:15:04 +02:00
chriseth 8c232e8196 Merge pull request #6690 from ethereum/useConditionalWhiskers
Use conditional whiskers
2019-05-13 10:23:30 +02:00
chriseth a28b6224a4 Merge pull request #6714 from ethereum/finishERC20
Finish ERC20
2019-05-13 10:00:38 +02:00
chriseth e047c8d4d9 Code generator for external function calls. 2019-05-09 18:55:12 +02:00
chriseth 63a072f122 [SolYul] Partially implement constructor. 2019-05-09 17:57:33 +02:00
chriseth 021b312264 Revert with reason. 2019-05-09 17:57:33 +02:00
chriseth 60a42f58a0 Fix internal function calls. 2019-05-09 17:57:33 +02:00
chriseth 45ee3fc007 Subtraction for unsigned integers. 2019-05-09 17:57:30 +02:00
chriseth b3e51bcae1 Some more compression. 2019-05-09 15:25:21 +02:00
chriseth d3d205b6eb Some more compression. 2019-05-09 15:25:21 +02:00
chriseth c6b9fa96ae Use conditional Whiskers. 2019-05-09 15:25:21 +02:00
Daniel Kirchner b83f6d8d46 [Sol -> Yul] Implement if statements 2019-05-09 14:52:20 +02:00
Mathias Baumann 0abe00d393 [Sol -> Yul] Fix ForLoops and implement WhileLoops 2019-05-09 09:46:19 +02:00
chriseth 595544645e Mappings. 2019-05-08 15:54:52 +02:00
chriseth b4d6f847b4 Events. 2019-05-08 13:29:11 +02:00
chriseth acca390ef5 Most trivial members. 2019-05-07 17:19:45 +02:00
chriseth b99ad2aaa3 Merge pull request #6639 from ethereum/yul-require-assert
Yul generation of "require" and "assert"
2019-05-07 16:59:37 +02:00
chriseth f68c09272b Simple tuple expressions. 2019-05-07 15:59:56 +02:00
chriseth c604481cef Logical operators. 2019-05-07 15:59:35 +02:00
chriseth 785b369b89 Add type helper function. 2019-05-07 12:36:54 +02:00
chriseth 3fa4c3da1e Comparison operations. 2019-05-07 12:35:05 +02:00
chriseth 4069b19734 Unary operation for literals. 2019-05-07 12:35:04 +02:00
Mathias Baumann 7f14352bbf Yul generation of require and assert 2019-05-07 12:19:41 +02:00
chriseth e6f8aaafa5 Conversion for string literals. 2019-05-07 11:55:17 +02:00
chriseth 3365cb9b4a Add type helper function. 2019-05-06 12:01:13 +02:00
chriseth 7c62193524 Change some AST elements to post visit. 2019-05-06 11:43:18 +02:00
chriseth aa4d4afcdc LValues and state variables of value type. 2019-05-02 17:03:22 +02:00
chriseth 31b7037749 Move storage access functions to utils. 2019-05-02 12:11:41 +02:00