diff options
Diffstat (limited to 'deps/v8/src/mips64/assembler-mips64-inl.h')
-rw-r--r-- | deps/v8/src/mips64/assembler-mips64-inl.h | 24 |
1 files changed, 10 insertions, 14 deletions
diff --git a/deps/v8/src/mips64/assembler-mips64-inl.h b/deps/v8/src/mips64/assembler-mips64-inl.h index 24abf0249e..37652d0690 100644 --- a/deps/v8/src/mips64/assembler-mips64-inl.h +++ b/deps/v8/src/mips64/assembler-mips64-inl.h @@ -79,9 +79,7 @@ Address RelocInfo::target_address() { } Address RelocInfo::target_address_address() { - DCHECK(IsCodeTarget(rmode_) || IsRuntimeEntry(rmode_) || IsWasmCall(rmode_) || - IsEmbeddedObject(rmode_) || IsExternalReference(rmode_) || - IsOffHeapTarget(rmode_)); + DCHECK(HasTargetAddressAddress()); // Read the address of the word containing the target_address in an // instruction stream. // The only architecture-independent user of this function is the serializer. @@ -114,10 +112,10 @@ Address Assembler::target_address_from_return_address(Address pc) { } void Assembler::deserialization_set_special_target_at( - Address instruction_payload, Code* code, Address target) { + Address instruction_payload, Code code, Address target) { set_target_address_at( instruction_payload - kInstructionsFor64BitConstant * kInstrSize, - code ? code->constant_pool() : kNullAddress, target); + !code.is_null() ? code->constant_pool() : kNullAddress, target); } int Assembler::deserialization_special_target_size( @@ -152,31 +150,29 @@ void Assembler::deserialization_set_target_internal_reference_at( } } -HeapObject* RelocInfo::target_object() { +HeapObject RelocInfo::target_object() { DCHECK(IsCodeTarget(rmode_) || rmode_ == EMBEDDED_OBJECT); - return HeapObject::cast(reinterpret_cast<Object*>( - Assembler::target_address_at(pc_, constant_pool_))); + return HeapObject::cast( + Object(Assembler::target_address_at(pc_, constant_pool_))); } Handle<HeapObject> RelocInfo::target_object_handle(Assembler* origin) { DCHECK(IsCodeTarget(rmode_) || rmode_ == EMBEDDED_OBJECT); - return Handle<HeapObject>(reinterpret_cast<HeapObject**>( + return Handle<HeapObject>(reinterpret_cast<Address*>( Assembler::target_address_at(pc_, constant_pool_))); } -void RelocInfo::set_target_object(Heap* heap, HeapObject* target, +void RelocInfo::set_target_object(Heap* heap, HeapObject target, WriteBarrierMode write_barrier_mode, ICacheFlushMode icache_flush_mode) { DCHECK(IsCodeTarget(rmode_) || rmode_ == EMBEDDED_OBJECT); - Assembler::set_target_address_at(pc_, constant_pool_, - reinterpret_cast<Address>(target), + Assembler::set_target_address_at(pc_, constant_pool_, target->ptr(), icache_flush_mode); - if (write_barrier_mode == UPDATE_WRITE_BARRIER && host() != nullptr) { + if (write_barrier_mode == UPDATE_WRITE_BARRIER && !host().is_null()) { WriteBarrierForCode(host(), this, target); } } - Address RelocInfo::target_external_reference() { DCHECK(rmode_ == EXTERNAL_REFERENCE); return Assembler::target_address_at(pc_, constant_pool_); |