Index: tests/compiler/dart2js/serialization/model_test.dart |
diff --git a/tests/compiler/dart2js/serialization/model_test.dart b/tests/compiler/dart2js/serialization/model_test.dart |
index a73f3d170b3a84cfcbed7f9a6bd574fee549005b..2c6d86176b2d8109ef0e25b8b69bfd4fc5b20e2f 100644 |
--- a/tests/compiler/dart2js/serialization/model_test.dart |
+++ b/tests/compiler/dart2js/serialization/model_test.dart |
@@ -3,6 +3,7 @@ |
// BSD-style license that can be found in the LICENSE file. |
library dart2js.serialization_model_test; |
+ |
import 'dart:async'; |
import 'dart:io'; |
import 'package:async_helper/async_helper.dart'; |
@@ -12,6 +13,7 @@ import 'package:compiler/src/commandline_options.dart'; |
import 'package:compiler/src/compiler.dart'; |
import 'package:compiler/src/elements/elements.dart'; |
import 'package:compiler/src/filenames.dart'; |
+import 'package:compiler/src/js_backend/js_backend.dart'; |
import 'package:compiler/src/serialization/equivalence.dart'; |
import 'package:compiler/src/tree/nodes.dart'; |
import 'package:compiler/src/universe/class_set.dart'; |
@@ -115,6 +117,19 @@ Future checkModels( |
compilerDeserialized.world.getClassHierarchyNode( |
compilerDeserialized.coreClasses.objectClass), |
verbose: verbose); |
+ |
+ Expect.equals(compilerNormal.enabledInvokeOn, |
+ compilerDeserialized.enabledInvokeOn, |
+ "Compiler.enabledInvokeOn mismatch"); |
+ Expect.equals(compilerNormal.enabledFunctionApply, |
+ compilerDeserialized.enabledFunctionApply, |
+ "Compiler.enabledFunctionApply mismatch"); |
+ Expect.equals(compilerNormal.enabledRuntimeType, |
+ compilerDeserialized.enabledRuntimeType, |
+ "Compiler.enabledRuntimeType mismatch"); |
+ Expect.equals(compilerNormal.hasIsolateSupport, |
+ compilerDeserialized.hasIsolateSupport, |
+ "Compiler.hasIsolateSupport mismatch"); |
} |
void checkElements( |
@@ -127,11 +142,11 @@ void checkElements( |
AstElement astElement1 = element1; |
AstElement astElement2 = element2; |
ClosureClassMap closureData1 = |
- compiler1.closureToClassMapper.computeClosureToClassMapping( |
- astElement1.resolvedAst); |
+ compiler1.closureToClassMapper.computeClosureToClassMapping( |
+ astElement1.resolvedAst); |
ClosureClassMap closureData2 = |
- compiler2.closureToClassMapper.computeClosureToClassMapping( |
- astElement2.resolvedAst); |
+ compiler2.closureToClassMapper.computeClosureToClassMapping( |
+ astElement2.resolvedAst); |
checkElementIdentities(closureData1, closureData2, |
'$element1.closureElement', |
@@ -168,6 +183,12 @@ void checkElements( |
areLocalsEquivalent, |
verbose: verbose); |
} |
+ JavaScriptBackend backend1 = compiler1.backend; |
+ JavaScriptBackend backend2 = compiler2.backend; |
+ Expect.equals( |
+ backend1.inlineCache.getCurrentCacheDecisionForTesting(element1), |
+ backend2.inlineCache.getCurrentCacheDecisionForTesting(element2), |
+ "Inline cache decision mismatch for $element1 vs $element2"); |
} |
void checkMixinUses( |