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

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

Issue 612553002: Make LoadIndexedInstr for Uint32List use kUnboxedUint32 representation (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: Created 6 years, 2 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
« no previous file with comments | « no previous file | runtime/vm/intermediate_language_arm.cc » ('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) 2013, the Dart project authors. Please see the AUTHORS file 1 // Copyright (c) 2013, 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_optimizer.h" 5 #include "vm/flow_graph_optimizer.h"
6 6
7 #include "vm/bit_vector.h" 7 #include "vm/bit_vector.h"
8 #include "vm/cha.h" 8 #include "vm/cha.h"
9 #include "vm/cpu.h" 9 #include "vm/cpu.h"
10 #include "vm/dart_entry.h" 10 #include "vm/dart_entry.h"
(...skipping 610 matching lines...) Expand 10 before | Expand all | Expand 10 after
621 621
622 Definition* converted = NULL; 622 Definition* converted = NULL;
623 if ((from == kTagged) && (to == kUnboxedMint)) { 623 if ((from == kTagged) && (to == kUnboxedMint)) {
624 ASSERT((deopt_target != NULL) || 624 ASSERT((deopt_target != NULL) ||
625 (use->Type()->ToCid() == kUnboxedMint)); 625 (use->Type()->ToCid() == kUnboxedMint));
626 const intptr_t deopt_id = (deopt_target != NULL) ? 626 const intptr_t deopt_id = (deopt_target != NULL) ?
627 deopt_target->DeoptimizationTarget() : Isolate::kNoDeoptId; 627 deopt_target->DeoptimizationTarget() : Isolate::kNoDeoptId;
628 converted = new(I) UnboxIntegerInstr(use->CopyWithType(), deopt_id); 628 converted = new(I) UnboxIntegerInstr(use->CopyWithType(), deopt_id);
629 } else if ((from == kUnboxedMint) && (to == kTagged)) { 629 } else if ((from == kUnboxedMint) && (to == kTagged)) {
630 converted = new(I) BoxIntegerInstr(use->CopyWithType()); 630 converted = new(I) BoxIntegerInstr(use->CopyWithType());
631 } else if ((from == kUnboxedUint32) && (to == kTagged)) {
632 converted = new(I) BoxUint32Instr(use->CopyWithType());
631 } else if (IsUnboxedInteger(from) && IsUnboxedInteger(to)) { 633 } else if (IsUnboxedInteger(from) && IsUnboxedInteger(to)) {
632 const intptr_t deopt_id = (to == kUnboxedInt32) && (deopt_target != NULL) ? 634 const intptr_t deopt_id = (to == kUnboxedInt32) && (deopt_target != NULL) ?
633 deopt_target->DeoptimizationTarget() : Isolate::kNoDeoptId; 635 deopt_target->DeoptimizationTarget() : Isolate::kNoDeoptId;
634 converted = new(I) UnboxedIntConverterInstr(from, 636 converted = new(I) UnboxedIntConverterInstr(from,
635 to, 637 to,
636 use->CopyWithType(), 638 use->CopyWithType(),
637 deopt_id); 639 deopt_id);
638 } else if ((from == kUnboxedInt32) && (to == kUnboxedDouble)) { 640 } else if ((from == kUnboxedInt32) && (to == kUnboxedDouble)) {
639 converted = new Int32ToDoubleInstr(use->CopyWithType()); 641 converted = new Int32ToDoubleInstr(use->CopyWithType());
640 } else if ((from == kTagged) && (to == kUnboxedInt32)) { 642 } else if ((from == kTagged) && (to == kUnboxedInt32)) {
(...skipping 9479 matching lines...) Expand 10 before | Expand all | Expand 10 after
10120 10122
10121 // Insert materializations at environment uses. 10123 // Insert materializations at environment uses.
10122 for (intptr_t i = 0; i < exits_collector_.exits().length(); i++) { 10124 for (intptr_t i = 0; i < exits_collector_.exits().length(); i++) {
10123 CreateMaterializationAt( 10125 CreateMaterializationAt(
10124 exits_collector_.exits()[i], alloc, alloc->cls(), *slots); 10126 exits_collector_.exits()[i], alloc, alloc->cls(), *slots);
10125 } 10127 }
10126 } 10128 }
10127 10129
10128 10130
10129 } // namespace dart 10131 } // namespace dart
OLDNEW
« no previous file with comments | « no previous file | runtime/vm/intermediate_language_arm.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698