Commit Graph

155 Commits

Author SHA1 Message Date
chriseth
91a7207616 Optimize RETURN x 0 to STOP. 2015-06-12 11:31:03 +02:00
Gav Wood
a7a137816c Merge pull request #2148 from chriseth/sol_walletTests
Unit tests for the wallet contract.
2015-06-11 12:11:33 +09:00
chriseth
67299b6352 Wallet tests. 2015-06-10 19:28:44 +02:00
chriseth
7c4324eb5f Added missing source locations for new memory management code. 2015-06-10 17:51:24 +02:00
chriseth
bcecae0822 Merge pull request #2122 from chriseth/sol_memoryArrays2
Use dynamic memory.
2015-06-10 15:36:30 +02:00
chriseth
0237949212 Merge pull request #2114 from LianaHus/sol_byte0_in_storage
Sol removed bytes0
2015-06-10 15:35:28 +02:00
Liana Husikyan
4967535f8a cleaned up the tests 2015-06-09 11:55:19 +02:00
chriseth
31fb199acb Use dynamic memory for argument encoding. 2015-06-09 10:03:25 +02:00
Gav Wood
88865c546f Merge pull request #2025 from imapp-pl/refactor_executive
Executive on a diet
2015-06-08 22:52:39 +09:00
Liana Husikyan
1ac5f3c04d removed byte0 keyword 2015-06-08 13:53:25 +02:00
Liana Husikyan
46eb7b08d9 added test
Conflicts:
	test/libsolidity/SolidityEndToEndTest.cpp
2015-06-08 11:47:57 +02:00
Paweł Bylica
8c66813683 Rename Executive::collectResult -> setResultRecipient. 2015-06-08 10:45:42 +02:00
Gav Wood
6f12765591 Merge pull request #2103 from chriseth/sol_fix_sequenceError
Invalid sequence access.
2015-06-07 14:19:51 +09:00
chriseth
d3f1cb5cec Quick fix to not access inaccessible sequences. 2015-06-06 15:39:14 +02:00
chriseth
7528dcf52c Test for the invalid sequence access bug. 2015-06-06 15:38:00 +02:00
chriseth
a20b23a7a8 Optimize double ISZERO. 2015-06-06 12:42:36 +02:00
chriseth
187f5de2dd Merge pull request #2096 from chriseth/sol_constantFallback
Fallback takes constant amount of gas, and send no gas with send.
2015-06-06 00:45:47 +02:00
chriseth
4141a0de5e Merge pull request #2084 from chriseth/sol_computeConstants
Compute constants
2015-06-05 19:22:30 +02:00
chriseth
7581330e51 Bare functions return success condition. 2015-06-05 17:37:16 +02:00
chriseth
4111cdf376 Compute constants 2015-06-05 17:34:26 +02:00
chriseth
7aff1fb942 Ability to specify the storage location of a reference type. 2015-06-05 14:44:05 +02:00
Liana Husikyan
1f3e93785e fixed assigning negative number to unsigned 2015-06-04 14:09:19 +02:00
Liana Husikyan
0e664b05aa - style fixes
- added test for uint8 = -1 which doesn't fail; todo: fix that
2015-06-04 12:42:55 +02:00
Liana Husikyan
c7e6bbb82c - conversion of positive literals to signed int
- tests
2015-06-04 11:48:09 +02:00
Liana Husikyan
5ef445f64f test
Conflicts:
	test/libsolidity/SolidityEndToEndTest.cpp
2015-06-04 11:48:09 +02:00
Paweł Bylica
3bacb6f377 Merge remote-tracking branch 'upstream/develop' into refactor_executive
Conflicts:
	test/libsolidity/solidityExecutionFramework.h
2015-06-03 17:16:33 +02:00
Paweł Bylica
6a64d18780 Merge remote-tracking branch 'upstream/develop' into feature/vm_gas_counter_refactor
Conflicts:
	libethereum/Executive.h
2015-06-02 11:57:13 +02:00
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
Liana Husikyan
b810df04f0 renamed the test framwork function. 2015-06-01 16:48:13 +02:00
Liana Husikyan
c6a8938ed7 fixed CALL case. added exception 2015-06-01 16:39:09 +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
Liana Husikyan
d863c8d088 corrected intends in solidityExecutionFramwork.h 2015-06-01 13:39:17 +02:00
Liana Husikyan
945418cc10 style fixes 2015-06-01 13:06:12 +02:00
Liana Husikyan
47f0e847e5 style fixes in test/libsolidity/solidityExecutionFramework.h
fixed the test
2015-06-01 13:06:12 +02:00
Liana Husikyan
ca8104397d removed exception when function is not found 2015-06-01 13:06:12 +02:00
Liana Husikyan
3ddae3209e special handle of send 2015-06-01 13:06:12 +02:00
Liana Husikyan
19fb836bf6 modified the test 2015-06-01 13:06:12 +02:00
Liana Husikyan
fde4ed6bf6 remove line for debugging 2015-06-01 13:06:12 +02:00
Liana Husikyan
f1c042df8c test for constructor (out of band exception) 2015-06-01 13:06:12 +02:00
Liana Husikyan
82dc10d492 test for exception in constructor 2015-06-01 13:06:12 +02:00
Liana Husikyan
4a2f18b41a one more test to test the call of non-existed function
Conflicts:
	test/libsolidity/SolidityEndToEndTest.cpp
