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 264 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
275 } | 275 } |
276 | 276 |
277 | 277 |
278 void RelocInfo::set_target_cell(Cell* cell, | 278 void RelocInfo::set_target_cell(Cell* cell, |
279 WriteBarrierMode write_barrier_mode, | 279 WriteBarrierMode write_barrier_mode, |
280 ICacheFlushMode icache_flush_mode) { | 280 ICacheFlushMode icache_flush_mode) { |
281 DCHECK(rmode_ == RelocInfo::CELL); | 281 DCHECK(rmode_ == RelocInfo::CELL); |
282 Address address = cell->address() + Cell::kValueOffset; | 282 Address address = cell->address() + Cell::kValueOffset; |
283 Memory::Address_at(pc_) = address; | 283 Memory::Address_at(pc_) = address; |
284 if (write_barrier_mode == UPDATE_WRITE_BARRIER && host() != NULL) { | 284 if (write_barrier_mode == UPDATE_WRITE_BARRIER && host() != NULL) { |
285 // TODO(1550) We are passing NULL as a slot because cell can never be on | 285 host()->GetHeap()->incremental_marking()->RecordWriteIntoCode(host(), this, |
286 // evacuation candidate. | 286 cell); |
287 host()->GetHeap()->incremental_marking()->RecordWrite( | |
288 host(), NULL, cell); | |
289 } | 287 } |
290 } | 288 } |
291 | 289 |
292 | 290 |
293 static const int kNoCodeAgeSequenceLength = 9 * Assembler::kInstrSize; | 291 static const int kNoCodeAgeSequenceLength = 9 * Assembler::kInstrSize; |
294 | 292 |
295 | 293 |
296 Handle<Object> RelocInfo::code_age_stub_handle(Assembler* origin) { | 294 Handle<Object> RelocInfo::code_age_stub_handle(Assembler* origin) { |
297 UNREACHABLE(); // This should never be reached on Arm. | 295 UNREACHABLE(); // This should never be reached on Arm. |
298 return Handle<Object>(); | 296 return Handle<Object>(); |
(...skipping 192 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
491 void Assembler::emit(uint64_t data) { | 489 void Assembler::emit(uint64_t data) { |
492 CheckForEmitInForbiddenSlot(); | 490 CheckForEmitInForbiddenSlot(); |
493 EmitHelper(data); | 491 EmitHelper(data); |
494 } | 492 } |
495 | 493 |
496 | 494 |
497 } // namespace internal | 495 } // namespace internal |
498 } // namespace v8 | 496 } // namespace v8 |
499 | 497 |
500 #endif // V8_MIPS_ASSEMBLER_MIPS_INL_H_ | 498 #endif // V8_MIPS_ASSEMBLER_MIPS_INL_H_ |
OLD | NEW |