Commit Graph

11730 Commits

Author SHA1 Message Date
chriseth
0f2ba3522f Reset yul string repository. 2018-11-09 15:40:36 +01:00
chriseth
6bbedab383
Merge pull request #5265 from ethereum/cleanupsha3
Simplify sha3.
2018-11-09 15:39:57 +01:00
chriseth
cbd0116e98
Merge pull request #5326 from ethereum/removeSideEffectFreeStatements
[Yul] Remove side-effect-free statements.
2018-11-08 19:09:07 +01:00
chriseth
fa44d20721 Remove side-effect-free statements. 2018-11-08 18:14:36 +01:00
chriseth
20481055e3
Merge pull request #5371 from nud3l/develop
Fix cmake Z3 import issue for Fedora like distributions
2018-11-08 12:53:31 +01:00
chriseth
cd11f7cfac
Merge pull request #5325 from ethereum/fixDataFlow
[Yul] Fix data flow analyzer for function definitions.
2018-11-08 12:52:51 +01:00
chriseth
b801e61611
Merge pull request #5365 from ethereum/improveNameDispenser
[Yul] Use single counter for name dispenser for performance reasons.
2018-11-08 12:24:21 +01:00
chriseth
bf5b36a1ed
Merge pull request #5366 from ethereum/addVarDecl
[Yul] Add VarDeclPropagator to full suite and interactive optimizer.
2018-11-08 12:21:45 +01:00
Dominik Harz
2b053ceeff Fix cmake Z3 import issue for Fedora 2018-11-08 11:12:47 +00:00
Daniel Kirchner
fce1c3a9e7
Merge pull request #5370 from ethereum/fixWindows
Fix windows build.
2018-11-08 12:06:32 +01:00
chriseth
e906b36604
Merge pull request #5352 from ethereum/docContractConversions
[DOCS] Document disallowed explicit conversions between unrelated contract types.
2018-11-08 11:38:07 +01:00
chriseth
d3e111d493
Merge pull request #5353 from ethereum/docInteroperability
[DOCS] Document interoperability between 0.5.0 and pre-0.5.0 contracts.
2018-11-08 11:36:44 +01:00
chriseth
1f4ecff446 Fix windows build. 2018-11-08 11:30:58 +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
chriseth
cc2de07bc6
Merge pull request #5348 from ethereum/boostRationalNegativeDenominatorFix
Fix negative denominator in ``boost::rational`` during exponentiation.
2018-11-08 11:25:30 +01:00
Daniel Kirchner
b16a3644fe Function type conversion test cases. 2018-11-08 10:51:51 +01:00
chriseth
37766ee8e4 Add VarDeclPropagator to full suite and interactive optimizer. 2018-11-07 23:19:42 +01:00
chriseth
845899e305 Use single counter for name dispenser for performance reasons. 2018-11-07 23:09:33 +01:00
chriseth
b2b11eaa00 Fix data flow analyzer for function definitions. 2018-11-07 20:32:55 +01:00
chriseth
bed0368ffa
Merge pull request #5327 from ethereum/rematerializerSmall
Add rematerializer to interactive optimizer.
2018-11-07 20:30:31 +01:00
chriseth
deed8e21f6
Merge pull request #5334 from ethereum/stringPerformance
[Yul] String performance
2018-11-07 20:26:33 +01:00
chriseth
674e17c2a8 Performance: Replace string by special single-copy YulString class. 2018-11-07 19:30:27 +01:00
Daniel Kirchner
c38591858d Document interoperability between 0.5.0 and pre-0.5.0 contracts. 2018-11-07 16:55:06 +01:00
Daniel Kirchner
8b2f8b1ea2 Document disallowed explicit conversions between unrelated contract types. 2018-11-07 16:44:35 +01:00
chriseth
0a96f091ab
Merge pull request #5346 from ethereum/chriseth-patch-4
[DOCS] Integers cannot be implicitly converted to address
2018-11-07 14:59:54 +01:00
chriseth
a459b8c81e
Merge pull request #5359 from ethereum/cpp17-forward-compat
Eliminate `byte`-typedef and use `uint8_t` in all their places instead.
2018-11-07 12:42:02 +01:00
Christian Parpart
ab0de38f16
Eliminate byte-typedef and use uint8_t in all their places instead.
This change is made to (easily) be forward compatible with future C++
standards, in order to allow compiling the code with newer standards at
some point in the future.

