summaryrefslogtreecommitdiff
path: root/chromium/v8/src/codegen/mips/macro-assembler-mips.cc
diff options
context:
space:
mode:
Diffstat (limited to 'chromium/v8/src/codegen/mips/macro-assembler-mips.cc')
-rw-r--r--chromium/v8/src/codegen/mips/macro-assembler-mips.cc24
1 files changed, 22 insertions, 2 deletions
diff --git a/chromium/v8/src/codegen/mips/macro-assembler-mips.cc b/chromium/v8/src/codegen/mips/macro-assembler-mips.cc
index 79373c1b5be..2e4698a9e71 100644
--- a/chromium/v8/src/codegen/mips/macro-assembler-mips.cc
+++ b/chromium/v8/src/codegen/mips/macro-assembler-mips.cc
@@ -330,8 +330,9 @@ void MacroAssembler::RecordWrite(Register object, Register address,
Operand(value));
}
- if (remembered_set_action == OMIT_REMEMBERED_SET &&
- !FLAG_incremental_marking) {
+ if ((remembered_set_action == OMIT_REMEMBERED_SET &&
+ !FLAG_incremental_marking) ||
+ FLAG_disable_write_barriers) {
return;
}
@@ -1302,6 +1303,18 @@ void TurboAssembler::Sdc1(FPURegister fd, const MemOperand& src) {
CheckTrampolinePoolQuick(1);
}
+void TurboAssembler::Lw(Register rd, const MemOperand& rs) {
+ MemOperand source = rs;
+ AdjustBaseAndOffset(source);
+ lw(rd, source);
+}
+
+void TurboAssembler::Sw(Register rd, const MemOperand& rs) {
+ MemOperand dest = rs;
+ AdjustBaseAndOffset(dest);
+ sw(rd, dest);
+}
+
void TurboAssembler::Ll(Register rd, const MemOperand& rs) {
bool is_one_instruction = IsMipsArchVariant(kMips32r6)
? is_int9(rs.offset())
@@ -3839,6 +3852,13 @@ void TurboAssembler::Jump(Handle<Code> code, RelocInfo::Mode rmode,
Jump(static_cast<intptr_t>(code.address()), rmode, cond, rs, rt, bd);
}
+void TurboAssembler::Jump(const ExternalReference& reference) {
+ UseScratchRegisterScope temps(this);
+ Register scratch = temps.Acquire();
+ li(scratch, reference);
+ Jump(scratch);
+}
+
void MacroAssembler::JumpIfIsInRange(Register value, unsigned lower_limit,
unsigned higher_limit,
Label* on_in_range) {