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 179 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
190 } | 190 } |
191 | 191 |
192 | 192 |
193 void RelocInfo::set_target_cell(Cell* cell, | 193 void RelocInfo::set_target_cell(Cell* cell, |
194 WriteBarrierMode write_barrier_mode, | 194 WriteBarrierMode write_barrier_mode, |
195 ICacheFlushMode icache_flush_mode) { | 195 ICacheFlushMode icache_flush_mode) { |
196 DCHECK(rmode_ == RelocInfo::CELL); | 196 DCHECK(rmode_ == RelocInfo::CELL); |
197 Address address = cell->address() + Cell::kValueOffset; | 197 Address address = cell->address() + Cell::kValueOffset; |
198 Memory::Address_at(pc_) = address; | 198 Memory::Address_at(pc_) = address; |
199 if (write_barrier_mode == UPDATE_WRITE_BARRIER && host() != NULL) { | 199 if (write_barrier_mode == UPDATE_WRITE_BARRIER && host() != NULL) { |
200 // TODO(1550) We are passing NULL as a slot because cell can never be on | 200 host()->GetHeap()->incremental_marking()->RecordWriteIntoCode(host(), this, |
201 // evacuation candidate. | 201 cell); |
202 host()->GetHeap()->incremental_marking()->RecordWrite( | |
203 host(), NULL, cell); | |
204 } | 202 } |
205 } | 203 } |
206 | 204 |
207 | 205 |
208 static const int kNoCodeAgeSequenceLength = 3 * Assembler::kInstrSize; | 206 static const int kNoCodeAgeSequenceLength = 3 * Assembler::kInstrSize; |
209 | 207 |
210 | 208 |
211 Handle<Object> RelocInfo::code_age_stub_handle(Assembler* origin) { | 209 Handle<Object> RelocInfo::code_age_stub_handle(Assembler* origin) { |
212 UNREACHABLE(); // This should never be reached on Arm. | 210 UNREACHABLE(); // This should never be reached on Arm. |
213 return Handle<Object>(); | 211 return Handle<Object>(); |
(...skipping 408 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
622 Assembler::FlushICache(isolate, pc, 4 * kInstrSize); | 620 Assembler::FlushICache(isolate, pc, 4 * kInstrSize); |
623 } | 621 } |
624 } | 622 } |
625 } | 623 } |
626 | 624 |
627 | 625 |
628 } // namespace internal | 626 } // namespace internal |
629 } // namespace v8 | 627 } // namespace v8 |
630 | 628 |
631 #endif // V8_ARM_ASSEMBLER_ARM_INL_H_ | 629 #endif // V8_ARM_ASSEMBLER_ARM_INL_H_ |
OLD | NEW |