Commit Graph

20133 Commits

Author SHA1 Message Date
Alex Beregszaszi
e39433198d Remove the usage of boost::noncopyable
Prior to this half of the codebase used explicit deleted copy constructors, the others used boost::noncopyable.
2021-04-23 14:57:01 +01:00
Alex Beregszaszi
ac192ff4c1 Drop the util::u160 type 2021-04-23 14:35:06 +01:00
Alex Beregszaszi
37be1b3ed9 Remove dependency on util::160 in yulInterpreter
Instead apply explicit truncation or masking for readability.
2021-04-23 14:35:05 +01:00
Raphael Roullet
dda4b5d9d7 clarify init value by replacing zero with default value 2021-04-23 13:45:22 +02:00
Djordje Mijovic
337adee395 Documenting bytes to fixed bytes conversion.
Co-authored-by: chriseth <chris@ethereum.org>

Co-authored-by: Alex Beregszaszi <alex@rtfs.hu>
2021-04-23 13:30:19 +02:00
Djordje Mijovic
eb457064b1 Adding semantic tests for bytes to bytesNN conversion. 2021-04-23 13:30:19 +02:00
Djordje Mijovic
cbb7e53b22 Activating bytes to bytesNN for legacy codegen by calling yul util function. 2021-04-23 13:30:19 +02:00
Djordje Mijovic
52538558b1 [Sol->Yul] Implementing bytes to bytesNN for IR codegen.
Co-authored-by: Alex Beregszaszi <alex@rtfs.hu>
2021-04-23 13:30:15 +02:00
Djordje Mijovic
ece42c07df Adding syntax test for bytes to bytesNN conversion. 2021-04-23 13:19:19 +02:00
Djordje Mijovic
b40c3bcc32 Allowing conversion from bytes to bytesNN in type checker. 2021-04-23 13:19:19 +02:00
Leonardo
15decd2413
Merge pull request #11298 from ethereum/docs-no-external-constructors
[Docs] 0.7.0 breaking changes: There were no external constructors
2021-04-23 10:42:04 +02:00
Kamil Śliwak
f479aceb4c 0.7.0 breaking changes: There were no external constructors 2021-04-22 21:57:20 +02:00
Harikrishnan Mulackal
f162c484ca
Merge pull request #11026 from ethereum/resolve-keccak
Evaluate ``keccak256(a, const)``, when the value at memory location ``a`` is known at compile time and ``const <= 32``
2021-04-22 19:18:19 +02:00
hrkrshnn
b599235b8d Skip resolving Keccak if AST contains msize.
Also a refactoring changing `m_optimizeMLoad` to `m_containsMSize`.
2021-04-22 18:19:47 +02:00
hrkrshnn
3d29ae73e7 Isoltest: updated the gas tests. 2021-04-22 18:19:47 +02:00
hrkrshnn
b636ef881e Added command line tests for keccak optimization with low runs
The value of keccak256(0, 32) should not be replaced by the big constant
2021-04-22 18:19:47 +02:00
hrkrshnn
221292c278 Tests and changelog 2021-04-22 18:19:47 +02:00
hrkrshnn
3bc4f5708a Evaluate keccak(a, const) if value at memory location a is known
Here the value of constant can be at most 32.
2021-04-22 18:19:47 +02:00
hrkrshnn
011f8d3ff7 Changed the type of gas calculation to bigint instead of size_t
Since the gas calculation can involve multiplication by ``--optimize-runs``, it is possible that
`size_t` is not enough to represent the total gas.
2021-04-22 18:19:47 +02:00
Harikrishnan Mulackal
ecf9a44dac
Merge pull request #11212 from ethereum/docs-asm
[DOCS] Added documentation about --asm flag
2021-04-22 18:11:24 +02:00
chriseth
277e6005e1
Merge pull request #11296 from ethereum/returnVariableZeroReplacementAddendum
Add test.
2021-04-22 17:53:02 +02:00
hrkrshnn
94f9410abe Added hashFunction to Dialect. For EVMDialect, it is keccak256
In a later PR, the functions `storageLoadFunction`, `storageStoreFunctions`, etc will be refactored
to return a YulString instead of a pointer to a BuiltinFunction.
2021-04-22 17:27:57 +02:00
hrkrshnn
dd6300a53e GasMeter can now account for gas of Keccak-256 2021-04-22 17:27:57 +02:00
hrkrshnn
1f5b874eaf Optimizer context has parameter expectedExecutionsPerDeployment 2021-04-22 17:27:57 +02:00
chriseth
a6a3af58a0 Add test. 2021-04-22 17:23:56 +02:00
chriseth
074f22f22c
Merge pull request #11246 from ethereum/returnVariableZeroReplacement
Do not replace zeros by return variable.
2021-04-22 17:16:16 +02:00
chriseth
ec4558a245 Update gas costs. 2021-04-22 16:54:02 +02:00
chriseth
314f361d07 Update commandline tests. 2021-04-22 16:54:02 +02:00
chriseth
00fb2d390b Do not replace zeros by return variable. 2021-04-22 16:54:02 +02:00
chriseth
cd13fcd758
Merge pull request #11155 from ethereum/missing-ir-semantic-changes
Docs: Update breaking IR changes documentation wrt expression evaluation order and dirty bits clean up
2021-04-22 16:32:18 +02:00
Đorđe Mijović
8840fb6ffd
Merge pull request #11270 from ethereum/addingBoundsByteArraySolYul 2021-04-22 15:41:32 +02:00
chriseth
bf0afb4667
Merge pull request #11292 from ethereum/fixFunctionSideEffectsDialect
Use "for objects" dialect for function side effects test.
2021-04-22 14:55:08 +02:00
chriseth
9e6d26ffca
Merge pull request #11291 from ethereum/natspec
Remove dead code in NatSpec
2021-04-22 14:39:38 +02:00
chriseth
e408b708ac Use "for objects" dialect for function side effects test. 2021-04-22 14:37:51 +02:00
Alex Beregszaszi
4855fca802 Remove dead code in NatSpec 2021-04-22 13:26:11 +01:00
chriseth
17f522835f
Merge pull request #11288 from ethereum/changeMetricOfZero
Adjust cost of literal zero.
2021-04-22 11:58:16 +02:00
Djordje Mijovic
3a4233f3ad [Sol->Yul] Adding bounds check when increasing size of byte array. 2021-04-22 11:42:46 +02:00
chriseth
35b651103d Adjust cost of literal zero. 2021-04-22 11:42:42 +02:00
hrkrshnn
7882a2a89d Added documentation about --asm flag 2021-04-22 11:05:44 +02:00
chriseth
2a4a2d8f7b
Merge pull request #11198 from ethereum/docs_lang_insprirations
[DOCS] Add "Language Influences" page
2021-04-22 10:56:29 +02:00
franzihei
391343564b adding language influences page 2021-04-22 10:46:11 +02:00
Bhargava Shastry
6e74df8ab6 Update text on function argument evaluation order.
Co-authored-by: Kamil Śliwak <kamil.sliwak@codepoets.it>
2021-04-22 10:38:51 +02:00
Bhargava Shastry
abbe460813 Docs: Update breaking IR changes documentation wrt expression evaluation order and dirty bits clean up.
Co-authored-by: Kamil Śliwak <kamil.sliwak@codepoets.it>
Co-authored-by: chriseth <chris@ethereum.org>
2021-04-22 10:38:51 +02:00
Harikrishnan Mulackal
1eff128b6d
Merge pull request #11287 from ethereum/isoltest-minor
Small refactorings for isoltest
2021-04-22 10:11:50 +02:00
Alex Beregszaszi
8fb7a18800 Small refactorings for isoltest 2021-04-22 01:04:34 +01:00
Alex Beregszaszi
8527430421
Merge pull request #11149 from ethereum/evmc
Upgrade to EVMC 7.5.0
2021-04-21 22:26:05 +01:00
Alex Beregszaszi
f1aaae36ee Upgrade to EVMC 7.5.0
One important change: MockedAccount.storage is a map and not unordered_map
2021-04-21 21:05:40 +01:00
chriseth
83213e659d
Merge pull request #11282 from ethereum/release_checklist
Update release checklist.
2021-04-21 22:03:24 +02:00
chriseth
70a3ef16e2 Update release checklist. 2021-04-21 22:03:24 +02:00
chriseth
f3ac70152c
Merge pull request #11285 from ethereum/version085
Set version to 0.8.5
2021-04-21 22:02:24 +02:00