102 Commits
Author SHA1 Message Date
Christian Parpart b1dd0d0d02 Properly compute source mappings for immutables. 2021-10-12 17:56:17 +02:00
Kamil Śliwak f7c4ed849d Handle DebugInfoSelection in the code printing Yul and EVM assembly 2021-10-11 20:34:48 +02:00
Alex Beregszaszi 3c8846e669 Merge pull request #11976 from ethereum/json-cleanup
Some cleanup and testing for JSON
2021-09-24 19:03:45 +01:00
chriseth 1531863835 Split Common.h into Numeric.h. 2021-09-23 15:27:29 +02:00
chriseth c8e6ef9657 Merge pull request #12004 from ethereum/disambiguateBytesRequired
Disambiguate bytesRequired
2021-09-23 15:25:44 +02:00
chriseth 50ce1f5ddd Disambiguate bytesRequired 2021-09-22 11:22:07 +02:00
chriseth 2741175507 Use function debug data. 2021-09-22 11:11:51 +02:00
Alex Beregszaszi 55c64e3ca1 Always explicitly initialise Json objects 2021-09-21 10:49:13 +01:00
Alexander Arlt 7fcf888fbf Remove unused AssemblyItemType::PushString. 2021-09-13 18:59:18 +02:00
chriseth 55bb53c9de Merge pull request #11912 from ethereum/refactorSourcePrinting
Refactor source printing
2021-09-08 14:07:07 +02:00
Kamil Śliwak a7612ce873 Move the function for creating code snippets used next to source locations in assembly to liblangutil 2021-09-07 17:18:22 +02:00
chriseth 3fe52d9869 Run the optimizer only once. 2021-09-07 15:06:31 +02:00
Kamil Śliwak 6753c8f624 Rename escapeAndQuoteYulString() back to escapeAndQuoteString() 2021-07-14 21:29:01 +02:00
chriseth f75b55071e Remove CharStream from SourceLocation. 2021-07-14 15:12:07 +02:00
chriseth f9c94d7c42 Note function entry points. 2021-05-04 17:15:13 +02:00
chriseth e2d8005737 Add verbatim builtin. 2021-04-26 19:56:44 +02:00
Daniel Kirchner cb74a45fd6 Add inlining for old optimizer. 2021-02-09 19:08:58 +01:00
Alex Beregszaszi 97173247c0 Improve the Error class with a constructor for secondaryLocation
Remove occurances of Error construction using the boost helpers.
2020-12-17 13:50:04 +00:00
chriseth 806453aca9 Merge remote-tracking branch 'origin/develop' into breaking 2020-12-08 21:00:09 +01:00
Alex Beregszaszi 7e88ba8da0 Enable the -Wconversion warning 2020-12-08 16:45:24 +00:00
chriseth e93a84ccd4 Merge remote-tracking branch 'origin/develop' into HEAD 2020-10-28 18:19:31 +01:00
Alex Beregszaszi e5faea5f35 Make use of pushInstruction() helper in libevmasm 2020-10-28 10:11:54 +00:00
Daniel Kirchner 68667f0e84 Remove POPs from ASSIGNIMMUTABLE generated bytecode, if possible. 2020-10-15 18:14:41 +02:00
Daniel Kirchner 0dca223b45 Add another argument to setimmutable and the AssignImmutable opcode, allowing to modify code at any memory offset. 2020-10-15 18:14:41 +02:00
a3d4 5b54cfbed3 Report an error if immutables not assigned 2020-07-23 16:38:54 +02:00
Djordje MijovicandKamil Śliwak 6f97e6153c [yul] Adding support for accessing subobjects via .
Co-authored-by: Kamil Śliwak <kamil.sliwak@codepoets.it>
2020-07-21 17:56:11 +02:00
chriseth 1c9179683e Merge pull request #9433 from ethereum/reportAllStackErrors
Report all stack errors
2020-07-20 15:44:51 +02:00
Sachin Grover b7adb2aa42 Add SPDX license identifier if not present already in source file
Fixes: #9220
2020-07-17 20:24:12 +05:30
Daniel Kirchner 92cd1ddb7d Add markAsInvalid to the various assemblies. 2020-07-16 17:38:13 +02:00
Djordje MijovicandHarikrishnan Mulackal e4e3f49844 Fixing signedness conversion warnings in libevmasm
Co-authored-by: Harikrishnan Mulackal <webmail.hari@gmail.com>
2020-06-03 13:25:43 +02:00
a3d4 a499ef16fa Fix spelling errors 2020-05-25 02:54:37 +02:00
Daniel Kirchner 81652686be Debug information for immutable references. 2020-04-06 10:56:42 +02:00
Daniel Kirchner 04d8ad2ae1 Legacy codegeneration for immutable state variables. 2020-03-24 16:45:25 +01:00
Djordje Mijovic 18dea6b69c Assembly: Added missing source field to legacy assembly json output to complete the source reference 2020-02-18 10:22:34 +01:00
alex e4b18e85e6 Replaced SourceLocation::isEmpty() with isValid() and hasText().
The function SourceLocation::isEmpty() had somewhat dual role.
Sometimes it indicates that the SourceLocation is invalid.
Sometimes it means that there is no corresponding source text.

Hence the proposal is to replace it with two functions, isValid() and hasText().

I also removed Scanner::sourceAt(). (Do we have a rule of thumb to remove unused code?)

Since hasText() checks that start and end are valid indices for source, I adjusted a couple of tests to avoid empty source strings.
2020-02-03 08:04:21 +01:00
Alex Beregszaszi 9c19b93c37 Remove LLL specific features from libevmasm 2020-01-15 13:27:51 +00:00
Christian Parpart 6b23412fae C++ namespace cleanup (except tests). 2020-01-07 15:51:50 +01:00
chriseth b0db64ff5b Merge remote-tracking branch 'origin/develop' into develop_060 2019-11-26 16:19:35 +01:00
Alex Beregszaszi 991fbd2956 Replace uses of BOOST_THROW_EXCEPTION with assertThrow
Where appropriate.
2019-11-26 13:07:42 +01:00
chriseth b6ad8f06e7 Merge pull request #7782 from ethereum/develop
Merge develop into develop_060
2019-11-25 17:58:09 +01:00
Alex Beregszaszi ae428dc2a0 Clarify some notes in LinkerObject and assert that linkReferences are always correct 2019-11-22 16:48:23 +00:00
Mathias Baumann 37d6fd9e21 Fix case-sensitivity depending on platform 2019-11-05 17:25:08 +01:00
chriseth cb2096c82a Add modifier depth to source mappings. 2019-11-05 16:50:38 +01:00
Mathias Baumann 6705420325 Fix case-sensitivity depending on platform 2019-11-04 17:00:48 +01:00
Alex Beregszaszi 59df7dbc1b Add upper bound assert for PushSub/PushSubSize 2019-09-03 16:40:34 +01:00
chriseth f2cee9ec0c Include cleanup. 2019-03-28 14:32:48 +01:00
chriseth 7f6f958246 Fix: Also replace tags in the list of tags referenced from outside. 2019-02-20 15:06:23 +01:00
Alex Beregszaszi ae1cd252b0 Take only Assembly instance as an input to ConstantOptimiser 2019-01-31 16:02:29 +00:00
Mathias Baumann cb935fe908 Use curly-brackets initialization 2018-12-10 19:03:47 +01:00
Mathias Baumann 2f6dc2e773 Replace push_back with emplace_back where it makes sense 2018-12-10 19:02:39 +01:00