svn commit: r458151 - in head/www/waterfox: . files
Jan Beich
jbeich at FreeBSD.org
Fri Jan 5 16:45:34 UTC 2018
Author: jbeich
Date: Fri Jan 5 16:45:32 2018
New Revision: 458151
URL: https://svnweb.freebsd.org/changeset/ports/458151
Log:
www/waterfox: update to 56.0.2
- Apply one more FF58 fix
Changes: https://github.com/MrAlex94/Waterfox/compare/8f77aec80334...56.0.2
Reported by: Stari Karp (as broken fetch due to moving HEAD commit)
Added:
head/www/waterfox/files/patch-bug1412420 (contents, props changed)
Deleted:
head/www/waterfox/files/patch-bug1386957
Modified:
head/www/waterfox/Makefile (contents, props changed)
head/www/waterfox/distinfo (contents, props changed)
head/www/waterfox/files/patch-typos (contents, props changed)
Modified: head/www/waterfox/Makefile
==============================================================================
--- head/www/waterfox/Makefile Fri Jan 5 16:41:15 2018 (r458150)
+++ head/www/waterfox/Makefile Fri Jan 5 16:45:32 2018 (r458151)
@@ -1,7 +1,7 @@
# $FreeBSD$
PORTNAME= waterfox
-DISTVERSION= 56.0.1.s20180105
+DISTVERSION= 56.0.2
CATEGORIES= www ipv6
MAINTAINER= jbeich at FreeBSD.org
@@ -32,7 +32,6 @@ LIB_DEPENDS= libv4l2.so:multimedia/libv4l
USE_GITHUB= yes
GH_ACCOUNT= MrAlex94
GH_PROJECT= Waterfox
-GH_TAGNAME= 8f77aec80334
USE_GECKO= gecko
MOZ_PKGCONFIG_FILES= # empty
Modified: head/www/waterfox/distinfo
==============================================================================
--- head/www/waterfox/distinfo Fri Jan 5 16:41:15 2018 (r458150)
+++ head/www/waterfox/distinfo Fri Jan 5 16:45:32 2018 (r458151)
@@ -1,3 +1,3 @@
-TIMESTAMP = 1515156365
-SHA256 (MrAlex94-Waterfox-56.0.1.s20180105-8f77aec80334_GH0.tar.gz) = 768076eb2d68249a5c13ec51a858e84115a83fcf24795ec5833ca96aa582cd00
-SIZE (MrAlex94-Waterfox-56.0.1.s20180105-8f77aec80334_GH0.tar.gz) = 394200633
+TIMESTAMP = 1515165188
+SHA256 (MrAlex94-Waterfox-56.0.2_GH0.tar.gz) = edb392795c8ce3658a9c4e7874424548f0091ea45ca0a36bd587be484c335111
+SIZE (MrAlex94-Waterfox-56.0.2_GH0.tar.gz) = 394203963
Added: head/www/waterfox/files/patch-bug1412420
==============================================================================
--- /dev/null 00:00:00 1970 (empty, because file is newly added)
+++ head/www/waterfox/files/patch-bug1412420 Fri Jan 5 16:45:32 2018 (r458151)
@@ -0,0 +1,284 @@
+commit c3b597795e95
+Author: Jan de Mooij <jdemooij at mozilla.com>
+Date: Sat Dec 16 16:22:13 2017 -0600
+
+ Bug 1412420 - Ensure upper bits are zeroed when calling a function that returns int32. r=nbp a=ritu
+
+ --HG--
+ extra : source : 26d3df5b58fb60facb9057dc1e86576127c9e1f5
+---
+ js/src/irregexp/NativeRegExpMacroAssembler.cpp | 4 ++--
+ js/src/irregexp/RegExpStack.cpp | 2 +-
+ js/src/irregexp/RegExpStack.h | 2 +-
+ js/src/jit/CodeGenerator.cpp | 12 ++++++------
+ js/src/jit/MacroAssembler-inl.h | 11 +++++++++++
+ js/src/jit/MacroAssembler.cpp | 2 +-
+ js/src/jit/MacroAssembler.h | 3 ++-
+ js/src/jit/SharedIC.cpp | 16 ++++++++--------
+ js/src/jit/shared/CodeGenerator-shared.h | 8 +++++---
+ js/src/jit/x86/CodeGenerator-x86.cpp | 4 ++--
+ 10 files changed, 39 insertions(+), 25 deletions(-)
+
+diff --git js/src/irregexp/NativeRegExpMacroAssembler.cpp js/src/irregexp/NativeRegExpMacroAssembler.cpp
+index 004bb8e108f2..0c5743ea506b 100644
+--- js/src/irregexp/NativeRegExpMacroAssembler.cpp
++++ js/src/irregexp/NativeRegExpMacroAssembler.cpp
+@@ -453,7 +453,7 @@ NativeRegExpMacroAssembler::GenerateCode(JSContext* cx, bool match_only)
+ masm.setupUnalignedABICall(temp0);
+ masm.passABIArg(temp1);
+ masm.callWithABI(JS_FUNC_TO_DATA_PTR(void*, GrowBacktrackStack));
+- masm.storeCallWordResult(temp0);
++ masm.storeCallBoolResult(temp0);
+
+ masm.PopRegsInMask(volatileRegs);
+
+@@ -882,7 +882,7 @@ NativeRegExpMacroAssembler::CheckNotBackReferenceIgnoreCase(int start_reg, Label
+ int (*fun)(const char16_t*, const char16_t*, size_t) = CaseInsensitiveCompareUCStrings;
+ masm.callWithABI(JS_FUNC_TO_DATA_PTR(void*, fun));
+ }
+- masm.storeCallWordResult(temp0);
++ masm.storeCallInt32Result(temp0);
+
+ masm.PopRegsInMask(volatileRegs);
+
+diff --git js/src/irregexp/RegExpStack.cpp js/src/irregexp/RegExpStack.cpp
+index 7ea47149ed40..15008ccd7b9b 100644
+--- js/src/irregexp/RegExpStack.cpp
++++ js/src/irregexp/RegExpStack.cpp
+@@ -44,7 +44,7 @@ RegExpStackScope::~RegExpStackScope()
+ regexp_stack->reset();
+ }
+
+-int
++bool
+ irregexp::GrowBacktrackStack(JSRuntime* rt)
+ {
+ AutoUnsafeCallWithABI unsafe;
+diff --git js/src/irregexp/RegExpStack.h js/src/irregexp/RegExpStack.h
+index da81567a11b6..c92666f2427a 100644
+--- js/src/irregexp/RegExpStack.h
++++ js/src/irregexp/RegExpStack.h
+@@ -114,7 +114,7 @@ class RegExpStack
+ }
+ };
+
+-int
++bool
+ GrowBacktrackStack(JSRuntime* rt);
+
+ }} // namespace js::irregexp
+diff --git js/src/jit/CodeGenerator.cpp js/src/jit/CodeGenerator.cpp
+index 22c0a3163232..4befbdc285db 100644
+--- js/src/jit/CodeGenerator.cpp
++++ js/src/jit/CodeGenerator.cpp
+@@ -1640,7 +1640,7 @@ CreateDependentString::generateFallback(MacroAssembler& masm, LiveRegisterSet re
+ masm.callWithABI(kind == FallbackKind::FatInlineString
+ ? JS_FUNC_TO_DATA_PTR(void*, AllocateFatInlineString)
+ : JS_FUNC_TO_DATA_PTR(void*, AllocateString));
+- masm.storeCallWordResult(string_);
++ masm.storeCallPointerResult(string_);
+
+ masm.PopRegsInMask(regsToSave);
+
+@@ -1679,7 +1679,7 @@ CreateMatchResultFallback(MacroAssembler& masm, LiveRegisterSet regsToSave,
+ masm.move32(Imm32(int32_t(templateObj->as<NativeObject>().numDynamicSlots())), temp5);
+ masm.passABIArg(temp5);
+ masm.callWithABI(JS_FUNC_TO_DATA_PTR(void*, CreateMatchResultFallbackFunc));
+- masm.storeCallWordResult(object);
++ masm.storeCallPointerResult(object);
+
+ masm.PopRegsInMask(regsToSave);
+
+@@ -7976,7 +7976,7 @@ JitRuntime::generateMallocStub(JSContext* cx)
+ masm.passABIArg(regZone);
+ masm.passABIArg(regNBytes);
+ masm.callWithABI(JS_FUNC_TO_DATA_PTR(void*, MallocWrapper));
+- masm.storeCallWordResult(regReturn);
++ masm.storeCallPointerResult(regReturn);
+
+ masm.PopRegsInMask(save);
+ masm.ret();
+@@ -9445,7 +9445,7 @@ CodeGenerator::emitRest(LInstruction* lir, Register array, Register numActuals,
+ callVM(InitRestParameterInfo, lir);
+
+ if (saveAndRestore) {
+- storeResultTo(resultreg);
++ storePointerResultTo(resultreg);
+ restoreLive(lir);
+ }
+ }
+@@ -10682,8 +10682,8 @@ CodeGenerator::visitOutOfLineTypeOfV(OutOfLineTypeOfV* ool)
+ masm.passABIArg(obj);
+ masm.movePtr(ImmPtr(gen->runtime), output);
+ masm.passABIArg(output);
+- masm.callWithABI(JS_FUNC_TO_DATA_PTR(void*, TypeOfObject));
+- masm.storeCallWordResult(output);
++ masm.callWithABI(JS_FUNC_TO_DATA_PTR(void*, jit::TypeOfObject));
++ masm.storeCallPointerResult(output);
+ restoreVolatile(output);
+
+ masm.jump(ool->rejoin());
+diff --git js/src/jit/MacroAssembler-inl.h js/src/jit/MacroAssembler-inl.h
+index 9d0acbfb4002..a1f9716e1329 100644
+--- js/src/jit/MacroAssembler-inl.h
++++ js/src/jit/MacroAssembler-inl.h
+@@ -831,6 +831,17 @@ MacroAssembler::storeCallBoolResult(Register reg)
+ and32(Imm32(0xFF), reg);
+ }
+
++void
++MacroAssembler::storeCallInt32Result(Register reg)
++{
++#if JS_BITS_PER_WORD == 32
++ storeCallPointerResult(reg);
++#else
++ // Ensure the upper 32 bits are cleared.
++ move32(ReturnReg, reg);
++#endif
++}
++
+ void
+ MacroAssembler::storeCallResultValue(AnyRegister dest)
+ {
+diff --git js/src/jit/MacroAssembler.cpp js/src/jit/MacroAssembler.cpp
+index 0863dd980e93..25c284324bfe 100644
+--- js/src/jit/MacroAssembler.cpp
++++ js/src/jit/MacroAssembler.cpp
+@@ -2117,7 +2117,7 @@ MacroAssembler::outOfLineTruncateSlow(FloatRegister src, Register dest, bool wid
+ callWithABI(mozilla::BitwiseCast<void*, int32_t(*)(double)>(JS::ToInt32),
+ MoveOp::GENERAL, CheckUnsafeCallWithABI::DontCheckOther);
+ }
+- storeCallWordResult(dest);
++ storeCallInt32Result(dest);
+
+ #if defined(JS_CODEGEN_ARM) || defined(JS_CODEGEN_ARM64) || \
+ defined(JS_CODEGEN_MIPS32) || defined(JS_CODEGEN_MIPS64)
+diff --git js/src/jit/MacroAssembler.h js/src/jit/MacroAssembler.h
+index e353c5aa10f5..2c8b005b7008 100644
+--- js/src/jit/MacroAssembler.h
++++ js/src/jit/MacroAssembler.h
+@@ -1630,12 +1630,13 @@ class MacroAssembler : public MacroAssemblerSpecific
+ storeTypedOrValue(src.reg(), dest);
+ }
+
+- void storeCallWordResult(Register reg) {
++ void storeCallPointerResult(Register reg) {
+ if (reg != ReturnReg)
+ mov(ReturnReg, reg);
+ }
+
+ inline void storeCallBoolResult(Register reg);
++ inline void storeCallInt32Result(Register reg);
+
+ void storeCallFloatResult(FloatRegister reg) {
+ if (reg != ReturnDoubleReg)
+diff --git js/src/jit/SharedIC.cpp js/src/jit/SharedIC.cpp
+index 0c8be36a592d..1f88cc93176d 100644
+--- js/src/jit/SharedIC.cpp
++++ js/src/jit/SharedIC.cpp
+@@ -1145,19 +1145,19 @@ ICBinaryArith_BooleanWithInt32::Compiler::generateStubCode(MacroAssembler& masm)
+ break;
+ }
+ case JSOP_BITOR: {
+- masm.orPtr(rhsReg, lhsReg);
++ masm.or32(rhsReg, lhsReg);
+ masm.tagValue(JSVAL_TYPE_INT32, lhsReg, R0);
+ EmitReturnFromIC(masm);
+ break;
+ }
+ case JSOP_BITXOR: {
+- masm.xorPtr(rhsReg, lhsReg);
++ masm.xor32(rhsReg, lhsReg);
+ masm.tagValue(JSVAL_TYPE_INT32, lhsReg, R0);
+ EmitReturnFromIC(masm);
+ break;
+ }
+ case JSOP_BITAND: {
+- masm.andPtr(rhsReg, lhsReg);
++ masm.and32(rhsReg, lhsReg);
+ masm.tagValue(JSVAL_TYPE_INT32, lhsReg, R0);
+ EmitReturnFromIC(masm);
+ break;
+@@ -1206,7 +1206,7 @@ ICBinaryArith_DoubleWithInt32::Compiler::generateStubCode(MacroAssembler& masm)
+ masm.setupUnalignedABICall(scratchReg);
+ masm.passABIArg(FloatReg0, MoveOp::DOUBLE);
+ masm.callWithABI(mozilla::BitwiseCast<void*, int32_t(*)(double)>(JS::ToInt32));
+- masm.storeCallWordResult(scratchReg);
++ masm.storeCallInt32Result(scratchReg);
+ masm.pop(intReg);
+
+ masm.bind(&doneTruncate);
+@@ -1216,13 +1216,13 @@ ICBinaryArith_DoubleWithInt32::Compiler::generateStubCode(MacroAssembler& masm)
+ // All handled ops commute, so no need to worry about ordering.
+ switch(op) {
+ case JSOP_BITOR:
+- masm.orPtr(intReg, intReg2);
++ masm.or32(intReg, intReg2);
+ break;
+ case JSOP_BITXOR:
+- masm.xorPtr(intReg, intReg2);
++ masm.xor32(intReg, intReg2);
+ break;
+ case JSOP_BITAND:
+- masm.andPtr(intReg, intReg2);
++ masm.and32(intReg, intReg2);
+ break;
+ default:
+ MOZ_CRASH("Unhandled op for BinaryArith_DoubleWithInt32.");
+@@ -1359,7 +1359,7 @@ ICUnaryArith_Double::Compiler::generateStubCode(MacroAssembler& masm)
+ masm.setupUnalignedABICall(scratchReg);
+ masm.passABIArg(FloatReg0, MoveOp::DOUBLE);
+ masm.callWithABI(BitwiseCast<void*, int32_t(*)(double)>(JS::ToInt32));
+- masm.storeCallWordResult(scratchReg);
++ masm.storeCallInt32Result(scratchReg);
+
+ masm.bind(&doneTruncate);
+ masm.not32(scratchReg);
+diff --git js/src/jit/shared/CodeGenerator-shared.h js/src/jit/shared/CodeGenerator-shared.h
+index d75572dac0a6..48b2b4d8561c 100644
+--- js/src/jit/shared/CodeGenerator-shared.h
++++ js/src/jit/shared/CodeGenerator-shared.h
+@@ -454,8 +454,8 @@ class CodeGeneratorShared : public LElementVisitor
+ return masm.PushWithPatch(t);
+ }
+
+- void storeResultTo(Register reg) {
+- masm.storeCallWordResult(reg);
++ void storePointerResultTo(Register reg) {
++ masm.storeCallPointerResult(reg);
+ }
+
+ void storeFloatResultTo(FloatRegister reg) {
+@@ -725,7 +725,9 @@ class StoreRegisterTo
+ { }
+
+ inline void generate(CodeGeneratorShared* codegen) const {
+- codegen->storeResultTo(out_);
++ // It's okay to use storePointerResultTo here - the VMFunction wrapper
++ // ensures the upper bytes are zero for bool/int32 return values.
++ codegen->storePointerResultTo(out_);
+ }
+ inline LiveRegisterSet clobbered() const {
+ LiveRegisterSet set;
+diff --git js/src/jit/x86/CodeGenerator-x86.cpp js/src/jit/x86/CodeGenerator-x86.cpp
+index e2f80c4ac8fc..fe358c370baf 100644
+--- js/src/jit/x86/CodeGenerator-x86.cpp
++++ js/src/jit/x86/CodeGenerator-x86.cpp
+@@ -747,7 +747,7 @@ CodeGeneratorX86::visitOutOfLineTruncate(OutOfLineTruncate* ool)
+ masm.callWithABI(BitwiseCast<void*, int32_t(*)(double)>(JS::ToInt32), MoveOp::GENERAL,
+ CheckUnsafeCallWithABI::DontCheckOther);
+ }
+- masm.storeCallWordResult(output);
++ masm.storeCallInt32Result(output);
+
+ restoreVolatile(output);
+ }
+@@ -839,7 +839,7 @@ CodeGeneratorX86::visitOutOfLineTruncateFloat32(OutOfLineTruncateFloat32* ool)
+ CheckUnsafeCallWithABI::DontCheckOther);
+ }
+
+- masm.storeCallWordResult(output);
++ masm.storeCallInt32Result(output);
+ masm.Pop(input);
+
+ restoreVolatile(output);
Modified: head/www/waterfox/files/patch-typos
==============================================================================
--- head/www/waterfox/files/patch-typos Fri Jan 5 16:41:15 2018 (r458150)
+++ head/www/waterfox/files/patch-typos Fri Jan 5 16:45:32 2018 (r458151)
@@ -10,6 +10,14 @@ Mismerges found by comparing changes with Firefox 56
if (elem) {
elem->NodeInfoChanged(newDoc);
}
+--- media/libcubeb/src/moz.build
++++ media/libcubeb/src/moz.build
+@@ -89,4 +89,4 @@ CFLAGS += CONFIG['MOZ_ALSA_CFLAGS']
+ CFLAGS += CONFIG['MOZ_PULSEAUDIO_CFLAGS']
+
+ # We allow warnings for third-party code that can be updated from upstream.
+-AllowCompilerWarnings()
++ALLOW_COMPILER_WARNINGS = True
--- security/nss/lib/softoken/softkver.h.orig
+++ security/nss/lib/softoken/softkver.h
@@ -26,6 +26,6 @@
More information about the svn-ports-head
mailing list