mirror of
https://github.com/ethereum/solidity
synced 2023-10-03 13:03:40 +00:00
EWasm translation tests.
This commit is contained in:
@@ -0,0 +1,20 @@
|
||||
object "main"
|
||||
{
|
||||
code {
|
||||
datacopy(0, and(dataoffset("main"), 15), and(datasize("main"), 15))
|
||||
datacopy(32, and(dataoffset("sub"), 15), and(datasize("sub"), 15))
|
||||
sstore(0, mload(0))
|
||||
sstore(1, mload(32))
|
||||
}
|
||||
object "sub" { code { sstore(0, 1) } }
|
||||
}
|
||||
// ----
|
||||
// Trace:
|
||||
// Memory dump:
|
||||
// 0: 0000000000000000000000000000000000000000000000000000000000000001
|
||||
// 20: 636f6465636f6465000000000000000000000000000000000000000000000000
|
||||
// 40: 6465636f00000000000000000000000000000000000000000000000000000000
|
||||
// 60: 636f6465636f6465000000000000000000000000000000000000000000000000
|
||||
// Storage dump:
|
||||
// 0000000000000000000000000000000000000000000000000000000000000000: 6465636f00000000000000000000000000000000000000000000000000000000
|
||||
// 0000000000000000000000000000000000000000000000000000000000000001: 636f6465636f6465000000000000000000000000000000000000000000000000
|
||||
@@ -0,0 +1,16 @@
|
||||
object "main"
|
||||
{
|
||||
code {
|
||||
sstore(0, dataoffset("main"))
|
||||
sstore(1, dataoffset("sub"))
|
||||
}
|
||||
object "sub" { code { sstore(0, 1) } }
|
||||
}
|
||||
// ----
|
||||
// Trace:
|
||||
// Memory dump:
|
||||
// 0: 0000000000000000000000000000000000000000000000000000000000000001
|
||||
// 20: 000000000000000000000000000000000000000000000000000000000000070c
|
||||
// Storage dump:
|
||||
// 0000000000000000000000000000000000000000000000000000000000000000: 000000000000000000000000000000000000000000000000000000000000006e
|
||||
// 0000000000000000000000000000000000000000000000000000000000000001: 000000000000000000000000000000000000000000000000000000000000070c
|
||||
@@ -0,0 +1,16 @@
|
||||
object "main"
|
||||
{
|
||||
code {
|
||||
sstore(0, datasize("main"))
|
||||
sstore(1, datasize("sub"))
|
||||
}
|
||||
object "sub" { code { sstore(0, 1) } }
|
||||
}
|
||||
// ----
|
||||
// Trace:
|
||||
// Memory dump:
|
||||
// 0: 0000000000000000000000000000000000000000000000000000000000000001
|
||||
// 20: 0000000000000000000000000000000000000000000000000000000000000109
|
||||
// Storage dump:
|
||||
// 0000000000000000000000000000000000000000000000000000000000000000: 0000000000000000000000000000000000000000000000000000000000000b64
|
||||
// 0000000000000000000000000000000000000000000000000000000000000001: 0000000000000000000000000000000000000000000000000000000000000109
|
||||
@@ -0,0 +1,14 @@
|
||||
{
|
||||
mstore(0x20, 0x0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20)
|
||||
mstore(0x40, mload(0x20))
|
||||
sstore(1, mload(0x40))
|
||||
}
|
||||
// ----
|
||||
// Trace:
|
||||
// Memory dump:
|
||||
// 0: 0000000000000000000000000000000000000000000000000000000000000001
|
||||
// 20: 0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20
|
||||
// 60: 0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20
|
||||
// 80: 0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20
|
||||
// Storage dump:
|
||||
// 0000000000000000000000000000000000000000000000000000000000000001: 0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20
|
||||
@@ -0,0 +1,17 @@
|
||||
{
|
||||
let x := 0x0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20
|
||||
let y := shl(120, x)
|
||||
let z := shr(136, y)
|
||||
sstore(0, y)
|
||||
sstore(1, z)
|
||||
}
|
||||
// ====
|
||||
// EVMVersion: >=constantinople
|
||||
// ----
|
||||
// Trace:
|
||||
// Memory dump:
|
||||
// 0: 0000000000000000000000000000000000000000000000000000000000000001
|
||||
// 20: 0000000000000000000000000000000000101112131415161718191a1b1c1d1e
|
||||
// Storage dump:
|
||||
// 0000000000000000000000000000000000000000000000000000000000000000: 101112131415161718191a1b1c1d1e1f20000000000000000000000000000000
|
||||
// 0000000000000000000000000000000000000000000000000000000000000001: 0000000000000000000000000000000000101112131415161718191a1b1c1d1e
|
||||
@@ -0,0 +1,8 @@
|
||||
{
|
||||
mstore(0x20, 0x0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20)
|
||||
}
|
||||
// ----
|
||||
// Trace:
|
||||
// Memory dump:
|
||||
// 60: 0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20
|
||||
// Storage dump:
|
||||
@@ -0,0 +1,12 @@
|
||||
{
|
||||
sstore(1, 7)
|
||||
sstore(2, sub(0, 1))
|
||||
}
|
||||
// ----
|
||||
// Trace:
|
||||
// Memory dump:
|
||||
// 0: 0000000000000000000000000000000000000000000000000000000000000002
|
||||
// 20: ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
|
||||
// Storage dump:
|
||||
// 0000000000000000000000000000000000000000000000000000000000000001: 0000000000000000000000000000000000000000000000000000000000000007
|
||||
// 0000000000000000000000000000000000000000000000000000000000000002: ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
|
||||
@@ -0,0 +1,5 @@
|
||||
{}
|
||||
// ----
|
||||
// Trace:
|
||||
// Memory dump:
|
||||
// Storage dump:
|
||||
Reference in New Issue
Block a user