Commit 76a42474 authored by Liu Yu's avatar Liu Yu Committed by V8 LUCI CQ

[mips] Fix build failed

Port 407317a2

Change-Id: I6d46b2c9b9bafb0287fa711822aac8ffdb30c7ba
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2962153
Auto-Submit: Liu yu <liuyu@loongson.cn>
Reviewed-by: 's avatarZhao Jiazhong <zhaojiazhong-hf@loongson.cn>
Commit-Queue: Zhao Jiazhong <zhaojiazhong-hf@loongson.cn>
Cr-Commit-Position: refs/heads/master@{#75141}
parent e54c28ba
...@@ -297,20 +297,19 @@ void TurboAssembler::CallRecordWriteStub( ...@@ -297,20 +297,19 @@ void TurboAssembler::CallRecordWriteStub(
if (false) { if (false) {
#endif #endif
} else { } else {
auto builtin_index = Builtin builtin =
Builtins::GetRecordWriteStub(remembered_set_action, fp_mode); Builtins::GetRecordWriteStub(remembered_set_action, fp_mode);
if (options().inline_offheap_trampolines) { if (options().inline_offheap_trampolines) {
// Inline the trampoline. // Inline the trampoline.
DCHECK(Builtins::IsBuiltinId(builtin_index)); DCHECK(Builtins::IsBuiltinId(builtin));
RecordCommentForOffHeapTrampoline(builtin_index); RecordCommentForOffHeapTrampoline(builtin);
CHECK_NE(builtin_index, Builtin::kNoBuiltinId); CHECK_NE(builtin, Builtin::kNoBuiltinId);
EmbeddedData d = EmbeddedData::FromBlob(); EmbeddedData d = EmbeddedData::FromBlob();
Address entry = d.InstructionStartOfBuiltin(builtin_index); Address entry = d.InstructionStartOfBuiltin(builtin);
li(t9, Operand(entry, RelocInfo::OFF_HEAP_TARGET)); li(t9, Operand(entry, RelocInfo::OFF_HEAP_TARGET));
Call(t9); Call(t9);
} else { } else {
Handle<Code> code_target = Handle<Code> code_target = isolate()->builtins()->code_handle(builtin);
isolate()->builtins()->code_handle(builtin_index);
Call(code_target, RelocInfo::CODE_TARGET); Call(code_target, RelocInfo::CODE_TARGET);
} }
} }
...@@ -3798,10 +3797,10 @@ void TurboAssembler::Jump(Handle<Code> code, RelocInfo::Mode rmode, ...@@ -3798,10 +3797,10 @@ void TurboAssembler::Jump(Handle<Code> code, RelocInfo::Mode rmode,
} else if (target_is_isolate_independent_builtin && } else if (target_is_isolate_independent_builtin &&
options().inline_offheap_trampolines) { options().inline_offheap_trampolines) {
// Inline the trampoline. // Inline the trampoline.
RecordCommentForOffHeapTrampoline(builtin_index); RecordCommentForOffHeapTrampoline(builtin);
CHECK_NE(builtin_index, Builtin::kNoBuiltinId); CHECK_NE(builtin, Builtin::kNoBuiltinId);
EmbeddedData d = EmbeddedData::FromBlob(); EmbeddedData d = EmbeddedData::FromBlob();
Address entry = d.InstructionStartOfBuiltin(builtin_index); Address entry = d.InstructionStartOfBuiltin(builtin);
li(t9, Operand(entry, RelocInfo::OFF_HEAP_TARGET)); li(t9, Operand(entry, RelocInfo::OFF_HEAP_TARGET));
Jump(t9, 0, cond, rs, rt, bd); Jump(t9, 0, cond, rs, rt, bd);
return; return;
...@@ -3964,26 +3963,26 @@ void TurboAssembler::LoadEntryFromBuiltinIndex(Register builtin_index) { ...@@ -3964,26 +3963,26 @@ void TurboAssembler::LoadEntryFromBuiltinIndex(Register builtin_index) {
lw(builtin_index, lw(builtin_index,
MemOperand(builtin_index, IsolateData::builtin_entry_table_offset())); MemOperand(builtin_index, IsolateData::builtin_entry_table_offset()));
} }
void TurboAssembler::LoadEntryFromBuiltin(Builtin builtin_index, void TurboAssembler::LoadEntryFromBuiltin(Builtin builtin,
Register destination) { Register destination) {
Lw(destination, EntryFromBuiltinAsOperand(builtin_index)); Lw(destination, EntryFromBuiltinAsOperand(builtin));
} }
MemOperand TurboAssembler::EntryFromBuiltinAsOperand(Builtin builtin_index) { MemOperand TurboAssembler::EntryFromBuiltinAsOperand(Builtin builtin) {
DCHECK(root_array_available()); DCHECK(root_array_available());
return MemOperand(kRootRegister, return MemOperand(kRootRegister,
IsolateData::builtin_entry_slot_offset(builtin_index)); IsolateData::builtin_entry_slot_offset(builtin));
} }
void TurboAssembler::CallBuiltinByIndex(Register builtin_index) { void TurboAssembler::CallBuiltinByIndex(Register builtin_index) {
LoadEntryFromBuiltinIndex(builtin_index); LoadEntryFromBuiltinIndex(builtin_index);
Call(builtin_index); Call(builtin_index);
} }
void TurboAssembler::CallBuiltin(int builtin_index) { void TurboAssembler::CallBuiltin(Builtin builtin) {
DCHECK(Builtin::IsBuiltinId(builtin_index)); DCHECK(Builtin::IsBuiltinId(builtin));
RecordCommentForOffHeapTrampoline(builtin_index); RecordCommentForOffHeapTrampoline(builtin);
CHECK_NE(builtin_index, Builtin::kNoBuiltinId); CHECK_NE(builtin, Builtin::kNoBuiltinId);
EmbeddedData d = EmbeddedData::FromBlob(isolate()); EmbeddedData d = EmbeddedData::FromBlob(isolate());
Address entry = d.InstructionStartOfBuiltin(builtin_index); Address entry = d.InstructionStartOfBuiltin(builtin);
Call(entry, RelocInfo::OFF_HEAP_TARGET); Call(entry, RelocInfo::OFF_HEAP_TARGET);
if (FLAG_code_comments) RecordComment("]"); if (FLAG_code_comments) RecordComment("]");
} }
......
...@@ -220,18 +220,14 @@ class V8_EXPORT_PRIVATE TurboAssembler : public TurboAssemblerBase { ...@@ -220,18 +220,14 @@ class V8_EXPORT_PRIVATE TurboAssembler : public TurboAssemblerBase {
void Call(Label* target); void Call(Label* target);
void LoadAddress(Register dst, Label* target); void LoadAddress(Register dst, Label* target);
// Load the builtin given by the Smi in |builtin_index| into the same // Load the builtin given by the Smi in |builtin| into the same
// register. // register.
void LoadEntryFromBuiltinIndex(Register builtin_index); void LoadEntryFromBuiltinIndex(Register builtin);
void LoadEntryFromBuiltin(Builtin builtin_index, Register destination); void LoadEntryFromBuiltin(Builtin builtin, Register destination);
MemOperand EntryFromBuiltinAsOperand(Builtin builtin_index); MemOperand EntryFromBuiltinAsOperand(Builtin builtin);
void CallBuiltinByIndex(Register builtin_index); void CallBuiltinByIndex(Register builtin_index);
void CallBuiltin(Builtin builtin) { void CallBuiltin(Builtin builtin);
// TODO(11527): drop the int overload in favour of the Builtin one.
return CallBuiltin(static_cast<int>(builtin));
}
void CallBuiltin(int builtin_index);
void LoadCodeObjectEntry(Register destination, Register code_object); void LoadCodeObjectEntry(Register destination, Register code_object);
void CallCodeObject(Register code_object); void CallCodeObject(Register code_object);
......
...@@ -295,20 +295,18 @@ void TurboAssembler::CallRecordWriteStub( ...@@ -295,20 +295,18 @@ void TurboAssembler::CallRecordWriteStub(
if (false) { if (false) {
#endif #endif
} else { } else {
auto builtin_index = auto builtin = Builtins::GetRecordWriteStub(remembered_set_action, fp_mode);
Builtins::GetRecordWriteStub(remembered_set_action, fp_mode);
if (options().inline_offheap_trampolines) { if (options().inline_offheap_trampolines) {
// Inline the trampoline. // Inline the trampoline.
DCHECK(Builtins::IsBuiltinId(builtin_index)); DCHECK(Builtins::IsBuiltinId(builtin));
RecordCommentForOffHeapTrampoline(builtin_index); RecordCommentForOffHeapTrampoline(builtin);
CHECK_NE(builtin_index, Builtin::kNoBuiltinId); CHECK_NE(builtin, Builtin::kNoBuiltinId);
EmbeddedData d = EmbeddedData::FromBlob(); EmbeddedData d = EmbeddedData::FromBlob();
Address entry = d.InstructionStartOfBuiltin(builtin_index); Address entry = d.InstructionStartOfBuiltin(builtin);
li(t9, Operand(entry, RelocInfo::OFF_HEAP_TARGET)); li(t9, Operand(entry, RelocInfo::OFF_HEAP_TARGET));
Call(t9); Call(t9);
} else { } else {
Handle<Code> code_target = Handle<Code> code_target = isolate()->builtins()->code_handle(builtin);
isolate()->builtins()->code_handle(builtin_index);
Call(code_target, RelocInfo::CODE_TARGET); Call(code_target, RelocInfo::CODE_TARGET);
} }
} }
...@@ -4344,14 +4342,14 @@ void TurboAssembler::Jump(Handle<Code> code, RelocInfo::Mode rmode, ...@@ -4344,14 +4342,14 @@ void TurboAssembler::Jump(Handle<Code> code, RelocInfo::Mode rmode,
Jump(t9, cond, rs, rt, bd); Jump(t9, cond, rs, rt, bd);
return; return;
} else if (options().inline_offheap_trampolines) { } else if (options().inline_offheap_trampolines) {
int builtin_index = Builtin::kNoBuiltinId; Builtin builtin = Builtin::kNoBuiltinId;
if (isolate()->builtins()->IsBuiltinHandle(code, &builtin_index) && if (isolate()->builtins()->IsBuiltinHandle(code, &builtin) &&
Builtins::IsIsolateIndependent(builtin_index)) { Builtins::IsIsolateIndependent(builtin)) {
// Inline the trampoline. // Inline the trampoline.
RecordCommentForOffHeapTrampoline(builtin_index); RecordCommentForOffHeapTrampoline(builtin);
CHECK_NE(builtin_index, Builtin::kNoBuiltinId); CHECK_NE(builtin, Builtin::kNoBuiltinId);
EmbeddedData d = EmbeddedData::FromBlob(); EmbeddedData d = EmbeddedData::FromBlob();
Address entry = d.InstructionStartOfBuiltin(builtin_index); Address entry = d.InstructionStartOfBuiltin(builtin);
li(t9, Operand(entry, RelocInfo::OFF_HEAP_TARGET)); li(t9, Operand(entry, RelocInfo::OFF_HEAP_TARGET));
Jump(t9, cond, rs, rt, bd); Jump(t9, cond, rs, rt, bd);
return; return;
...@@ -4423,14 +4421,14 @@ void TurboAssembler::Call(Handle<Code> code, RelocInfo::Mode rmode, ...@@ -4423,14 +4421,14 @@ void TurboAssembler::Call(Handle<Code> code, RelocInfo::Mode rmode,
Call(t9, cond, rs, rt, bd); Call(t9, cond, rs, rt, bd);
return; return;
} else if (options().inline_offheap_trampolines) { } else if (options().inline_offheap_trampolines) {
int builtin_index = Builtin::kNoBuiltinId; Builtin builtin = Builtin::kNoBuiltinId;
if (isolate()->builtins()->IsBuiltinHandle(code, &builtin_index) && if (isolate()->builtins()->IsBuiltinHandle(code, &builtin) &&
Builtins::IsIsolateIndependent(builtin_index)) { Builtins::IsIsolateIndependent(builtin)) {
// Inline the trampoline. // Inline the trampoline.
RecordCommentForOffHeapTrampoline(builtin_index); RecordCommentForOffHeapTrampoline(builtin);
CHECK_NE(builtin_index, Builtin::kNoBuiltinId); CHECK_NE(builtin, Builtin::kNoBuiltinId);
EmbeddedData d = EmbeddedData::FromBlob(); EmbeddedData d = EmbeddedData::FromBlob();
Address entry = d.InstructionStartOfBuiltin(builtin_index); Address entry = d.InstructionStartOfBuiltin(builtin);
li(t9, Operand(entry, RelocInfo::OFF_HEAP_TARGET)); li(t9, Operand(entry, RelocInfo::OFF_HEAP_TARGET));
Call(t9, cond, rs, rt, bd); Call(t9, cond, rs, rt, bd);
return; return;
...@@ -4453,26 +4451,26 @@ void TurboAssembler::LoadEntryFromBuiltinIndex(Register builtin_index) { ...@@ -4453,26 +4451,26 @@ void TurboAssembler::LoadEntryFromBuiltinIndex(Register builtin_index) {
Ld(builtin_index, Ld(builtin_index,
MemOperand(builtin_index, IsolateData::builtin_entry_table_offset())); MemOperand(builtin_index, IsolateData::builtin_entry_table_offset()));
} }
void TurboAssembler::LoadEntryFromBuiltin(Builtin builtin_index, void TurboAssembler::LoadEntryFromBuiltin(Builtin builtin,
Register destination) { Register destination) {
Ld(destination, EntryFromBuiltinAsOperand(builtin_index)); Ld(destination, EntryFromBuiltinAsOperand(builtin));
} }
MemOperand TurboAssembler::EntryFromBuiltinAsOperand(Builtin builtin_index) { MemOperand TurboAssembler::EntryFromBuiltinAsOperand(Builtin builtin) {
DCHECK(root_array_available()); DCHECK(root_array_available());
return MemOperand(kRootRegister, return MemOperand(kRootRegister,
IsolateData::builtin_entry_slot_offset(builtin_index)); IsolateData::builtin_entry_slot_offset(builtin));
} }
void TurboAssembler::CallBuiltinByIndex(Register builtin_index) { void TurboAssembler::CallBuiltinByIndex(Register builtin_index) {
LoadEntryFromBuiltinIndex(builtin_index); LoadEntryFromBuiltinIndex(builtin_index);
Call(builtin_index); Call(builtin_index);
} }
void TurboAssembler::CallBuiltin(int builtin_index) { void TurboAssembler::CallBuiltin(Builtin builtin) {
DCHECK(Builtin::IsBuiltinId(builtin_index)); DCHECK(Builtin::IsBuiltinId(builtin));
RecordCommentForOffHeapTrampoline(builtin_index); RecordCommentForOffHeapTrampoline(builtin);
CHECK_NE(builtin_index, Builtin::kNoBuiltinId); CHECK_NE(builtin, Builtin::kNoBuiltinId);
EmbeddedData d = EmbeddedData::FromBlob(isolate()); EmbeddedData d = EmbeddedData::FromBlob(isolate());
Address entry = d.InstructionStartOfBuiltin(builtin_index); Address entry = d.InstructionStartOfBuiltin(builtin);
Call(entry, RelocInfo::OFF_HEAP_TARGET); Call(entry, RelocInfo::OFF_HEAP_TARGET);
if (FLAG_code_comments) RecordComment("]"); if (FLAG_code_comments) RecordComment("]");
} }
......
...@@ -246,16 +246,12 @@ class V8_EXPORT_PRIVATE TurboAssembler : public TurboAssemblerBase { ...@@ -246,16 +246,12 @@ class V8_EXPORT_PRIVATE TurboAssembler : public TurboAssemblerBase {
// Load the builtin given by the Smi in |builtin_index| into the same // Load the builtin given by the Smi in |builtin_index| into the same
// register. // register.
void LoadEntryFromBuiltinIndex(Register builtin_index); void LoadEntryFromBuiltinIndex(Register builtin);
void LoadEntryFromBuiltin(Builtin builtin_index, Register destination); void LoadEntryFromBuiltin(Builtin builtin, Register destination);
MemOperand EntryFromBuiltinAsOperand(Builtin builtin_index); MemOperand EntryFromBuiltinAsOperand(Builtin builtin);
void CallBuiltinByIndex(Register builtin_index); void CallBuiltinByIndex(Register builtin);
void CallBuiltin(Builtin builtin) { void CallBuiltin(Builtin builtin);
// TODO(11527): drop the int overload in favour of the Builtin one.
return CallBuiltin(static_cast<int>(builtin));
}
void CallBuiltin(int builtin_index);
void LoadCodeObjectEntry(Register destination, Register code_object); void LoadCodeObjectEntry(Register destination, Register code_object);
void CallCodeObject(Register code_object); void CallCodeObject(Register code_object);
......
...@@ -29,6 +29,7 @@ ...@@ -29,6 +29,7 @@
#include <iostream> #include <iostream>
#include "src/base/utils/random-number-generator.h"
#include "src/codegen/assembler-inl.h" #include "src/codegen/assembler-inl.h"
#include "src/codegen/macro-assembler.h" #include "src/codegen/macro-assembler.h"
#include "src/deoptimizer/deoptimizer.h" #include "src/deoptimizer/deoptimizer.h"
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment