OLD | NEW |
1 // Copyright 2011 the V8 project authors. All rights reserved. | 1 // Copyright 2011 the V8 project authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #ifndef V8_IA32_CODE_STUBS_IA32_H_ | 5 #ifndef V8_IA32_CODE_STUBS_IA32_H_ |
6 #define V8_IA32_CODE_STUBS_IA32_H_ | 6 #define V8_IA32_CODE_STUBS_IA32_H_ |
7 | 7 |
8 namespace v8 { | 8 namespace v8 { |
9 namespace internal { | 9 namespace internal { |
10 | 10 |
(...skipping 302 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
313 Register scratch0_orig_; | 313 Register scratch0_orig_; |
314 Register object_; | 314 Register object_; |
315 Register address_; | 315 Register address_; |
316 Register scratch0_; | 316 Register scratch0_; |
317 Register scratch1_; | 317 Register scratch1_; |
318 // Third scratch register is always ecx. | 318 // Third scratch register is always ecx. |
319 | 319 |
320 Register GetRegThatIsNotEcxOr(Register r1, | 320 Register GetRegThatIsNotEcxOr(Register r1, |
321 Register r2, | 321 Register r2, |
322 Register r3) { | 322 Register r3) { |
323 for (int i = 0; i < Register::NumAllocatableRegisters(); i++) { | 323 for (int i = 0; i < Register::kNumRegisters; i++) { |
324 Register candidate = Register::FromAllocationIndex(i); | 324 Register candidate = Register::from_code(i); |
325 if (candidate.is(ecx)) continue; | 325 if (candidate.IsAllocatable()) { |
326 if (candidate.is(r1)) continue; | 326 if (candidate.is(ecx)) continue; |
327 if (candidate.is(r2)) continue; | 327 if (candidate.is(r1)) continue; |
328 if (candidate.is(r3)) continue; | 328 if (candidate.is(r2)) continue; |
329 return candidate; | 329 if (candidate.is(r3)) continue; |
| 330 return candidate; |
| 331 } |
330 } | 332 } |
331 UNREACHABLE(); | 333 UNREACHABLE(); |
332 return no_reg; | 334 return no_reg; |
333 } | 335 } |
334 friend class RecordWriteStub; | 336 friend class RecordWriteStub; |
335 }; | 337 }; |
336 | 338 |
337 enum OnNoNeedToInformIncrementalMarker { | 339 enum OnNoNeedToInformIncrementalMarker { |
338 kReturnOnNoNeedToInformIncrementalMarker, | 340 kReturnOnNoNeedToInformIncrementalMarker, |
339 kUpdateRememberedSetOnNoNeedToInformIncrementalMarker | 341 kUpdateRememberedSetOnNoNeedToInformIncrementalMarker |
(...skipping 41 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
381 | 383 |
382 RegisterAllocation regs_; | 384 RegisterAllocation regs_; |
383 | 385 |
384 DISALLOW_COPY_AND_ASSIGN(RecordWriteStub); | 386 DISALLOW_COPY_AND_ASSIGN(RecordWriteStub); |
385 }; | 387 }; |
386 | 388 |
387 | 389 |
388 } } // namespace v8::internal | 390 } } // namespace v8::internal |
389 | 391 |
390 #endif // V8_IA32_CODE_STUBS_IA32_H_ | 392 #endif // V8_IA32_CODE_STUBS_IA32_H_ |
OLD | NEW |