Merge pull request #12054 from ethereum/additionaltestuserdefinedsigned

Add one more test case.
This commit is contained in:
chriseth 2021-09-29 13:46:13 +02:00 committed by GitHub
commit fb8b068e32
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 26 additions and 12 deletions

View File

@ -25,19 +25,19 @@ contract C {
// ---- // ----
// s() -> 0, 0, 0x00, 0 // s() -> 0, 0, 0x00, 0
// f((uint8,uint16,bytes2,uint8)): 1, 0xff, "ab", 15 -> // f((uint8,uint16,bytes2,uint8)): 1, 0xff, "ab", 15 ->
// gas irOptimized: 110778 // gas irOptimized: 44860
// gas legacy: 112851 // gas legacy: 112851
// gas legacyOptimized: 110766 // gas legacyOptimized: 44923
// s() -> 1, 0xff, 0x6162000000000000000000000000000000000000000000000000000000000000, 15 // s() -> 1, 0xff, 0x6162000000000000000000000000000000000000000000000000000000000000, 15
// g(uint16[]): 0x20, 3, 1, 2, 3 -> 0x20, 3, 1, 2, 3 // g(uint16[]): 0x20, 3, 1, 2, 3 -> 0x20, 3, 1, 2, 3
// gas irOptimized: 112669 // gas irOptimized: 69306
// gas legacy: 113715 // gas legacy: 113715
// gas legacyOptimized: 112488 // gas legacyOptimized: 74255
// small(uint256): 0 -> 1 // small(uint256): 0 -> 1
// small(uint256): 1 -> 2 // small(uint256): 1 -> 2
// h(bytes2[]): 0x20, 3, "ab", "cd", "ef" -> 0x20, 3, "ab", "cd", "ef" // h(bytes2[]): 0x20, 3, "ab", "cd", "ef" -> 0x20, 3, "ab", "cd", "ef"
// gas irOptimized: 112797 // gas irOptimized: 69510
// gas legacy: 113414 // gas legacy: 113414
// gas legacyOptimized: 112572 // gas legacyOptimized: 74342
// l(uint256): 0 -> 0x6162000000000000000000000000000000000000000000000000000000000000 // l(uint256): 0 -> 0x6162000000000000000000000000000000000000000000000000000000000000
// l(uint256): 1 -> 0x6364000000000000000000000000000000000000000000000000000000000000 // l(uint256): 1 -> 0x6364000000000000000000000000000000000000000000000000000000000000

View File

@ -25,19 +25,19 @@ contract C {
// ---- // ----
// s() -> 0, 0, 0x00, 0 // s() -> 0, 0, 0x00, 0
// f((uint8,uint16,bytes2,uint8)): 1, 0xff, "ab", 15 -> // f((uint8,uint16,bytes2,uint8)): 1, 0xff, "ab", 15 ->
// gas irOptimized: 110788 // gas irOptimized: 44551
// gas legacy: 111668 // gas legacy: 111668
// gas legacyOptimized: 110908 // gas legacyOptimized: 44671
// s() -> 1, 0xff, 0x6162000000000000000000000000000000000000000000000000000000000000, 15 // s() -> 1, 0xff, 0x6162000000000000000000000000000000000000000000000000000000000000, 15
// g(uint16[]): 0x20, 3, 1, 2, 3 -> 0x20, 3, 1, 2, 3 // g(uint16[]): 0x20, 3, 1, 2, 3 -> 0x20, 3, 1, 2, 3
// gas irOptimized: 113144 // gas irOptimized: 69671
// gas legacy: 114806 // gas legacy: 114806
// gas legacyOptimized: 113085 // gas legacyOptimized: 74834
// small(uint256): 0 -> 1 // small(uint256): 0 -> 1
// small(uint256): 1 -> 2 // small(uint256): 1 -> 2
// h(bytes2[]): 0x20, 3, "ab", "cd", "ef" -> 0x20, 3, "ab", "cd", "ef" // h(bytes2[]): 0x20, 3, "ab", "cd", "ef" -> 0x20, 3, "ab", "cd", "ef"
// gas irOptimized: 113317 // gas irOptimized: 69928
// gas legacy: 114496 // gas legacy: 114496
// gas legacyOptimized: 113214 // gas legacyOptimized: 74921
// l(uint256): 0 -> 0x6162000000000000000000000000000000000000000000000000000000000000 // l(uint256): 0 -> 0x6162000000000000000000000000000000000000000000000000000000000000
// l(uint256): 1 -> 0x6364000000000000000000000000000000000000000000000000000000000000 // l(uint256): 1 -> 0x6364000000000000000000000000000000000000000000000000000000000000

View File

@ -136,6 +136,19 @@ contract C {
} }
} }
function read_contents_asm() external returns (bytes32 rxa, bytes32 rya, bytes32 rxb, bytes32 ryb) {
b.a = MyInt64.wrap(-2);
b.b = MyInt64.wrap(-3);
HalfSlot memory x = b;
MyInt64 y = b.a;
MyInt64 z = b.b;
assembly {
rxa := mload(x)
rya := y
rxb := mload(add(x, 0x20))
ryb := z
}
}
} }
// ==== // ====
@ -165,3 +178,4 @@ contract C {
// storage_rd() -> 7, 0 // storage_rd() -> 7, 0
// set_rd(int96,address): 39614081257132168796771975167, 1461501637330902918203684832716283019655932542975 -> // set_rd(int96,address): 39614081257132168796771975167, 1461501637330902918203684832716283019655932542975 ->
// read_slot(uint256): 7 -> -39614081257132168796771975169 // read_slot(uint256): 7 -> -39614081257132168796771975169
// read_contents_asm() -> 0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe, 0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe, 0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd, 0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd