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

Unified Diff: lib/compiler/implementation/ssa/builder.dart

Issue 10915104: Move namer into javascript backend. (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: Created 8 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: lib/compiler/implementation/ssa/builder.dart
diff --git a/lib/compiler/implementation/ssa/builder.dart b/lib/compiler/implementation/ssa/builder.dart
index 16f4b3f2c8bc5229a5492ef7606d70e05b2fa0d3..0ab4f7ad9d6d057dcd03f116202963388f24aa9d 100644
--- a/lib/compiler/implementation/ssa/builder.dart
+++ b/lib/compiler/implementation/ssa/builder.dart
@@ -806,6 +806,7 @@ class JumpHandlerImpl implements JumpHandler {
class SsaBuilder extends ResolvedVisitor implements Visitor {
final SsaBuilderTask builder;
+ final JavaScriptBackend backend;
final Interceptors interceptors;
final WorkItem work;
final ConstantSystem constantSystem;
@@ -842,6 +843,7 @@ class SsaBuilder extends ResolvedVisitor implements Visitor {
SsaBuilder(this.constantSystem, SsaBuilderTask builder, WorkItem work)
: this.builder = builder,
+ this.backend = builder.backend,
this.work = work,
interceptors = builder.interceptors,
methodInterceptionEnabled = true,
@@ -1242,7 +1244,7 @@ class SsaBuilder extends ResolvedVisitor implements Visitor {
// TODO(ahe): The constructor name is statically resolved. See
// SsaCodeGenerator.visitInvokeDynamicMethod. Is there a cleaner
// way to do this?
- SourceString name = new SourceString(compiler.namer.getName(body));
+ SourceString name = new SourceString(backend.namer.getName(body));
// TODO(kasperl): This seems fishy. We shouldn't be inventing all
// these selectors. Maybe the resolver can do more of the work
// for us here?
@@ -2398,7 +2400,7 @@ class SsaBuilder extends ResolvedVisitor implements Visitor {
'More than one expression in JS_HAS_EQUALS()', node: node);
}
addGenericSendArgumentsToList(node.arguments, inputs);
- String name = compiler.namer.instanceMethodName(
+ String name = backend.namer.instanceMethodName(
currentLibrary, Elements.OPERATOR_EQUALS, 1);
push(new HForeign(new DartString.literal('!!#.$name'),
const LiteralDartString('bool'),
@@ -2414,7 +2416,7 @@ class SsaBuilder extends ResolvedVisitor implements Visitor {
if (!compiler.hasIsolateSupport()) {
// If the isolate library is not used, we just generate code
// to fetch the Leg's current isolate.
- String name = compiler.namer.CURRENT_ISOLATE;
+ String name = backend.namer.CURRENT_ISOLATE;
push(new HForeign(new DartString.literal(name),
const LiteralDartString('var'),
<HInstruction>[]));
@@ -2477,7 +2479,7 @@ class SsaBuilder extends ResolvedVisitor implements Visitor {
}
visit(closure);
List<HInstruction> inputs = <HInstruction>[pop()];
- String invocationName = compiler.namer.closureInvocationName(
+ String invocationName = backend.namer.closureInvocationName(
new Selector.callClosure(params.requiredParameterCount));
push(new HForeign(new DartString.literal('#.$invocationName'),
const LiteralDartString('var'),

Powered by Google App Engine
This is Rietveld 408576698