[dart2js] Flip 'holder per part' flag.

Change-Id: I1ecf0d2628685738b0631040d6fe61d635164fb6
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/212340
Reviewed-by: Stephen Adams <sra@google.com>
Commit-Queue: Joshua Litt <joshualitt@google.com>
This commit is contained in:
Joshua Litt 2021-09-14 20:31:20 +00:00 committed by commit-bot@chromium.org
parent 283ce865c8
commit 76ac2ee172
6 changed files with 38 additions and 101 deletions

View file

@ -69,10 +69,10 @@ class FeatureOptions {
FeatureOption newHolders = FeatureOption('new-holders');
/// [FeatureOption]s which default to enabled.
late final List<FeatureOption> shipping = [legacyJavaScript];
late final List<FeatureOption> shipping = [legacyJavaScript, newHolders];
/// [FeatureOption]s which default to disabled.
late final List<FeatureOption> canary = [newHolders];
late final List<FeatureOption> canary = [];
/// Forces canary feature on. This must run after [Option].parse.
void forceCanary() {

View file

@ -6,9 +6,9 @@
//
// TODO(sra): Lower when type of input does not need a generic covariant check.
@pragma('dart2js:noInline')
/*spec.member: test1:function() {
var t1 = H._setArrayType([], type$.JSArray_int);
C.JSArray_methods.add$1(t1, 1);
/*spec|canary.member: test1:function() {
var t1 = A._setArrayType([], type$.JSArray_int);
B.JSArray_methods.add$1(t1, 1);
return t1;
}*/
/*prod.member: test1:function() {
@ -16,19 +16,11 @@
t1.push(1);
return t1;
}*/
/*canary.member: test1:function() {
var t1 = A._setArrayType([], type$.JSArray_int);
B.JSArray_methods.add$1(t1, 1);
return t1;
}*/
test1() {
return <int>[]..add(1);
}
/*spec|prod.member: main:function() {
F.test1();
}*/
/*canary.member: main:function() {
/*member: main:function() {
A.test1();
}*/
main() {

View file

@ -14,14 +14,11 @@ foo1() {
}
@pragma('dart2js:noInline')
/*spec.member: foo2:function() {
return C.JSString_methods.codeUnitAt$1("Hello", H._asInt(1.5));
/*spec|canary.member: foo2:function() {
return B.JSString_methods.codeUnitAt$1("Hello", A._asInt(1.5));
}*/
/*prod.member: foo2:function() {
return C.JSString_methods.codeUnitAt$1("Hello", 1.5);
}*/
/*canary.member: foo2:function() {
return B.JSString_methods.codeUnitAt$1("Hello", A._asInt(1.5));
return B.JSString_methods.codeUnitAt$1("Hello", 1.5);
}*/
foo2() {
var a = 'Hello';
@ -31,10 +28,7 @@ foo2() {
}
@pragma('dart2js:noInline')
/*spec|prod.member: foo3:function() {
return C.JSString_methods._codeUnitAt$1("Hello", 55);
}*/
/*canary.member: foo3:function() {
/*member: foo3:function() {
return B.JSString_methods._codeUnitAt$1("Hello", 55);
}*/
foo3() {

View file

@ -24,24 +24,18 @@ void main() {
Object? sink;
@pragma('dart2js:noInline')
/*spec.member: cannotRecognize:function(thing) {
return H._asInt(J.$shru$n(thing, 1));
/*spec|canary.member: cannotRecognize:function(thing) {
return A._asInt(J.$shru$n(thing, 1));
}*/
/*prod.member: cannotRecognize:function(thing) {
return J.$shru$n(thing, 1);
}*/
/*canary.member: cannotRecognize:function(thing) {
return A._asInt(J.$shru$n(thing, 1));
}*/
int cannotRecognize(dynamic thing) {
return thing >>> 1;
}
@pragma('dart2js:noInline')
/*spec|prod.member: cannotConstantFold:function() {
return C.JSInt_methods.$shru(1, -1);
}*/
/*canary.member: cannotConstantFold:function() {
/*member: cannotConstantFold:function() {
return B.JSInt_methods.$shru(1, -1);
}*/
int cannotConstantFold() {
@ -68,10 +62,7 @@ int constantFoldNegative() {
}
@pragma('dart2js:noInline')
/*spec|prod.member: unspecialized:function(a) {
return C.JSInt_methods.$shru(1, a);
}*/
/*canary.member: unspecialized:function(a) {
/*member: unspecialized:function(a) {
return B.JSInt_methods.$shru(1, a);
}*/
int unspecialized(int a) {
@ -79,10 +70,7 @@ int unspecialized(int a) {
}
@pragma('dart2js:noInline')
/*spec|prod.member: otherPositive2:function(param) {
return C.JSInt_methods._shruOtherPositive$1(1, param ? 1 : 2);
}*/
/*canary.member: otherPositive2:function(param) {
/*member: otherPositive2:function(param) {
return B.JSInt_methods._shruOtherPositive$1(1, param ? 1 : 2);
}*/
int otherPositive2(bool param) {
@ -110,10 +98,7 @@ int shiftByMasked(bool param1, int shift) {
}
@pragma('dart2js:noInline')
/*spec|prod.member: otherPositive6:function(a, b) {
return C.JSInt_methods._shruOtherPositive$1(a, b);
}*/
/*canary.member: otherPositive6:function(a, b) {
/*member: otherPositive6:function(a, b) {
return B.JSInt_methods._shruOtherPositive$1(a, b);
}*/
int otherPositive6(int a, int b) {

View file

@ -45,10 +45,7 @@ int foo2(bool param) {
}
@pragma('dart2js:noInline')
/*spec|prod.member: foo3:function(param) {
return C.JSInt_methods._tdivFast$1(param ? 4294967295 : -1, 2);
}*/
/*canary.member: foo3:function(param) {
/*member: foo3:function(param) {
return B.JSInt_methods._tdivFast$1(param ? 4294967295 : -1, 2);
}*/
int foo3(bool param) {
@ -59,10 +56,7 @@ int foo3(bool param) {
}
@pragma('dart2js:noInline')
/*spec|prod.member: foo4:function(param1, param2) {
return C.JSInt_methods.$tdiv(param1 ? 4294967295 : 0, param2);
}*/
/*canary.member: foo4:function(param1, param2) {
/*member: foo4:function(param1, param2) {
return B.JSInt_methods.$tdiv(param1 ? 4294967295 : 0, param2);
}*/
int foo4(bool param1, int param2) {
@ -74,11 +68,7 @@ int foo4(bool param1, int param2) {
}
@pragma('dart2js:noInline')
/*spec|prod.member: foo5:function(param1, param2) {
var a = param1 ? 4294967295 : 0;
return C.JSInt_methods.$tdiv(a, param2 ? 3 : 4);
}*/
/*canary.member: foo5:function(param1, param2) {
/*member: foo5:function(param1, param2) {
var a = param1 ? 4294967295 : 0;
return B.JSInt_methods.$tdiv(a, param2 ? 3 : 4);
}*/
@ -93,11 +83,7 @@ int foo5(bool param1, bool param2) {
}
@pragma('dart2js:noInline')
/*spec|prod.member: foo_regress_37502:function(param1, param2) {
var a = param1 ? 1.2 : 12.3;
return C.JSInt_methods.gcd$1(C.JSNumber_methods.$tdiv(a, param2 ? 3.14 : 2.81), 2);
}*/
/*canary.member: foo_regress_37502:function(param1, param2) {
/*member: foo_regress_37502:function(param1, param2) {
var a = param1 ? 1.2 : 12.3;
return B.JSInt_methods.gcd$1(B.JSNumber_methods.$tdiv(a, param2 ? 3.14 : 2.81), 2);
}*/

View file

@ -23,15 +23,12 @@ void main() {
Object sink;
@pragma('dart2js:noInline')
/*spec.member: foo1:function(param) {
return (H.boolConversionCheck(param) ? 4294967295 : 1) / 2 | 0;
/*spec|canary.member: foo1:function(param) {
return (A.boolConversionCheck(param) ? 4294967295 : 1) / 2 | 0;
}*/
/*prod.member: foo1:function(param) {
return (param ? 4294967295 : 1) / 2 | 0;
}*/
/*canary.member: foo1:function(param) {
return (A.boolConversionCheck(param) ? 4294967295 : 1) / 2 | 0;
}*/
int foo1(bool param) {
var a = param ? 0xFFFFFFFF : 1;
return a ~/ 2;
@ -40,15 +37,12 @@ int foo1(bool param) {
}
@pragma('dart2js:noInline')
/*spec.member: foo2:function(param) {
return (H.boolConversionCheck(param) ? 4294967295 : 1) / 3 | 0;
/*spec|canary.member: foo2:function(param) {
return (A.boolConversionCheck(param) ? 4294967295 : 1) / 3 | 0;
}*/
/*prod.member: foo2:function(param) {
return (param ? 4294967295 : 1) / 3 | 0;
}*/
/*canary.member: foo2:function(param) {
return (A.boolConversionCheck(param) ? 4294967295 : 1) / 3 | 0;
}*/
int foo2(bool param) {
var a = param ? 0xFFFFFFFF : 1;
return a ~/ 3;
@ -57,14 +51,11 @@ int foo2(bool param) {
}
@pragma('dart2js:noInline')
/*spec.member: foo3:function(param) {
return C.JSInt_methods._tdivFast$1(H.boolConversionCheck(param) ? 4294967295 : -1, 2);
/*spec|canary.member: foo3:function(param) {
return B.JSInt_methods._tdivFast$1(A.boolConversionCheck(param) ? 4294967295 : -1, 2);
}*/
/*prod.member: foo3:function(param) {
return C.JSInt_methods._tdivFast$1(param ? 4294967295 : -1, 2);
}*/
/*canary.member: foo3:function(param) {
return B.JSInt_methods._tdivFast$1(A.boolConversionCheck(param) ? 4294967295 : -1, 2);
return B.JSInt_methods._tdivFast$1(param ? 4294967295 : -1, 2);
}*/
int foo3(bool param) {
var a = param ? 0xFFFFFFFF : -1;
@ -74,14 +65,11 @@ int foo3(bool param) {
}
@pragma('dart2js:noInline')
/*spec.member: foo4:function(param1, param2) {
return C.JSInt_methods.$tdiv(H.boolConversionCheck(param1) ? 4294967295 : 0, param2);
/*spec|canary.member: foo4:function(param1, param2) {
return B.JSInt_methods.$tdiv(A.boolConversionCheck(param1) ? 4294967295 : 0, param2);
}*/
/*prod.member: foo4:function(param1, param2) {
return C.JSInt_methods.$tdiv(param1 ? 4294967295 : 0, param2);
}*/
/*canary.member: foo4:function(param1, param2) {
return B.JSInt_methods.$tdiv(A.boolConversionCheck(param1) ? 4294967295 : 0, param2);
return B.JSInt_methods.$tdiv(param1 ? 4294967295 : 0, param2);
}*/
int foo4(bool param1, int param2) {
var a = param1 ? 0xFFFFFFFF : 0;
@ -92,17 +80,13 @@ int foo4(bool param1, int param2) {
}
@pragma('dart2js:noInline')
/*spec.member: foo5:function(param1, param2) {
var a = H.boolConversionCheck(param1) ? 4294967295 : 0;
return C.JSInt_methods.$tdiv(a, H.boolConversionCheck(param2) ? 3 : 4);
/*spec|canary.member: foo5:function(param1, param2) {
var a = A.boolConversionCheck(param1) ? 4294967295 : 0;
return B.JSInt_methods.$tdiv(a, A.boolConversionCheck(param2) ? 3 : 4);
}*/
/*prod.member: foo5:function(param1, param2) {
var a = param1 ? 4294967295 : 0;
return C.JSInt_methods.$tdiv(a, param2 ? 3 : 4);
}*/
/*canary.member: foo5:function(param1, param2) {
var a = A.boolConversionCheck(param1) ? 4294967295 : 0;
return B.JSInt_methods.$tdiv(a, A.boolConversionCheck(param2) ? 3 : 4);
return B.JSInt_methods.$tdiv(a, param2 ? 3 : 4);
}*/
int foo5(bool param1, bool param2) {
var a = param1 ? 0xFFFFFFFF : 0;
@ -115,17 +99,13 @@ int foo5(bool param1, bool param2) {
}
@pragma('dart2js:noInline')
/*spec.member: foo_regress_37502:function(param1, param2) {
var a = H.boolConversionCheck(param1) ? 1.2 : 12.3;
return C.JSInt_methods.gcd$1(C.JSNumber_methods.$tdiv(a, H.boolConversionCheck(param2) ? 3.14 : 2.81), 2);
/*spec|canary.member: foo_regress_37502:function(param1, param2) {
var a = A.boolConversionCheck(param1) ? 1.2 : 12.3;
return B.JSInt_methods.gcd$1(B.JSNumber_methods.$tdiv(a, A.boolConversionCheck(param2) ? 3.14 : 2.81), 2);
}*/
/*prod.member: foo_regress_37502:function(param1, param2) {
var a = param1 ? 1.2 : 12.3;
return C.JSInt_methods.gcd$1(C.JSNumber_methods.$tdiv(a, param2 ? 3.14 : 2.81), 2);
}*/
/*canary.member: foo_regress_37502:function(param1, param2) {
var a = A.boolConversionCheck(param1) ? 1.2 : 12.3;
return B.JSInt_methods.gcd$1(B.JSNumber_methods.$tdiv(a, A.boolConversionCheck(param2) ? 3.14 : 2.81), 2);
return B.JSInt_methods.gcd$1(B.JSNumber_methods.$tdiv(a, param2 ? 3.14 : 2.81), 2);
}*/
foo_regress_37502(param1, param2) {
var a = param1 ? 1.2 : 12.3;