Commit Graph
671 Commits
Author SHA1 Message Date
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
chriseth bc137c2eeb Merge pull request #5485 from ethereum/refactorCallableFunction
Refactor callable function
2018-11-26 12:34:43 +01:00
chriseth 0e08fb7469 Use "in" tag for jumps from unpacker to function. 2018-11-26 11:02:58 +01:00
Christian Parpart aeb66905de Moving SourceReferenceFormatter into langutil namespace. 2018-11-24 12:33:36 +01:00
Christian Parpart ec47c8946b Isolating libyul library API into its own namespace yul. 2018-11-23 14:29:00 +01:00
Christian Parpart 713d94476e Reorder some include files and group <libyul/>'s together (as much as possible) 2018-11-23 12:37:19 +01:00
Christian Parpart 0f4ed52a71 Rewrite header paths to adapt to recent git mv of libsolidity/inlineasm to libyul 2018-11-23 11:18:57 +01:00
chriseth 62e801ed70 Use callable function for virtual resolution. 2018-11-22 15:48:12 +01:00
Leonardo Alt 06189ae57f Add assert and tests for bound functions 2018-11-22 14:41:39 +01:00
Christian Parpart d67322a186 Introduce namespace langutil in liblangutil directory.
Also:
- Use {}-style list initialisation for SourceLocation construction
- Introduce new system includes
- Changes the API of the Scanner to take source as value (with move) as opposed to as a reference
2018-11-21 19:13:44 +00:00
Christian Parpart 87821c53c3 Isolating files shared between Yul- and Solidity language frontend. 2018-11-21 18:58:12 +00:00
mordax ea8b7d803e Removing redundant virtual from override function declaration
Remove trailing whitespace

Remove changelog change
2018-11-21 14:37:32 +00:00
chriseth 727e3f24bc Do not perform cleanup on unsigned integers when loading from calldata. 2018-11-14 20:52:30 +00:00
chriseth 6bbedab383 Merge pull request #5265 from ethereum/cleanupsha3
Simplify sha3.
2018-11-09 15:39:57 +01:00
chriseth 84e8a782d6 Merge pull request #5351 from ethereum/functionTypeConversion
Relax type equality requirement of function types during conversion in code generation.
2018-11-08 11:29:55 +01:00
Daniel Kirchner b16a3644fe Function type conversion test cases. 2018-11-08 10:51:51 +01:00
chriseth 674e17c2a8 Performance: Replace string by special single-copy YulString class. 2018-11-07 19:30:27 +01:00
Daniel Kirchner a3e37a9d5a Relax identity requirement of function type conversions during code generation. 2018-11-06 13:22:33 +01:00
chriseth 4d82831b06 Merge pull request #5316 from lazaridiscom/4891-memory-store-asserts
refine memory-store assertions, closes #4891
2018-10-28 20:50:41 +01:00
Lazaridis cab8dea7fe refine memory-store assertions, closes #4891 2018-10-27 00:04:54 +03:00
Christian Parpart f112377dd4 Refactor solidity::Token into an enum class with TokenTraits helper namespace 2018-10-22 17:00:51 +02:00
chriseth c13b5280c1 Merge pull request #5256 from ethereum/lvalueCleanup
Lvalue cleanup
2018-10-19 11:20:12 +02:00
chriseth e78b95d9d4 Renamed SHA3.{h,cpp} files. 2018-10-18 14:31:36 +02:00
chriseth 97d01d9b47 Assert about some removed language concepts in the code generator. 2018-10-17 22:26:40 +02:00
chriseth c14dfeb8c5 Removed unreachable cases in LValue.cpp. 2018-10-17 22:17:33 +02:00
chriseth 5e01d767d0 Prevent externally used functions from being removed. 2018-10-17 14:12:10 +02:00
Christian Parpart 1304361b9c Renaming namespace dev::julia to dev::yul. 2018-10-15 11:58:51 +02:00
Alex Beregszaszi fa0ce6a7e7 Use empty() instead of size() == 0 2018-10-09 04:29:37 +01:00