2015-06-01 13:06:12 +02:00
Liana Husikyan
042491e0cc added test to check evm exception 2015-06-01 13:06:12 +02:00
Liana Husikyan
8967476a8d added error jump instead of STOP instraction in case of exception 2015-06-01 13:06:12 +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
Paweł Bylica
77dd832403 Rename Executive::setResultRef -> collectResult. 2015-05-28 11:56:28 +02:00
Paweł Bylica
ecd5108afc Change the way execution results are collected.
Changes handling ExecutionResult by Executive. From now execution results are collected on if a storage for results (ExecutionResult) is provided to an Executiove instance up front. This change allow better output management for calls - VM interface improved.
2015-05-28 08:56:21 +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
Paweł Bylica
3605d3e965 Fix code duplication in Executive::call overloadings. 2015-05-21 11:01:19 +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
Liana Husikyan
e38eefa9f6 Update SolidityEndToEndTest.cpp 2015-05-20 18:40:00 +02:00
Liana Husikyan
19262c12cf Update SolidityEndToEndTest.cpp 2015-05-20 18:38:52 +02:00
Liana Husikyan
a92591e519 style fix 2015-05-20 18:35:05 +02:00
Liana Husikyan
007c88216b Update SolidityEndToEndTest.cpp 2015-05-20 18:05:51 +02:00
Liana Husikyan
d006006c57 added tests to check references to struct type. 2015-05-20 17:57:41 +02:00
chriseth
79f11974ea Gas estimation taking known state into account. 2015-05-20 00:28:15 +02:00
Gav Wood
a5005aefff Move non-cryptopp dependent stuff into devcore. 2015-05-19 19:51:38 +02:00
Gav Wood
bae5779ab2 SHA3, RIPEMD160 and SHA256 are now not cryptopp impls. 2015-05-19 19:38:17 +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
b50362042e Known state: store tags on stack as unions. 2015-05-13 17:15:32 +02:00
Gav Wood
e3aca3dca9 Merge pull request #1875 from chriseth/sol_invertIf
Reverse if and else body.
2015-05-13 00:59:56 +03: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
Liana Husikyan
14b30c87ab Update SolidityABIJSON.cpp 2015-05-11 17:17:50 +02:00
Liana Husikyan
23925040a1 updated unit test 2015-05-11 17:16:52 +02:00
Liana Husikyan
ccc3d56542 bug in abi. fixed external type for return parameters 2015-05-11 16:46:17 +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
Liana Husikyan
37fbf06c98 added one more test 2015-05-08 17:52:09 +02:00
Liana Husikyan
960033de6b fixed the test 2015-05-08 17:51:53 +02:00
Liana Husikyan
757972b4e3 added test 2015-05-08 17:51:52 +02:00
chriseth
135a67ad52 New ABI encoding for dynamic types. 2015-05-08 16:54:39 +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
Gav Wood
fce1a7f82e Merge pull request #1743 from chriseth/evmasm
Move assembly related files to libevmasm and split parameters.
2015-05-05 16:06:17 +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
Gav Wood
717f255969 Merge pull request #1761 from chriseth/sol_fix_deleteBytes
Fix for deleting byte array elements.
2015-04-28 12:39:03 +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
Liana Husikyan
21ced7e9c5 changed the test so constructor will have input parameters 2015-04-27 13:08:32 +02:00
Liana Husikyan
5b07f11330 changed the implementation 2015-04-27 13:08:32 +02:00
Liana Husikyan
9b956e809d fixed the output of the test 2015-04-27 13:08:32 +02:00
Liana Husikyan
18475f8ae1 test for resalts 2015-04-27 13:08:32 +02:00
chriseth
cfe24c3c2a Try to keep source location during optimization. 2015-04-27 10:08:55 +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
Gav Wood
817f3d53e9 Merge pull request #1685 from chriseth/sol_fix_ripemd_alignment
Fixed byte alignment for return type of ripemd160 built-in contract.
2015-04-21 17:33:02 +02:00
Gav Wood
60d364540e Merge pull request #1699 from chriseth/sol_fix_contractTypesAsArguments
Fix for Contract and Enum types as external function arguments.
2015-04-21 17:32:01 +02:00
chriseth
e65b9825d6 Merge pull request #1634 from chriseth/sol_overloadingFunctions
Function overloading.
2015-04-21 15:58:06 +02:00