diff --git a/benchmarks/AsyncLiveVars/dart/AsyncLiveVars.dart b/benchmarks/AsyncLiveVars/dart/AsyncLiveVars.dart index 2cd702ccd04..fc28d1be2d8 100644 --- a/benchmarks/AsyncLiveVars/dart/AsyncLiveVars.dart +++ b/benchmarks/AsyncLiveVars/dart/AsyncLiveVars.dart @@ -15,27 +15,33 @@ class MockClass { List.filled(int.parse('3'), int.parse('42')); @pragma('vm:never-inline') + @pragma('wasm:never-inline') @pragma('dart2js:noInline') String get1() => str; @pragma('vm:never-inline') + @pragma('wasm:never-inline') @pragma('dart2js:noInline') List get2() => list; @pragma('vm:never-inline') + @pragma('wasm:never-inline') @pragma('dart2js:noInline') void use1(String a0) => a0.length; @pragma('vm:never-inline') + @pragma('wasm:never-inline') @pragma('dart2js:noInline') void use2(String a0, List a1) => a0.length + a1.length; @pragma('vm:never-inline') + @pragma('wasm:never-inline') @pragma('dart2js:noInline') void use4(String a0, List a1, String a2, List a3) => a0.length + a1.length + a2.length + a3.length; @pragma('vm:never-inline') + @pragma('wasm:never-inline') @pragma('dart2js:noInline') void use8(String a0, List a1, String a2, List a3, String a4, List a5, String a6, List a7) => @@ -49,6 +55,7 @@ class MockClass { a7.length; @pragma('vm:never-inline') + @pragma('wasm:never-inline') @pragma('dart2js:noInline') Future asyncMethod() async {} } @@ -58,26 +65,32 @@ class MockClass2 { static int val2 = int.parse('43'); @pragma('vm:never-inline') + @pragma('wasm:never-inline') @pragma('dart2js:noInline') int get1() => val1; @pragma('vm:never-inline') + @pragma('wasm:never-inline') @pragma('dart2js:noInline') int get2() => val2; @pragma('vm:never-inline') + @pragma('wasm:never-inline') @pragma('dart2js:noInline') void use1(int a0) => a0; @pragma('vm:never-inline') + @pragma('wasm:never-inline') @pragma('dart2js:noInline') void use2(int a0, int a1) => a0 + a1; @pragma('vm:never-inline') + @pragma('wasm:never-inline') @pragma('dart2js:noInline') void use4(int a0, int a1, int a2, int a3) => a0 + a1 + a2 + a3; @pragma('vm:never-inline') + @pragma('wasm:never-inline') @pragma('dart2js:noInline') Future asyncMethod() async {} } diff --git a/benchmarks/Calls/dart/Calls.dart b/benchmarks/Calls/dart/Calls.dart index ae546633c91..5715a627b6a 100644 --- a/benchmarks/Calls/dart/Calls.dart +++ b/benchmarks/Calls/dart/Calls.dart @@ -103,6 +103,7 @@ Future main() async { } @pragma('vm:never-inline') +@pragma('wasm:never-inline') @pragma('dart2js:noInline') Future performAwaitCallsClosureTargetPolymorphic( FutureOr Function(int) fun) async { @@ -115,6 +116,7 @@ Future performAwaitCallsClosureTargetPolymorphic( } @pragma('vm:never-inline') +@pragma('wasm:never-inline') @pragma('dart2js:noInline') Future performAwaitAsyncCallsInstanceTargetPolymorphic( Target target) async { @@ -127,6 +129,7 @@ Future performAwaitAsyncCallsInstanceTargetPolymorphic( } @pragma('vm:never-inline') +@pragma('wasm:never-inline') @pragma('dart2js:noInline') Future performAwaitFutureCallsInstanceTargetPolymorphic( Target target) async { @@ -139,6 +142,7 @@ Future performAwaitFutureCallsInstanceTargetPolymorphic( } @pragma('vm:never-inline') +@pragma('wasm:never-inline') @pragma('dart2js:noInline') Future performAwaitFutureOrCallsInstanceTargetPolymorphic( Target target) async { @@ -151,6 +155,7 @@ Future performAwaitFutureOrCallsInstanceTargetPolymorphic( } @pragma('vm:never-inline') +@pragma('wasm:never-inline') @pragma('dart2js:noInline') Future performAwaitAsyncCalls() async { int sum = 0; @@ -162,6 +167,7 @@ Future performAwaitAsyncCalls() async { } @pragma('vm:never-inline') +@pragma('wasm:never-inline') @pragma('dart2js:noInline') Future performAwaitFutureCalls() async { int sum = 0; @@ -173,6 +179,7 @@ Future performAwaitFutureCalls() async { } @pragma('vm:never-inline') +@pragma('wasm:never-inline') @pragma('dart2js:noInline') Future performAwaitFutureOrCalls() async { int sum = 0; @@ -184,6 +191,7 @@ Future performAwaitFutureOrCalls() async { } @pragma('vm:never-inline') +@pragma('wasm:never-inline') @pragma('dart2js:noInline') Future performAwaitAsyncCallsInstanceTargetPolymorphicManyAwaits( Target t) async { @@ -284,6 +292,7 @@ Future performAwaitAsyncCallsInstanceTargetPolymorphicManyAwaits( } @pragma('vm:never-inline') +@pragma('wasm:never-inline') @pragma('dart2js:noInline') Future performAwaitForIterationPolymorphic( Stream Function(int) fun) async { @@ -296,6 +305,7 @@ Future performAwaitForIterationPolymorphic( } @pragma('vm:never-inline') +@pragma('wasm:never-inline') @pragma('dart2js:noInline') int performSyncCallsClosureTarget(int Function(int) fun) { int sum = 0; @@ -307,6 +317,7 @@ int performSyncCallsClosureTarget(int Function(int) fun) { } @pragma('vm:never-inline') +@pragma('wasm:never-inline') @pragma('dart2js:noInline') int performSyncCallsInstanceTargetPolymorphic(Target target) { int sum = 0; @@ -318,6 +329,7 @@ int performSyncCallsInstanceTargetPolymorphic(Target target) { } @pragma('vm:never-inline') +@pragma('wasm:never-inline') @pragma('dart2js:noInline') int performSyncCalls() { int sum = 0; @@ -329,6 +341,7 @@ int performSyncCalls() { } @pragma('vm:never-inline') +@pragma('wasm:never-inline') @pragma('dart2js:noInline') int performSyncIterationPolymorphic(Iterable Function(int) fun) { int sum = 0; @@ -340,18 +353,22 @@ int performSyncIterationPolymorphic(Iterable Function(int) fun) { } @pragma('vm:never-inline') +@pragma('wasm:never-inline') @pragma('dart2js:noInline') FutureOr returnFutureOr(int i) => i; @pragma('vm:never-inline') +@pragma('wasm:never-inline') @pragma('dart2js:noInline') Future returnFuture(int i) => Future.value(i); @pragma('vm:never-inline') +@pragma('wasm:never-inline') @pragma('dart2js:noInline') Future returnAsync(int i) async => i; @pragma('vm:never-inline') +@pragma('wasm:never-inline') @pragma('dart2js:noInline') Stream generateNumbersAsyncStar(int limit) async* { for (int i = 0; i < limit; ++i) { @@ -360,6 +377,7 @@ Stream generateNumbersAsyncStar(int limit) async* { } @pragma('vm:never-inline') +@pragma('wasm:never-inline') @pragma('dart2js:noInline') Stream generateNumbersAsyncStar2(int limit) async* { for (int i = 0; i < limit; ++i) { @@ -368,6 +386,7 @@ Stream generateNumbersAsyncStar2(int limit) async* { } @pragma('vm:never-inline') +@pragma('wasm:never-inline') @pragma('dart2js:noInline') Stream generateNumbersManualAsync(int limit) { int current = 0; @@ -395,10 +414,12 @@ Stream generateNumbersManualAsync(int limit) { } @pragma('vm:never-inline') +@pragma('wasm:never-inline') @pragma('dart2js:noInline') int returnSync(int i) => i; @pragma('vm:never-inline') +@pragma('wasm:never-inline') @pragma('dart2js:noInline') Iterable generateNumbersSyncStar(int limit) sync* { for (int i = 0; i < limit; ++i) { @@ -407,6 +428,7 @@ Iterable generateNumbersSyncStar(int limit) sync* { } @pragma('vm:never-inline') +@pragma('wasm:never-inline') @pragma('dart2js:noInline') Iterable generateNumbersSyncStar2(int limit) sync* { for (int i = 0; i < limit; ++i) { @@ -415,11 +437,13 @@ Iterable generateNumbersSyncStar2(int limit) sync* { } @pragma('vm:never-inline') +@pragma('wasm:never-inline') @pragma('dart2js:noInline') Iterable generateNumbersManual(int limit) => Iterable.generate(limit, (int i) => i); @pragma('vm:never-inline') +@pragma('wasm:never-inline') @pragma('dart2js:noInline') Iterable generateNumbersSyncStarManyYields(int limit) sync* { int i = 0; @@ -574,6 +598,7 @@ Iterable generateNumbersSyncStarManyYields(int limit) sync* { } @pragma('vm:never-inline') +@pragma('wasm:never-inline') @pragma('dart2js:noInline') Stream generateNumbersAsyncStarManyYields(int limit) async* { int i = 0; @@ -729,18 +754,22 @@ Stream generateNumbersAsyncStarManyYields(int limit) async* { class Target { @pragma('vm:never-inline') + @pragma('wasm:never-inline') @pragma('dart2js:noInline') FutureOr returnFutureOr(int i) => i; @pragma('vm:never-inline') + @pragma('wasm:never-inline') @pragma('dart2js:noInline') Future returnFuture(int i) => Future.value(i); @pragma('vm:never-inline') + @pragma('wasm:never-inline') @pragma('dart2js:noInline') Future returnAsync(int i) async => i; @pragma('vm:never-inline') + @pragma('wasm:never-inline') @pragma('dart2js:noInline') int returnSync(int i) => i; } @@ -748,21 +777,25 @@ class Target { class Target2 extends Target { @override @pragma('vm:never-inline') + @pragma('wasm:never-inline') @pragma('dart2js:noInline') FutureOr returnFutureOr(int i) => i; @override @pragma('vm:never-inline') + @pragma('wasm:never-inline') @pragma('dart2js:noInline') Future returnFuture(int i) => Future.value(i); @override @pragma('vm:never-inline') + @pragma('wasm:never-inline') @pragma('dart2js:noInline') Future returnAsync(int i) async => i; @override @pragma('vm:never-inline') + @pragma('wasm:never-inline') @pragma('dart2js:noInline') int returnSync(int i) => i; } @@ -770,21 +803,25 @@ class Target2 extends Target { class Target3 extends Target { @override @pragma('vm:never-inline') + @pragma('wasm:never-inline') @pragma('dart2js:noInline') FutureOr returnFutureOr(int i) => i; @override @pragma('vm:never-inline') + @pragma('wasm:never-inline') @pragma('dart2js:noInline') Future returnFuture(int i) => Future.value(i); @override @pragma('vm:never-inline') + @pragma('wasm:never-inline') @pragma('dart2js:noInline') Future returnAsync(int i) async => i; @override @pragma('vm:never-inline') + @pragma('wasm:never-inline') @pragma('dart2js:noInline') int returnSync(int i) => i; } diff --git a/benchmarks/Dynamic/dart/Dynamic.dart b/benchmarks/Dynamic/dart/Dynamic.dart index d296f62e7cf..db124796a7c 100644 --- a/benchmarks/Dynamic/dart/Dynamic.dart +++ b/benchmarks/Dynamic/dart/Dynamic.dart @@ -50,40 +50,58 @@ void main() { } @pragma('vm:never-inline') +@pragma('wasm:never-inline') void f1(String s) {} @pragma('vm:never-inline') +@pragma('wasm:never-inline') Function(String) c1 = (String s) => {}; @pragma('vm:never-inline') +@pragma('wasm:never-inline') void f2(String s, [String t = 'default']) {} @pragma('vm:never-inline') +@pragma('wasm:never-inline') Function(String, [String]) c2 = (String s, [String t = 'default']) => {}; @pragma('vm:never-inline') +@pragma('wasm:never-inline') void f3(String s, {String t = 'default'}) {} @pragma('vm:never-inline') +@pragma('wasm:never-inline') Function(String, {String t}) c3 = (String s, {String t = 'default'}) => {}; @pragma('vm:never-inline') +@pragma('wasm:never-inline') dynamic df1 = f1 as dynamic; @pragma('vm:never-inline') +@pragma('wasm:never-inline') dynamic dc1 = c1 as dynamic; @pragma('vm:never-inline') +@pragma('wasm:never-inline') dynamic df2 = f2 as dynamic; @pragma('vm:never-inline') +@pragma('wasm:never-inline') dynamic dc2 = c2 as dynamic; @pragma('vm:never-inline') +@pragma('wasm:never-inline') dynamic df3 = f3 as dynamic; @pragma('vm:never-inline') +@pragma('wasm:never-inline') dynamic dc3 = c3 as dynamic; @pragma('vm:never-inline') +@pragma('wasm:never-inline') dynamic df1NonCast(dynamic s) {} @pragma('vm:never-inline') +@pragma('wasm:never-inline') Function dc1NonCast = (dynamic s) => {}; @pragma('vm:never-inline') +@pragma('wasm:never-inline') dynamic df2NonCast(dynamic s, [dynamic t = 'default']) {} @pragma('vm:never-inline') +@pragma('wasm:never-inline') Function dc2NonCast = (dynamic s, [dynamic t = 'default']) => {}; @pragma('vm:never-inline') +@pragma('wasm:never-inline') dynamic df3NonCast(dynamic s, {dynamic t = 'default'}) {} @pragma('vm:never-inline') +@pragma('wasm:never-inline') Function dc3NonCast = (dynamic s, {dynamic t = 'default'}) => {}; class A { @@ -95,6 +113,7 @@ class B extends A { } @pragma('vm:never-inline') +@pragma('wasm:never-inline') dynamic k = (A a) {}; class C { @@ -106,6 +125,7 @@ class D extends C { } @pragma('vm:never-inline') +@pragma('wasm:never-inline') dynamic j = (C c) {}; class NonDynamicFunction extends BenchmarkBase { diff --git a/benchmarks/InstantiateTypeArgs/dart/InstantiateTypeArgs.dart b/benchmarks/InstantiateTypeArgs/dart/InstantiateTypeArgs.dart index 91b0794866f..7056ac497b2 100644 --- a/benchmarks/InstantiateTypeArgs/dart/InstantiateTypeArgs.dart +++ b/benchmarks/InstantiateTypeArgs/dart/InstantiateTypeArgs.dart @@ -1192,11 +1192,13 @@ class Instantiate1000 extends BenchmarkBase { } @pragma('vm:never-inline') +@pragma('wasm:never-inline') @pragma('dart2js:never-inline') void blackhole() => null; class D { @pragma('vm:never-inline') + @pragma('wasm:never-inline') @pragma('dart2js:never-inline') static void instantiate() => blackhole>(); } diff --git a/benchmarks/InstantiateTypeArgs/generate.dart b/benchmarks/InstantiateTypeArgs/generate.dart index 643d5afa471..c24766a8f9d 100644 --- a/benchmarks/InstantiateTypeArgs/generate.dart +++ b/benchmarks/InstantiateTypeArgs/generate.dart @@ -70,11 +70,13 @@ class Instantiate$count extends BenchmarkBase { output.write(''' @pragma('vm:never-inline') +@pragma('wasm:never-inline') @pragma('dart2js:never-inline') void blackhole() => null; class D { @pragma('vm:never-inline') + @pragma('wasm:never-inline') @pragma('dart2js:never-inline') static void instantiate() => blackhole>(); } diff --git a/benchmarks/Iterators/dart/Iterators.dart b/benchmarks/Iterators/dart/Iterators.dart index d31f0415293..3b9cfc97aff 100644 --- a/benchmarks/Iterators/dart/Iterators.dart +++ b/benchmarks/Iterators/dart/Iterators.dart @@ -180,6 +180,7 @@ class PolyBenchmark extends Benchmark { /// This function is the inner loop of the benchmark. @pragma('dart2js:noInline') @pragma('vm:never-inline') +@pragma('wasm:never-inline') void sinkAll(Iterable iterable) { for (final value in iterable) { sink = value; diff --git a/benchmarks/MultipleReturns/dart/MultipleReturns.dart b/benchmarks/MultipleReturns/dart/MultipleReturns.dart index 6b9b15cdcfa..a16ef744307 100644 --- a/benchmarks/MultipleReturns/dart/MultipleReturns.dart +++ b/benchmarks/MultipleReturns/dart/MultipleReturns.dart @@ -22,52 +22,64 @@ class ResultClass { } @pragma('vm:prefer-inline') +@pragma('wasm:prefer-inline') @pragma('dart2js:prefer-inline') List inlinedList() => [input1, input2]; @pragma('vm:never-inline') +@pragma('wasm:never-inline') @pragma('dart2js:never-inline') List notInlinedList() => [input1, input2]; @pragma('vm:never-inline') +@pragma('wasm:never-inline') @pragma('dart2js:never-inline') List forwardedList() => notInlinedList(); @pragma('vm:prefer-inline') +@pragma('wasm:prefer-inline') @pragma('dart2js:prefer-inline') ResultClass inlinedClass() => ResultClass(input1, input2); @pragma('vm:never-inline') +@pragma('wasm:never-inline') @pragma('dart2js:never-inline') ResultClass notInlinedClass() => ResultClass(input1, input2); @pragma('vm:never-inline') +@pragma('wasm:never-inline') @pragma('dart2js:never-inline') ResultClass forwardedClass() => notInlinedClass(); @pragma('vm:prefer-inline') +@pragma('wasm:prefer-inline') @pragma('dart2js:prefer-inline') (int, String) inlinedRecord() => (input1, input2); @pragma('vm:never-inline') +@pragma('wasm:never-inline') @pragma('dart2js:never-inline') (int, String) notInlinedRecord() => (input1, input2); @pragma('vm:never-inline') +@pragma('wasm:never-inline') @pragma('dart2js:never-inline') (int, String) forwardedRecord() => notInlinedRecord(); @pragma('vm:prefer-inline') +@pragma('wasm:prefer-inline') @pragma('dart2js:prefer-inline') ({int result0, String result1}) inlinedRecordNamed() => (result0: input1, result1: input2); @pragma('vm:never-inline') +@pragma('wasm:never-inline') @pragma('dart2js:never-inline') ({int result0, String result1}) notInlinedRecordNamed() => (result0: input1, result1: input2); @pragma('vm:never-inline') +@pragma('wasm:never-inline') @pragma('dart2js:never-inline') ({int result0, String result1}) forwardedRecordNamed() => notInlinedRecordNamed(); diff --git a/benchmarks/RecordCollections/dart/RecordCollections.dart b/benchmarks/RecordCollections/dart/RecordCollections.dart index 01d5001cc90..0add8527331 100644 --- a/benchmarks/RecordCollections/dart/RecordCollections.dart +++ b/benchmarks/RecordCollections/dart/RecordCollections.dart @@ -25,6 +25,7 @@ class Pair { } @pragma('vm:never-inline') +@pragma('wasm:never-inline') @pragma('dart2js:never-inline') List getPolymorphicListOfClass( int length, bool growable, bool withValues) { @@ -40,6 +41,7 @@ List getPolymorphicListOfClass( } @pragma('vm:never-inline') +@pragma('wasm:never-inline') @pragma('dart2js:never-inline') List getPolymorphicListOfRecords( int length, bool growable, bool withValues) { diff --git a/benchmarks/SubtypeTestCache/dart/SubtypeTestCache.dart b/benchmarks/SubtypeTestCache/dart/SubtypeTestCache.dart index 40c96473861..054dfc29ada 100644 --- a/benchmarks/SubtypeTestCache/dart/SubtypeTestCache.dart +++ b/benchmarks/SubtypeTestCache/dart/SubtypeTestCache.dart @@ -3897,6 +3897,7 @@ class STCSame1000 extends STCBenchmarkBase { } @pragma('vm:never-inline') +@pragma('wasm:never-inline') @pragma('dart2js:never-inline') void check(dynamic s) => s as C Function(); diff --git a/benchmarks/SubtypeTestCache/generate.dart b/benchmarks/SubtypeTestCache/generate.dart index 33013ed6259..b60c1cfea78 100644 --- a/benchmarks/SubtypeTestCache/generate.dart +++ b/benchmarks/SubtypeTestCache/generate.dart @@ -111,6 +111,7 @@ class STCSame$maxCount extends STCBenchmarkBase { } @pragma('vm:never-inline') +@pragma('wasm:never-inline') @pragma('dart2js:never-inline') void check(dynamic s) => s as C Function(); diff --git a/benchmarks/TearOff/dart/TearOff.dart b/benchmarks/TearOff/dart/TearOff.dart index 6fa9bb103b4..545b300f208 100644 --- a/benchmarks/TearOff/dart/TearOff.dart +++ b/benchmarks/TearOff/dart/TearOff.dart @@ -13,12 +13,14 @@ class BenchTearOffInlined extends BenchmarkBase { int sum = 0; @pragma('vm:prefer-inline') + @pragma('wasm:prefer-inline') @pragma('dart2js:prefer-inline') void foo(int arg) { sum += arg; } @pragma('vm:prefer-inline') + @pragma('wasm:prefer-inline') @pragma('dart2js:prefer-inline') void callIt(void Function(int) func, int arg) { func(arg); @@ -26,6 +28,7 @@ class BenchTearOffInlined extends BenchmarkBase { @override @pragma('vm:never-inline') + @pragma('wasm:never-inline') @pragma('dart2js:never-inline') void run() { sum = 0; @@ -54,12 +57,14 @@ class BenchTearOffInlinedInTry extends BenchmarkBase { int sum = 0; @pragma('vm:prefer-inline') + @pragma('wasm:prefer-inline') @pragma('dart2js:prefer-inline') void foo(int arg) { sum += arg; } @pragma('vm:prefer-inline') + @pragma('wasm:prefer-inline') @pragma('dart2js:prefer-inline') void callIt(void Function(int) func, int arg) { func(arg); @@ -67,6 +72,7 @@ class BenchTearOffInlinedInTry extends BenchmarkBase { @override @pragma('vm:never-inline') + @pragma('wasm:never-inline') @pragma('dart2js:never-inline') void run() { sum = 0; @@ -97,12 +103,14 @@ class BenchTearOffNotInlined extends BenchmarkBase { int sum = 0; @pragma('vm:never-inline') + @pragma('wasm:never-inline') @pragma('dart2js:never-inline') void foo(int arg) { sum += arg; } @pragma('vm:never-inline') + @pragma('wasm:never-inline') @pragma('dart2js:never-inline') void callIt(void Function(int) func, int arg) { func(arg); @@ -110,6 +118,7 @@ class BenchTearOffNotInlined extends BenchmarkBase { @override @pragma('vm:never-inline') + @pragma('wasm:never-inline') @pragma('dart2js:never-inline') void run() { sum = 0; @@ -138,12 +147,14 @@ class BenchTearOffNotInlinedInTry extends BenchmarkBase { int sum = 0; @pragma('vm:never-inline') + @pragma('wasm:never-inline') @pragma('dart2js:never-inline') void foo(int arg) { sum += arg; } @pragma('vm:never-inline') + @pragma('wasm:never-inline') @pragma('dart2js:never-inline') void callIt(void Function(int) func, int arg) { func(arg); @@ -151,6 +162,7 @@ class BenchTearOffNotInlinedInTry extends BenchmarkBase { @override @pragma('vm:never-inline') + @pragma('wasm:never-inline') @pragma('dart2js:never-inline') void run() { sum = 0; diff --git a/benchmarks/TypeLiteral/dart/TypeLiteral.dart b/benchmarks/TypeLiteral/dart/TypeLiteral.dart index fb9f5677bfe..24d8f59d962 100644 --- a/benchmarks/TypeLiteral/dart/TypeLiteral.dart +++ b/benchmarks/TypeLiteral/dart/TypeLiteral.dart @@ -125,35 +125,43 @@ void main() { } @pragma('vm:never-inline') +@pragma('wasm:never-inline') @pragma('dart2js:noInline') Type getT() => T; @pragma('vm:never-inline') +@pragma('wasm:never-inline') @pragma('dart2js:noInline') Type getNullableT() => MakeNullable; @pragma('vm:never-inline') +@pragma('wasm:never-inline') @pragma('dart2js:noInline') Type getListOfT() => List; @pragma('vm:never-inline') +@pragma('wasm:never-inline') @pragma('dart2js:noInline') Type getListOfNullableT() => List; class Foo { @pragma('vm:never-inline') + @pragma('wasm:never-inline') @pragma('dart2js:noInline') Type getT() => T; @pragma('vm:never-inline') + @pragma('wasm:never-inline') @pragma('dart2js:noInline') Type getNullableT() => MakeNullable; @pragma('vm:never-inline') + @pragma('wasm:never-inline') @pragma('dart2js:noInline') Type getListOfT() => List; @pragma('vm:never-inline') + @pragma('wasm:never-inline') @pragma('dart2js:noInline') Type getListOfNullableT() => List; } diff --git a/benchmarks/TypedDataPoly/dart/TypedDataPoly.dart b/benchmarks/TypedDataPoly/dart/TypedDataPoly.dart index 4793b866e77..b1a215bdac9 100644 --- a/benchmarks/TypedDataPoly/dart/TypedDataPoly.dart +++ b/benchmarks/TypedDataPoly/dart/TypedDataPoly.dart @@ -66,6 +66,7 @@ class Monomorphic extends Base { /// can specialize the method according to different sets of input /// implementation types. @pragma('vm:never-inline') + @pragma('wasm:never-inline') @pragma('dart2js:never-inline') static int sum(List list) { var s = 0; @@ -102,6 +103,7 @@ class Baseline extends Base { super('TypedDataPoly.baseline', n); @pragma('vm:never-inline') + @pragma('wasm:never-inline') @pragma('dart2js:never-inline') static int sum(List list) { return list.length; @@ -141,6 +143,7 @@ class Polymorphic1 extends Base { } @pragma('vm:never-inline') + @pragma('wasm:never-inline') @pragma('dart2js:never-inline') static int sum(List list) { var s = 0; @@ -192,6 +195,7 @@ class Polymorphic2 extends Base { } @pragma('vm:never-inline') + @pragma('wasm:never-inline') @pragma('dart2js:never-inline') static int sum(List list) { var s = 0; @@ -235,6 +239,7 @@ class Polymorphic3 extends Base { } @pragma('vm:never-inline') + @pragma('wasm:never-inline') @pragma('dart2js:never-inline') static int sum(List list) { var s = 0; @@ -281,6 +286,7 @@ class Polymorphic4 extends Base { } @pragma('vm:never-inline') + @pragma('wasm:never-inline') @pragma('dart2js:never-inline') static int sum(List list) { var s = 0; @@ -360,6 +366,7 @@ class Polymorphic5 extends Base { } @pragma('vm:never-inline') + @pragma('wasm:never-inline') @pragma('dart2js:never-inline') static int sum(List list) { var s = 0; diff --git a/pkg/dartdev/lib/src/commands/compile.dart b/pkg/dartdev/lib/src/commands/compile.dart index fbfe061d8b5..9b8fd80ae73 100644 --- a/pkg/dartdev/lib/src/commands/compile.dart +++ b/pkg/dartdev/lib/src/commands/compile.dart @@ -545,12 +545,12 @@ class CompileWasmCommand extends CompileSubcommandCommand { --closed-world --traps-never-happen --type-unfinalizing - -O3 + -Os --type-ssa --gufa - -O3 + -Os --type-merging - -O1 + -Os --type-finalizing '''); // end of binaryenFlags