mirror of
https://github.com/ethereum/solidity
synced 2023-10-03 13:03:40 +00:00
Remove EWASM backend.
This commit is contained in:
@@ -11,7 +11,5 @@ contract C {
|
||||
b = s[1];
|
||||
}
|
||||
}
|
||||
// ====
|
||||
// compileToEwasm: also
|
||||
// ----
|
||||
// f(uint256[2]): 42, 23 -> 42, 23
|
||||
|
||||
@@ -12,8 +12,6 @@ contract Test {
|
||||
return f(c[start: end]);
|
||||
}
|
||||
}
|
||||
// ====
|
||||
// compileToEwasm: also
|
||||
// ----
|
||||
// g(uint256[]): 0x20, 4, 1, 2, 3, 4 -> 4, 1
|
||||
// h(uint256[],uint256,uint256): 0x60, 1, 3, 4, 1, 2, 3, 4 -> 2, 2
|
||||
|
||||
@@ -11,8 +11,6 @@ contract C {
|
||||
return 42;
|
||||
}
|
||||
}
|
||||
// ====
|
||||
// compileToEwasm: also
|
||||
// ----
|
||||
// f(uint256[][]): 0x20, 0x0 -> 42 # valid access stub #
|
||||
// f(uint256[][]): 0x20, 0x1 -> FAILURE # invalid on argument decoding #
|
||||
|
||||
@@ -19,8 +19,5 @@ contract C {
|
||||
d = s[1].b;
|
||||
}
|
||||
}
|
||||
|
||||
// ====
|
||||
// compileToEwasm: also
|
||||
// ----
|
||||
// f((uint256,uint256)[]): 0x20, 0x2, 0x1, 0x2, 0x3, 0x4 -> 2, 1, 2, 3, 4
|
||||
|
||||
@@ -6,8 +6,6 @@ contract C {
|
||||
return (x[start:end][index], x[start:][0:end-start][index], x[:end][start:][index]);
|
||||
}
|
||||
}
|
||||
// ====
|
||||
// compileToEwasm: also
|
||||
// ----
|
||||
// f(uint256[],uint256,uint256): 0x80, 0, 0, 0, 1, 42 ->
|
||||
// f(uint256[],uint256,uint256): 0x80, 0, 1, 0, 1, 42 ->
|
||||
|
||||
@@ -3,7 +3,5 @@ contract C {
|
||||
return bytes.concat();
|
||||
}
|
||||
}
|
||||
// ====
|
||||
// compileToEwasm: also
|
||||
// ----
|
||||
// f() -> 0x20, 0
|
||||
|
||||
@@ -18,8 +18,6 @@ contract C {
|
||||
return bytes.concat(b, "abc", b, "abc", b);
|
||||
}
|
||||
}
|
||||
// ====
|
||||
// compileToEwasm: also
|
||||
// ----
|
||||
// f() -> 0x20, 0
|
||||
// g() -> 0x20, 6, "abcabc"
|
||||
|
||||
@@ -6,7 +6,6 @@ contract C {
|
||||
a = _a;
|
||||
}
|
||||
}
|
||||
|
||||
// ----
|
||||
// constructor(): 1, 2, 3 ->
|
||||
// gas irOptimized: 140952
|
||||
|
||||
@@ -16,7 +16,6 @@ contract c {
|
||||
e = data2[5];
|
||||
}
|
||||
}
|
||||
|
||||
// ----
|
||||
// test() -> 0x01000000000000000000000000000000000000000000000000, 0x02000000000000000000000000000000000000000000000000, 0x03000000000000000000000000000000000000000000000000, 0x04000000000000000000000000000000000000000000000000, 0x05000000000000000000000000000000000000000000000000
|
||||
// gas irOptimized: 208122
|
||||
|
||||
@@ -10,7 +10,6 @@ contract c {
|
||||
return c[1][1] | c[1][2] | c[1][3] | c[1][4];
|
||||
}
|
||||
}
|
||||
|
||||
// ----
|
||||
// test(uint256[2][]): 32, 3, 7, 8, 9, 10, 11, 12 -> 10
|
||||
// gas irOptimized: 689714
|
||||
|
||||
@@ -15,6 +15,5 @@ contract c {
|
||||
return x;
|
||||
}
|
||||
}
|
||||
|
||||
// ----
|
||||
// test() -> 0x20, 0x8, -1, -1, 8, -16, -2, 6, 8, -1
|
||||
|
||||
-2
@@ -19,8 +19,6 @@ contract c {
|
||||
y = data2[0][4];
|
||||
}
|
||||
}
|
||||
// ====
|
||||
// compileToEwasm: also
|
||||
// ----
|
||||
// test() -> 3, 4
|
||||
// gas irOptimized: 169602
|
||||
|
||||
-1
@@ -15,7 +15,6 @@ contract c {
|
||||
y = data2[4];
|
||||
}
|
||||
}
|
||||
|
||||
// ----
|
||||
// test() -> 5, 4
|
||||
// gas irOptimized: 252986
|
||||
|
||||
-1
@@ -9,7 +9,6 @@ contract c {
|
||||
y = data2[8];
|
||||
}
|
||||
}
|
||||
|
||||
// ----
|
||||
// test() -> 9, 4
|
||||
// gas irOptimized: 123142
|
||||
|
||||
-2
@@ -9,8 +9,6 @@ contract C {
|
||||
return (data2[0], data2[1]);
|
||||
}
|
||||
}
|
||||
// ====
|
||||
// compileToEwasm: also
|
||||
// ----
|
||||
// test() -> left(0x01), left(0x02)
|
||||
// gas legacy: 90001
|
||||
|
||||
-3
@@ -12,9 +12,6 @@ contract c {
|
||||
y = data1[30]; // should be cleared
|
||||
}
|
||||
}
|
||||
|
||||
// ====
|
||||
// compileToEwasm: also
|
||||
// ----
|
||||
// test() -> 8, 0
|
||||
// gas irOptimized: 196278
|
||||
|
||||
@@ -15,8 +15,6 @@ contract c {
|
||||
res2 |= uint(uint16(data2[16 + i])) * 0x10000**i;
|
||||
}
|
||||
}
|
||||
// ====
|
||||
// compileToEwasm: also
|
||||
// ----
|
||||
// test() -> 0xffffffff, 0x0000000000000000000000000a00090008000700060005000400030002000100, 0x0000000000000000000000000000000000000000000000000000000000000000
|
||||
// gas irOptimized: 104665
|
||||
|
||||
@@ -17,8 +17,6 @@ contract c {
|
||||
r3 = data2[5];
|
||||
}
|
||||
}
|
||||
// ====
|
||||
// compileToEwasm: also
|
||||
// ----
|
||||
// test() -> 0x04000000000000000000000000000000000000000000000000, 0x0, 0x0
|
||||
// gas irOptimized: 93858
|
||||
|
||||
@@ -16,9 +16,6 @@ contract c {
|
||||
e = data2[9];
|
||||
}
|
||||
}
|
||||
|
||||
// ====
|
||||
// compileToEwasm: also
|
||||
// ----
|
||||
// test() -> 0x01000000000000000000000000000000000000000000000000, 0x02000000000000000000000000000000000000000000000000, 0x03000000000000000000000000000000000000000000000000, 0x04000000000000000000000000000000000000000000000000, 0x0
|
||||
// gas irOptimized: 273576
|
||||
|
||||
@@ -16,9 +16,6 @@ contract c {
|
||||
e = data2[9];
|
||||
}
|
||||
}
|
||||
|
||||
// ====
|
||||
// compileToEwasm: also
|
||||
// ----
|
||||
// test() -> 0x01000000000000000000000000000000000000000000000000, 0x02000000000000000000000000000000000000000000000000, 0x03000000000000000000000000000000000000000000000000, 0x04000000000000000000000000000000000000000000000000, 0x00
|
||||
// gas irOptimized: 233285
|
||||
|
||||
@@ -50,7 +50,6 @@ contract C {
|
||||
return m[0];
|
||||
}
|
||||
}
|
||||
|
||||
// ----
|
||||
// from_storage() -> 0x20, 2, 0x40, 0xa0, 2, 10, 11, 3, 12, 13, 14
|
||||
// gas irOptimized: 150061
|
||||
|
||||
@@ -37,7 +37,6 @@ contract C {
|
||||
return a4;
|
||||
}
|
||||
}
|
||||
|
||||
// ----
|
||||
// test1() -> 0x20, 2, 0x40, 0xa0, 2, 1, 2, 3, 3, 4, 5
|
||||
// test2() -> 0x20, 0x40, 0xc0, 3, 6, 7, 8, 1, 9
|
||||
|
||||
@@ -10,8 +10,6 @@ contract C {
|
||||
return (a[32], b[1], c[2]);
|
||||
}
|
||||
}
|
||||
// ====
|
||||
// compileToEwasm: also
|
||||
// ----
|
||||
// f() -> 1, 2, 3
|
||||
// gas irOptimized: 131932
|
||||
|
||||
@@ -35,7 +35,6 @@ contract C {
|
||||
return m[0];
|
||||
}
|
||||
}
|
||||
|
||||
// ----
|
||||
// from_storage() -> 0x20, 2, 0x40, 0xa0, 2, 10, 11, 3, 12, 13, 14
|
||||
// gas irOptimized: 147892
|
||||
|
||||
@@ -6,7 +6,5 @@ contract C {
|
||||
return s[0];
|
||||
}
|
||||
}
|
||||
// ====
|
||||
// compileToEwasm: also
|
||||
// ----
|
||||
// f() -> "a"
|
||||
|
||||
@@ -5,7 +5,5 @@ contract C {
|
||||
return data[0];
|
||||
}
|
||||
}
|
||||
// ====
|
||||
// compileToEwasm: also
|
||||
// ----
|
||||
// f() -> "a"
|
||||
|
||||
@@ -20,6 +20,5 @@ contract C {
|
||||
d = m[1].b;
|
||||
}
|
||||
}
|
||||
|
||||
// ----
|
||||
// f((uint256,uint256)[]): 0x20, 0x2, 0x1, 0x2, 0x3, 0x4 -> 2, 1, 2, 3, 4
|
||||
|
||||
@@ -4,7 +4,5 @@ contract C {
|
||||
return (m1[0], m1[1]);
|
||||
}
|
||||
}
|
||||
// ====
|
||||
// compileToEwasm: also
|
||||
// ----
|
||||
// f(uint256[2]): 43, 57 -> 43, 57
|
||||
|
||||
@@ -10,7 +10,6 @@ contract C {
|
||||
return m[0];
|
||||
}
|
||||
}
|
||||
|
||||
// ====
|
||||
// compileViaYul: true
|
||||
// ----
|
||||
|
||||
@@ -5,7 +5,5 @@ contract C {
|
||||
return s[0];
|
||||
}
|
||||
}
|
||||
// ====
|
||||
// compileToEwasm: also
|
||||
// ----
|
||||
// f(bytes): 0x20, 0x08, "abcdefgh" -> "a"
|
||||
|
||||
@@ -10,6 +10,5 @@ contract C {
|
||||
return (a.length, m);
|
||||
}
|
||||
}
|
||||
|
||||
// ----
|
||||
// f(uint256[][]): 0x20, 0x1, 0x20, 0x2, 0x17, 0x2a -> 0x1, 0x40, 0x2, 0x17, 0x2a
|
||||
|
||||
@@ -13,7 +13,6 @@ contract C {
|
||||
return 7;
|
||||
}
|
||||
}
|
||||
|
||||
// ----
|
||||
// test() -> 7
|
||||
// gas irOptimized: 122477
|
||||
|
||||
-3
@@ -16,9 +16,6 @@ contract C {
|
||||
return 2;
|
||||
}
|
||||
}
|
||||
|
||||
// ====
|
||||
// compileToEwasm: also
|
||||
// ----
|
||||
// one() -> 3
|
||||
// gas legacy: 140253
|
||||
|
||||
@@ -16,8 +16,6 @@ contract sender {
|
||||
bytes savedData1;
|
||||
bytes savedData2;
|
||||
}
|
||||
// ====
|
||||
// compileToEwasm: false
|
||||
// ----
|
||||
// (): 7 ->
|
||||
// gas irOptimized: 110820
|
||||
|
||||
@@ -14,6 +14,5 @@ contract C {
|
||||
}
|
||||
// ====
|
||||
// compileViaYul: true
|
||||
// compileToEwasm: also
|
||||
// ----
|
||||
// f() -> 0x6465616462656566000000000000000000000000000000000000000000000010
|
||||
|
||||
-2
@@ -27,8 +27,6 @@ contract C {
|
||||
return s3[0];
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
// ====
|
||||
// compileViaYul: true
|
||||
// ----
|
||||
|
||||
-2
@@ -27,8 +27,6 @@ contract C {
|
||||
return s3[0];
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
// ====
|
||||
// compileViaYul: true
|
||||
// ----
|
||||
|
||||
-1
@@ -31,7 +31,6 @@ contract C {
|
||||
return tmp[0];
|
||||
}
|
||||
}
|
||||
|
||||
// ----
|
||||
// test1(uint8[][][]): 0x20, 2, 0x40, 0x60, 0, 2, 0x40, 0x80, 1, 7, 2, 8, 9 -> 0x20, 2, 0x40, 0x80, 1, 7, 2, 8, 9
|
||||
// test2(uint8[][1][]): 0x20, 2, 0x40, 0xe0, 0x20, 3, 12, 13, 14, 0x20, 3, 15, 16, 17 -> 0x20, 0x20, 3, 12, 13, 14
|
||||
|
||||
-1
@@ -22,7 +22,6 @@ contract C {
|
||||
require(a2[1][1][1] == 0);
|
||||
}
|
||||
}
|
||||
|
||||
// ----
|
||||
// test(uint8[2][2][2]): 1, 2, 3, 4, 5, 6, 7, 8
|
||||
// test2(uint8[2][2]): 1, 2, 3, 4
|
||||
|
||||
@@ -31,7 +31,6 @@ contract C {
|
||||
return tmp[0];
|
||||
}
|
||||
}
|
||||
|
||||
// ----
|
||||
// test1(uint8[][][]): 0x20, 2, 0x40, 0x60, 0, 2, 0x40, 0x80, 1, 7, 2, 8, 9 -> 0x20, 2, 0x40, 0x80, 1, 7, 2, 8, 9
|
||||
// test2(uint8[][1][]): 0x20, 2, 0x40, 0xe0, 0x20, 3, 12, 13, 14, 0x20, 3, 15, 16, 17 -> 0x20, 0x20, 3, 12, 13, 14
|
||||
|
||||
-1
@@ -22,7 +22,6 @@ contract C {
|
||||
require(a2[1][1][1] == 0);
|
||||
}
|
||||
}
|
||||
|
||||
// ----
|
||||
// test(uint8[2][2][2]): 1, 2, 3, 4, 5, 6, 7, 8
|
||||
// test2(uint8[2][2]): 1, 2, 3, 4
|
||||
|
||||
-1
@@ -60,7 +60,6 @@ contract C {
|
||||
return tmp;
|
||||
}
|
||||
}
|
||||
|
||||
// ----
|
||||
// test1() -> 0x20, 2, 0x40, 0xa0, 2, 3, 4, 2, 5, 6
|
||||
// test2() -> 0x20, 2, 0x40, 0xa0, 2, 6, 7, 2, 8, 9
|
||||
|
||||
-1
@@ -68,7 +68,6 @@ contract C {
|
||||
require(dst4[1][1] == src4[0][1][1]);
|
||||
}
|
||||
}
|
||||
|
||||
// ----
|
||||
// test1() ->
|
||||
// gas irOptimized: 150508
|
||||
|
||||
-1
@@ -18,7 +18,6 @@ contract C {
|
||||
return a;
|
||||
}
|
||||
}
|
||||
|
||||
// ----
|
||||
// test1((uint8,uint8)[1][2]): 1, 2, 3, 4 -> 1, 2, 3, 4
|
||||
// test2((uint8,uint8)[1][]): 0x20, 3, 7, 11, 13, 17, 19, 23 -> 0x20, 3, 7, 11, 13, 17, 19, 23
|
||||
|
||||
-2
@@ -25,8 +25,6 @@ contract C {
|
||||
return s3;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
// ====
|
||||
// compileViaYul: true
|
||||
// ----
|
||||
|
||||
-1
@@ -18,7 +18,6 @@ contract C {
|
||||
r = a;
|
||||
}
|
||||
}
|
||||
|
||||
// ----
|
||||
// test1((uint8,uint8)[1][2]): 1, 2, 3, 4 -> 1, 2, 3, 4
|
||||
// test2((uint8,uint8)[1][]): 0x20, 3, 7, 11, 13, 17, 19, 23 -> 0x20, 3, 7, 11, 13, 17, 19, 23
|
||||
|
||||
-2
@@ -25,8 +25,6 @@ contract C {
|
||||
return s3;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
// ====
|
||||
// compileViaYul: true
|
||||
// ----
|
||||
|
||||
-1
@@ -59,7 +59,6 @@ contract C {
|
||||
require(dst3[1][0].y == src3[1][0].y);
|
||||
}
|
||||
}
|
||||
|
||||
// ====
|
||||
// compileViaYul: true
|
||||
// ----
|
||||
|
||||
-1
@@ -37,7 +37,6 @@ contract C {
|
||||
return s2[0];
|
||||
}
|
||||
}
|
||||
|
||||
// ====
|
||||
// compileViaYul: true
|
||||
// ----
|
||||
|
||||
-1
@@ -26,7 +26,6 @@ contract C {
|
||||
require(a2[1].length == 0);
|
||||
}
|
||||
}
|
||||
|
||||
// ====
|
||||
// compileViaYul: true
|
||||
// ----
|
||||
|
||||
@@ -9,7 +9,5 @@ contract C {
|
||||
return (m[0], m[16], m[32]);
|
||||
}
|
||||
}
|
||||
// ====
|
||||
// compileToEwasm: also
|
||||
// ----
|
||||
// f() -> 2, 3, 4
|
||||
|
||||
@@ -4,7 +4,5 @@ contract C {
|
||||
return 7;
|
||||
}
|
||||
}
|
||||
// ====
|
||||
// compileToEwasm: also
|
||||
// ----
|
||||
// f() -> 7
|
||||
|
||||
@@ -19,8 +19,6 @@ contract C {
|
||||
y[0] = 23;
|
||||
return x[2];
|
||||
}}
|
||||
// ====
|
||||
// compileToEwasm: also
|
||||
// ----
|
||||
// f() -> FAILURE, hex"4e487b71", 0x41
|
||||
// g() -> FAILURE, hex"4e487b71", 0x41
|
||||
|
||||
@@ -29,7 +29,5 @@ contract C {
|
||||
return 0;
|
||||
}
|
||||
}
|
||||
// ====
|
||||
// compileToEwasm: also
|
||||
// ----
|
||||
// f() -> 7
|
||||
|
||||
@@ -29,7 +29,6 @@ contract C {
|
||||
assert(size == 0);
|
||||
}
|
||||
}
|
||||
|
||||
// ----
|
||||
// f() -> 0
|
||||
// g() -> 0
|
||||
|
||||
@@ -10,6 +10,5 @@ contract C {
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// ----
|
||||
// len() -> 0
|
||||
|
||||
@@ -15,6 +15,5 @@ contract C {
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
||||
// ----
|
||||
// f() -> true # This code interprets x as an array length and thus will go out of gas. neither of the two should throw due to out-of-bounds access #
|
||||
|
||||
@@ -32,7 +32,6 @@ contract C {
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// ----
|
||||
// len() -> 0
|
||||
// val() -> 0
|
||||
|
||||
@@ -38,7 +38,6 @@ contract c {
|
||||
while (ids.length < l2) ids.push();
|
||||
}
|
||||
}
|
||||
|
||||
// ----
|
||||
// getLengths() -> 0, 0
|
||||
// setLengths(uint256,uint256): 48, 49 ->
|
||||
|
||||
@@ -19,7 +19,6 @@ contract c {
|
||||
return data.length;
|
||||
}
|
||||
}
|
||||
|
||||
// ----
|
||||
// length() -> 0
|
||||
// get(uint256): 3 -> FAILURE, hex"4e487b71", 0x32
|
||||
|
||||
@@ -6,7 +6,5 @@ contract c {
|
||||
cv = c[c_index];
|
||||
}
|
||||
}
|
||||
// ====
|
||||
// compileToEwasm: also
|
||||
// ----
|
||||
// test(uint256[8],uint256[],uint256[5],uint256,uint256,uint256): 1, 2, 3, 4, 5, 6, 7, 8, 0x220, 21, 22, 23, 24, 25, 0, 1, 2, 3, 11, 12, 13 -> 1, 12, 23
|
||||
|
||||
@@ -7,8 +7,6 @@ contract c {
|
||||
}
|
||||
function clear() public { delete data; }
|
||||
}
|
||||
// ====
|
||||
// compileToEwasm: also
|
||||
// ----
|
||||
// storageEmpty -> 1
|
||||
// fill() ->
|
||||
|
||||
@@ -16,7 +16,6 @@ contract B {
|
||||
res2 = a.f(1000);
|
||||
}
|
||||
}
|
||||
|
||||
// ----
|
||||
// f() -> 2, 3, 4, 5, 6, 1000, 1001, 1002, 1003, 1004
|
||||
// gas irOptimized: 115828
|
||||
|
||||
@@ -33,8 +33,6 @@ contract c {
|
||||
l2 = ids.length;
|
||||
}
|
||||
}
|
||||
// ====
|
||||
// compileToEwasm: also
|
||||
// ----
|
||||
// setIDStatic(uint256): 0xb ->
|
||||
// getID(uint256): 0x2 -> 0xb
|
||||
|
||||
@@ -5,7 +5,5 @@ contract C {
|
||||
return (x.length, bytes16(uint128(2)).length, a.length + 7);
|
||||
}
|
||||
}
|
||||
// ====
|
||||
// compileToEwasm: also
|
||||
// ----
|
||||
// f(bytes32): "789" -> 32, 16, 8
|
||||
|
||||
@@ -14,9 +14,6 @@ contract c {
|
||||
return data.length;
|
||||
}
|
||||
}
|
||||
|
||||
// ====
|
||||
// compileToEwasm: also
|
||||
// ----
|
||||
// length() -> 4
|
||||
// set(uint256,uint256): 3, 4 -> true
|
||||
|
||||
@@ -40,7 +40,6 @@ contract C {
|
||||
return this.e;
|
||||
}
|
||||
}
|
||||
|
||||
// ----
|
||||
// test() -> 5, 6, 7
|
||||
// gas irOptimized: 260895
|
||||
|
||||
@@ -30,8 +30,6 @@ contract C {
|
||||
return arr[i](x);
|
||||
}
|
||||
}
|
||||
// ====
|
||||
// compileToEwasm: also
|
||||
// ----
|
||||
// test(uint256,uint256): 10, 0 -> 11
|
||||
// test(uint256,uint256): 10, 1 -> 12
|
||||
|
||||
@@ -13,8 +13,6 @@ contract C {
|
||||
ret[7] = bytesValue[0];
|
||||
}
|
||||
}
|
||||
// ====
|
||||
// compileToEwasm: also
|
||||
// ----
|
||||
// to_little_endian_64(uint64): 0 -> 0x20, 8, 0x00
|
||||
// to_little_endian_64(uint64): 0x0102030405060708 -> 0x20, 8, 0x0807060504030201000000000000000000000000000000000000000000000000
|
||||
|
||||
@@ -3,8 +3,5 @@ contract C {
|
||||
return ([1, 2, 3, 4][2]);
|
||||
}
|
||||
}
|
||||
|
||||
// ====
|
||||
// compileToEwasm: also
|
||||
// ----
|
||||
// f() -> 3
|
||||
|
||||
@@ -9,9 +9,6 @@ contract C {
|
||||
tester = f();
|
||||
}
|
||||
}
|
||||
|
||||
// ====
|
||||
// compileToEwasm: also
|
||||
// ----
|
||||
// test() ->
|
||||
// tester() -> 0x20, 0x3, "abc"
|
||||
|
||||
@@ -10,7 +10,5 @@ contract Test {
|
||||
return data;
|
||||
}
|
||||
}
|
||||
// ====
|
||||
// compileToEwasm: also
|
||||
// ----
|
||||
// f() -> 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x07
|
||||
|
||||
@@ -10,8 +10,5 @@ contract C {
|
||||
return (tester[0], tester[1], tester[2], tester[3], tester[4]);
|
||||
}
|
||||
}
|
||||
|
||||
// ====
|
||||
// compileToEwasm: also
|
||||
// ----
|
||||
// f() -> 1, 2, 3, 4, 5
|
||||
|
||||
@@ -4,7 +4,5 @@ contract C {
|
||||
return [4][0];
|
||||
}
|
||||
}
|
||||
// ====
|
||||
// compileToEwasm: also
|
||||
// ----
|
||||
// f() -> 4
|
||||
|
||||
-3
@@ -6,8 +6,5 @@ contract C {
|
||||
return (z[0], z[1]);
|
||||
}
|
||||
}
|
||||
|
||||
// ====
|
||||
// compileToEwasm: also
|
||||
// ----
|
||||
// f() -> 3, 6
|
||||
|
||||
-3
@@ -7,8 +7,5 @@ contract C {
|
||||
return (x[1], x[2]);
|
||||
}
|
||||
}
|
||||
|
||||
// ====
|
||||
// compileToEwasm: also
|
||||
// ----
|
||||
// f() -> 0x40, 0x80, 0x3, "ray", 0x2, "mi"
|
||||
|
||||
@@ -4,9 +4,6 @@ contract C {
|
||||
return (x[i]);
|
||||
}
|
||||
}
|
||||
|
||||
// ====
|
||||
// compileToEwasm: also
|
||||
// ----
|
||||
// f(uint256): 0 -> 0x20, 0x4, "This"
|
||||
// f(uint256): 1 -> 0x20, 0x2, "is"
|
||||
|
||||
@@ -9,7 +9,6 @@ contract C {
|
||||
return this.h(n) * 2;
|
||||
}
|
||||
}
|
||||
|
||||
// ----
|
||||
// h(uint256[4]): 1, 2, 3, 4 -> 10
|
||||
// i(uint256[4]): 1, 2, 3, 4 -> 20
|
||||
|
||||
@@ -6,7 +6,5 @@ contract c {
|
||||
return true;
|
||||
}
|
||||
}
|
||||
// ====
|
||||
// compileToEwasm: also
|
||||
// ----
|
||||
// test() -> FAILURE, hex"4e487b71", 0x31
|
||||
|
||||
@@ -8,7 +8,5 @@ contract c {
|
||||
x = 3;
|
||||
}
|
||||
}
|
||||
// ====
|
||||
// compileToEwasm: also
|
||||
// ----
|
||||
// test() -> 3
|
||||
|
||||
@@ -12,7 +12,5 @@ contract c {
|
||||
l = data.length;
|
||||
}
|
||||
}
|
||||
// ====
|
||||
// compileToEwasm: also
|
||||
// ----
|
||||
// test() -> 2, 1, 1
|
||||
|
||||
@@ -7,7 +7,6 @@ contract c {
|
||||
return data;
|
||||
}
|
||||
}
|
||||
|
||||
// ----
|
||||
// test() -> 0x20, 29, 0x0303030303030303030303030303030303030303030303030303030303000000
|
||||
// gas irOptimized: 109310
|
||||
|
||||
@@ -9,7 +9,5 @@ contract c {
|
||||
return true;
|
||||
}
|
||||
}
|
||||
// ====
|
||||
// compileToEwasm: also
|
||||
// ----
|
||||
// test() -> FAILURE, hex"4e487b71", 0x31
|
||||
|
||||
@@ -8,7 +8,5 @@ contract c {
|
||||
x = 3;
|
||||
}
|
||||
}
|
||||
// ====
|
||||
// compileToEwasm: also
|
||||
// ----
|
||||
// test() -> 3
|
||||
|
||||
@@ -7,7 +7,6 @@ contract c {
|
||||
return data;
|
||||
}
|
||||
}
|
||||
|
||||
// ----
|
||||
// test() -> 0x20, 33, 0x303030303030303030303030303030303030303030303030303030303030303, 0x0300000000000000000000000000000000000000000000000000000000000000
|
||||
// gas irOptimized: 108053
|
||||
|
||||
@@ -9,8 +9,6 @@ contract c {
|
||||
data.pop();
|
||||
}
|
||||
}
|
||||
// ====
|
||||
// compileToEwasm: also
|
||||
// ----
|
||||
// test() ->
|
||||
// storageEmpty -> 1
|
||||
|
||||
@@ -11,7 +11,6 @@ contract c {
|
||||
return (x[0], x[1], x[2], x[3]);
|
||||
}
|
||||
}
|
||||
|
||||
// ----
|
||||
// test() -> 1, 2, 3, 4
|
||||
// gas irOptimized: 93017
|
||||
|
||||
@@ -13,7 +13,5 @@ contract c {
|
||||
if (l != 0x03) return true;
|
||||
}
|
||||
}
|
||||
// ====
|
||||
// compileToEwasm: also
|
||||
// ----
|
||||
// test() -> false
|
||||
|
||||
@@ -7,8 +7,6 @@ contract c {
|
||||
}
|
||||
function clear() public { delete data; }
|
||||
}
|
||||
// ====
|
||||
// compileToEwasm: also
|
||||
// ----
|
||||
// storageEmpty -> 1
|
||||
// fill() ->
|
||||
|
||||
@@ -4,7 +4,5 @@ contract C {
|
||||
return x[i];
|
||||
}
|
||||
}
|
||||
// ====
|
||||
// compileToEwasm: also
|
||||
// ----
|
||||
// f(uint256[],uint256[],uint256): 0x60, 0xA0, 1, 1, 0, 2, 1, 2 -> 2
|
||||
|
||||
@@ -38,7 +38,6 @@ contract Store is BinarySearch {
|
||||
return find(data, v);
|
||||
}
|
||||
}
|
||||
|
||||
// ----
|
||||
// find(uint256): 7 -> -1
|
||||
// add(uint256): 7 ->
|
||||
|
||||
@@ -16,7 +16,5 @@ contract Sample {
|
||||
p[0] = m;
|
||||
}
|
||||
}
|
||||
// ====
|
||||
// compileToEwasm: also
|
||||
// ----
|
||||
// p(uint256): 0x0 -> 0xbbbb, 0xcccc, 0x80, 0xc0, 0x05, "hello", 0x05, "world"
|
||||
|
||||
@@ -28,8 +28,6 @@ contract buggystruct {
|
||||
return bug.last;
|
||||
}
|
||||
}
|
||||
// ====
|
||||
// compileToEwasm: also
|
||||
// ----
|
||||
// getFirst() -> 0x0a
|
||||
// getSecond() -> 0x14
|
||||
|
||||
Reference in New Issue
Block a user