aboutsummaryrefslogtreecommitdiffstats
path: root/libsolidity/codegen
Commit message (Collapse)AuthorAgeFilesLines
* Added tests and review suggestionsLeonardo Alt2018-07-114-22/+22
|
* [050] Reserving and popping local vars in their scopeLeonardo Alt2018-07-114-41/+110
|
* Fix allocation of byte arrays.chriseth2018-07-051-1/+1
|
* Merge pull request #4224 from ethereum/revert_wrong_calldatachriseth2018-07-023-48/+34
|\ | | | | [BREAKING] Revert if calldata has wrong size
| * Revert if calldata is too short or points out of boundsLeonardo Alt2018-06-263-48/+34
| |
* | Save double encode call for sha3.chriseth2018-06-251-8/+16
| |
* | Bare functions take single bytes argument.chriseth2018-06-251-56/+15
| |
* | Single bytes argument.chriseth2018-06-251-11/+28
|/ | | | | In 0.5.0 mode, only accept a single bytes argument for ``.call``, ``keccak256`` and others and do not pad when encoding.
* Change commentsAlex Beregszaszi2018-06-143-5/+5
|
* Merge pull request #4272 from ethereum/assert-break-continuechriseth2018-06-131-4/+4
|\ | | | | Fail if break/continue statements are used outside for/while loops in ContractCompiler
| * Fail if break/continue statements are used outside for/while loops in ↵Alex Beregszaszi2018-06-121-4/+4
| | | | | | | | ContractCompiler
* | Properly pad data from calldata.chriseth2018-06-131-6/+11
| |
* | Extend explanatory remark and argue using bitwise operations instead of ↵Daniel Kirchner2018-06-121-6/+14
| | | | | | | | rounding.
* | Use proper SAR for signed right shifts and emulate on pre-constantinople.Daniel Kirchner2018-06-121-4/+21
|/
* Fixes assembly bug and adds tests to cover it.Erik Kundt2018-05-301-5/+4
|
* Adds syntax tests, documentation and changelog entry.Erik Kundt2018-05-302-2/+2
| | | | Refines comment for array utility function.
* Improves assembly and adds more tests.Erik Kundt2018-05-302-32/+14
|
* Implements pop() for byte arrays.Erik Kundt2018-05-291-10/+65
|
* Implements pop() for value type arrays.bitshift2018-05-293-1/+64
|
* Fix continue inside do-while.Daniel Kirchner2018-05-171-12/+16
|
* Fix revert with reason coming from a string variableAlex Beregszaszi2018-05-092-1/+4
|
* fixed grammar in error in CompilerUtils.cpp line 399, 'less variables.' ↵njwest2018-05-071-3/+3
| | | | should be 'fewer variables.'
* Change bytes to unsigned in FixedBytesTypedaniel2018-05-041-2/+2
|
* Removed signed shift right from the utilities.chriseth2018-05-016-24/+24
|
* Do not use SAR instead of SDIV in shifts because it rounds differentlyAlex Beregszaszi2018-05-013-7/+10
|
* Use native shift instructions in ABIFunctions on ConstantinopleAlex Beregszaszi2018-05-013-26/+70
|
* Use native shift instructions on ConstantinopleAlex Beregszaszi2018-05-012-4/+19
|
* Add virtual destructor in LValue class.Alexander Arlt2018-04-251-0/+1
|
* Remove redundant cleanup for abi.encode.Alex Beregszaszi2018-04-161-2/+1
|
* Properly force-clean for shortening bytesXX conversions.chriseth2018-04-161-10/+9
|
* Merge pull request #3364 from ethereum/revertWithReasonchriseth2018-04-136-12/+76
|\ | | | | Revert with reason
| * Use error signature for revert data.chriseth2018-04-123-20/+24
| |
| * Only forward returndata if EVM version supports it.chriseth2018-04-122-1/+3
| |
| * Bubble up error messages.chriseth2018-04-125-11/+26
| |
| * Allow error string for ``require``.chriseth2018-04-121-0/+26
| |
| * Code generator for revert with reason string.chriseth2018-04-121-1/+18
| |
* | Add abi.encode, abi.encodePacked, abi.encodeWithSelector and ↵Alex Beregszaszi2018-04-121-0/+102
|/ | | | abi.encodeWithSignature.
* Error when using no parentheses in modifier-style constructor calls.Daniel Kirchner2018-04-101-3/+6
|
* Move constructor argument override check to TypeChecker and reuse ↵Daniel Kirchner2018-04-092-28/+13
| | | | annotations in ContractCompiler.
* Merge pull request #3824 from ethereum/baseArgumentsEmptyParenthesisDaniel Kirchner2018-04-051-2/+2
|\ | | | | Error when using empty parentheses for base class constructors that r…
| * Error when using empty parenthesis for base class constructors that require ↵Daniel Kirchner2018-04-051-2/+2
| | | | | | | | arguments.
* | More specific push implementation.chriseth2018-04-043-13/+71
| |
* | Create empty dynamic memory arrays more efficiently.chriseth2018-04-042-8/+29
|/
* Merge pull request #3693 from ethereum/optimizeMLOADAlex Beregszaszi2018-04-032-25/+32
|\ | | | | Optimize across MLOAD if MSIZE is not used.
| * Optimize across MLOAD if MSIZE is not used.chriseth2018-04-032-25/+32
| |
* | Fix: Treat empty base constructor argument list as not provided.chriseth2018-04-031-3/+5
|/
* Prevent encoding of weird types and support packed encoding of external ↵chriseth2018-03-291-1/+0
| | | | function types.
* Add runtimeOnly option to pushCombinedFunctionEntryLabelAlex Beregszaszi2018-03-273-8/+8
|
* Use shortcut for internal function calls to avoid runtime reference.chriseth2018-03-271-1/+23
|
* Decode dynamic data.chriseth2018-03-213-17/+47
|
* Move dynamic type removal out of the type system.chriseth2018-03-211-5/+12
|
* Simple size check for old ABI decoder.chriseth2018-03-213-32/+97
|
* Move the old ABI decoder code.chriseth2018-03-204-105/+106
|
* Merge pull request #3725 from ethereum/blockhashNoCallchriseth2018-03-151-0/+3
|\ | | | | Allow ``block.blockhash`` without it being called.
| * Allow ``block.blockhash`` without being called.chriseth2018-03-141-0/+3
| |
* | Bugfix in virtual lookup for modifiers in libraries.chriseth2018-03-133-5/+16
|/
* Properly skip cleanup if only enlarging storage array.chriseth2018-03-091-2/+2
|
* Warn about using loose inline assembly features as experimental 0.5.0 feature.chriseth2018-03-071-0/+1
|
* Use STATICCALL for pure function calls if EVM version supports it and 0.5.0 ↵chriseth2018-03-061-0/+9
| | | | is activated.
* Merge pull request #3652 from ethereum/gasleft_v2chriseth2018-03-061-5/+0
|\ | | | | Use StaticAnalyzer to deprecate msg.gas instead of conditionally remo…
| * Use StaticAnalyzer to deprecate msg.gas instead of conditionally removing it ↵Daniel Kirchner2018-03-061-5/+0
| | | | | | | | in MagicType.
* | Merge pull request #3599 from ethereum/sendAllGasOnByzantiumchriseth2018-03-061-10/+13
|\ \ | | | | | | Send all gas on byzantium
| * | Do not retain any gas in external calls (except if EVM version is set to ↵chriseth2018-03-061-10/+13
| | | | | | | | | | | | homestead).
* | | Merge pull request #3643 from ethereum/gasleftchriseth2018-03-061-0/+8
|\ \ \ | |/ / |/| / | |/ Move msg.gas to global function gasleft(). Closes #2971.
| * Style improvements.Daniel Kirchner2018-03-061-2/+5
| |
| * Move msg.gas to global function gasleft(). Closes #2971.Daniel Kirchner2018-03-051-1/+6
| |
* | Use EVM version in gas meter and optimizer.chriseth2018-03-054-5/+5
| |
* | Provide EVM version to assembly analysis.chriseth2018-03-021-0/+1
| |
* | Provide target EVM version in CompilerContext.chriseth2018-03-023-7/+17
|/
* Introduce emit statement.chriseth2018-02-222-0/+10
|
* Expect end of string at end of top-level block for assembly parser.chriseth2018-02-211-1/+1
|
* Make addmod and mulmod revert if the last argument is zero.chriseth2018-02-151-1/+5
|
* Allow `this.f.selector` to be pure.chriseth2018-02-131-0/+24
|
* Prevent libraries from being called.chriseth2018-01-194-3/+81
|
* Split inline assembly into loose and strict flavours.chriseth2018-01-062-4/+9
|
* Reset source location after using inline assembly.chriseth2018-01-041-0/+3
|
* Favour if over switch in ABI coder.chriseth2017-12-151-14/+14
|
* Cleanup and overflow checks for data pointers.chriseth2017-11-304-23/+47
|
* ABI decoder.chriseth2017-11-306-4/+503
|
* Use if statement in abi functions.chriseth2017-11-221-3/+3
|
* Add explanation to unimplemented assertionsAlex Beregszaszi2017-11-162-3/+3
|
* Do not accept truncated function selectors.chriseth2017-10-181-7/+4
|
* Allocate one byte per memory byte array element instead of 32.chriseth2017-10-171-2/+9
|
* Merge pull request #2982 from ethereum/encoderFixesAlex Beregszaszi2017-10-052-25/+18
|\ | | | | ABI encoder fixes and test.
| * Rename "compacted" to "fromStack".chriseth2017-10-042-22/+18
| |
| * ABI encoder fixes and test.chriseth2017-09-271-5/+2
| |
* | Merge pull request #3029 from ethereum/tanwisgasAlex Beregszaszi2017-10-051-0/+3
|\ \ | | | | | | Send all gas for 0.5.0.
| * | Send all gas for 0.5.0.chriseth2017-10-051-0/+3
| | |
* | | Merge pull request #2968 from ethereum/calldataencodedsizechriseth2017-10-051-0/+3
|\ \ \ | |/ / |/| | Add some asserts about calldata encoded size.
| * | Add some asserts about calldata encoded size.chriseth2017-10-041-0/+3
| | |
* | | Merge pull request #2962 from ethereum/optionalDebugInfoAsmchriseth2017-10-041-5/+16
|\ \ \ | | | | | | | | Debugging info in CompilerContext.
| * | | Debugging info in CompilerContext.chriseth2017-10-041-5/+16
| | | |
* | | | Better readable encoder assembly.chriseth2017-09-271-6/+28
| |_|/ |/| |
* | | Split encodeToMemory to packedEncode and abiEncodeAlex Beregszaszi2017-09-274-18/+41
| | |
* | | Make most of the parameters mandatory in encodeToMemoryAlex Beregszaszi2017-09-272-6/+6
| | |
* | | Ensure that address types are always declared as 160bitAlex Beregszaszi2017-09-273-6/+6
| |/ |/|
* | Simplify switch statements by refactoring internal break statementsAlex Beregszaszi2017-09-252-24/+24
| |
* | Avoid switch fallthrough in ExpressionCompilerAlex Beregszaszi2017-09-251-26/+32
| |
* | Avoid switch fallthrough in CompilerUtilsAlex Beregszaszi2017-09-251-6/+3
|/
* More verbose errors for generated assembly.chriseth2017-09-221-2/+18
|
* Mark functions staticAlex Beregszaszi2017-09-202-2/+2
|
* Ensure parameter names match between headers and implementationAlex Beregszaszi2017-09-201-2/+2
|
* Implement struct encoder.chriseth2017-09-163-6/+131
|
* Update tests and error messages.chriseth2017-09-161-1/+1
|
* Move ABI encoder into its own function.chriseth2017-09-165-66/+82
|
* Named assembly labels.chriseth2017-09-163-15/+8
|
* Rename .sig to .selector on function typesAlex Beregszaszi2017-09-131-1/+1
|
* Add sig member on function typeAlex Beregszaszi2017-09-131-1/+8
|
* Introduce assemblyStringAlex Beregszaszi2017-09-112-4/+4
|
* Do not return the stream in asssemblyStreamAlex Beregszaszi2017-09-112-4/+4
|
* Split out the JSON functionality from assembly.stream()Alex Beregszaszi2017-09-112-6/+15
|
* Merge pull request #2847 from ethereum/codegen-docsAlex Beregszaszi2017-08-293-1/+25
|\ | | | | Document more of the codegen features
| * Document more of the codegen featuresAlex Beregszaszi2017-08-293-1/+25
| |
* | Merge pull request #2833 from ethereum/statemutability-builtinschriseth2017-08-291-1/+1
|\ \ | | | | | | Mark all built in functions with appropriate statemutability
| * | Swap declaration/statemutability in FunctionType constructorAlex Beregszaszi2017-08-291-1/+1
| |/
* / Move all file specific globals to anonymous namespaceAlex Beregszaszi2017-08-291-0/+5
|/
* Mark to places fall-throughAlex Beregszaszi2017-08-252-0/+2
|
* Remove fallthrough from ArrayUtilsAlex Beregszaszi2017-08-251-3/+3
|
* Mark a lot of functions static (where possible)Alex Beregszaszi2017-08-222-2/+2
|
* Mark appropriate constructors explicitAlex Beregszaszi2017-08-223-3/+3
|
* Mark a lot of functions const (where possible)Alex Beregszaszi2017-08-226-9/+9
|
* Merge pull request #2704 from ethereum/newEncoderchriseth2017-08-147-10/+1296
|\ | | | | New ABI encoder
| * Experimental feature switch for ABI encoder.chriseth2017-08-143-2/+10
| |
| * Remove unused magic global feature.chriseth2017-08-142-10/+2
| |
| * Interface for new ABI encoder.chriseth2017-08-142-0/+40
| |
| * New ABI encoder.chriseth2017-08-142-0/+1246
| |
* | Remove constant/payable in all function typesAlex Beregszaszi2017-08-141-2/+1
|/
* .delegatecall() should always return a boolean of execution statusAlex Beregszaszi2017-08-021-1/+1
|
* Provide new account gas for low-level callcode/delegatecallAlex Beregszaszi2017-08-011-1/+1
|
* Rename Bare to BarecallAlex Beregszaszi2017-08-011-5/+5
|
* Fix for invalid clearing of memory in ecrecover.chriseth2017-07-281-1/+1
|
* Remove the need of jumping out of the fallbackAlex Beregszaszi2017-07-281-8/+4
|
* Merge pull request #2652 from ethereum/fixMultiModifierchriseth2017-07-272-6/+11
|\ | | | | Re-allow multiple modifiers per function.
| * Re-allow multiple modifiers per function.chriseth2017-07-272-6/+11
| |
* | Merge pull request #2645 from ethereum/assertsAlex Beregszaszi2017-07-272-14/+12
|\ \ | |/ |/| Use solAssert where possible
| * Use solAssert instead of boost throw where possibleAlex Beregszaszi2017-07-272-14/+12
| |
* | Report location on stack too deep if possibleAlex Beregszaszi2017-07-272-1/+7
|/
* Change fixed point types to have digit countVoR02202017-07-201-1/+1
| | | | Signed-off-by: VoR0220 <rj@erisindustries.com>
* Fix internal "variable already present" error.chriseth2017-07-051-0/+3
|
* Add assert to shift helperAlex Beregszaszi2017-07-031-0/+2
|
* Use shift helper in LValueAlex Beregszaszi2017-07-031-4/+2
|
* More uses of shift helperAlex Beregszaszi2017-07-031-6/+10
|
* Change shiftNumberOnStack to bitsAlex Beregszaszi2017-07-033-13/+13
|
* Use shift helperAlex Beregszaszi2017-07-032-8/+8
|
* Add shift helper to CompilerUtilsAlex Beregszaszi2017-07-032-0/+16
|
* Abort early if there is nothing to encode or decode.chriseth2017-06-302-3/+9
|
* Document appendFunctionSelectorAlex Beregszaszi2017-06-291-0/+4
|
* Stack adjustment and code generation for fallback function.chriseth2017-06-291-4/+6
| | | | This assumes that the fallback function does not have return parameters.
* Fix negative stack size checks.chriseth2017-06-282-0/+11
|
* Merge pull request #2459 from ethereum/noComparisonForSomeTypesAlex Beregszaszi2017-06-271-0/+1
|\ | | | | No comparison for some types
| * Disallow comparisons between some types.chriseth2017-06-261-0/+1
| |
* | Merge pull request #2453 from ethereum/memcopyAsForLoopAlex Beregszaszi2017-06-272-23/+20
|\ \ | |/ |/| Use for loop for assembly memcopy.
| * Comment about zero length.chriseth2017-06-271-0/+2
| |
| * Reformat.chriseth2017-06-261-6/+9
| |
| * Use for loop for assembly memcopy.chriseth2017-06-261-23/+15
| |
* | Merge pull request #2460 from ethereum/disallowMultiModifierAlex Beregszaszi2017-06-262-0/+5
|\ \ | |/ |/| Disallow invoking the same modifier multiple times.
| * Disallow invoking the same modifier multiple times.chriseth2017-06-242-0/+5
| |
* | Review suggestions.chriseth2017-06-241-1/+1
| |
* | Change invalid opcode to revert for input validation.chriseth2017-06-246-20/+52
|/
* Merge pull request #2444 from ethereum/parser-scannerAlex Beregszaszi2017-06-231-0/+1
|\ | | | | Avoid including Scanner.h in ParserBase.h
| * Avoid including Scanner.h in ParserBase.hAlex Beregszaszi2017-06-231-0/+1
| |
* | Fix ABI encoding of empty string literal.chriseth2017-06-221-1/+1
|/
* Merge interface/Exceptions and interface/UtilsAlex Beregszaszi2017-06-223-2/+3
|
* Move subroutine helpers from CompilerContext to AssemblyAlex Beregszaszi2017-06-151-3/+3
|
* Remove obsolete errorTag()Alex Beregszaszi2017-06-151-2/+0
|
* Use inline assembly directly and not via AsmStackAlex Beregszaszi2017-06-091-3/+17
|
* Remove error reporter from code generation phase.chriseth2017-06-081-5/+1
|
* Initial EVM1.5 assembly implementation.chriseth2017-06-082-7/+13
|
* Merge pull request #2317 from ethereum/keccak256chriseth2017-05-314-8/+8
|\ | | | | Use keccak256 in tests and replace the SHA3 instruction in assembly
| * Rename the SHA3 assembly instruction to KECCAK256Alex Beregszaszi2017-05-304-8/+8
| |
* | Refactor error reportingRhett Aultman2017-05-301-2/+3
|/ | | | | | | | | This commit introduces ErrorReporter, a utility class which consolidates all of the error logging functionality into a common set of functions. It also replaces all direct interactions with an ErrorList with calls to an ErrorReporter. This commit resolves issue #2209
* Adapt EVM codegen to new namespace.chriseth2017-05-262-9/+9
|
* Merge pull request #1810 from ethereum/compactJsonchriseth2017-05-221-3/+3
|\ | | | | Compact format for AST-Json.
| * refactoring functionCallAnnotationdjudjuu2017-05-191-3/+3
| |
* | Refactor to abstract assembly to JULIA.chriseth2017-05-202-24/+28
|/
* Remove error label / invalid jump label.chriseth2017-04-282-23/+0
|
* Refactor to combined scope and stack height info.chriseth2017-04-261-1/+2
|
* Special case for storage types with offset zero.chriseth2017-04-251-3/+18
|
* Build fix.chriseth2017-04-251-1/+1
|
* Storage access from inline assembly.chriseth2017-04-251-10/+35
|
* Move analysis out of code generator.chriseth2017-04-251-1/+3
|
* Only allow access to local variables and only if they have a stack size of one.chriseth2017-04-251-34/+14
|
* Review comments.chriseth2017-04-252-2/+6
|
* Review comments and cleanup.chriseth2017-04-251-2/+5
|
* Split external identifier access into resolving and code generation.chriseth2017-04-252-80/+95
|
* Change references to FunctionType::LocationAlex Beregszaszi2017-03-163-86/+84
|
* Require and Assert.chriseth2017-03-141-2/+6
|
* Merge pull request #1702 from ethereum/assertErrorYoichi Hirai2017-03-041-3/+2
|\ | | | | Change effect of assert to invalid opcode.
| * Change effect of assert to invalid opcode.chriseth2017-02-161-3/+2
| |
* | Merge pull request #1700 from ethereum/fixNoMobilechriseth2017-02-241-0/+3
|\ \ | | | | | | Some checks for the existence of mobile type.
| * | Some checks for the existence of mobile type.chriseth2017-02-161-0/+3
| |/
* | Disallow setting .gas() on .transfer()Alex Beregszaszi2017-02-241-8/+4
| |
* | Do not keep the gas stipend if sending non-zero valueAlex Beregszaszi2017-02-241-1/+1
| |
* | Support gas modifier on addr.transfer()Alex Beregszaszi2017-02-241-1/+2
| |
* | Implement address.transfer()Alex Beregszaszi2017-02-241-4/+15
|/
* Use the revert opcode in assert()Alex Beregszaszi2017-02-111-2/+8
|
* Use the REVERT opcode for throw;Alex Beregszaszi2017-02-111-1/+3
|
* Support revert()Alex Beregszaszi2017-02-111-0/+5
|
* Cleanup is not needed for assert()Alex Beregszaszi2017-02-101-1/+1
|
* Implement assert as a global functionAlex Beregszaszi2017-02-101-0/+8
|
* Rename SUICIDE opcode to SELFDESTRUCT in libevmasmAlex Beregszaszi2017-02-071-1/+1
|
* Warn early when exhausting stackAlex Beregszaszi2017-02-021-0/+1
|
* Only capture function type to address conversionAlex Beregszaszi2017-02-011-8/+10
|
* Be more verbose on the stack-mismatch errorsAlex Beregszaszi2017-02-011-1/+1
|
* Support explicit conversion of external function type to addressAlex Beregszaszi2017-02-012-1/+13
|
* Changelog and review suggestions.chriseth2017-01-271-1/+1
|
* Uninitialized internal function should call INVALID.chriseth2017-01-261-1/+3
|
* Allow inserting low-level functions without calling them.chriseth2017-01-262-5/+26
|
* Split line.chriseth2017-01-261-1/+3
|
* Address feedback from code review.Valentin Wüstholz2017-01-262-6/+6
|
* Change translation of implicit throws (issue #1589).Valentin Wüstholz2017-01-266-13/+31
| | | | | | | This adds a new invalid instruction that is used for encoding implicit throws that are emitted by the compiler. This makes it possible to distinguish such runtime errors from user-provided, explicit throws.
* Warn about invalid checksums of addresses.chriseth2017-01-251-0/+1
|
* Include creation code only once.chriseth2017-01-251-14/+18
|
* Use int arithmetics for stack adjustment.chriseth2017-01-241-1/+1
|
* Change clearStorageLoop to TypePointer.chriseth2017-01-242-16/+18
|
* Use shared_ptrs to enable shared_from_this.chriseth2017-01-241-4/+4
|
* Convert ArrayUtils routines into low-level functions.chriseth2017-01-241-228/+251
|
* Move some util functions to low-level functions.chriseth2017-01-245-244/+320
|
* Low level named functions for CompilerContext.chriseth2017-01-242-0/+23
|
* Report source location on "stack too deep" errors.chriseth2017-01-212-2/+14
|
* Use fully-qualified names for linking, tooRhett Aultman2017-01-172-3/+3
| | | | | | | | | | | | | | | Using libraries leaves behind a library link reference in the binary which the linker must later resolve. These link references were still being generated by name and not by fully-qualified name. This would lead to a link-time collision between two libraries having the same name but in different source units. This change changes linker symbols over to fully-qualified names, which resolves that issue. This does potentially introduce a new problem, which is that linker symbols appear to be limited to 36 characters and are truncated. Storing paths extends the average symbol size, and it would be great if truncation was from the tail rather than the head.
* ast, codegen: enable accessing events through contract names.Yoichi Hirai2017-01-031-9/+33
| | | | Fixes #1286
* Merge pull request #1487 from ethereum/shift-opsYoichi Hirai2016-12-142-30/+98
|\ | | | | Shift operators
| * Use correct type for storing.chriseth2016-12-131-7/+7
| |
| * Cleaner shift handling and type conversion for binary operations.chriseth2016-12-122-45/+80
| |
| * Support bitshifting in variablesAlex Beregszaszi2016-12-122-9/+42
| |
* | Renamed padToWordBoundaries -> padToWordschriseth2016-12-132-14/+14
| |
* | Split memcopy into three functions.chriseth2016-12-123-54/+79
| |
* | Fix inline assembly.chriseth2016-12-121-1/+2
| |
* | Reset stack height after inline assembly blockAlex Beregszaszi2016-12-121-0/+1
| |
* | Better assert message for appendInlineAssembnlyAlex Beregszaszi2016-12-121-1/+1
| |
* | Implement identity call in inline assemblyAlex Beregszaszi2016-12-121-14/+21
| |
* | Turn off the identity precompile for testingAlex Beregszaszi2016-12-121-1/+1
| |
* | Implement CompilerUtils::memoryCopy using inline assemblyAlex Beregszaszi2016-12-121-1/+26
| |
* | Add usingIdentity option to CompilerUtils::memoryCopyAlex Beregszaszi2016-12-122-2/+9
|/
* Merge pull request #1351 from ethereum/truncate_bitchriseth2016-12-083-3/+5
|\ | | | | Truncate a boolean from calldata into one bit
| * codegen: clean not only booleans but all types before storing them into memoryYoichi Hirai2016-12-012-4/+3
| |
| * codegen: clean any data from the inputYoichi Hirai2016-12-011-2/+2
| |
| * codegen: truncate booleans before they enter storageYoichi Hirai2016-12-011-1/+0
| |
| * codegen: cleanup booleans before storing them into memoryYoichi Hirai2016-12-011-0/+2
| |
| * codegen: truncate a boolean calldata down to one bitYoichi Hirai2016-12-011-0/+2
| |
* | Throw if calling the identity precompile (memoryCopy) failedAlex Beregszaszi2016-12-021-1/+2
| |
* | Use CBOR encoding.chriseth2016-12-012-3/+3
| |
* | Fix tests.chriseth2016-12-012-10/+0
| |
* | Add swarm hash to the end of the bytecode.chriseth2016-12-013-12/+3
| |
* | Metadata stamp.chriseth2016-12-014-7/+16
| |
* | Merge pull request #1462 from ethereum/fix-incorrect-assertionchriseth2016-12-011-1/+1
|\ \ | | | | | | codegen: assertion did not assert non-nullness
| * | codegen: assertion did not assert non-nullnessYoichi Hirai2016-12-011-1/+1
| |/ | | | | | | | | This commit strengthens an assertion so that it makes sure that a pointer is not null. Moreover, `isLocalVariable(variable)` is now positively asserted, following the error message.
* / codegen: this commit removes one of duplicate assignmentsYoichi Hirai2016-12-011-2/+0
|/
* Use solUnimplemented wherever possibleAlex Beregszaszi2016-11-282-3/+3
|