Commit Graph
100 Commits
Author SHA1 Message Date
chriseth 82b3a6b1f4 Merge pull request #1975 from LianaHus/sol_EVMExceptions
"error jump" instead of STOP instraction in case of exception
2015-06-01 17:45:55 +02:00
chriseth 604a2d89d2 Merge pull request #2027 from chriseth/sol_dupRemForLoops
Allow duplicate code removal for loops.
2015-06-01 15:09:16 +02:00
chriseth 80904d59e9 Merge pull request #2029 from chriseth/sol_strings
Re-introduce string type.
2015-06-01 15:09:05 +02:00
chriseth 786b57b884 Re-introduce string type. 2015-05-28 16:20:50 +02:00
chriseth f3d9523651 Allow duplicate code removal for loops. 2015-05-28 14:48:07 +02:00
chriseth cfaa99727a Merge pull request #2006 from chriseth/sol_functionalGasEstimator
Functional gas estimator
2015-05-26 15:48:10 +02:00
chriseth fbc331bd35 Removed redundant std. 2015-05-26 11:31:04 +02:00
chriseth 964bcd6b85 Functional gas estimator. 2015-05-22 16:12:40 +02:00
chriseth ec76302b85 Path gas meter. 2015-05-22 16:12:40 +02:00
chriseth e5a4a8fca4 Merge pull request #1988 from LianaHus/sol_Check_ref_problems_for_structs
Check: Reference problems concerning structs
2015-05-20 18:41:34 +02:00
chriseth 42a36548e2 Merge pull request #1983 from chriseth/sol_knowledgeableGasEstimation
Gas estimation taking known state into account.
2015-05-20 18:31:47 +02:00
chriseth 79f11974ea Gas estimation taking known state into account. 2015-05-20 00:28:15 +02:00
chriseth accf43ae4b Merge pull request #1931 from chriseth/sol_callcode
Bare callcode for addresses and contracts.
2015-05-18 12:29:00 +02:00
chriseth 563f9098b2 Bare callcode for addresses and contracts. 2015-05-15 18:02:09 +02:00
chriseth 5f8a5f672d Store copied assembly items in test. Fixes OSX issues. 2015-05-15 13:25:44 +02:00
chriseth 7d5bebd464 Disable test. 2015-05-15 11:46:32 +02:00
chriseth 779ce0131a Merge pull request #1889 from chriseth/sol_multipleTagsOnStack
Known state: store tags on stack as unions.
2015-05-15 11:12:13 +02:00
chriseth b50362042e Known state: store tags on stack as unions. 2015-05-13 17:15:32 +02:00
chriseth 43338fac9f Reverse if and else body. 2015-05-12 17:50:51 +02:00
chriseth ca73a40170 Unify blocks with shared code. 2015-05-12 16:27:43 +02:00
chriseth b6bd56bccd Merge pull request #1864 from chriseth/sol_knowledgeEngine2
Transfer knowledge about the state across jumps.
2015-05-12 16:17:31 +02:00
chriseth 54bc7dda53 Compute state intersection. 2015-05-11 16:40:28 +02:00
chriseth cc6647e671 Tests. 2015-05-11 12:56:40 +02:00
chriseth 2cc62fbbfb Merge pull request #1831 from chriseth/sol_newABIEncoding
New ABI encoding for dynamic types.
2015-05-11 12:27:24 +02:00
chriseth 202ea5c3a1 Merge pull request #1813 from chriseth/sol_knowledgeEngine
Static Analysis Engine.
2015-05-08 18:58:42 +02:00
chriseth 2f85a0aeb2 Merge pull request #1802 from LianaHus/sol_Deny_overwriting_attribute_by_function_via_inheritance
Proper overwriting of attribute and functions.
2015-05-08 18:29:26 +02:00
chriseth 135a67ad52 New ABI encoding for dynamic types. 2015-05-08 16:54:39 +02:00
chriseth b12bba7be2 Merge pull request #1810 from chriseth/sol_gasEstimator
Structural gas estimator.
2015-05-07 12:39:35 +02:00
chriseth a0cc8abb2a CFG returns vector of blocks instead of assembly items. 2015-05-06 12:55:18 +02:00
chriseth 3649c1fc60 Common subexpression elimination ready for using pre-known state. 2015-05-06 11:10:42 +02:00
chriseth 8416a6260f Split known state from common subexpression eliminator. 2015-05-06 11:09:55 +02:00
chriseth 60f335b400 Structural gas estimator. 2015-05-06 10:43:59 +02:00
chriseth 335c67a4e4 Fix for broken continue in for loop.
Fixes #1789.
2015-05-04 10:54:50 +02:00
chriseth 3172dbf701 Move assembly related files to libevmasm and Params.h/.cpp to libevmcore. 2015-04-30 11:42:02 +02:00
chriseth 0e5331f62c Fix for deleting byte array elements.
Fixes #1759.
2015-04-28 11:31:40 +02:00
chriseth 7ad5cb9621 Removed visit functions for abstract AST nodes. 2015-04-27 18:57:13 +02:00
chriseth ceb9326eb2 Merge pull request #1740 from chriseth/sol_sourceLocationForOptimizer
Try to keep source location during optimisation.
2015-04-27 16:51:01 +02:00
chriseth cfe24c3c2a Try to keep source location during optimization. 2015-04-27 10:08:55 +02:00
chriseth b129a201db Merge pull request #1729 from chriseth/sol_interfaceOutput
Use non-implemented functions for solidity interface output.
2015-04-24 11:59:05 +02:00
chriseth b4d2ead1b8 Use non-implemented functions for solidity interface output. 2015-04-23 15:00:44 +02:00
chriseth fcb772293b Fix regarding memory overwrite during sha3 computation. 2015-04-22 11:43:50 +02:00
chriseth 99a0cb3545 bytes parameters for events and sha3. 2015-04-22 11:43:49 +02:00
chriseth e65b9825d6 Merge pull request #1634 from chriseth/sol_overloadingFunctions
Function overloading.
2015-04-21 15:58:06 +02:00
chriseth 3190c9ec09 Fix for Contract and Enum types as external function arguments. 2015-04-21 15:50:37 +02:00
chriseth c834ee5ce1 Fixed byte alignment for return type of ripemd160 built-in contract. 2015-04-21 13:03:26 +02:00
chriseth ddbaa99056 Merge remote-tracking branch 'ethereum/develop' into sol_overloadingFunctions 2015-04-21 12:04:12 +02:00
chriseth 02121683f5 Removed (and added) some #ifs (but removed more than I added). 2015-04-21 11:46:11 +02:00
chriseth 8caf1f723f Merge remote-tracking branch 'ethereum/develop' into sol_overloadingFunctions
Conflicts:
	libsolidity/AST.cpp
	libsolidity/AST.h
