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 214 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
225 } | 225 } |
226 | 226 |
227 | 227 |
228 void RelocInfo::set_target_runtime_entry(Address target, | 228 void RelocInfo::set_target_runtime_entry(Address target, |
229 WriteBarrierMode mode) { | 229 WriteBarrierMode mode) { |
230 ASSERT(IsRuntimeEntry(rmode_)); | 230 ASSERT(IsRuntimeEntry(rmode_)); |
231 if (target_address() != target) set_target_address(target, mode); | 231 if (target_address() != target) set_target_address(target, mode); |
232 } | 232 } |
233 | 233 |
234 | 234 |
235 Handle<JSGlobalPropertyCell> RelocInfo::target_cell_handle() { | 235 Handle<PropertyCell> RelocInfo::target_cell_handle() { |
236 ASSERT(rmode_ == RelocInfo::GLOBAL_PROPERTY_CELL); | 236 ASSERT(rmode_ == RelocInfo::GLOBAL_PROPERTY_CELL); |
237 Address address = Memory::Address_at(pc_); | 237 Address address = Memory::Address_at(pc_); |
238 return Handle<JSGlobalPropertyCell>( | 238 return Handle<PropertyCell>(reinterpret_cast<PropertyCell**>(address)); |
239 reinterpret_cast<JSGlobalPropertyCell**>(address)); | |
240 } | 239 } |
241 | 240 |
242 | 241 |
243 JSGlobalPropertyCell* RelocInfo::target_cell() { | 242 PropertyCell* RelocInfo::target_cell() { |
244 ASSERT(rmode_ == RelocInfo::GLOBAL_PROPERTY_CELL); | 243 ASSERT(rmode_ == RelocInfo::GLOBAL_PROPERTY_CELL); |
245 return JSGlobalPropertyCell::FromValueAddress(Memory::Address_at(pc_)); | 244 return PropertyCell::FromValueAddress(Memory::Address_at(pc_)); |
246 } | 245 } |
247 | 246 |
248 | 247 |
249 void RelocInfo::set_target_cell(JSGlobalPropertyCell* cell, | 248 void RelocInfo::set_target_cell(PropertyCell* cell, |
250 WriteBarrierMode mode) { | 249 WriteBarrierMode mode) { |
251 ASSERT(rmode_ == RelocInfo::GLOBAL_PROPERTY_CELL); | 250 ASSERT(rmode_ == RelocInfo::GLOBAL_PROPERTY_CELL); |
252 Address address = cell->address() + JSGlobalPropertyCell::kValueOffset; | 251 Address address = cell->address() + PropertyCell::kValueOffset; |
253 Memory::Address_at(pc_) = address; | 252 Memory::Address_at(pc_) = address; |
254 if (mode == UPDATE_WRITE_BARRIER && host() != NULL) { | 253 if (mode == UPDATE_WRITE_BARRIER && host() != NULL) { |
255 // TODO(1550) We are passing NULL as a slot because cell can never be on | 254 // TODO(1550) We are passing NULL as a slot because cell can never be on |
256 // evacuation candidate. | 255 // evacuation candidate. |
257 host()->GetHeap()->incremental_marking()->RecordWrite( | 256 host()->GetHeap()->incremental_marking()->RecordWrite( |
258 host(), NULL, cell); | 257 host(), NULL, cell); |
259 } | 258 } |
260 } | 259 } |
261 | 260 |
262 | 261 |
(...skipping 154 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
417 } | 416 } |
418 *reinterpret_cast<Instr*>(pc_) = x; | 417 *reinterpret_cast<Instr*>(pc_) = x; |
419 pc_ += kInstrSize; | 418 pc_ += kInstrSize; |
420 CheckTrampolinePoolQuick(); | 419 CheckTrampolinePoolQuick(); |
421 } | 420 } |
422 | 421 |
423 | 422 |
424 } } // namespace v8::internal | 423 } } // namespace v8::internal |
425 | 424 |
426 #endif // V8_MIPS_ASSEMBLER_MIPS_INL_H_ | 425 #endif // V8_MIPS_ASSEMBLER_MIPS_INL_H_ |
OLD | NEW |