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

Side by Side Diff: runtime/vm/flow_graph_builder.cc

Issue 9592031: Eliminate IncrOpStaticFieldNode, replace a set of nodes. (Closed) Base URL: http://dart.googlecode.com/svn/branches/bleeding_edge/dart/
Patch Set: Created 8 years, 9 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 | Annotate | Revision Log
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 #include "vm/flow_graph_builder.h" 5 #include "vm/flow_graph_builder.h"
6 6
7 #include "vm/ast_printer.h" 7 #include "vm/ast_printer.h"
8 #include "vm/flags.h" 8 #include "vm/flags.h"
9 #include "vm/intermediate_language.h" 9 #include "vm/intermediate_language.h"
10 #include "vm/longjump.h" 10 #include "vm/longjump.h"
(...skipping 299 matching lines...) Expand 10 before | Expand all | Expand 10 after
310 Bailout("EffectGraphVisitor::VisitIncrOpLocalNode"); 310 Bailout("EffectGraphVisitor::VisitIncrOpLocalNode");
311 } 311 }
312 312
313 313
314 void EffectGraphVisitor::VisitIncrOpInstanceFieldNode( 314 void EffectGraphVisitor::VisitIncrOpInstanceFieldNode(
315 IncrOpInstanceFieldNode* node) { 315 IncrOpInstanceFieldNode* node) {
316 Bailout("EffectGraphVisitor::VisitIncrOpInstanceFieldNode"); 316 Bailout("EffectGraphVisitor::VisitIncrOpInstanceFieldNode");
317 } 317 }
318 318
319 319
320 void EffectGraphVisitor::VisitIncrOpStaticFieldNode(
321 IncrOpStaticFieldNode* node) {
322 Bailout("EffectGraphVisitor::VisitIncrOpStaticFieldNode");
323 }
324
325
326 void EffectGraphVisitor::VisitIncrOpIndexedNode(IncrOpIndexedNode* node) { 320 void EffectGraphVisitor::VisitIncrOpIndexedNode(IncrOpIndexedNode* node) {
327 ASSERT((node->kind() == Token::kINCR) || (node->kind() == Token::kDECR)); 321 ASSERT((node->kind() == Token::kINCR) || (node->kind() == Token::kDECR));
328 if (node->prefix()) { 322 if (node->prefix()) {
329 Bailout("IncrOpIndexed prefix"); 323 Bailout("IncrOpIndexed prefix");
330 } else { 324 } else {
331 // Leave a placeholder, evaluate receiver and index. 325 // Leave a placeholder, evaluate receiver and index.
332 // t0 <- #0 326 // t0 <- #0
333 // t1 <- ... receiver ... 327 // t1 <- ... receiver ...
334 // t2 <- ... index ... 328 // t2 <- ... index ...
335 const Smi& placeholder = Smi::ZoneHandle(Smi::New(0)); 329 const Smi& placeholder = Smi::ZoneHandle(Smi::New(0));
(...skipping 679 matching lines...) Expand 10 before | Expand all | Expand 10 after
1015 char* chars = reinterpret_cast<char*>( 1009 char* chars = reinterpret_cast<char*>(
1016 Isolate::Current()->current_zone()->Allocate(len)); 1010 Isolate::Current()->current_zone()->Allocate(len));
1017 OS::SNPrint(chars, len, kFormat, function_name, reason); 1011 OS::SNPrint(chars, len, kFormat, function_name, reason);
1018 const Error& error = Error::Handle( 1012 const Error& error = Error::Handle(
1019 LanguageError::New(String::Handle(String::New(chars)))); 1013 LanguageError::New(String::Handle(String::New(chars))));
1020 Isolate::Current()->long_jump_base()->Jump(1, error); 1014 Isolate::Current()->long_jump_base()->Jump(1, error);
1021 } 1015 }
1022 1016
1023 1017
1024 } // namespace dart 1018 } // namespace dart
OLDNEW
« no previous file with comments | « runtime/vm/code_generator_x64.cc ('k') | runtime/vm/parser.cc » ('j') | runtime/vm/parser.cc » ('J')

Powered by Google App Engine
This is Rietveld 408576698