Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(2195)

Unified Diff: pkg/compiler/lib/src/js_emitter/lazy_emitter/model_emitter.dart

Issue 3011803002: dart2js kernel: Sort constants
Patch Set: implement DartType ordering Created 3 years, 3 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: pkg/compiler/lib/src/js_emitter/lazy_emitter/model_emitter.dart
diff --git a/pkg/compiler/lib/src/js_emitter/lazy_emitter/model_emitter.dart b/pkg/compiler/lib/src/js_emitter/lazy_emitter/model_emitter.dart
index 76f8914d7b94dc12d3c8e2e496fd9e951d38b8cf..6f4ba3cdc6e2123e6335662200faf3c51a3bad83 100644
--- a/pkg/compiler/lib/src/js_emitter/lazy_emitter/model_emitter.dart
+++ b/pkg/compiler/lib/src/js_emitter/lazy_emitter/model_emitter.dart
@@ -30,11 +30,12 @@ import '../../js_backend/js_backend.dart'
show JavaScriptBackend, Namer, ConstantEmitter;
import '../../js_backend/interceptor_data.dart';
import '../../world.dart';
-import '../constant_ordering.dart' show deepCompareConstants;
+import '../constant_ordering.dart' show ConstantOrdering;
import '../code_emitter_task.dart';
import '../js_emitter.dart' show NativeEmitter;
import '../js_emitter.dart' show NativeGenerator, buildTearOffCode;
import '../model.dart';
+import '../sorter.dart' show Sorter;
class ModelEmitter {
final Compiler compiler;
@@ -42,6 +43,7 @@ class ModelEmitter {
ConstantEmitter constantEmitter;
final NativeEmitter nativeEmitter;
final ClosedWorld _closedWorld;
+ final ConstantOrdering _constantOrdering;
JavaScriptBackend get backend => compiler.backend;
@@ -54,7 +56,8 @@ class ModelEmitter {
static const String typeNameProperty = r"builtin$cls";
ModelEmitter(this.compiler, this.namer, this.nativeEmitter, this._closedWorld,
- CodeEmitterTask task) {
+ Sorter sorter, CodeEmitterTask task)
+ : _constantOrdering = new ConstantOrdering(sorter) {
this.constantEmitter = new ConstantEmitter(
compiler.options,
_closedWorld.commonElements,
@@ -114,7 +117,7 @@ class ModelEmitter {
if (r != 0) return r;
// Resolve collisions in the long name by using a structural order.
- return deepCompareConstants(a, b);
+ return _constantOrdering.compare(a, b);
}
js.Expression generateStaticClosureAccess(MethodElement element) {

Powered by Google App Engine
This is Rietveld 408576698