summaryrefslogtreecommitdiff
path: root/deps/v8/src/codegen/s390/macro-assembler-s390.cc
diff options
context:
space:
mode:
Diffstat (limited to 'deps/v8/src/codegen/s390/macro-assembler-s390.cc')
-rw-r--r--deps/v8/src/codegen/s390/macro-assembler-s390.cc12
1 files changed, 10 insertions, 2 deletions
diff --git a/deps/v8/src/codegen/s390/macro-assembler-s390.cc b/deps/v8/src/codegen/s390/macro-assembler-s390.cc
index f6c2314a84..355d536379 100644
--- a/deps/v8/src/codegen/s390/macro-assembler-s390.cc
+++ b/deps/v8/src/codegen/s390/macro-assembler-s390.cc
@@ -193,6 +193,13 @@ void TurboAssembler::Jump(Handle<Code> code, RelocInfo::Mode rmode,
jump(code, RelocInfo::RELATIVE_CODE_TARGET, cond);
}
+void TurboAssembler::Jump(const ExternalReference& reference) {
+ UseScratchRegisterScope temps(this);
+ Register scratch = temps.Acquire();
+ Move(scratch, reference);
+ Jump(scratch);
+}
+
void TurboAssembler::Call(Register target) {
// Branch to target via indirect branch
basr(r14, target);
@@ -576,8 +583,9 @@ void MacroAssembler::RecordWrite(Register object, Register address,
Check(eq, AbortReason::kWrongAddressOrValuePassedToRecordWrite);
}
- 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;
}
// First, check if a write barrier is even needed. The tests below