Commit Graph

6349 Commits

Author SHA1 Message Date
Yoichi Hirai
0123e74a2e
codegen: cleanup booleans before storing them into memory 2016-11-30 17:41:46 +01:00
Yoichi Hirai
03ccc6df70
codegen: truncate a boolean calldata down to one bit 2016-11-30 17:41:38 +01:00
Yoichi Hirai
b16cdbb57e
test: add a test that witnesses #1318 2016-11-30 17:40:34 +01:00
Alex Beregszaszi
ac357d1225 Merge pull request #1442 from ethereum/lll-testing
LLL: introduce testing framework
2016-11-30 15:46:20 +00:00
Alex Beregszaszi
53d4433484 LLL: simplify error handling in parseLLL 2016-11-30 15:06:13 +00:00
chriseth
6ae6c70cde Merge pull request #1449 from ethereum/doc-grammar
Include the grammar verbatim in the documentation
2016-11-30 16:01:37 +01:00
chriseth
e43a8ebc28 Merge pull request #1345 from ethereum/optimiser-rules
More optimiser rules
2016-11-30 14:26:01 +01:00
Alex Beregszaszi
2962426d53 Include the grammar verbatim in the documentation 2016-11-30 12:20:13 +00:00
Alex Beregszaszi
9a6a5f219b Fix sub-0 optimiser test 2016-11-30 11:51:00 +00:00
Yoichi Hirai
df4b405f9c Add more optimization rules 2016-11-30 11:16:43 +00:00
chriseth
4ff89dda1d Update SolidityOptimizer.cpp 2016-11-30 11:16:43 +00:00
Alex Beregszaszi
8d0b80f944 Add test for SUB with 0 optimisation 2016-11-30 11:16:43 +00:00
Alex Beregszaszi
3fdef92911 Replace XOR with self with 0 2016-11-30 11:16:43 +00:00
Alex Beregszaszi
b8bba66220 Replace XOR/ISZERO with EQ 2016-11-30 11:16:43 +00:00
Alex Beregszaszi
25160bfc26 Add optimiser rule for SUB with 0 2016-11-30 11:16:43 +00:00
Alex Beregszaszi
d82eac3fed LLL: parseLLL to be less greedy catching exceptions 2016-11-29 22:04:51 +00:00
Alex Beregszaszi
25c5dd48de Rename testSolidityAgainstCpp* to testContractAgainstCpp* 2016-11-29 21:54:28 +00:00
Alex Beregszaszi
0f1d0304ee LLLExecutionFramework doesn't support contractName/libraryAddresses 2016-11-29 21:54:28 +00:00
Alex Beregszaszi
94cae63390 Add callFallback to ExectionFramework 2016-11-29 21:54:28 +00:00
Alex Beregszaszi
85ebe4e5c4 LLL: check for return value in LLL smoke test 2016-11-29 21:54:27 +00:00
Alex Beregszaszi
e26466b729 LLL: add end-to-end tests 2016-11-29 21:54:27 +00:00
Alex Beregszaszi
d83dd59178 Move ExecutionFramework to the dev::test namespace 2016-11-29 21:54:27 +00:00
Alex Beregszaszi
a226db7338 Split out Solidity-specific part of ExecutionFramework 2016-11-29 21:54:27 +00:00
Alex Beregszaszi
4af30cc518 Add test/liblll to cmake 2016-11-29 21:54:27 +00:00
Alex Beregszaszi
69eb0ab5e3 LLL: add parser tests 2016-11-29 21:42:22 +00:00
Alex Beregszaszi
3ec0bb5bfa LLL: parseLLL to return empty string on failure 2016-11-29 21:42:22 +00:00
chriseth
f70f8cf06a Merge pull request #1445 from ethereum/doc-testing
Explain how to run soltest
2016-11-29 18:15:49 +01:00
chriseth
071cbc4a9d Merge pull request #1446 from ethereum/utf8-validate
Improve UTF8 validate
2016-11-29 15:14:10 +01:00
Alex Beregszaszi
a9e92cb686 Rename dev::validate to dev::validateUTF8 2016-11-28 22:28:21 +00:00
Alex Beregszaszi
c01426efec Make position optional in dev::validate 2016-11-28 22:27:55 +00:00
Alex Beregszaszi
83892399f0 Explain how to run soltest 2016-11-28 20:33:09 +00:00
chriseth
dadb4818ba Merge pull request #1443 from ethereum/unimplemented
Use solUnimplemented wherever possible
2016-11-28 14:09:01 +01:00
Alex Beregszaszi
f1bc979c0f Use solUnimplemented wherever possible 2016-11-28 09:51:02 +00:00
Alex Beregszaszi
4a67a2862c Merge pull request #1329 from ethereum/lll-lit-changes
LLL: improvements (and fixes) to the lit keyword
2016-11-26 15:22:14 +00:00
Alex Beregszaszi
eee10f1af2 LLL: simplify the LIT parsing code 2016-11-26 14:41:15 +00:00
chriseth
9c2ed33e9a Merge pull request #1342 from ethereum/emscripten-codesize
Emscripten code size improvements [WIP TEST]
2016-11-25 18:07:10 +01:00
chriseth
d7677826d4 Merge pull request #1395 from ethereum/grammar
Properly define the pragma directive in the grammar
2016-11-25 16:58:30 +01:00
chriseth
0933a4ff1a Merge pull request #1429 from ethereum/unreachablepeephole
Some dead code elimination
2016-11-25 16:57:59 +01:00
chriseth
b179dfd101 Merge pull request #1438 from ethereum/docker
Docker documentation.
2016-11-25 16:57:29 +01:00
chriseth
3a8a0708ff Merge pull request #1381 from ethereum/overflown_enum_compared
Enum overflow checking before writing to storage
2016-11-25 16:22:12 +01:00
chriseth
cf4e0549c3 Mention nightly. 2016-11-25 16:21:17 +01:00
chriseth
f521624952 Integrate AddPop. 2016-11-25 16:10:57 +01:00
chriseth
8a78b19516 Changelog. 2016-11-25 16:10:24 +01:00
chriseth
612c1726d9 Templatize. 2016-11-25 16:10:02 +01:00
chriseth
f2872bfa99 Peephole optimizer for unreacheable code. 2016-11-25 16:10:02 +01:00
chriseth
721b6a9696 Merge pull request #1439 from ethereum/utf
Disallow conversion of string literal into strings when the literal is not a valid UTF-8
2016-11-25 15:59:35 +01:00
Yoichi Hirai
0be5859503
codegen: cleanup values to fit in storage bytes 2016-11-25 15:50:46 +01:00
Yoichi Hirai
548b7ce42d
codegen: storing of non-value types; add some assertions 2016-11-25 15:45:18 +01:00
Yoichi Hirai
fa486f5b44
codegen: shorten the bit truncation 2016-11-25 15:45:18 +01:00
Yoichi Hirai
9d25b5601e
codegen: merge type conversion and cleaning up 2016-11-25 15:45:18 +01:00