Commit 4b0c0a71 authored by Carsten Schoenert's avatar Carsten Schoenert
Browse files

rebuild patch queue from patch-queue branch

removed patches (included upstream)
porting-mips/Bug-1642265-MIPS64-Add-branchTestSymbol-and-fallibleUnbox.patch
parent 87513540
......@@ -12,7 +12,7 @@ Subject: Add missing bindings for mips* in the authenticator crate
create mode 100644 third_party/rust/authenticator/src/linux/ioctl_mipsle.rs
diff --git a/Cargo.lock b/Cargo.lock
index bb0e3ce..522f7f9 100644
index 82d9a46..ce0fcac 100644
--- a/Cargo.lock
+++ b/Cargo.lock
@@ -183,8 +183,6 @@ dependencies = [
......
......@@ -86,7 +86,7 @@ index 72105fc..1fa8db1 100644
# define ARCH_CPU_PPC64 1
# define ARCH_CPU_64_BITS 1
diff --git a/js/src/jsfriendapi.h b/js/src/jsfriendapi.h
index 3a636ac..d6c6cb0 100644
index 7f7ef17..36f2ca0 100644
--- a/js/src/jsfriendapi.h
+++ b/js/src/jsfriendapi.h
@@ -548,7 +548,7 @@ class Shape {
......
From: Zhao Jiazhong <zhaojiazhong-hf@loongson.cn>
Date: Tue, 2 Jun 2020 00:56:29 +0000
Subject: Bug 1642265 - [MIPS64] Add branchTestSymbol and fallibleUnboxPtr to
MacroAssembler. r=tcampbell
Differential Revision: https://phabricator.services.mozilla.com/D77629
---
.../mips-shared/MacroAssembler-mips-shared-inl.h | 7 ++++++
js/src/jit/mips64/MacroAssembler-mips64-inl.h | 29 ++++++++++++++++++++++
2 files changed, 36 insertions(+)
diff --git a/js/src/jit/mips-shared/MacroAssembler-mips-shared-inl.h b/js/src/jit/mips-shared/MacroAssembler-mips-shared-inl.h
index 92f6f7a..92f169b 100644
--- a/js/src/jit/mips-shared/MacroAssembler-mips-shared-inl.h
+++ b/js/src/jit/mips-shared/MacroAssembler-mips-shared-inl.h
@@ -741,6 +741,13 @@ void MacroAssembler::branchTestSymbol(Condition cond, const BaseIndex& address,
branchTestSymbol(cond, tag, label);
}
+void MacroAssembler::branchTestSymbol(Condition cond, const Address& address,
+ Label* label) {
+ SecondScratchRegisterScope scratch2(*this);
+ Register tag = extractTag(address, scratch2);
+ branchTestSymbol(cond, tag, label);
+}
+
void MacroAssembler::branchTestBigInt(Condition cond, Register tag,
Label* label) {
MOZ_ASSERT(cond == Equal || cond == NotEqual);
diff --git a/js/src/jit/mips64/MacroAssembler-mips64-inl.h b/js/src/jit/mips64/MacroAssembler-mips64-inl.h
index da3fe77..0ed3851 100644
--- a/js/src/jit/mips64/MacroAssembler-mips64-inl.h
+++ b/js/src/jit/mips64/MacroAssembler-mips64-inl.h
@@ -649,6 +649,35 @@ void MacroAssembler::branchTruncateFloat32MaybeModUint32(FloatRegister src,
as_sll(dest, dest, 0);
}
+void MacroAssembler::fallibleUnboxPtr(const ValueOperand& src, Register dest,
+ JSValueType type, Label* fail) {
+ MOZ_ASSERT(type == JSVAL_TYPE_OBJECT || type == JSVAL_TYPE_STRING ||
+ type == JSVAL_TYPE_SYMBOL || type == JSVAL_TYPE_BIGINT);
+ // dest := src XOR mask
+ // scratch := dest >> JSVAL_TAG_SHIFT
+ // fail if scratch != 0
+ //
+ // Note: src and dest can be the same register
+ ScratchRegisterScope scratch(asMasm());
+ mov(ImmWord(JSVAL_TYPE_TO_SHIFTED_TAG(type)), scratch);
+ ma_xor(scratch, src.valueReg());
+ ma_move(dest, scratch);
+ ma_dsrl(scratch, scratch, Imm32(JSVAL_TAG_SHIFT));
+ ma_b(scratch, Imm32(0), fail, Assembler::NotEqual);
+}
+
+void MacroAssembler::fallibleUnboxPtr(const Address& src, Register dest,
+ JSValueType type, Label* fail) {
+ loadValue(src, ValueOperand(dest));
+ fallibleUnboxPtr(ValueOperand(dest), dest, type, fail);
+}
+
+void MacroAssembler::fallibleUnboxPtr(const BaseIndex& src, Register dest,
+ JSValueType type, Label* fail) {
+ loadValue(src, ValueOperand(dest));
+ fallibleUnboxPtr(ValueOperand(dest), dest, type, fail);
+}
+
//}}} check_macroassembler_style
// ===============================================================
......@@ -33,7 +33,6 @@ porting-armhf/Don-t-use-LLVM-internal-assembler-on-armhf.patch
porting-arm/Reduce-memory-usage-while-linking-on-arm-el-hf-platforms.patch
debian-hacks/Make-Thunderbird-build-reproducible.patch
porting-s390x/Use-more-recent-embedded-version-of-sqlite3.patch
porting-mips/Bug-1642265-MIPS64-Add-branchTestSymbol-and-fallibleUnbox.patch
fixes/Add-missing-bindings-for-mips-in-the-authenticator-crate.patch
fixes/reduce-the-rust-debuginfo-level-on-selected-architectures.patch
porting-s390x/Explicitly-instantiate-TIntermTraverser-traverse-TIntermN.patch
......
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