Commit Graph
16733 Commits
Author SHA1 Message Date
Kamil Śliwak a68b4ab7ed IRGeneratorForStatements: Slightly reorganize local variables in endVisit(MemberAccess)
- Add memberFunctionType accessible in the whole function to avoid declaring it multiple times
- Add objectCategory
2020-05-20 21:09:27 +02:00
Kamil Śliwak 87c598863f IRGeneratorForStatements: Remove unnecessary code for handling internal functions with arbitrary parameters
- Internal functions cannot have arbitrary parameters
2020-05-20 21:08:59 +02:00
Kamil Śliwak 0943333276 Simplify endVisit() for internal calls
- Define IRHelpers::referencedFunctionDeclaration() to avoid repeating the same dynamic_casts over and over again.
2020-05-20 21:07:37 +02:00
chriseth 32bec6b374 Merge pull request #8800 from ethereum/natspec-bugfix
[BREAKING] NatSpec bugfix
2020-05-20 17:21:15 +02:00
chriseth ed0f2d463f Merge pull request #8453 from imapp-pl/configurable-code-size-metric
Configurable CodeSize metric
2020-05-20 17:15:41 +02:00
hrkrshnn 37257548d0 Fixed bug when two empty NatSpec comments led to scanning past EOL 2020-05-20 20:26:02 +05:30
Kamil Śliwak 1fa689e951 [yul-phaser] ProgramCache::calculateTotalCachedCodeSize(): Replace default weights with ones that better correlate with memory usage 2020-05-20 16:47:23 +02:00
Kamil Śliwak bff012c76d [yul-phaser] Change default metric weights so that everything has a cost
- The CodeSize::DefaultWeights gives zeros to instructions that it assumes will be optimised out. Obviously, we cannot make this assumption here since phaser is meant to find the best way for the optimiser to work.
2020-05-20 16:47:23 +02:00
Kamil Śliwak b776021870 [yul-phaser] Command-line options for altering weights used by CodeSize metric 2020-05-20 16:47:23 +02:00
Kamil Śliwak 40dfac7683 [yul-phaser] Require specifying weights for Program::codeSize() 2020-05-20 16:47:23 +02:00
Kamil Śliwak d199fc537b Add configurable weights to CodeSize metric 2020-05-20 16:47:23 +02:00
chriseth 29405c223b Merge pull request #8951 from ethereum/sol-yul-refactor-split-internal-dispatch
[Sol->Yul] Split internal dispatch into separate enumeration and code generation (refactor)
2020-05-20 16:28:24 +02:00
Leonardo 56b5f1bb12 Merge pull request #8976 from ethereum/libsmtutil
libsmtutil
2020-05-20 16:14:37 +02:00
chriseth 678a801daf Merge pull request #8921 from a3d4/partfix-5819-remove-erroroccurred-flag-continued
Remove a dedicated error flag from DeclarationTypeChecker and other classes, continued
2020-05-20 13:23:37 +02:00
chriseth 84092edc5d Merge pull request #8914 from random-internet-cat/down-with-unique-ptr
Down with unique_ptr!
2020-05-20 13:22:06 +02:00
Leonardo Alt 0eb067ae4f Add SMTLogicError exception catches 2020-05-20 13:18:33 +02:00
Kamil Śliwak 6c6a8a74e8 IRGenerationContext: Extract code for enumerating dispatchable functions from generateInternalDispatch() into a separate function 2020-05-20 13:16:08 +02:00
Leonardo Alt 25de3975ce Add SMTLogicException 2020-05-20 12:55:19 +02:00
Leonardo Alt 7a91c9b971 Remove Type from SolverInterface 2020-05-20 12:55:19 +02:00
Leonardo Alt 45eba27424 Rename namespace 2020-05-20 12:55:18 +02:00
Leonardo Alt 802d66244d Do not link unnecessarily 2020-05-20 12:55:18 +02:00
Leonardo Alt 087605ea02 Create libsmtutil 2020-05-20 12:55:18 +02:00
Kamil Śliwak bd75543900 Add IRNames::internalDispatch() and use it in IRGenerationContext 2020-05-20 12:48:49 +02:00
Kamil Śliwak 22c0568d34 IRGenerationContext::internalDispatch(): Remove unused local YulUtilFunctions instance 2020-05-20 12:46:32 +02:00
Kamil Śliwak 7d2292fbaf Rename IRGenerationContext::internalDispatch() to generateInternalDispatchFunction() 2020-05-20 12:46:31 +02:00
chriseth 30278c4b88 Merge pull request #8985 from ethereum/fixWasmLoops
Fix webassembly loops by adding explicit break at the end.
2020-05-20 11:08:24 +02:00
chriseth 3c71412a47 Merge pull request #8988 from ethereum/isoltest_default_formatting
[isoltest] Improve parameter formatting.
2020-05-20 08:05:33 +02:00
a3d4 6bb177ce77 Remove dedicated error flags from DocStringParser and DocStringAnalyser 2020-05-20 04:17:49 +02:00
a3d4 6dbf23d52a Remove a dedicated error flag from ReferencesResolver 2020-05-20 04:08:32 +02:00
Alexander Arlt 410986e00f [isoltest] Improve parameter formatting. 2020-05-19 19:13:39 -05:00
chriseth d7b434fc6b Merge pull request #8949 from ethereum/sol-yul-refactor-add-arity
[Sol->Yul] Add Arity struct (refactor)
2020-05-19 23:58:39 +02:00
Kamil Śliwak 1a521cc7ac Use YulArity in IR generator 2020-05-19 23:03:21 +02:00
Kamil Śliwak 16e58449ab ir/Common: Add YulArity struct 2020-05-19 23:03:15 +02:00
chriseth 4e9f6c3508 Fix webassembly loops by adding explicit break at the end. 2020-05-19 22:16:16 +02:00
chriseth 22d5caa979 Merge pull request #8532 from aarlt/structured-docs-variables-aarlt
Allow NatSpec comments for state variables
2020-05-19 19:26:35 +02:00
chriseth d1512223d2 Merge pull request #8984 from ethereum/sol-yul-refactor-internal-dispatch-for-multislot-arguments
[Sol->Yul] Internal dispatch for multislot arguments
2020-05-19 19:23:25 +02:00
Kamil Śliwak 16e80b7bcd Test case for internal dispatch with functions that have arguments that take up multiple slots 2020-05-19 18:02:14 +02:00
Alexander Arlt af8bb5fb60 Allow natspec comments on state variables. 2020-05-19 11:01:52 -05:00
Erik Kundt 7d37ed4531 Adds structured docs for variable declarations.
- adds natspec generation for state variables.
- exports structured docs for state variables to JSON.
2020-05-19 11:01:52 -05:00
William Entriken 3e8b9bdb1c Add NatSpec for public state variables 2020-05-19 11:01:52 -05:00
Kamil Śliwak b0ae85b6b0 IRGenerationContext::internalDispatch(): Don't use asCallableFunction() to get internal function type 2020-05-19 18:00:50 +02:00
chriseth a05e8c1a0e Merge pull request #8956 from a3d4/partfix-5819-introduce-errorwatcher
Introduce ErrorWatcher
2020-05-19 17:24:01 +02:00
chriseth 8a6540794a Merge pull request #8511 from aarlt/t_soltest_asan_clang
[circleci] add t_ubu_asan_constantinople_clang
2020-05-19 16:55:28 +02:00
chriseth f70ff0dfaa Merge pull request #8977 from ethereum/mapping-type-error
Error when Mapping type in (non-local) storage is assigned to
2020-05-19 16:52:54 +02:00
Harikrishnan Mulackal 774edd4670 Error when Mapping type in (non-local) storage is assigned to 2020-05-19 19:12:38 +05:30
chriseth 3b27b4347c Merge pull request #8916 from ethereum/smt_array_push_pop
[SMTChecker] Support array push/pop
2020-05-19 15:41:10 +02:00
chriseth 3211e22045 Merge pull request #8979 from ethereum/doc-json
[Trival] Test: Output JSON AST as array when it involves multiple sources
2020-05-19 15:29:24 +02:00
chriseth 3275243c89 Merge pull request #8898 from mijovic/sol2YulByteArrayPush
[Sol->Yul] Implementing ByteArray push() and pop()
2020-05-19 15:28:01 +02:00
Djordje Mijovic d235d0c166 [Sol->Yul] Implementing Byte array push() and pop() 2020-05-19 14:47:00 +02:00
Mathias Baumann 5a7217b90e Test: Output JSON AST as array when it involves multiple sources 2020-05-19 14:26:08 +02:00