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 230 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
241 return Cell::FromValueAddress(Memory::Address_at(pc_)); | 241 return Cell::FromValueAddress(Memory::Address_at(pc_)); |
242 } | 242 } |
243 | 243 |
244 | 244 |
245 void RelocInfo::set_target_cell(Cell* cell, WriteBarrierMode write_barrier_mode, | 245 void RelocInfo::set_target_cell(Cell* cell, WriteBarrierMode write_barrier_mode, |
246 ICacheFlushMode icache_flush_mode) { | 246 ICacheFlushMode icache_flush_mode) { |
247 DCHECK(rmode_ == RelocInfo::CELL); | 247 DCHECK(rmode_ == RelocInfo::CELL); |
248 Address address = cell->address() + Cell::kValueOffset; | 248 Address address = cell->address() + Cell::kValueOffset; |
249 Memory::Address_at(pc_) = address; | 249 Memory::Address_at(pc_) = address; |
250 if (write_barrier_mode == UPDATE_WRITE_BARRIER && host() != NULL) { | 250 if (write_barrier_mode == UPDATE_WRITE_BARRIER && host() != NULL) { |
251 // TODO(1550) We are passing NULL as a slot because cell can never be on | 251 host()->GetHeap()->incremental_marking()->RecordWriteIntoCode(host(), this, |
252 // evacuation candidate. | 252 cell); |
253 host()->GetHeap()->incremental_marking()->RecordWrite(host(), NULL, cell); | |
254 } | 253 } |
255 } | 254 } |
256 | 255 |
257 | 256 |
258 static const int kNoCodeAgeInstructions = | 257 static const int kNoCodeAgeInstructions = |
259 FLAG_enable_embedded_constant_pool ? 7 : 6; | 258 FLAG_enable_embedded_constant_pool ? 7 : 6; |
260 static const int kCodeAgingInstructions = | 259 static const int kCodeAgingInstructions = |
261 Assembler::kMovInstructionsNoConstantPool + 3; | 260 Assembler::kMovInstructionsNoConstantPool + 3; |
262 static const int kNoCodeAgeSequenceInstructions = | 261 static const int kNoCodeAgeSequenceInstructions = |
263 ((kNoCodeAgeInstructions >= kCodeAgingInstructions) | 262 ((kNoCodeAgeInstructions >= kCodeAgingInstructions) |
(...skipping 456 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
720 } | 719 } |
721 #endif | 720 #endif |
722 return; | 721 return; |
723 } | 722 } |
724 UNREACHABLE(); | 723 UNREACHABLE(); |
725 } | 724 } |
726 } // namespace internal | 725 } // namespace internal |
727 } // namespace v8 | 726 } // namespace v8 |
728 | 727 |
729 #endif // V8_PPC_ASSEMBLER_PPC_INL_H_ | 728 #endif // V8_PPC_ASSEMBLER_PPC_INL_H_ |
OLD | NEW |