| OLD | NEW |
| 1 // Copyright (c) 1994-2006 Sun Microsystems Inc. | 1 // Copyright (c) 1994-2006 Sun Microsystems Inc. |
| 2 // All Rights Reserved. | 2 // All Rights Reserved. |
| 3 // | 3 // |
| 4 // Redistribution and use in source and binary forms, with or without | 4 // Redistribution and use in source and binary forms, with or without |
| 5 // modification, are permitted provided that the following conditions | 5 // modification, are permitted provided that the following conditions |
| 6 // are met: | 6 // are met: |
| 7 // | 7 // |
| 8 // - Redistributions of source code must retain the above copyright notice, | 8 // - Redistributions of source code must retain the above copyright notice, |
| 9 // this list of conditions and the following disclaimer. | 9 // this list of conditions and the following disclaimer. |
| 10 // | 10 // |
| (...skipping 201 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 212 DCHECK(IsDebugBreakSlot(rmode()) && IsPatchedDebugBreakSlotSequence()); | 212 DCHECK(IsDebugBreakSlot(rmode()) && IsPatchedDebugBreakSlotSequence()); |
| 213 return Memory::Address_at(pc_ + Assembler::kPatchDebugBreakSlotAddressOffset); | 213 return Memory::Address_at(pc_ + Assembler::kPatchDebugBreakSlotAddressOffset); |
| 214 } | 214 } |
| 215 | 215 |
| 216 | 216 |
| 217 void RelocInfo::set_debug_call_address(Address target) { | 217 void RelocInfo::set_debug_call_address(Address target) { |
| 218 DCHECK(IsDebugBreakSlot(rmode()) && IsPatchedDebugBreakSlotSequence()); | 218 DCHECK(IsDebugBreakSlot(rmode()) && IsPatchedDebugBreakSlotSequence()); |
| 219 Memory::Address_at(pc_ + Assembler::kPatchDebugBreakSlotAddressOffset) = | 219 Memory::Address_at(pc_ + Assembler::kPatchDebugBreakSlotAddressOffset) = |
| 220 target; | 220 target; |
| 221 if (host() != NULL) { | 221 if (host() != NULL) { |
| 222 Object* target_code = Code::GetCodeFromTargetAddress(target); | 222 Code* target_code = Code::GetCodeFromTargetAddress(target); |
| 223 host()->GetHeap()->incremental_marking()->RecordWriteIntoCode( | 223 host()->GetHeap()->incremental_marking()->RecordWriteIntoCode(host(), this, |
| 224 host(), this, HeapObject::cast(target_code)); | 224 target_code); |
| 225 } | 225 } |
| 226 } | 226 } |
| 227 | 227 |
| 228 | 228 |
| 229 void RelocInfo::WipeOut() { | 229 void RelocInfo::WipeOut() { |
| 230 DCHECK(IsEmbeddedObject(rmode_) || IsCodeTarget(rmode_) || | 230 DCHECK(IsEmbeddedObject(rmode_) || IsCodeTarget(rmode_) || |
| 231 IsRuntimeEntry(rmode_) || IsExternalReference(rmode_) || | 231 IsRuntimeEntry(rmode_) || IsExternalReference(rmode_) || |
| 232 IsInternalReference(rmode_)); | 232 IsInternalReference(rmode_)); |
| 233 if (IsInternalReference(rmode_)) { | 233 if (IsInternalReference(rmode_)) { |
| 234 Memory::Address_at(pc_) = NULL; | 234 Memory::Address_at(pc_) = NULL; |
| (...skipping 351 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 586 Address constant_pool = code ? code->constant_pool() : NULL; | 586 Address constant_pool = code ? code->constant_pool() : NULL; |
| 587 set_target_address_at(isolate, pc, constant_pool, target, icache_flush_mode); | 587 set_target_address_at(isolate, pc, constant_pool, target, icache_flush_mode); |
| 588 } | 588 } |
| 589 | 589 |
| 590 EnsureSpace::EnsureSpace(Assembler* assembler) { assembler->CheckBuffer(); } | 590 EnsureSpace::EnsureSpace(Assembler* assembler) { assembler->CheckBuffer(); } |
| 591 | 591 |
| 592 } // namespace internal | 592 } // namespace internal |
| 593 } // namespace v8 | 593 } // namespace v8 |
| 594 | 594 |
| 595 #endif // V8_ARM_ASSEMBLER_ARM_INL_H_ | 595 #endif // V8_ARM_ASSEMBLER_ARM_INL_H_ |
| OLD | NEW |