* Removed the `using byte = uint8_t;` line from Common.h
* Mechanically change all uses of `byte` to `uint8_t`.

Tested with GCC 7.3 in C++11/14/17 modes :-)
2018-11-07 12:17:57 +01:00
Daniel Kirchner
a3e37a9d5a Relax identity requirement of function type conversions during code generation. 2018-11-06 13:22:33 +01:00
Daniel Kirchner
e036133d1b Fix negative denominator in `boost::rational` during exponentiation. 2018-11-06 10:52:10 +01:00
chriseth
5df83346f3 Integers cannot be implicitly converted to address 2018-11-06 09:11:02 +01:00
Daniel Kirchner
88aee34c22
Merge pull request #5347 from ethereum/boostRationalNegativeDenominator
Remove uses of boost::rational with negative denominator in tests.
2018-11-05 21:59:15 +01:00
Daniel Kirchner
36903d7e27 Remove uses of boost::rational with negative denominator, which breaks with boost 1.68. 2018-11-05 21:36:52 +01:00
chriseth
e4da724fb8
Merge pull request #5343 from lshapton/patch-1
Fixes small typo in documentation
2018-11-04 18:44:09 +01:00
Leanne
e5836fc276
Fixes typo 2018-11-03 16:02:41 -04:00
chriseth
2672d9a8a4
Merge pull request #5337 from ethereum/ubuntuVersion
Update ubuntu versions.
2018-10-30 16:07:48 +01:00
chriseth
199a994e28 Update ubuntu versions. 2018-10-30 15:57:14 +01:00
chriseth
cbbbc0d5d9
Merge pull request #5336 from Eitan-Lev/Update-newcomers-tag
up-for-grabs swapped for good first issue
2018-10-30 15:33:27 +01:00
chriseth
437467acfc
Merge pull request #5188 from ethereum/large-array-encoding
Do not crash when trying to encode too large arrays
2018-10-30 15:31:47 +01:00
Erik Kundt
1d8e9af407 Fixes crash while encoding too large arrays. 2018-10-30 15:14:57 +01:00
Eitan Levin
1b18891424
up-for-grabs swapped for good first issue 2018-10-30 16:04:15 +02:00
chriseth
0b4f6ab72d
Merge pull request #5331 from lazaridiscom/patch-2
move CHECKLIST to the end
2018-10-29 12:09:55 +01:00
Lazaridis
48ab12479c
move CHECKLIST to the end
## Rationale

The github/gitter UIs show the content of a PR-link on mouse-over.

Having the CHECKLIST on top results in those pop-ups showing the checklist instead of the (more relevant) description.
2018-10-29 00:11:03 +02: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
chriseth
acf92930ba
Merge pull request #5247 from ethereum/yul-vardecl-propagation
Yul: Implements empty-var-decl-propagation
2018-10-28 20:46:34 +01:00
chriseth
0e9127a7c8 Add rematerializer to interactive optimizer. 2018-10-28 13:27:21 +01:00
chriseth
c338b422d4
Merge pull request #5315 from ethereum/yul-expr-joiner
Refactor Yul's ExpressionJoiner
2018-10-28 13:26:39 +01:00
chriseth
9a58e71b9e
Merge pull request #5320 from lazaridiscom/patch-1
add missing "p"
2018-10-28 12:28:44 +01:00
Lazaridis
ccda086f1c
add missing "p" 2018-10-28 06:56:15 +02:00
Lazaridis
cab8dea7fe refine memory-store assertions, closes #4891 2018-10-27 00:04:54 +03:00
Christian Parpart
1264290d57 [Yul] ExpressionJoiner: code cleanup
* ensure public API is only containing `run(Block&)`, all the rest is private API / implementation details
* adding some comments to class data members to quicker understand their meaning
* eliminate unnecessary `operator()(If&)` as it's not changing default behaviour of `ASTModifier`
* simplify readability of `visit(Expression&)`'s impl, also moving assert's into "isLatestStatementVarDeclOf", as this one is already ensuring exactly that.
* ctor impl's use of ReferenceCounter use shortened.
* renamed and improved `isLatestStatementVarDeclOf` to better match its meaning (especially since it's only used once)
2018-10-26 13:53:37 +02:00