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

Side by Side Diff: pkg/compiler/lib/src/ssa/builder.dart

Issue 1278353003: Handle more unqualified SendSets (Closed) Base URL: https://github.com/dart-lang/sdk.git@master
Patch Set: Created 5 years, 4 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 unified diff | Download patch
« no previous file with comments | « pkg/compiler/lib/src/resolution/registry.dart ('k') | pkg/compiler/lib/src/tree/nodes.dart » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file 1 // Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file
2 // for details. All rights reserved. Use of this source code is governed by a 2 // for details. All rights reserved. Use of this source code is governed by a
3 // BSD-style license that can be found in the LICENSE file. 3 // BSD-style license that can be found in the LICENSE file.
4 4
5 part of ssa; 5 part of ssa;
6 6
7 class SsaFunctionCompiler implements FunctionCompiler { 7 class SsaFunctionCompiler implements FunctionCompiler {
8 final SsaCodeGeneratorTask generator; 8 final SsaCodeGeneratorTask generator;
9 final SsaBuilderTask builder; 9 final SsaBuilderTask builder;
10 final SsaOptimizerTask optimizer; 10 final SsaOptimizerTask optimizer;
(...skipping 3558 matching lines...) Expand 10 before | Expand all | Expand 10 after
3569 _) { 3569 _) {
3570 generateStaticGetterGet(node, getter); 3570 generateStaticGetterGet(node, getter);
3571 } 3571 }
3572 3572
3573 void generateInstanceSetterWithCompiledReceiver(ast.Send send, 3573 void generateInstanceSetterWithCompiledReceiver(ast.Send send,
3574 HInstruction receiver, 3574 HInstruction receiver,
3575 HInstruction value, 3575 HInstruction value,
3576 {Selector selector, 3576 {Selector selector,
3577 TypeMask mask, 3577 TypeMask mask,
3578 ast.Node location}) { 3578 ast.Node location}) {
3579 assert(send == null || Elements.isInstanceSend(send, elements)); 3579 assert(invariant(
3580 send == null ? location : send,
3581 send == null || Elements.isInstanceSend(send, elements),
3582 message: "Unexpected instance setter"
3583 "${send != null ? " element: ${elements[send]}" : ""}"));
3580 if (selector == null) { 3584 if (selector == null) {
3581 assert(send != null); 3585 assert(send != null);
3582 selector = elements.getSelector(send); 3586 selector = elements.getSelector(send);
3583 if (mask == null) { 3587 if (mask == null) {
3584 mask = elements.getTypeMask(send); 3588 mask = elements.getTypeMask(send);
3585 } 3589 }
3586 } 3590 }
3587 if (location == null) { 3591 if (location == null) {
3588 assert(send != null); 3592 assert(send != null);
3589 location = send; 3593 location = send;
(...skipping 5245 matching lines...) Expand 10 before | Expand all | Expand 10 after
8835 if (unaliased is TypedefType) throw 'unable to unalias $type'; 8839 if (unaliased is TypedefType) throw 'unable to unalias $type';
8836 unaliased.accept(this, builder); 8840 unaliased.accept(this, builder);
8837 } 8841 }
8838 8842
8839 void visitDynamicType(DynamicType type, SsaBuilder builder) { 8843 void visitDynamicType(DynamicType type, SsaBuilder builder) {
8840 JavaScriptBackend backend = builder.compiler.backend; 8844 JavaScriptBackend backend = builder.compiler.backend;
8841 ClassElement cls = backend.findHelper('DynamicRuntimeType'); 8845 ClassElement cls = backend.findHelper('DynamicRuntimeType');
8842 builder.push(new HDynamicType(type, new TypeMask.exact(cls, classWorld))); 8846 builder.push(new HDynamicType(type, new TypeMask.exact(cls, classWorld)));
8843 } 8847 }
8844 } 8848 }
OLDNEW
« no previous file with comments | « pkg/compiler/lib/src/resolution/registry.dart ('k') | pkg/compiler/lib/src/tree/nodes.dart » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698