2015-04-20 14:55:58 +02:00
chriseth 4a44493a13 Merge pull request #1501 from LefterisJP/abstract_contract_contructors
Abstract contract contructors
2015-04-17 17:31:47 +02:00
chriseth 6b08b99b5e Merge remote-tracking branch 'ethereum/develop' into sol_overloadingFunctions 2015-04-17 16:24:23 +02:00
chriseth 7571971ca0 Merge pull request #1654 from chriseth/sol_fix_smallNegativeStorageValues
Fix for small negative storage values.
2015-04-17 15:26:16 +02:00
chriseth d0470999b2 Tests for signed integers in storage. 2015-04-17 13:25:28 +02:00
chriseth 0f9b0f3bc4 Merge pull request #1503 from chriseth/sol_mergeBasicBlocks
Control flow analysis.
2015-04-16 17:26:35 +02:00
chriseth 968ebf6dbc Bugfixes concerning variable declarations.
Fixes #1637
2015-04-16 00:09:28 +02:00
chriseth 4362c93ebf Fixed test. 2015-04-15 18:43:40 +02:00
chriseth cf9515c750 Control flow analysis. 2015-04-15 18:11:16 +02:00
chriseth 6753e0a8e6 Merge remote-tracking branch 'ethereum/develop' into sol_overloadingFunctions
Conflicts:
	libsolidity/Types.cpp
