Update tests.

This commit is contained in:
chriseth 2021-11-04 18:20:10 +01:00
parent f320a95dd9
commit 080c7245ae
25 changed files with 95 additions and 323 deletions

View File

@ -285,40 +285,18 @@ sub_0: assembly {
dup2
dup2
sstore
/* \"C\":403:407 this */
address
/* \"C\":403:411 this.f() */
extcodesize
tag_40
jumpi
/* \"C\":79:428 contract C... */
dup2
dup3
revert
/* \"C\":403:411 this.f() */
tag_40:
/* \"C\":79:428 contract C... */
/* \"C\":403:407 this */
address
/* \"C\":403:411 this.f() */
extcodesize
iszero
tag_43
jumpi
/* \"C\":79:428 contract C... */
mload(0x40)
shl(0xe4, 0x026121ff)
/* \"C\":403:411 this.f() */
dup2
mstore
0x20
/* \"C\":79:428 contract C... */
/* \"C\":403:407 this */
dup2
/* \"C\":403:411 this.f() */
0x04
/* \"C\":79:428 contract C... */
dup2
/* \"C\":403:407 this */
dup2
address
/* \"C\":403:411 this.f() */
gas
@ -326,55 +304,43 @@ sub_0: assembly {
swap2
dup3
iszero
tag_45
tag_43
jumpi
dup1
tag_41
tag_40
swap3
tag_47
tag_45
jumpi
/* \"C\":304:341 modifier m()... */
tag_48:
tag_46:
/* \"C\":392:411 stateVar + this.f() */
pop
pop
tag_49
tag_47
swap1
/* \"C\":392:422 stateVar + this.f() + immutVar */
tag_50
tag_48
/* \"C\":392:411 stateVar + this.f() */
swap3
tag_5
jump\t// in
tag_49:
tag_47:
/* \"C\":414:422 immutVar */
immutable(\"0xe4b1702d9298fee62dfeccc57d322a463ad55ca201256d01f62b45b2e1c21c10\")
/* \"C\":392:422 stateVar + this.f() + immutVar */
swap1
tag_5
jump\t// in
tag_50:
tag_48:
/* \"C\":304:341 modifier m()... */
swap1
jump\t// out
/* \"C\":403:411 this.f() */
tag_41:
tag_40:
tag_47:
tag_45:
/* \"C\":79:428 contract C... */
swap1
swap2
pop
/* \"C\":403:411 this.f() */
dup2
iszero
tag_42
jumpi
dup2
iszero
tag_41
jumpi
returndatasize
/* \"C\":79:428 contract C... */
0x1f
@ -391,73 +357,39 @@ sub_0: assembly {
dup4
lt
or
iszero
tag_43
iszero
tag_42
tag_51
tag_49
jumpi
pop
swap2
/* \"C\":403:411 this.f() */
tag_53
tag_51
/* \"C\":392:411 stateVar + this.f() */
tag_49
tag_47
/* \"C\":79:428 contract C... */
swap3
/* \"C\":392:422 stateVar + this.f() + immutVar */
tag_50
tag_48
/* \"C\":79:428 contract C... */
mstore
0x24
dup7
revert
tag_43:
mstore
0x24
dup7
revert
tag_42:
swap5
0x40
mstore
/* \"C\":403:411 this.f() */
tag_44
tag_43
returndatasize
dup2
add
swap1
tag_7
jump\t// in
tag_44:
swap1
tag_43:
swap1
tag_53:
tag_51:
swap2
dup2
swap4
pop
tag_42:
/* \"C\":392:411 stateVar + this.f() */
tag_45
tag_41:
/* \"C\":392:411 stateVar + this.f() */
tag_44
jump(tag_48)
jump(tag_46)
/* \"C\":79:428 contract C... */
tag_51:
tag_49:
shl(0xe0, 0x4e487b71)
dup2
dup6
tag_5
jump\t// in
tag_45:
dup6
tag_5
jump\t// in
tag_44:
mstore
0x41
/* \"C\":403:411 this.f() */
@ -475,53 +407,27 @@ sub_0: assembly {
/* \"C\":79:428 contract C... */
revert
/* \"C\":403:411 this.f() */
tag_45:
tag_43:
/* \"C\":79:428 contract C... */
swap4
pop
pop
pop
/* \"C\":392:422 stateVar + this.f() + immutVar */
tag_46
/* \"C\":414:422 immutVar */
immutable(\"0xe4b1702d9298fee62dfeccc57d322a463ad55ca201256d01f62b45b2e1c21c10\")
/* \"C\":392:422 stateVar + this.f() + immutVar */
/* \"C\":392:422 stateVar + this.f() + immutVar */
tag_45
/* \"C\":414:422 immutVar */
immutable(\"0xe4b1702d9298fee62dfeccc57d322a463ad55ca201256d01f62b45b2e1c21c10\")
/* \"C\":392:422 stateVar + this.f() + immutVar */
pop
mload(0x40)
swap1
returndatasize
swap1
dup3
tag_5
jump\t// in
tag_46:
/* \"C\":336:337 _ */
tag_5
jump\t// in
tag_45:
/* \"C\":336:337 _ */
returndatacopy
returndatasize
swap1
revert
/* \"C\":403:411 this.f() */
tag_43:
/* \"C\":79:428 contract C... */
swap2
pop
pop
dup1
revert
tag_41:
tag_54
tag_52
tag_3
jump\t// in
tag_54:
tag_52:
jump(tag_42)
tag_7:
swap1
@ -530,35 +436,17 @@ sub_0: assembly {
swap2
sub
slt
iszero
tag_48
iszero
tag_47
tag_55
tag_53
jumpi
mload
swap1
jump\t// out
tag_55:
tag_53:
pop
pop
0x00
dup1
revert
tag_48:
pop
mload
swap2
swap1
pop
jump\t// out
tag_47:
pop
mload
swap2
swap1
pop
jump\t// out
auxdata: <AUXDATA REMOVED>
}
@ -890,40 +778,18 @@ sub_0: assembly {
dup2
dup2
sstore
/* \"C\":403:407 this */
address
/* \"C\":403:411 this.f() */
extcodesize
tag_40
jumpi
/* \"D\":91:166 contract D is C(3)... */
dup2
dup3
revert
/* \"C\":403:411 this.f() */
tag_40:
/* \"D\":91:166 contract D is C(3)... */
/* \"C\":403:407 this */
address
/* \"C\":403:411 this.f() */
extcodesize
iszero
tag_43
jumpi
/* \"D\":91:166 contract D is C(3)... */
mload(0x40)
shl(0xe4, 0x026121ff)
/* \"C\":403:411 this.f() */
dup2
mstore
0x20
/* \"D\":91:166 contract D is C(3)... */
/* \"C\":403:407 this */
dup2
/* \"C\":403:411 this.f() */
0x04
/* \"D\":91:166 contract D is C(3)... */
dup2
/* \"C\":403:407 this */
dup2
address
/* \"C\":403:411 this.f() */
gas
@ -931,55 +797,43 @@ sub_0: assembly {
swap2
dup3
iszero
tag_45
tag_43
jumpi
dup1
tag_41
tag_40
swap3
tag_47
tag_45
jumpi
/* \"C\":304:341 modifier m()... */
tag_48:
tag_46:
/* \"C\":392:411 stateVar + this.f() */
pop
pop
tag_49
tag_47
swap1
/* \"C\":392:422 stateVar + this.f() + immutVar */
tag_50
tag_48
/* \"C\":392:411 stateVar + this.f() */
swap3
tag_5
jump\t// in
tag_49:
tag_47:
/* \"C\":414:422 immutVar */
immutable(\"0xe4b1702d9298fee62dfeccc57d322a463ad55ca201256d01f62b45b2e1c21c10\")
/* \"C\":392:422 stateVar + this.f() + immutVar */
swap1
tag_5
jump\t// in
tag_50:
tag_48:
/* \"C\":304:341 modifier m()... */
swap1
jump\t// out
/* \"C\":403:411 this.f() */
tag_41:
tag_40:
tag_47:
tag_45:
/* \"D\":91:166 contract D is C(3)... */
swap1
swap2
pop
/* \"C\":403:411 this.f() */
dup2
iszero
tag_42
jumpi
dup2
iszero
tag_41
jumpi
returndatasize
/* \"D\":91:166 contract D is C(3)... */
0x1f
@ -996,73 +850,39 @@ sub_0: assembly {
dup4
lt
or
iszero
tag_43
iszero
tag_42
tag_51
tag_49
jumpi
pop
swap2
/* \"C\":403:411 this.f() */
tag_53
tag_51
/* \"C\":392:411 stateVar + this.f() */
tag_49
tag_47
/* \"D\":91:166 contract D is C(3)... */
swap3
/* \"C\":392:422 stateVar + this.f() + immutVar */
tag_50
tag_48
/* \"D\":91:166 contract D is C(3)... */
mstore
0x24
dup7
revert
tag_43:
mstore
0x24
dup7
revert
tag_42:
swap5
0x40
mstore
/* \"C\":403:411 this.f() */
tag_44
tag_43
returndatasize
dup2
add
swap1
tag_7
jump\t// in
tag_44:
swap1
tag_43:
swap1
tag_53:
tag_51:
swap2
dup2
swap4
pop
tag_42:
/* \"C\":392:411 stateVar + this.f() */
tag_45
tag_41:
/* \"C\":392:411 stateVar + this.f() */
tag_44
jump(tag_48)
jump(tag_46)
/* \"D\":91:166 contract D is C(3)... */
tag_51:
tag_49:
shl(0xe0, 0x4e487b71)
dup2
dup6
tag_5
jump\t// in
tag_45:
dup6
tag_5
jump\t// in
tag_44:
mstore
0x41
/* \"C\":403:411 this.f() */
@ -1080,21 +900,11 @@ sub_0: assembly {
/* \"D\":91:166 contract D is C(3)... */
revert
/* \"C\":403:411 this.f() */
tag_45:
tag_43:
/* \"D\":91:166 contract D is C(3)... */
swap4
pop
pop
/* \"C\":392:422 stateVar + this.f() + immutVar */
tag_46
/* \"C\":414:422 immutVar */
immutable(\"0xe4b1702d9298fee62dfeccc57d322a463ad55ca201256d01f62b45b2e1c21c10\")
/* \"C\":392:422 stateVar + this.f() + immutVar */
/* \"C\":392:422 stateVar + this.f() + immutVar */
tag_45
/* \"C\":414:422 immutVar */
immutable(\"0xe4b1702d9298fee62dfeccc57d322a463ad55ca201256d01f62b45b2e1c21c10\")
/* \"C\":392:422 stateVar + this.f() + immutVar */
pop
pop
mload(0x40)
@ -1102,31 +912,15 @@ sub_0: assembly {
returndatasize
swap1
dup3
tag_5
jump\t// in
tag_46:
/* \"C\":336:337 _ */
tag_5
jump\t// in
tag_45:
/* \"C\":336:337 _ */
returndatacopy
returndatasize
swap1
revert
/* \"C\":403:411 this.f() */
tag_43:
/* \"D\":91:166 contract D is C(3)... */
swap2
pop
pop
dup1
revert
tag_41:
tag_54
tag_52
tag_3
jump\t// in
tag_54:
tag_52:
jump(tag_42)
tag_7:
swap1
@ -1135,35 +929,17 @@ sub_0: assembly {
swap2
sub
slt
iszero
tag_48
iszero
tag_47
tag_55
tag_53
jumpi
mload
swap1
jump\t// out
tag_55:
tag_53:
pop
pop
0x00
dup1
revert
tag_48:
pop
mload
swap2
swap1
pop
jump\t// out
tag_47:
pop
mload
swap2
swap1
pop
jump\t// out
auxdata: <AUXDATA REMOVED>
}

View File

@ -60,10 +60,10 @@ contract C {
// compileViaYul: also
// ----
// test_bytes() ->
// gas irOptimized: 377545
// gas irOptimized: 373483
// gas legacy: 418955
// gas legacyOptimized: 331391
// gas legacyOptimized: 326783
// test_uint256() ->
// gas irOptimized: 528726
// gas irOptimized: 524664
// gas legacy: 586784
// gas legacyOptimized: 456137
// gas legacyOptimized: 451529

View File

@ -26,6 +26,6 @@ contract C {
// ----
// library: L
// f() -> 8, 7, 1, 2, 7, 12
// gas irOptimized: 167580
// gas irOptimized: 167446
// gas legacy: 169347
// gas legacyOptimized: 167397
// gas legacyOptimized: 167269

View File

@ -61,10 +61,10 @@ contract C {
// compileViaYul: also
// ----
// test_bytes() ->
// gas irOptimized: 377545
// gas irOptimized: 373483
// gas legacy: 418955
// gas legacyOptimized: 331391
// gas legacyOptimized: 326783
// test_uint256() ->
// gas irOptimized: 528726
// gas irOptimized: 524664
// gas legacy: 586784
// gas legacyOptimized: 456137
// gas legacyOptimized: 451529

View File

@ -32,6 +32,6 @@ contract C is B {
// compileViaYul: also
// ----
// test() -> 77
// gas irOptimized: 120044
// gas irOptimized: 119931
// gas legacy: 155093
// gas legacyOptimized: 111678
// gas legacyOptimized: 111550

View File

@ -40,5 +40,5 @@ contract C is B {
// compileViaYul: also
// ----
// test() -> 5, 10
// gas irOptimized: 87578
// gas irOptimized: 87337
// gas legacy: 98881

View File

@ -21,6 +21,6 @@ contract C {
// f(uint256[][1]): 32, 32, 0 -> true
// f(uint256[][1]): 32, 32, 1, 42 -> true
// f(uint256[][1]): 32, 32, 8, 421, 422, 423, 424, 425, 426, 427, 428 -> true
// gas irOptimized: 172204
// gas irOptimized: 171964
// gas legacy: 141644
// gas legacyOptimized: 121788
// gas legacyOptimized: 121532

View File

@ -21,6 +21,6 @@ contract B {
// compileViaYul: also
// ----
// f() -> 2, 3, 4, 5, 6, 1000, 1001, 1002, 1003, 1004
// gas irOptimized: 130328
// gas irOptimized: 130097
// gas legacy: 234943
// gas legacyOptimized: 133119
// gas legacyOptimized: 132863

View File

@ -45,6 +45,6 @@ contract C {
// compileViaYul: also
// ----
// test() -> 5, 6, 7
// gas irOptimized: 302321
// gas irOptimized: 290947
// gas legacy: 452172
// gas legacyOptimized: 294938
// gas legacyOptimized: 285017

View File

@ -26,6 +26,6 @@ contract Main {
// compileViaYul: also
// ----
// f(uint256): 0x34 -> 0x46bddb1178e94d7f2892ff5f366840eb658911794f2c3a44c450aa2c505186c1
// gas irOptimized: 113776
// gas irOptimized: 113581
// gas legacy: 126596
// gas legacyOptimized: 114079
// gas legacyOptimized: 113823

View File

@ -26,6 +26,6 @@ contract Creator {
// compileViaYul: also
// ----
// f(uint256,address[]): 7, 0x40, 10, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 -> 7, 8
// gas irOptimized: 456873
// gas irOptimized: 456668
// gas legacy: 590683
// gas legacyOptimized: 448582
// gas legacyOptimized: 448326

View File

@ -26,6 +26,6 @@ contract Creator {
// compileViaYul: also
// ----
// f(uint256,bytes): 7, 0x40, 78, "abcdefghijklmnopqrstuvwxyzabcdef", "ghijklmnopqrstuvwxyzabcdefghijkl", "mnopqrstuvwxyz" -> 7, "h"
// gas irOptimized: 308702
// gas irOptimized: 308497
// gas legacy: 428917
// gas legacyOptimized: 298384
// gas legacyOptimized: 298128

View File

@ -1,5 +1,3 @@
pragma solidity >= 0.6.0;
// This tests skipping the extcodesize check.
contract T {

View File

@ -1,5 +1,3 @@
pragma solidity >= 0.6.0;
// This tests skipping the extcodesize check.
interface I {

View File

@ -18,17 +18,17 @@ contract C {
// compileViaYul: also
// ----
// constructor(), 20 wei
// gas irOptimized: 220113
// gas irOptimized: 218775
// gas legacy: 294569
// gas legacyOptimized: 177933
// gas legacyOptimized: 174699
// f(uint256): 20 -> 1370859564726510389319704988634906228201275401179
// x() -> 1
// f(uint256): 20 -> FAILURE
// x() -> 1
// stack(uint256): 1023 -> FAILURE
// gas irOptimized: 345821
// gas irOptimized: 296769
// gas legacy: 483942
// gas legacyOptimized: 354656
// gas legacyOptimized: 298807
// x() -> 1
// stack(uint256): 10 -> 693016686122178122849713379390321835634789309880
// x() -> 2

View File

@ -26,9 +26,9 @@ contract C {
}
// ====
// compileViaYul: also
// EVMVersion: >=constantinople
// compileViaYul: also
// ----
// testHighLevel() -> FAILURE
// testHighLevel() -> true
// testLowLevel() -> 0xc76596d400000000000000000000000000000000000000000000000000000000
// testHighLevel2() -> FAILURE

View File

@ -28,6 +28,6 @@ contract C {
// compileViaYul: also
// ----
// t() -> 9
// gas irOptimized: 99186
// gas irOptimized: 99064
// gas legacy: 158955
// gas legacyOptimized: 108916
// gas legacyOptimized: 108788

View File

@ -29,8 +29,8 @@ contract C {
// compileViaYul: also
// ----
// f() -> 3, 7, 5
// gas irOptimized: 127592
// gas irOptimized: 127387
// gas legacy: 151334
// gas legacyOptimized: 125422
// gas legacyOptimized: 125166
// x() -> 7
// y() -> 5

View File

@ -23,8 +23,8 @@ contract D {
// compileViaYul: also
// ----
// f() -> 1
// gas irOptimized: 77164
// gas irOptimized: 77051
// gas legacy: 114884
// g() -> 5
// gas irOptimized: 77231
// gas irOptimized: 77106
// gas legacy: 115430

View File

@ -25,5 +25,5 @@ contract B {
// compileViaYul: also
// ----
// g() -> 42
// gas irOptimized: 80945
// gas irOptimized: 80813
// gas legacy: 125481

View File

@ -25,6 +25,6 @@ contract B {
// compileViaYul: also
// ----
// g() -> 42
// gas irOptimized: 111913
// gas irOptimized: 111781
// gas legacy: 185053
// gas legacyOptimized: 114726
// gas legacyOptimized: 114598

View File

@ -37,10 +37,10 @@ contract C {
// compileViaYul: also
// ----
// convertParent() -> 1
// gas irOptimized: 85640
// gas irOptimized: 85524
// convertSubA() -> 1, 2
// gas irOptimized: 86395
// gas irOptimized: 86155
// gas legacy: 99047
// convertSubB() -> 1, 3
// gas irOptimized: 86338
// gas irOptimized: 86098
// gas legacy: 98981

View File

@ -22,6 +22,6 @@ contract A {
// compileViaYul: also
// ----
// f(), 10 ether -> 3007, 3008, 3009
// gas irOptimized: 273275
// gas irOptimized: 272947
// gas legacy: 422501
// gas legacyOptimized: 287856
// gas legacyOptimized: 287472

View File

@ -22,6 +22,6 @@ contract C {
// compileViaYul: also
// ----
// g() -> 2, 6
// gas irOptimized: 178953
// gas irOptimized: 178835
// gas legacy: 180762
// gas legacyOptimized: 179609
// gas legacyOptimized: 179481

View File

@ -38,10 +38,10 @@ contract D {
// f() -> 0x1 # This should work, next should throw #
// gas legacy: 103716
// fview() -> FAILURE
// gas irOptimized: 98438627
// gas irOptimized: 98438625
// gas legacy: 98438801
// gas legacyOptimized: 98438596
// gas legacyOptimized: 98438594
// fpure() -> FAILURE
// gas irOptimized: 98438627
// gas irOptimized: 98438626
// gas legacy: 98438801
// gas legacyOptimized: 98438597
// gas legacyOptimized: 98438595