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 195 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
206 void RelocInfo::set_target_object(Object* target, | 206 void RelocInfo::set_target_object(Object* target, |
207 WriteBarrierMode write_barrier_mode, | 207 WriteBarrierMode write_barrier_mode, |
208 ICacheFlushMode icache_flush_mode) { | 208 ICacheFlushMode icache_flush_mode) { |
209 DCHECK(IsCodeTarget(rmode_) || rmode_ == EMBEDDED_OBJECT); | 209 DCHECK(IsCodeTarget(rmode_) || rmode_ == EMBEDDED_OBJECT); |
210 Assembler::set_target_address_at(isolate_, pc_, host_, | 210 Assembler::set_target_address_at(isolate_, pc_, host_, |
211 reinterpret_cast<Address>(target), | 211 reinterpret_cast<Address>(target), |
212 icache_flush_mode); | 212 icache_flush_mode); |
213 if (write_barrier_mode == UPDATE_WRITE_BARRIER && | 213 if (write_barrier_mode == UPDATE_WRITE_BARRIER && |
214 host() != NULL && | 214 host() != NULL && |
215 target->IsHeapObject()) { | 215 target->IsHeapObject()) { |
216 host()->GetHeap()->incremental_marking()->RecordWrite( | 216 host()->GetHeap()->incremental_marking()->RecordWriteIntoCode( |
217 host(), &Memory::Object_at(pc_), HeapObject::cast(target)); | 217 host(), this, HeapObject::cast(target)); |
218 } | 218 } |
219 } | 219 } |
220 | 220 |
221 | 221 |
222 Address RelocInfo::target_external_reference() { | 222 Address RelocInfo::target_external_reference() { |
223 DCHECK(rmode_ == EXTERNAL_REFERENCE); | 223 DCHECK(rmode_ == EXTERNAL_REFERENCE); |
224 return Assembler::target_address_at(pc_, host_); | 224 return Assembler::target_address_at(pc_, host_); |
225 } | 225 } |
226 | 226 |
227 | 227 |
(...skipping 261 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
489 void Assembler::emit(uint64_t data) { | 489 void Assembler::emit(uint64_t data) { |
490 CheckForEmitInForbiddenSlot(); | 490 CheckForEmitInForbiddenSlot(); |
491 EmitHelper(data); | 491 EmitHelper(data); |
492 } | 492 } |
493 | 493 |
494 | 494 |
495 } // namespace internal | 495 } // namespace internal |
496 } // namespace v8 | 496 } // namespace v8 |
497 | 497 |
498 #endif // V8_MIPS_ASSEMBLER_MIPS_INL_H_ | 498 #endif // V8_MIPS_ASSEMBLER_MIPS_INL_H_ |
OLD | NEW |