| Index: dart/sdk/lib/_internal/compiler/implementation/ssa/builder.dart
|
| diff --git a/dart/sdk/lib/_internal/compiler/implementation/ssa/builder.dart b/dart/sdk/lib/_internal/compiler/implementation/ssa/builder.dart
|
| index ba26fe23147674269a9ac7c65faf7bb47c34f09e..52b2d7bad548280a59d61e912ceb3c9913c5fe9c 100644
|
| --- a/dart/sdk/lib/_internal/compiler/implementation/ssa/builder.dart
|
| +++ b/dart/sdk/lib/_internal/compiler/implementation/ssa/builder.dart
|
| @@ -3650,6 +3650,7 @@ class SsaBuilder extends ResolvedVisitor implements Visitor {
|
|
|
| visitNewExpression(NewExpression node) {
|
| Element element = elements[node.send];
|
| + final bool isSymbolConstructor = element == compiler.symbolConstructor;
|
| if (!Elements.isErroneousElement(element)) {
|
| FunctionElement function = element;
|
| element = function.redirectionTarget;
|
| @@ -3669,6 +3670,12 @@ class SsaBuilder extends ResolvedVisitor implements Visitor {
|
| ConstantHandler handler = compiler.constantHandler;
|
| Constant constant = handler.compileNodeWithDefinitions(node, elements);
|
| stack.add(graph.addConstant(constant));
|
| + if (isSymbolConstructor) {
|
| + ConstructedConstant symbol = constant;
|
| + StringConstant stringConstant = symbol.fields.single;
|
| + String nameString = stringConstant.toDartString().slowToString();
|
| + compiler.enqueuer.codegen.registerConstSymbol(nameString, elements);
|
| + }
|
| } else {
|
| DartType type = elements.getType(node);
|
| if (compiler.enableTypeAssertions && type.isMalformed) {
|
|
|