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 301 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
312 return Assembler::target_address_at(pc_, host_); | 312 return Assembler::target_address_at(pc_, host_); |
313 } | 313 } |
314 | 314 |
315 | 315 |
316 void RelocInfo::set_debug_call_address(Address target) { | 316 void RelocInfo::set_debug_call_address(Address target) { |
317 DCHECK(IsDebugBreakSlot(rmode()) && IsPatchedDebugBreakSlotSequence()); | 317 DCHECK(IsDebugBreakSlot(rmode()) && IsPatchedDebugBreakSlotSequence()); |
318 // The pc_ offset of 0 assumes patched debug break slot or return | 318 // The pc_ offset of 0 assumes patched debug break slot or return |
319 // sequence. | 319 // sequence. |
320 Assembler::set_target_address_at(isolate_, pc_, host_, target); | 320 Assembler::set_target_address_at(isolate_, pc_, host_, target); |
321 if (host() != NULL) { | 321 if (host() != NULL) { |
322 Object* target_code = Code::GetCodeFromTargetAddress(target); | 322 Code* target_code = Code::GetCodeFromTargetAddress(target); |
323 host()->GetHeap()->incremental_marking()->RecordWriteIntoCode( | 323 host()->GetHeap()->incremental_marking()->RecordWriteIntoCode(host(), this, |
324 host(), this, HeapObject::cast(target_code)); | 324 target_code); |
325 } | 325 } |
326 } | 326 } |
327 | 327 |
328 | 328 |
329 void RelocInfo::WipeOut() { | 329 void RelocInfo::WipeOut() { |
330 DCHECK(IsEmbeddedObject(rmode_) || IsCodeTarget(rmode_) || | 330 DCHECK(IsEmbeddedObject(rmode_) || IsCodeTarget(rmode_) || |
331 IsRuntimeEntry(rmode_) || IsExternalReference(rmode_) || | 331 IsRuntimeEntry(rmode_) || IsExternalReference(rmode_) || |
332 IsInternalReference(rmode_) || IsInternalReferenceEncoded(rmode_)); | 332 IsInternalReference(rmode_) || IsInternalReferenceEncoded(rmode_)); |
333 if (IsInternalReference(rmode_)) { | 333 if (IsInternalReference(rmode_)) { |
334 Memory::Address_at(pc_) = NULL; | 334 Memory::Address_at(pc_) = NULL; |
(...skipping 135 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
470 void Assembler::emit(uint64_t data) { | 470 void Assembler::emit(uint64_t data) { |
471 CheckForEmitInForbiddenSlot(); | 471 CheckForEmitInForbiddenSlot(); |
472 EmitHelper(data); | 472 EmitHelper(data); |
473 } | 473 } |
474 | 474 |
475 | 475 |
476 } // namespace internal | 476 } // namespace internal |
477 } // namespace v8 | 477 } // namespace v8 |
478 | 478 |
479 #endif // V8_MIPS_ASSEMBLER_MIPS_INL_H_ | 479 #endif // V8_MIPS_ASSEMBLER_MIPS_INL_H_ |
OLD | NEW |