|
|
@ -97,7 +97,7 @@ public: |
|
|
|
{ |
|
|
|
eth::KnownState state; |
|
|
|
for (auto const& item: addDummyLocations(_input)) |
|
|
|
state.feedItem(item); |
|
|
|
state.feedItem(item, true); |
|
|
|
return state; |
|
|
|
} |
|
|
|
|
|
|
@ -884,21 +884,18 @@ BOOST_AUTO_TEST_CASE(cse_sha3_twice_same_content_noninterfering_store_in_between |
|
|
|
BOOST_CHECK_EQUAL(1, count(output.begin(), output.end(), AssemblyItem(Instruction::SHA3))); |
|
|
|
} |
|
|
|
|
|
|
|
// ******************************
|
|
|
|
// DISABLED DUE TO FAILURE ON OSX
|
|
|
|
// ******************************
|
|
|
|
//BOOST_AUTO_TEST_CASE(cse_with_initially_known_stack)
|
|
|
|
//{
|
|
|
|
// eth::KnownState state = createInitialState(AssemblyItems{
|
|
|
|
// u256(0x12),
|
|
|
|
// u256(0x20),
|
|
|
|
// Instruction::ADD
|
|
|
|
// });
|
|
|
|
// AssemblyItems input{
|
|
|
|
// u256(0x12 + 0x20)
|
|
|
|
// };
|
|
|
|
// checkCSE(input, AssemblyItems{Instruction::DUP1}, state);
|
|
|
|
//}
|
|
|
|
BOOST_AUTO_TEST_CASE(cse_with_initially_known_stack) |
|
|
|
{ |
|
|
|
eth::KnownState state = createInitialState(AssemblyItems{ |
|
|
|
u256(0x12), |
|
|
|
u256(0x20), |
|
|
|
Instruction::ADD |
|
|
|
}); |
|
|
|
AssemblyItems input{ |
|
|
|
u256(0x12 + 0x20) |
|
|
|
}; |
|
|
|
checkCSE(input, AssemblyItems{Instruction::DUP1}, state); |
|
|
|
} |
|
|
|
|
|
|
|
BOOST_AUTO_TEST_CASE(cse_equality_on_initially_known_stack) |
|
|
|
{ |
|
|
|