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

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

Issue 1156593002: Cache current thread in a reserved register and use it in LoadIsolate (Closed) Base URL: https://github.com/dart-lang/sdk.git@master
Patch Set: Added more comments. Created 5 years, 7 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
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/globals.h" // Needed here to get TARGET_ARCH_XXX. 5 #include "vm/globals.h" // Needed here to get TARGET_ARCH_XXX.
6 6
7 #include "vm/flow_graph_compiler.h" 7 #include "vm/flow_graph_compiler.h"
8 8
9 #include "vm/bit_vector.h" 9 #include "vm/bit_vector.h"
10 #include "vm/cha.h" 10 #include "vm/cha.h"
(...skipping 1223 matching lines...) Expand 10 before | Expand all | Expand 10 after
1234 blocked_registers[FPREG] = true; 1234 blocked_registers[FPREG] = true;
1235 if (TMP != kNoRegister) { 1235 if (TMP != kNoRegister) {
1236 blocked_registers[TMP] = true; 1236 blocked_registers[TMP] = true;
1237 } 1237 }
1238 if (TMP2 != kNoRegister) { 1238 if (TMP2 != kNoRegister) {
1239 blocked_registers[TMP2] = true; 1239 blocked_registers[TMP2] = true;
1240 } 1240 }
1241 if (PP != kNoRegister) { 1241 if (PP != kNoRegister) {
1242 blocked_registers[PP] = true; 1242 blocked_registers[PP] = true;
1243 } 1243 }
1244 blocked_registers[THR] = true;
1244 1245
1245 // Block all non-free registers. 1246 // Block all non-free registers.
1246 for (intptr_t i = 0; i < kFirstFreeCpuRegister; i++) { 1247 for (intptr_t i = 0; i < kFirstFreeCpuRegister; i++) {
1247 blocked_registers[i] = true; 1248 blocked_registers[i] = true;
1248 } 1249 }
1249 for (intptr_t i = kLastFreeCpuRegister + 1; i < kNumberOfCpuRegisters; i++) { 1250 for (intptr_t i = kLastFreeCpuRegister + 1; i < kNumberOfCpuRegisters; i++) {
1250 blocked_registers[i] = true; 1251 blocked_registers[i] = true;
1251 } 1252 }
1252 1253
1253 // Allocate all unallocated input locations. 1254 // Allocate all unallocated input locations.
(...skipping 473 matching lines...) Expand 10 before | Expand all | Expand 10 after
1727 1728
1728 1729
1729 void FlowGraphCompiler::FrameStateClear() { 1730 void FlowGraphCompiler::FrameStateClear() {
1730 ASSERT(!is_optimizing()); 1731 ASSERT(!is_optimizing());
1731 frame_state_.TruncateTo(0); 1732 frame_state_.TruncateTo(0);
1732 } 1733 }
1733 #endif 1734 #endif
1734 1735
1735 1736
1736 } // namespace dart 1737 } // namespace dart
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698