Index: sdk/lib/_internal/compiler/implementation/ssa/codegen.dart |
diff --git a/sdk/lib/_internal/compiler/implementation/ssa/codegen.dart b/sdk/lib/_internal/compiler/implementation/ssa/codegen.dart |
index 324cc599a50d235d10fafe3be26c5cd7b8fc2830..6af28ded2a96b2bbe26014d0d2ec9968eca58878 100644 |
--- a/sdk/lib/_internal/compiler/implementation/ssa/codegen.dart |
+++ b/sdk/lib/_internal/compiler/implementation/ssa/codegen.dart |
@@ -42,7 +42,7 @@ class SsaCodeGeneratorTask extends CompilerTask { |
return code; |
} |
- CodeBuffer generateCode(WorkItem work, HGraph graph) { |
+ js.Expression generateCode(WorkItem work, HGraph graph) { |
if (work.element.isField()) { |
return generateLazyInitializer(work, graph); |
} else { |
@@ -50,19 +50,17 @@ class SsaCodeGeneratorTask extends CompilerTask { |
} |
} |
- CodeBuffer generateLazyInitializer(work, graph) { |
+ js.Expression generateLazyInitializer(work, graph) { |
return measure(() { |
compiler.tracer.traceGraph("codegen", graph); |
SsaOptimizedCodeGenerator codegen = |
new SsaOptimizedCodeGenerator(backend, work); |
codegen.visitGraph(graph); |
- js.Block body = codegen.body; |
- js.Fun fun = new js.Fun(codegen.parameters, body); |
- return prettyPrint(fun); |
+ return new js.Fun(codegen.parameters, codegen.body); |
}); |
} |
- CodeBuffer generateMethod(WorkItem work, HGraph graph) { |
+ js.Expression generateMethod(WorkItem work, HGraph graph) { |
return measure(() { |
compiler.tracer.traceGraph("codegen", graph); |
SsaOptimizedCodeGenerator codegen = |
@@ -89,12 +87,11 @@ class SsaCodeGeneratorTask extends CompilerTask { |
body = codegen.body; |
} |
- js.Fun fun = buildJavaScriptFunction(element, codegen.parameters, body); |
- return prettyPrint(fun); |
+ return buildJavaScriptFunction(element, codegen.parameters, body); |
}); |
} |
- CodeBuffer generateBailoutMethod(WorkItem work, HGraph graph) { |
+ js.Expression generateBailoutMethod(WorkItem work, HGraph graph) { |
return measure(() { |
compiler.tracer.traceGraph("codegen-bailout", graph); |
@@ -107,7 +104,7 @@ class SsaCodeGeneratorTask extends CompilerTask { |
body.statements.add(codegen.body); |
js.Fun fun = |
buildJavaScriptFunction(work.element, codegen.newParameters, body); |
- return prettyPrint(fun); |
+ return fun; |
}); |
} |
} |
@@ -2193,7 +2190,7 @@ abstract class SsaCodeGenerator implements HVisitor, HBlockInformationVisitor { |
void checkTypeOf(HInstruction input, String cmp, String typeName) { |
use(input); |
js.Expression typeOf = new js.Prefix("typeof", pop()); |
- push(new js.Binary(cmp, typeOf, new js.LiteralString("'$typeName'"))); |
+ push(new js.Binary(cmp, typeOf, js.string(typeName))); |
} |
void checkNum(HInstruction input, String cmp) |
@@ -2501,14 +2498,14 @@ abstract class SsaCodeGenerator implements HVisitor, HBlockInformationVisitor { |
// or [propertyTypeCast]. |
assert(!type.isMalformed); |
String additionalArgument = backend.namer.operatorIs(element); |
- arguments.add(new js.LiteralString("'$additionalArgument'")); |
+ arguments.add(js.string(additionalArgument)); |
} else if (parameterCount == 3) { |
// 3 arguments implies that the method is [malformedTypeCheck]. |
assert(type.isMalformed); |
String reasons = fetchReasonsFromMalformedType(type); |
- arguments.add(new js.LiteralString("'$type'")); |
+ arguments.add(js.string('$type')); |
// TODO(johnniwinther): Handle escaping correctly. |
- arguments.add(new js.LiteralString("'$reasons'")); |
+ arguments.add(js.string(reasons)); |
} else { |
assert(!type.isMalformed); |
} |