| Index: pkg/compiler/lib/src/ssa/builder.dart
|
| diff --git a/pkg/compiler/lib/src/ssa/builder.dart b/pkg/compiler/lib/src/ssa/builder.dart
|
| index 2dca5031067a69d05063bccad4a974cf8654d439..2ee1fdbe22285054bd59b328483fbddafc0adc4a 100644
|
| --- a/pkg/compiler/lib/src/ssa/builder.dart
|
| +++ b/pkg/compiler/lib/src/ssa/builder.dart
|
| @@ -3556,17 +3556,17 @@ class SsaBuilder extends NewResolvedVisitor {
|
| InterfaceType interface = type;
|
| List<HInstruction> inputs = <HInstruction>[];
|
| bool first = true;
|
| - List<String> templates = <String>[];
|
| + List<js.Expression> templates = <js.Expression>[];
|
| for (DartType argument in interface.typeArguments) {
|
| - templates.add(rti.getTypeRepresentationWithHashes(argument, (variable) {
|
| + templates.add(rti.getTypeRepresentationWithPlaceholders(argument, (variable) {
|
| HInstruction runtimeType = addTypeVariableReference(variable);
|
| inputs.add(runtimeType);
|
| }));
|
| }
|
| - String template = '[${templates.join(', ')}]';
|
| // TODO(sra): This is a fresh template each time. We can't let the
|
| // template manager build them.
|
| - js.Template code = js.js.uncachedExpressionTemplate(template);
|
| + js.Template code = new js.Template(null,
|
| + new js.ArrayInitializer(templates));
|
| HInstruction representation =
|
| new HForeignCode(code, backend.readableArrayType, inputs,
|
| nativeBehavior: native.NativeBehavior.PURE_ALLOCATION);
|
| @@ -4623,11 +4623,12 @@ class SsaBuilder extends NewResolvedVisitor {
|
|
|
| List<HInstruction> inputs = <HInstruction>[];
|
|
|
| - String template = rti.getTypeRepresentationWithHashes(argument, (variable) {
|
| - inputs.add(addTypeVariableReference(variable));
|
| - });
|
| + js.Expression template =
|
| + rti.getTypeRepresentationWithPlaceholders(argument, (variable) {
|
| + inputs.add(addTypeVariableReference(variable));
|
| + });
|
|
|
| - js.Template code = js.js.uncachedExpressionTemplate(template);
|
| + js.Template code = new js.Template(null, template);
|
| HInstruction result = new HForeignCode(code, backend.stringType, inputs,
|
| nativeBehavior: native.NativeBehavior.PURE);
|
| add(result);
|
|
|