2015-04-15 17:43:23 +02:00
chriseth c19d10321a Fixed function overloads.
Added tests, disallowed non-calling usage of non-unique function
references.
2015-04-15 17:40:50 +02:00
chriseth 68b61432ae Typos and docs. 2015-04-07 17:21:09 +02:00
chriseth 4c656af3ec SHA3 optimizations. 2015-04-07 17:21:09 +02:00
chriseth 367d0367ee Merge remote-tracking branch 'ethereum/develop' into sol_overloadingFunctions 2015-04-07 17:08:49 +02:00
chriseth c01c07e311 Retain more gas for the case that the called contract is not yet created. 2015-04-07 14:03:57 +02:00
chriseth 1ba183bf78 Merge pull request #1432 from chriseth/sol_cseForMemoryAndStorage
Optimizer for memory and storage.
2015-03-31 16:37:13 +02:00
chriseth 8860f8d4c3 Merge pull request #1464 from LefterisJP/natspec_nonexistant_param
Detect if non-existant parameter is documented with natspec
2015-03-30 19:38:20 +02:00
chriseth ea98b3b07e Merge pull request #1414 from LefterisJP/sol_notImplementedFuncs
Interface contracts
2015-03-30 19:33:30 +02:00
chriseth 35274fb9b1 Optimize breaking item. 2015-03-30 12:03:28 +02:00
chriseth b3fc122845 Optimizer for memory. 2015-03-30 12:03:28 +02:00
chriseth 1391b58e53 Storage access optimisation. 2015-03-30 12:03:28 +02:00
chriseth d2b5407502 Merge pull request #1338 from LianaHus/sol_ConvertContractTypesToAddress
Solidity: Convert contract types to addresses
2015-03-27 15:14:40 +01:00
chriseth 9866a92884 Merge pull request #1396 from chriseth/sol_cseOpt2
Common subexpression elimination, including simplifications.
2015-03-27 14:56:47 +01:00
chriseth e82b8019ea Parse test files and create ctest tests. 2015-03-27 13:13:08 +01:00
chriseth 4e20d0fb6d Pattern matching for expression simplification. 2015-03-26 17:51:26 +01:00
chriseth 782e69fbe4 Optimizing various single operations. 2015-03-26 17:51:26 +01:00
chriseth 0934d0e943 Code generation part 2. 2015-03-24 14:54:33 +01:00
chriseth ff06ea3aaf Merge pull request #1341 from chriseth/sol_packedStorage
Packed storage for arrays.
2015-03-20 12:54:36 +01:00
chriseth d43bc09994 Merge pull request #1344 from LefterisJP/sol_BytesToIntConv
Explicit conversion between bytes and int of any size
2015-03-19 13:05:28 +01:00
chriseth 84fdc6f1f2 Exception-throwing assert. 2015-03-18 15:32:17 +01:00
chriseth 0816a59b7e Disallowed special case of bytes0 arrays. 2015-03-17 18:34:57 +01:00
chriseth a05b307f4e Packing for arrays. 2015-03-17 18:13:28 +01:00
chriseth 6e2464487f Merge pull request #1326 from chriseth/sol_packedStorage
Let Solidity pack its storage
2015-03-17 01:08:47 +01:00
chriseth 1d44a8999e Fetch and store packed values. 2015-03-16 18:07:14 +01:00
chriseth 354d84e0a7 Compute packing offsets. 2015-03-16 18:07:14 +01:00
chriseth 10be65f269 Enlarge storage references to two stack slots. 2015-03-16 18:07:14 +01:00
chriseth 7ad027055d Merge pull request #1328 from debris/remove_orig
removed redundant diff file
2015-03-16 17:31:12 +01:00
chriseth e26f2dcaae Merge pull request #1325 from LefterisJP/sol_MsgSig
Adding msg.sig Solidity Magic type
2015-03-16 17:30:18 +01:00
chriseth a6f328a613 Fix gas for builtin.
Fixes #1300
2015-03-13 17:31:56 +01:00
chriseth b1852e2d12 Fixed indentation. 2015-03-11 16:31:56 +01:00
chriseth a969203947 Fixed assembly tests. 2015-03-11 15:59:02 +01:00
chriseth 0fcd2212d4 Global variable "now" (alias for block.timestamp). 2015-03-09 19:22:43 +01:00
chriseth 0f6224a70f Merge pull request #1228 from LefterisJP/eth_TestNoThrowInfo
Test macros for printing Exception information
2015-03-06 16:25:58 +01:00
chriseth ce29adc29f Merge pull request #1222 from chriseth/sol_copyFromCalldata
Copying between calldata and storage.
2015-03-06 15:42:49 +01:00
chriseth 2650703ece Typo 2015-03-06 15:40:02 +01:00
chriseth 1234526c93 Fix type checks for storage variable initializer. 2015-03-06 13:47:32 +01:00
chriseth e6c778e740 Fix for arrays containing mappings. 2015-03-06 13:17:52 +01:00
chriseth 7639bfe7e5 Copying between calldata and storage. 2015-03-06 13:17:52 +01:00
Christian 2f91e1f9b5 Index access for calldata arrays. 2015-03-05 13:19:59 +01:00
Christian 99263f0e3e Fixed arrays in ABI. 2015-03-03 12:58:48 +01:00
Christian 66d2ec1d15 Fix test after change in call failure semantics. 2015-03-03 11:36:54 +01:00
chriseth d0e535d014 Merge pull request #1146 from LefterisJP/sol_fixBaseClassAccessors
Sol fix accessing public variable of base class
2015-03-02 12:59:12 +01:00
chriseth 1ec4deff01 Merge pull request #1157 from chriseth/sol_arrayShortening
Copying arrays and shortening of dynamic arrays.
2015-03-02 12:51:58 +01:00