| 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 are | 5 // modification, are permitted provided that the following conditions are |
| 6 // met: | 6 // 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 197 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 208 // ----------------------------------------------------------------------------- | 208 // ----------------------------------------------------------------------------- |
| 209 // Implementation of Operand and MemOperand. | 209 // Implementation of Operand and MemOperand. |
| 210 // See assembler-mips-inl.h for inlined constructors. | 210 // See assembler-mips-inl.h for inlined constructors. |
| 211 | 211 |
| 212 Operand::Operand(Handle<Object> handle) { | 212 Operand::Operand(Handle<Object> handle) { |
| 213 AllowDeferredHandleDereference using_raw_address; | 213 AllowDeferredHandleDereference using_raw_address; |
| 214 rm_ = no_reg; | 214 rm_ = no_reg; |
| 215 // Verify all Objects referred by code are NOT in new space. | 215 // Verify all Objects referred by code are NOT in new space. |
| 216 Object* obj = *handle; | 216 Object* obj = *handle; |
| 217 if (obj->IsHeapObject()) { | 217 if (obj->IsHeapObject()) { |
| 218 DCHECK(!HeapObject::cast(obj)->GetHeap()->InNewSpace(obj)); | |
| 219 imm64_ = reinterpret_cast<intptr_t>(handle.location()); | 218 imm64_ = reinterpret_cast<intptr_t>(handle.location()); |
| 220 rmode_ = RelocInfo::EMBEDDED_OBJECT; | 219 rmode_ = RelocInfo::EMBEDDED_OBJECT; |
| 221 } else { | 220 } else { |
| 222 // No relocation needed. | 221 // No relocation needed. |
| 223 imm64_ = reinterpret_cast<intptr_t>(obj); | 222 imm64_ = reinterpret_cast<intptr_t>(obj); |
| 224 rmode_ = RelocInfo::NONE64; | 223 rmode_ = RelocInfo::NONE64; |
| 225 } | 224 } |
| 226 } | 225 } |
| 227 | 226 |
| 228 | 227 |
| (...skipping 3221 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 3450 if (icache_flush_mode != SKIP_ICACHE_FLUSH) { | 3449 if (icache_flush_mode != SKIP_ICACHE_FLUSH) { |
| 3451 Assembler::FlushICache(isolate, pc, 4 * Assembler::kInstrSize); | 3450 Assembler::FlushICache(isolate, pc, 4 * Assembler::kInstrSize); |
| 3452 } | 3451 } |
| 3453 } | 3452 } |
| 3454 | 3453 |
| 3455 | 3454 |
| 3456 } // namespace internal | 3455 } // namespace internal |
| 3457 } // namespace v8 | 3456 } // namespace v8 |
| 3458 | 3457 |
| 3459 #endif // V8_TARGET_ARCH_MIPS64 | 3458 #endif // V8_TARGET_ARCH_MIPS64 |
| OLD | NEW |