Lines Matching refs:rinfo

141 void SetWasmCalleeTag(RelocInfo* rinfo, uint32_t tag) {
143 DCHECK(rinfo->HasTargetAddressAddress());
144 DCHECK(!RelocInfo::IsCompressedEmbeddedObject(rinfo->rmode()));
145 WriteUnalignedValue(rinfo->target_address_address(), tag);
147 Instruction* instr = reinterpret_cast<Instruction*>(rinfo->pc());
149 WriteUnalignedValue(rinfo->constant_pool_entry_address(),
154 reinterpret_cast<Instruction*>(rinfo->pc() + tag * kInstrSize));
158 if (rinfo->rmode() == RelocInfo::EXTERNAL_REFERENCE) {
159 rinfo->set_target_external_reference(addr, SKIP_ICACHE_FLUSH);
160 } else if (rinfo->rmode() == RelocInfo::WASM_STUB_CALL) {
161 rinfo->set_wasm_stub_call_address(addr, SKIP_ICACHE_FLUSH);
163 rinfo->set_target_address(addr, SKIP_WRITE_BARRIER, SKIP_ICACHE_FLUSH);
168 uint32_t GetWasmCalleeTag(RelocInfo* rinfo) {
170 DCHECK(!RelocInfo::IsCompressedEmbeddedObject(rinfo->rmode()));
171 return ReadUnalignedValue<uint32_t>(rinfo->target_address_address());
173 Instruction* instr = reinterpret_cast<Instruction*>(rinfo->pc());
175 return ReadUnalignedValue<uint32_t>(rinfo->constant_pool_entry_address());
182 if (rinfo->rmode() == RelocInfo::EXTERNAL_REFERENCE) {
183 addr = rinfo->target_external_reference();
184 } else if (rinfo->rmode() == RelocInfo::WASM_STUB_CALL) {
185 addr = rinfo->wasm_stub_call_address();
187 addr = rinfo->target_address();
414 RelocInfo::Mode mode = orig_iter.rinfo()->rmode();
417 Address orig_target = orig_iter.rinfo()->wasm_call_address();
420 SetWasmCalleeTag(iter.rinfo(), tag);
423 Address target = orig_iter.rinfo()->wasm_stub_call_address();
426 SetWasmCalleeTag(iter.rinfo(), tag);
429 Address orig_target = orig_iter.rinfo()->target_external_reference();
432 SetWasmCalleeTag(iter.rinfo(), ext_ref_tag);
436 Address orig_target = orig_iter.rinfo()->target_internal_reference();
439 iter.rinfo()->pc(), offset, mode);
781 RelocInfo::Mode mode = iter.rinfo()->rmode();
784 uint32_t tag = GetWasmCalleeTag(iter.rinfo());
787 iter.rinfo()->set_wasm_call_address(target, SKIP_ICACHE_FLUSH);
791 uint32_t tag = GetWasmCalleeTag(iter.rinfo());
795 iter.rinfo()->set_wasm_stub_call_address(target, SKIP_ICACHE_FLUSH);
799 uint32_t tag = GetWasmCalleeTag(iter.rinfo());
801 iter.rinfo()->set_target_external_reference(address, SKIP_ICACHE_FLUSH);
806 Address offset = iter.rinfo()->target_internal_reference();
809 iter.rinfo()->pc(), target, mode);