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

Unified Diff: runtime/vm/flow_graph_allocator.cc

Issue 1417433002: Don't touch x18 on ARM64 - it is globally reserved on iOS. (Closed) Base URL: git@github.com:dart-lang/sdk.git@master
Patch Set: Created 5 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 side-by-side diff with in-line comments
Download patch
« no previous file with comments | « runtime/vm/disassembler_arm64.cc ('k') | runtime/vm/flow_graph_compiler.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: runtime/vm/flow_graph_allocator.cc
diff --git a/runtime/vm/flow_graph_allocator.cc b/runtime/vm/flow_graph_allocator.cc
index 208a4afbd8e8de0a726326ce18bb6fd2f55696eb..e605eac918d64e7a96eead68d581a18f57b594e8 100644
--- a/runtime/vm/flow_graph_allocator.cc
+++ b/runtime/vm/flow_graph_allocator.cc
@@ -101,24 +101,11 @@ FlowGraphAllocator::FlowGraphAllocator(const FlowGraph& flow_graph,
// All registers are marked as "not blocked" (array initialized to false).
// Mark the unavailable ones as "blocked" (true).
- for (intptr_t i = 0; i < kFirstFreeCpuRegister; i++) {
- blocked_cpu_registers_[i] = true;
- }
- for (intptr_t i = kLastFreeCpuRegister + 1; i < kNumberOfCpuRegisters; i++) {
- blocked_cpu_registers_[i] = true;
- }
- if (TMP != kNoRegister) {
- blocked_cpu_registers_[TMP] = true;
- }
- if (TMP2 != kNoRegister) {
- blocked_cpu_registers_[TMP2] = true;
- }
- if (PP != kNoRegister) {
- blocked_cpu_registers_[PP] = true;
+ for (intptr_t i = 0; i < kNumberOfCpuRegisters; i++) {
+ if ((kDartAvailableCpuRegs & (1 << i)) == 0) {
+ blocked_cpu_registers_[i] = true;
+ }
}
- blocked_cpu_registers_[SPREG] = true;
- blocked_cpu_registers_[FPREG] = true;
- blocked_cpu_registers_[THR] = true;
// FpuTMP is used as scratch by optimized code and parallel move resolver.
blocked_fpu_registers_[FpuTMP] = true;
« no previous file with comments | « runtime/vm/disassembler_arm64.cc ('k') | runtime/vm/flow_graph_compiler.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698