OLD | NEW |
1 | 1 |
2 // Copyright (c) 1994-2006 Sun Microsystems Inc. | 2 // Copyright (c) 1994-2006 Sun Microsystems Inc. |
3 // All Rights Reserved. | 3 // All Rights Reserved. |
4 // | 4 // |
5 // Redistribution and use in source and binary forms, with or without | 5 // Redistribution and use in source and binary forms, with or without |
6 // modification, are permitted provided that the following conditions are | 6 // modification, are permitted provided that the following conditions are |
7 // met: | 7 // met: |
8 // | 8 // |
9 // - Redistributions of source code must retain the above copyright notice, | 9 // - Redistributions of source code must retain the above copyright notice, |
10 // this list of conditions and the following disclaimer. | 10 // this list of conditions and the following disclaimer. |
(...skipping 66 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
77 Operand::Operand(Register rm) { | 77 Operand::Operand(Register rm) { |
78 rm_ = rm; | 78 rm_ = rm; |
79 } | 79 } |
80 | 80 |
81 | 81 |
82 bool Operand::is_reg() const { | 82 bool Operand::is_reg() const { |
83 return rm_.is_valid(); | 83 return rm_.is_valid(); |
84 } | 84 } |
85 | 85 |
86 | 86 |
| 87 int Register::NumAllocatableRegisters() { |
| 88 return kMaxNumAllocatableRegisters; |
| 89 } |
| 90 |
| 91 |
| 92 int DoubleRegister::NumRegisters() { |
| 93 return FPURegister::kMaxNumRegisters; |
| 94 } |
| 95 |
| 96 |
| 97 int DoubleRegister::NumAllocatableRegisters() { |
| 98 return FPURegister::kMaxNumAllocatableRegisters; |
| 99 } |
| 100 |
| 101 |
| 102 int DoubleRegister::NumAllocatableAliasedRegisters() { |
| 103 return NumAllocatableRegisters(); |
| 104 } |
| 105 |
| 106 |
| 107 int FPURegister::ToAllocationIndex(FPURegister reg) { |
| 108 DCHECK(reg.code() % 2 == 0); |
| 109 DCHECK(reg.code() / 2 < kMaxNumAllocatableRegisters); |
| 110 DCHECK(reg.is_valid()); |
| 111 DCHECK(!reg.is(kDoubleRegZero)); |
| 112 DCHECK(!reg.is(kLithiumScratchDouble)); |
| 113 return (reg.code() / 2); |
| 114 } |
| 115 |
| 116 |
87 // ----------------------------------------------------------------------------- | 117 // ----------------------------------------------------------------------------- |
88 // RelocInfo. | 118 // RelocInfo. |
89 | 119 |
90 void RelocInfo::apply(intptr_t delta) { | 120 void RelocInfo::apply(intptr_t delta) { |
91 if (IsInternalReference(rmode_) || IsInternalReferenceEncoded(rmode_)) { | 121 if (IsInternalReference(rmode_) || IsInternalReferenceEncoded(rmode_)) { |
92 // Absolute code pointer inside code object moves with the code object. | 122 // Absolute code pointer inside code object moves with the code object. |
93 byte* p = reinterpret_cast<byte*>(pc_); | 123 byte* p = reinterpret_cast<byte*>(pc_); |
94 int count = Assembler::RelocateInternalReference(rmode_, p, delta); | 124 int count = Assembler::RelocateInternalReference(rmode_, p, delta); |
95 CpuFeatures::FlushICache(p, count * sizeof(uint32_t)); | 125 CpuFeatures::FlushICache(p, count * sizeof(uint32_t)); |
96 } | 126 } |
(...skipping 357 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
454 } | 484 } |
455 *reinterpret_cast<uint64_t*>(pc_) = x; | 485 *reinterpret_cast<uint64_t*>(pc_) = x; |
456 pc_ += kInstrSize * 2; | 486 pc_ += kInstrSize * 2; |
457 CheckTrampolinePoolQuick(); | 487 CheckTrampolinePoolQuick(); |
458 } | 488 } |
459 | 489 |
460 | 490 |
461 } } // namespace v8::internal | 491 } } // namespace v8::internal |
462 | 492 |
463 #endif // V8_MIPS_ASSEMBLER_MIPS_INL_H_ | 493 #endif // V8_MIPS_ASSEMBLER_MIPS_INL_H_ |
OLD | NEW |