Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 10 Aug 2017 18:55:47 +0000 (UTC)
From:      Jan Beich <jbeich@FreeBSD.org>
To:        ports-committers@freebsd.org, svn-ports-all@freebsd.org, svn-ports-head@freebsd.org
Subject:   svn commit: r447715 - head/www/firefox/files
Message-ID:  <201708101855.v7AItlmV044515@repo.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: jbeich
Date: Thu Aug 10 18:55:47 2017
New Revision: 447715
URL: https://svnweb.freebsd.org/changeset/ports/447715

Log:
  www/firefox: unbreak with JIT (e.g. on powerpc*, sparc64)
  
  In file included from js/src/builtin/RegExp.cpp:22:
  In file included from js/src/jsobjinlines.h:33:
  In file included from js/src/vm/TypeInference-inl.h:19:
  In file included from js/src/jit/BaselineJIT.h:18:
  In file included from js/src/jit/MacroAssembler.h:28:
  js/src/jit/none/MacroAssembler-none.h:51:27: error: chosen constructor is
        explicit in copy-initialization
  static constexpr Register WasmIonExitTlsReg = { Registers::invalid_reg };
                            ^                   ~~~~~~~~~~~~~~~~~~~~~~~~~~
  js/src/jit/Registers.h:39:24: note: explicit constructor declared here
      explicit constexpr Register(Encoding e)
                         ^
  1 error generated.

Added:
  head/www/firefox/files/patch-bug1376268   (contents, props changed)

Added: head/www/firefox/files/patch-bug1376268
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/www/firefox/files/patch-bug1376268	Thu Aug 10 18:55:47 2017	(r447715)
@@ -0,0 +1,61 @@
+commit ec31e574ed81
+Author: Petr Sumbera <petr.sumbera@oracle.com>
+Date:   Mon Jun 26 06:54:12 2017 -0700
+
+    Bug 1376268 - Fix Spidermonkey build with no jit backend; r=bbouvier
+    
+    MozReview-Commit-ID: DgANwcf8oUh
+    
+    --HG--
+    extra : amend_source : 1c3efbe975e93ee996e6b84d3fc073781740156d
+---
+ js/src/jit/ExecutableAllocator.h      | 2 +-
+ js/src/jit/none/MacroAssembler-none.h | 8 ++++----
+ 2 files changed, 5 insertions(+), 5 deletions(-)
+
+diff --git js/src/jit/ExecutableAllocator.h js/src/jit/ExecutableAllocator.h
+index 570a25ff0dc3..d106b31ba906 100644
+--- js/src/jit/ExecutableAllocator.h
++++ js/src/jit/ExecutableAllocator.h
+@@ -219,7 +219,7 @@ class ExecutableAllocator
+ 
+     static void poisonCode(JSRuntime* rt, JitPoisonRangeVector& ranges);
+ 
+-#if defined(JS_CODEGEN_X86) || defined(JS_CODEGEN_X64) || defined(JS_SIMULATOR_ARM64)
++#if defined(JS_CODEGEN_X86) || defined(JS_CODEGEN_X64) || defined(JS_SIMULATOR_ARM64) || defined(JS_CODEGEN_NONE)
+     static void cacheFlush(void*, size_t)
+     {
+     }
+diff --git js/src/jit/none/MacroAssembler-none.h js/src/jit/none/MacroAssembler-none.h
+index 9a40ec8a8f64..71ddca8b9f1c 100644
+--- js/src/jit/none/MacroAssembler-none.h
++++ js/src/jit/none/MacroAssembler-none.h
+@@ -48,7 +48,7 @@ static constexpr Register WasmIonExitRegE1 { Registers::invalid_reg };
+ 
+ static constexpr Register WasmIonExitRegReturnData { Registers::invalid_reg };
+ static constexpr Register WasmIonExitRegReturnType { Registers::invalid_reg };
+-static constexpr Register WasmIonExitTlsReg = { Registers::invalid_reg };
++static constexpr Register WasmIonExitTlsReg { Registers::invalid_reg };
+ static constexpr Register WasmIonExitRegD0 { Registers::invalid_reg };
+ static constexpr Register WasmIonExitRegD1 { Registers::invalid_reg };
+ static constexpr Register WasmIonExitRegD2 { Registers::invalid_reg };
+@@ -153,6 +153,8 @@ class Assembler : public AssemblerShared
+ 
+     static uintptr_t GetPointer(uint8_t*) { MOZ_CRASH(); }
+ 
++    static bool HasRoundInstruction(RoundingMode) { return false; }
++
+     void verifyHeapAccessDisassembly(uint32_t begin, uint32_t end,
+                                      const Disassembler::HeapAccess& heapAccess)
+     {
+@@ -196,9 +198,7 @@ class MacroAssemblerNone : public Assembler
+     static bool SupportsSimd() { return false; }
+     static bool SupportsUnalignedAccesses() { return false; }
+ 
+-    static bool HasRoundInstruction(RoundingMode) { return false; }
+-
+-    void executableCopy(void*, bool) { MOZ_CRASH(); }
++    void executableCopy(void*, bool = true) { MOZ_CRASH(); }
+     void copyJumpRelocationTable(uint8_t*) { MOZ_CRASH(); }
+     void copyDataRelocationTable(uint8_t*) { MOZ_CRASH(); }
+     void copyPreBarrierTable(uint8_t*) { MOZ_CRASH(); }



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201708101855.v7AItlmV044515>