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 205 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
216 icache_flush_mode); | 216 icache_flush_mode); |
217 if (write_barrier_mode == UPDATE_WRITE_BARRIER && | 217 if (write_barrier_mode == UPDATE_WRITE_BARRIER && |
218 host() != NULL && | 218 host() != NULL && |
219 target->IsHeapObject()) { | 219 target->IsHeapObject()) { |
220 host()->GetHeap()->incremental_marking()->RecordWrite( | 220 host()->GetHeap()->incremental_marking()->RecordWrite( |
221 host(), &Memory::Object_at(pc_), HeapObject::cast(target)); | 221 host(), &Memory::Object_at(pc_), HeapObject::cast(target)); |
222 } | 222 } |
223 } | 223 } |
224 | 224 |
225 | 225 |
226 Address RelocInfo::target_reference() { | 226 Address RelocInfo::target_external_reference() { |
227 DCHECK(rmode_ == EXTERNAL_REFERENCE); | 227 DCHECK(rmode_ == EXTERNAL_REFERENCE); |
228 return Assembler::target_address_at(pc_, host_); | 228 return Assembler::target_address_at(pc_, host_); |
229 } | 229 } |
230 | 230 |
231 | 231 |
| 232 Address RelocInfo::target_internal_reference() { |
| 233 DCHECK(rmode_ == INTERNAL_REFERENCE); |
| 234 return Memory::Address_at(pc_); |
| 235 } |
| 236 |
| 237 |
| 238 void RelocInfo::set_target_internal_reference(Address target) { |
| 239 DCHECK(rmode_ == INTERNAL_REFERENCE); |
| 240 Memory::Address_at(pc_) = target; |
| 241 } |
| 242 |
| 243 |
232 Address RelocInfo::target_runtime_entry(Assembler* origin) { | 244 Address RelocInfo::target_runtime_entry(Assembler* origin) { |
233 DCHECK(IsRuntimeEntry(rmode_)); | 245 DCHECK(IsRuntimeEntry(rmode_)); |
234 return target_address(); | 246 return target_address(); |
235 } | 247 } |
236 | 248 |
237 | 249 |
238 void RelocInfo::set_target_runtime_entry(Address target, | 250 void RelocInfo::set_target_runtime_entry(Address target, |
239 WriteBarrierMode write_barrier_mode, | 251 WriteBarrierMode write_barrier_mode, |
240 ICacheFlushMode icache_flush_mode) { | 252 ICacheFlushMode icache_flush_mode) { |
241 DCHECK(IsRuntimeEntry(rmode_)); | 253 DCHECK(IsRuntimeEntry(rmode_)); |
(...skipping 211 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
453 } | 465 } |
454 *reinterpret_cast<uint64_t*>(pc_) = x; | 466 *reinterpret_cast<uint64_t*>(pc_) = x; |
455 pc_ += kInstrSize * 2; | 467 pc_ += kInstrSize * 2; |
456 CheckTrampolinePoolQuick(); | 468 CheckTrampolinePoolQuick(); |
457 } | 469 } |
458 | 470 |
459 | 471 |
460 } } // namespace v8::internal | 472 } } // namespace v8::internal |
461 | 473 |
462 #endif // V8_MIPS_ASSEMBLER_MIPS_INL_H_ | 474 #endif // V8_MIPS_ASSEMBLER_MIPS_INL_H_ |
OLD | NEW |