Index: tests/compiler/dart2js_native/optimization_hints_test.dart |
diff --git a/tests/compiler/dart2js_native/optimization_hints_test.dart b/tests/compiler/dart2js_native/optimization_hints_test.dart |
index 2539849c5ff88465f2d4c7ae97dccfe8c5ac9b47..f62324e99712963f08020541aa0dd33d33e8a427 100644 |
--- a/tests/compiler/dart2js_native/optimization_hints_test.dart |
+++ b/tests/compiler/dart2js_native/optimization_hints_test.dart |
@@ -4,8 +4,7 @@ |
import 'dart:_js_helper' as js; |
-import 'dart:_foreign_helper' show |
- JS; |
+import 'dart:_foreign_helper' show JS; |
import 'package:expect/expect.dart'; |
@@ -42,12 +41,48 @@ baz() { |
@js.NoInline() |
geeNoInline() { |
- // Use `gee` several times, so `gee` isn't used only once (and thus inlinable |
- // independently of its size). |
- gee(); gee(); gee(); gee(); gee(); gee(); gee(); gee(); gee(); gee(); |
- gee(); gee(); gee(); gee(); gee(); gee(); gee(); gee(); gee(); gee(); |
- gee(); gee(); gee(); gee(); gee(); gee(); gee(); gee(); gee(); gee(); |
- gee(); gee(); gee(); gee(); gee(); gee(); gee(); gee(); gee(); gee(); |
+ // Use `gee` several times, so `gee` isn't used only once (and thus inlinable |
+ // independently of its size). |
+ gee(); |
+ gee(); |
+ gee(); |
+ gee(); |
+ gee(); |
+ gee(); |
+ gee(); |
+ gee(); |
+ gee(); |
+ gee(); |
+ gee(); |
+ gee(); |
+ gee(); |
+ gee(); |
+ gee(); |
+ gee(); |
+ gee(); |
+ gee(); |
+ gee(); |
+ gee(); |
+ gee(); |
+ gee(); |
+ gee(); |
+ gee(); |
+ gee(); |
+ gee(); |
+ gee(); |
+ gee(); |
+ gee(); |
+ gee(); |
+ gee(); |
+ gee(); |
+ gee(); |
+ gee(); |
+ gee(); |
+ gee(); |
+ gee(); |
+ gee(); |
+ gee(); |
+ gee(); |
} |
@js.ForceInline() |
@@ -55,21 +90,81 @@ geeNoInline() { |
gee([c]) { |
if (c != null) { |
x = "in gee function"; |
- geeNoInline(); geeNoInline(); geeNoInline(); geeNoInline(); geeNoInline(); |
- geeNoInline(); geeNoInline(); geeNoInline(); geeNoInline(); geeNoInline(); |
- geeNoInline(); geeNoInline(); geeNoInline(); geeNoInline(); geeNoInline(); |
- geeNoInline(); geeNoInline(); geeNoInline(); geeNoInline(); geeNoInline(); |
- geeNoInline(); geeNoInline(); geeNoInline(); geeNoInline(); geeNoInline(); |
- geeNoInline(); geeNoInline(); geeNoInline(); geeNoInline(); geeNoInline(); |
- geeNoInline(); geeNoInline(); geeNoInline(); geeNoInline(); geeNoInline(); |
- geeNoInline(); geeNoInline(); geeNoInline(); geeNoInline(); geeNoInline(); |
- geeNoInline(); geeNoInline(); geeNoInline(); geeNoInline(); geeNoInline(); |
- geeNoInline(); geeNoInline(); geeNoInline(); geeNoInline(); geeNoInline(); |
- geeNoInline(); geeNoInline(); geeNoInline(); geeNoInline(); geeNoInline(); |
- geeNoInline(); geeNoInline(); geeNoInline(); geeNoInline(); geeNoInline(); |
- geeNoInline(); geeNoInline(); geeNoInline(); geeNoInline(); geeNoInline(); |
- geeNoInline(); geeNoInline(); geeNoInline(); geeNoInline(); geeNoInline(); |
- geeNoInline(); geeNoInline(); geeNoInline(); geeNoInline(); geeNoInline(); |
+ geeNoInline(); |
+ geeNoInline(); |
+ geeNoInline(); |
+ geeNoInline(); |
+ geeNoInline(); |
+ geeNoInline(); |
+ geeNoInline(); |
+ geeNoInline(); |
+ geeNoInline(); |
+ geeNoInline(); |
+ geeNoInline(); |
+ geeNoInline(); |
+ geeNoInline(); |
+ geeNoInline(); |
+ geeNoInline(); |
+ geeNoInline(); |
+ geeNoInline(); |
+ geeNoInline(); |
+ geeNoInline(); |
+ geeNoInline(); |
+ geeNoInline(); |
+ geeNoInline(); |
+ geeNoInline(); |
+ geeNoInline(); |
+ geeNoInline(); |
+ geeNoInline(); |
+ geeNoInline(); |
+ geeNoInline(); |
+ geeNoInline(); |
+ geeNoInline(); |
+ geeNoInline(); |
+ geeNoInline(); |
+ geeNoInline(); |
+ geeNoInline(); |
+ geeNoInline(); |
+ geeNoInline(); |
+ geeNoInline(); |
+ geeNoInline(); |
+ geeNoInline(); |
+ geeNoInline(); |
+ geeNoInline(); |
+ geeNoInline(); |
+ geeNoInline(); |
+ geeNoInline(); |
+ geeNoInline(); |
+ geeNoInline(); |
+ geeNoInline(); |
+ geeNoInline(); |
+ geeNoInline(); |
+ geeNoInline(); |
+ geeNoInline(); |
+ geeNoInline(); |
+ geeNoInline(); |
+ geeNoInline(); |
+ geeNoInline(); |
+ geeNoInline(); |
+ geeNoInline(); |
+ geeNoInline(); |
+ geeNoInline(); |
+ geeNoInline(); |
+ geeNoInline(); |
+ geeNoInline(); |
+ geeNoInline(); |
+ geeNoInline(); |
+ geeNoInline(); |
+ geeNoInline(); |
+ geeNoInline(); |
+ geeNoInline(); |
+ geeNoInline(); |
+ geeNoInline(); |
+ geeNoInline(); |
+ geeNoInline(); |
+ geeNoInline(); |
+ geeNoInline(); |
+ geeNoInline(); |
} |
} |
@@ -101,24 +196,21 @@ check(func) { |
JS('', 'String("in check function")'); |
var source = JS('String', 'String(#)', func); |
print(source); |
- Expect.isTrue(source.contains('"in main function"'), |
- "should contain 'main'"); |
- Expect.isTrue(source.contains('"in simple function"'), |
- "should inline 'simple'"); |
- Expect.isTrue(source.contains('"in foo function"'), |
- "should inline 'foo'"); |
- Expect.isFalse(source.contains('"in bar function"'), |
- "should not inline 'bar'"); |
- Expect.isFalse(source.contains('"in check function"'), |
- "should not inline 'check'"); |
+ Expect.isTrue(source.contains('"in main function"'), "should contain 'main'"); |
+ Expect.isTrue( |
+ source.contains('"in simple function"'), "should inline 'simple'"); |
+ Expect.isTrue(source.contains('"in foo function"'), "should inline 'foo'"); |
+ Expect.isFalse( |
+ source.contains('"in bar function"'), "should not inline 'bar'"); |
+ Expect.isFalse( |
+ source.contains('"in check function"'), "should not inline 'check'"); |
Expect.isFalse(source.contains('"in noinline function"'), |
- "should not inline 'noinline'"); |
+ "should not inline 'noinline'"); |
Expect.equals(2, new RegExp(r'\.c_field').allMatches(source).length, |
- "should contain r'\.c_field' exactly twice"); |
- Expect.isFalse(source.contains('.d_field'), |
- "should not contain r'\.d_field'"); |
- Expect.isTrue(source.contains('"in gee function"'), |
- "must inline 'gee'"); |
+ "should contain r'\.c_field' exactly twice"); |
+ Expect.isFalse( |
+ source.contains('.d_field'), "should not contain r'\.d_field'"); |
+ Expect.isTrue(source.contains('"in gee function"'), "must inline 'gee'"); |
} |
simple() { |