summaryrefslogtreecommitdiff
path: root/deps/v8/src/codegen/s390
diff options
context:
space:
mode:
Diffstat (limited to 'deps/v8/src/codegen/s390')
-rw-r--r--deps/v8/src/codegen/s390/assembler-s390.cc2
-rw-r--r--deps/v8/src/codegen/s390/macro-assembler-s390.cc12
-rw-r--r--deps/v8/src/codegen/s390/macro-assembler-s390.h1
3 files changed, 12 insertions, 3 deletions
diff --git a/deps/v8/src/codegen/s390/assembler-s390.cc b/deps/v8/src/codegen/s390/assembler-s390.cc
index 6776626a23..873c0a2ad0 100644
--- a/deps/v8/src/codegen/s390/assembler-s390.cc
+++ b/deps/v8/src/codegen/s390/assembler-s390.cc
@@ -35,7 +35,6 @@
// Copyright 2014 the V8 project authors. All rights reserved.
#include "src/codegen/s390/assembler-s390.h"
-#include <sys/auxv.h>
#include <set>
#include <string>
@@ -43,6 +42,7 @@
#if V8_HOST_ARCH_S390
#include <elf.h> // Required for auxv checks for STFLE support
+#include <sys/auxv.h>
#endif
#include "src/base/bits.h"
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
diff --git a/deps/v8/src/codegen/s390/macro-assembler-s390.h b/deps/v8/src/codegen/s390/macro-assembler-s390.h
index 52f668d175..856e4b592e 100644
--- a/deps/v8/src/codegen/s390/macro-assembler-s390.h
+++ b/deps/v8/src/codegen/s390/macro-assembler-s390.h
@@ -137,6 +137,7 @@ class V8_EXPORT_PRIVATE TurboAssembler : public TurboAssemblerBase {
void Jump(Register target, Condition cond = al);
void Jump(Address target, RelocInfo::Mode rmode, Condition cond = al);
void Jump(Handle<Code> code, RelocInfo::Mode rmode, Condition cond = al);
+ void Jump(const ExternalReference& reference) override;
// Jump the register contains a smi.
inline void JumpIfSmi(Register value, Label* smi_label) {
TestIfSmi(value);