mirror of
https://github.com/ethereum/solidity
synced 2023-10-03 13:03:40 +00:00
Add trace for unreachable in Yul Ewasm translation tests
This commit is contained in:
parent
1c01c69eab
commit
2a808e4f32
@ -4,6 +4,7 @@
|
|||||||
}
|
}
|
||||||
// ----
|
// ----
|
||||||
// Trace:
|
// Trace:
|
||||||
|
// INVALID()
|
||||||
// Memory dump:
|
// Memory dump:
|
||||||
// 0: 0000000000000000000000000000000011111111000000000000000000000000
|
// 0: 0000000000000000000000000000000011111111000000000000000000000000
|
||||||
// Storage dump:
|
// Storage dump:
|
||||||
|
@ -3,5 +3,6 @@
|
|||||||
}
|
}
|
||||||
// ----
|
// ----
|
||||||
// Trace:
|
// Trace:
|
||||||
|
// INVALID()
|
||||||
// Memory dump:
|
// Memory dump:
|
||||||
// Storage dump:
|
// Storage dump:
|
||||||
|
@ -5,5 +5,6 @@
|
|||||||
// EVMVersion: >=istanbul
|
// EVMVersion: >=istanbul
|
||||||
// ----
|
// ----
|
||||||
// Trace:
|
// Trace:
|
||||||
|
// INVALID()
|
||||||
// Memory dump:
|
// Memory dump:
|
||||||
// Storage dump:
|
// Storage dump:
|
||||||
|
@ -3,5 +3,6 @@
|
|||||||
}
|
}
|
||||||
// ----
|
// ----
|
||||||
// Trace:
|
// Trace:
|
||||||
|
// INVALID()
|
||||||
// Memory dump:
|
// Memory dump:
|
||||||
// Storage dump:
|
// Storage dump:
|
||||||
|
@ -4,6 +4,7 @@
|
|||||||
}
|
}
|
||||||
// ----
|
// ----
|
||||||
// Trace:
|
// Trace:
|
||||||
|
// INVALID()
|
||||||
// Memory dump:
|
// Memory dump:
|
||||||
// 0: 0000000000000000000000000000000011111111000000000000000000000000
|
// 0: 0000000000000000000000000000000011111111000000000000000000000000
|
||||||
// Storage dump:
|
// Storage dump:
|
||||||
|
@ -5,6 +5,7 @@
|
|||||||
// EVMVersion: >=constantinople
|
// EVMVersion: >=constantinople
|
||||||
// ----
|
// ----
|
||||||
// Trace:
|
// Trace:
|
||||||
|
// INVALID()
|
||||||
// Memory dump:
|
// Memory dump:
|
||||||
// 0: 0000000000000000000000000000000011111111000000000000000000000000
|
// 0: 0000000000000000000000000000000011111111000000000000000000000000
|
||||||
// Storage dump:
|
// Storage dump:
|
||||||
|
@ -3,6 +3,7 @@
|
|||||||
}
|
}
|
||||||
// ----
|
// ----
|
||||||
// Trace:
|
// Trace:
|
||||||
|
// INVALID()
|
||||||
// Memory dump:
|
// Memory dump:
|
||||||
// 0: 0000000000000000000000000000000011111111000000000000000000000000
|
// 0: 0000000000000000000000000000000011111111000000000000000000000000
|
||||||
// Storage dump:
|
// Storage dump:
|
||||||
|
@ -7,6 +7,7 @@
|
|||||||
}
|
}
|
||||||
// ----
|
// ----
|
||||||
// Trace:
|
// Trace:
|
||||||
|
// INVALID()
|
||||||
// Memory dump:
|
// Memory dump:
|
||||||
// 20: 0000000000000000000000000000000000000000000000000000000000001234
|
// 20: 0000000000000000000000000000000000000000000000000000000000001234
|
||||||
// Storage dump:
|
// Storage dump:
|
||||||
|
@ -4,5 +4,6 @@
|
|||||||
}
|
}
|
||||||
// ----
|
// ----
|
||||||
// Trace:
|
// Trace:
|
||||||
|
// INVALID()
|
||||||
// Memory dump:
|
// Memory dump:
|
||||||
// Storage dump:
|
// Storage dump:
|
||||||
|
@ -3,5 +3,6 @@
|
|||||||
}
|
}
|
||||||
// ----
|
// ----
|
||||||
// Trace:
|
// Trace:
|
||||||
|
// INVALID()
|
||||||
// Memory dump:
|
// Memory dump:
|
||||||
// Storage dump:
|
// Storage dump:
|
||||||
|
@ -3,5 +3,6 @@
|
|||||||
}
|
}
|
||||||
// ----
|
// ----
|
||||||
// Trace:
|
// Trace:
|
||||||
|
// INVALID()
|
||||||
// Memory dump:
|
// Memory dump:
|
||||||
// Storage dump:
|
// Storage dump:
|
||||||
|
@ -3,5 +3,6 @@
|
|||||||
}
|
}
|
||||||
// ----
|
// ----
|
||||||
// Trace:
|
// Trace:
|
||||||
|
// INVALID()
|
||||||
// Memory dump:
|
// Memory dump:
|
||||||
// Storage dump:
|
// Storage dump:
|
||||||
|
@ -3,5 +3,6 @@
|
|||||||
}
|
}
|
||||||
// ----
|
// ----
|
||||||
// Trace:
|
// Trace:
|
||||||
|
// INVALID()
|
||||||
// Memory dump:
|
// Memory dump:
|
||||||
// Storage dump:
|
// Storage dump:
|
||||||
|
@ -3,5 +3,6 @@
|
|||||||
}
|
}
|
||||||
// ----
|
// ----
|
||||||
// Trace:
|
// Trace:
|
||||||
|
// INVALID()
|
||||||
// Memory dump:
|
// Memory dump:
|
||||||
// Storage dump:
|
// Storage dump:
|
||||||
|
@ -7,5 +7,6 @@
|
|||||||
}
|
}
|
||||||
// ----
|
// ----
|
||||||
// Trace:
|
// Trace:
|
||||||
|
// INVALID()
|
||||||
// Memory dump:
|
// Memory dump:
|
||||||
// Storage dump:
|
// Storage dump:
|
||||||
|
@ -8,6 +8,7 @@
|
|||||||
}
|
}
|
||||||
// ----
|
// ----
|
||||||
// Trace:
|
// Trace:
|
||||||
|
// INVALID()
|
||||||
// Memory dump:
|
// Memory dump:
|
||||||
// 60: 00000000000000000000000000000000ffffffffffffffffffffffffffffffff
|
// 60: 00000000000000000000000000000000ffffffffffffffffffffffffffffffff
|
||||||
// 80: ffffffffffffffffffffffffffffffff00000000000000000000000000000000
|
// 80: ffffffffffffffffffffffffffffffff00000000000000000000000000000000
|
||||||
|
@ -3,5 +3,6 @@
|
|||||||
}
|
}
|
||||||
// ----
|
// ----
|
||||||
// Trace:
|
// Trace:
|
||||||
|
// INVALID()
|
||||||
// Memory dump:
|
// Memory dump:
|
||||||
// Storage dump:
|
// Storage dump:
|
||||||
|
@ -5,5 +5,6 @@
|
|||||||
// EVMVersion: >=istanbul
|
// EVMVersion: >=istanbul
|
||||||
// ----
|
// ----
|
||||||
// Trace:
|
// Trace:
|
||||||
|
// INVALID()
|
||||||
// Memory dump:
|
// Memory dump:
|
||||||
// Storage dump:
|
// Storage dump:
|
||||||
|
@ -3,6 +3,7 @@
|
|||||||
}
|
}
|
||||||
// ----
|
// ----
|
||||||
// Trace:
|
// Trace:
|
||||||
|
// INVALID()
|
||||||
// Memory dump:
|
// Memory dump:
|
||||||
// 0: 0000000000000000000000000000000011111111000000000000000000000000
|
// 0: 0000000000000000000000000000000011111111000000000000000000000000
|
||||||
// Storage dump:
|
// Storage dump:
|
||||||
|
@ -3,6 +3,7 @@
|
|||||||
}
|
}
|
||||||
// ----
|
// ----
|
||||||
// Trace:
|
// Trace:
|
||||||
|
// INVALID()
|
||||||
// Memory dump:
|
// Memory dump:
|
||||||
// 0: 0000000000000000000000000000000011111111000000000000000000000000
|
// 0: 0000000000000000000000000000000011111111000000000000000000000000
|
||||||
// Storage dump:
|
// Storage dump:
|
||||||
|
@ -5,6 +5,7 @@
|
|||||||
}
|
}
|
||||||
// ----
|
// ----
|
||||||
// Trace:
|
// Trace:
|
||||||
|
// INVALID()
|
||||||
// Memory dump:
|
// Memory dump:
|
||||||
// 0: 0000000000000000000000000000000000000000000000000000000000000014
|
// 0: 0000000000000000000000000000000000000000000000000000000000000014
|
||||||
// 40: 636f6465636f6465636f6465636f6465636f6465000000000000000000000000
|
// 40: 636f6465636f6465636f6465636f6465636f6465000000000000000000000000
|
||||||
|
@ -7,6 +7,7 @@
|
|||||||
// EVMVersion: >=constantinople
|
// EVMVersion: >=constantinople
|
||||||
// ----
|
// ----
|
||||||
// Trace:
|
// Trace:
|
||||||
|
// INVALID()
|
||||||
// Memory dump:
|
// Memory dump:
|
||||||
// 0: 0000000000000000000000000000000000000000000000000000000000000014
|
// 0: 0000000000000000000000000000000000000000000000000000000000000014
|
||||||
// 80: 636f6465636f6465636f6465636f6465636f6465000000000000000000000000
|
// 80: 636f6465636f6465636f6465636f6465636f6465000000000000000000000000
|
||||||
|
@ -3,6 +3,7 @@
|
|||||||
}
|
}
|
||||||
// ----
|
// ----
|
||||||
// Trace:
|
// Trace:
|
||||||
|
// INVALID()
|
||||||
// Memory dump:
|
// Memory dump:
|
||||||
// 0: 0000000000000000000000000000000011111111000000000000000000000000
|
// 0: 0000000000000000000000000000000011111111000000000000000000000000
|
||||||
// Storage dump:
|
// Storage dump:
|
||||||
|
@ -5,6 +5,7 @@
|
|||||||
// EVMVersion: >=byzantium
|
// EVMVersion: >=byzantium
|
||||||
// ----
|
// ----
|
||||||
// Trace:
|
// Trace:
|
||||||
|
// INVALID()
|
||||||
// Memory dump:
|
// Memory dump:
|
||||||
// 0: 0000000000000000000000000000000011111111000000000000000000000000
|
// 0: 0000000000000000000000000000000011111111000000000000000000000000
|
||||||
// Storage dump:
|
// Storage dump:
|
||||||
|
@ -79,7 +79,10 @@ u256 EWasmBuiltinInterpreter::evalBuiltin(YulString _fun, vector<u256> const& _a
|
|||||||
else if (_fun == "drop"_yulstring)
|
else if (_fun == "drop"_yulstring)
|
||||||
return {};
|
return {};
|
||||||
else if (_fun == "unreachable"_yulstring)
|
else if (_fun == "unreachable"_yulstring)
|
||||||
|
{
|
||||||
|
logTrace(eth::Instruction::INVALID, {});
|
||||||
throw ExplicitlyTerminated();
|
throw ExplicitlyTerminated();
|
||||||
|
}
|
||||||
else if (_fun == "i64.add"_yulstring)
|
else if (_fun == "i64.add"_yulstring)
|
||||||
return arg[0] + arg[1];
|
return arg[0] + arg[1];
|
||||||
else if (_fun == "i64.sub"_yulstring)
|
else if (_fun == "i64.sub"_yulstring)
|
||||||
|
Loading…
Reference in New Issue
Block a user