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 183 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
194 ASSERT(IsCodeTarget(rmode_) || rmode_ == EMBEDDED_OBJECT); | 194 ASSERT(IsCodeTarget(rmode_) || rmode_ == EMBEDDED_OBJECT); |
195 return Handle<Object>(reinterpret_cast<Object**>( | 195 return Handle<Object>(reinterpret_cast<Object**>( |
196 Assembler::target_address_at(pc_, host_))); | 196 Assembler::target_address_at(pc_, host_))); |
197 } | 197 } |
198 | 198 |
199 | 199 |
200 void RelocInfo::set_target_object(Object* target, | 200 void RelocInfo::set_target_object(Object* target, |
201 WriteBarrierMode write_barrier_mode, | 201 WriteBarrierMode write_barrier_mode, |
202 ICacheFlushMode icache_flush_mode) { | 202 ICacheFlushMode icache_flush_mode) { |
203 ASSERT(IsCodeTarget(rmode_) || rmode_ == EMBEDDED_OBJECT); | 203 ASSERT(IsCodeTarget(rmode_) || rmode_ == EMBEDDED_OBJECT); |
204 ASSERT(!target->IsConsString()); | |
205 Assembler::set_target_address_at(pc_, host_, | 204 Assembler::set_target_address_at(pc_, host_, |
206 reinterpret_cast<Address>(target), | 205 reinterpret_cast<Address>(target), |
207 icache_flush_mode); | 206 icache_flush_mode); |
208 if (write_barrier_mode == UPDATE_WRITE_BARRIER && | 207 if (write_barrier_mode == UPDATE_WRITE_BARRIER && |
209 host() != NULL && | 208 host() != NULL && |
210 target->IsHeapObject()) { | 209 target->IsHeapObject()) { |
211 host()->GetHeap()->incremental_marking()->RecordWrite( | 210 host()->GetHeap()->incremental_marking()->RecordWrite( |
212 host(), &Memory::Object_at(pc_), HeapObject::cast(target)); | 211 host(), &Memory::Object_at(pc_), HeapObject::cast(target)); |
213 } | 212 } |
214 } | 213 } |
(...skipping 229 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
444 } | 443 } |
445 *reinterpret_cast<uint64_t*>(pc_) = x; | 444 *reinterpret_cast<uint64_t*>(pc_) = x; |
446 pc_ += kInstrSize * 2; | 445 pc_ += kInstrSize * 2; |
447 CheckTrampolinePoolQuick(); | 446 CheckTrampolinePoolQuick(); |
448 } | 447 } |
449 | 448 |
450 | 449 |
451 } } // namespace v8::internal | 450 } } // namespace v8::internal |
452 | 451 |
453 #endif // V8_MIPS_ASSEMBLER_MIPS_INL_H_ | 452 #endif // V8_MIPS_ASSEMBLER_MIPS_INL_H_ |
OLD | NEW |