[xulrunner] - updated the 64bit-big-endian patch (bmo#627664) - added fix for build with --disable-methodjit (bm

Dan Horák sharkcz at fedoraproject.org
Fri Jan 21 11:03:34 UTC 2011


commit 17a497c319a9a51136cc3a9f911046cea53ac642
Author: Dan Horák <dan at danny.cz>
Date:   Fri Jan 21 12:03:22 2011 +0100

    - updated the 64bit-big-endian patch (bmo#627664)
    - added fix for build with --disable-methodjit (bmo#623277)

 xulrunner-2.0-no-methodjit.patch |  103 ++++++++++++++++++++++++++++++++++++++
 xulrunner.spec                   |   12 ++++-
 2 files changed, 114 insertions(+), 1 deletions(-)
---
diff --git a/xulrunner-2.0-no-methodjit.patch b/xulrunner-2.0-no-methodjit.patch
new file mode 100644
index 0000000..061927a
--- /dev/null
+++ b/xulrunner-2.0-no-methodjit.patch
@@ -0,0 +1,103 @@
+
+# HG changeset patch
+# User Cameron Kaiser <spectre>
+# Date 1294555320 28800
+# Node ID 7372dac81910bc5b13b841848883c1dfb505264e
+# Parent  e69de12efa822ac94d811506f69f9b1da66e7497
+Bug 623277 - Failed to build with --disable-methodjit  r=dmandelin, a=NPOTB
+
+diff --git a/js/src/jsdbgapi.cpp b/js/src/jsdbgapi.cpp
+--- a/js/src/jsdbgapi.cpp
++++ b/js/src/jsdbgapi.cpp
+@@ -111,37 +111,37 @@ IsScriptLive(JSContext *cx, JSScript *sc
+ #endif
+ 
+ JS_PUBLIC_API(void)
+ JS_SetRuntimeDebugMode(JSRuntime *rt, JSBool debug)
+ {
+     rt->debugMode = debug;
+ }
+ 
++#ifdef JS_METHODJIT
+ static void
+ PurgeCallICs(JSContext *cx, JSScript *start)
+ {
+-#ifdef JS_METHODJIT
+     for (JSScript *script = start;
+          &script->links != &cx->compartment->scripts;
+          script = (JSScript *)script->links.next)
+     {
+         // Debug mode does not use call ICs.
+         if (script->debugMode)
+             continue;
+ 
+         JS_ASSERT(!IsScriptLive(cx, script));
+ 
+         if (script->jitNormal)
+             script->jitNormal->nukeScriptDependentICs();
+         if (script->jitCtor)
+             script->jitCtor->nukeScriptDependentICs();
+     }
++}
+ #endif
+-}
+ 
+ JS_FRIEND_API(JSBool)
+ js_SetDebugMode(JSContext *cx, JSBool debug)
+ {
+     cx->compartment->debugMode = debug;
+ #ifdef JS_METHODJIT
+     for (JSScript *script = (JSScript *)cx->compartment->scripts.next;
+          &script->links != &cx->compartment->scripts;
+diff --git a/js/src/jsinterpinlines.h b/js/src/jsinterpinlines.h
+--- a/js/src/jsinterpinlines.h
++++ b/js/src/jsinterpinlines.h
+@@ -581,17 +581,21 @@ InvokeSessionGuard::invoke(JSContext *cx
+ {
+     /* N.B. Must be kept in sync with Invoke */
+ 
+     /* Refer to canonical (callee, this) for optimized() sessions. */
+     formals_[-2] = savedCallee_;
+     formals_[-1] = savedThis_;
+ 
+     void *code;
++#ifdef JS_METHODJIT
+     if (!optimized() || !(code = script_->getJIT(false /* !constructing */)->invokeEntry))
++#else
++    if (!optimized())
++#endif
+         return Invoke(cx, args_, 0);
+ 
+     /* Clear any garbage left from the last Invoke. */
+     JSStackFrame *fp = frame_.fp();
+     fp->clearMissingArgs();
+     fp->resetInvokeCallFrame();
+     SetValueRangeToUndefined(fp->slots(), script_->nfixed);
+ 
+diff --git a/js/src/shell/js.cpp b/js/src/shell/js.cpp
+--- a/js/src/shell/js.cpp
++++ b/js/src/shell/js.cpp
+@@ -4245,17 +4245,21 @@ Deserialize(JSContext *cx, uintN argc, j
+     }
+     JS_SET_RVAL(cx, vp, v);
+     return true;
+ }
+ 
+ JSBool
+ MJitStats(JSContext *cx, uintN argc, jsval *vp)
+ {
+-    JS_SET_RVAL(cx, vp, INT_TO_JSVAL(cx->runtime->mjitMemoryUsed));
++#ifdef JS_METHODJIT
++     JS_SET_RVAL(cx, vp, INT_TO_JSVAL(cx->runtime->mjitMemoryUsed));
++#else
++    JS_SET_RVAL(cx, vp, JSVAL_VOID);
++#endif
+     return true;
+ }
+ 
+ JSBool
+ StringStats(JSContext *cx, uintN argc, jsval *vp)
+ {
+     JS_SET_RVAL(cx, vp, INT_TO_JSVAL(cx->runtime->stringMemoryUsed));
+     return true;
+
diff --git a/xulrunner.spec b/xulrunner.spec
index d8b86a4..4775ce6 100644
--- a/xulrunner.spec
+++ b/xulrunner.spec
@@ -30,7 +30,7 @@
 Summary:        XUL Runtime for Gecko Applications
 Name:           xulrunner
 Version:        2.0
-Release:        0.15%{?pretag}%{?dist}
+Release:        0.16%{?pretag}%{?dist}
 URL:            http://developer.mozilla.org/En/XULRunner
 License:        MPLv1.1 or GPLv2+ or LGPLv2+
 Group:          Applications/Internet
@@ -48,11 +48,16 @@ Patch1:         mozilla-build.patch
 Patch3:         firefox4-jemalloc.patch
 Patch9:         mozilla-build-sbrk.patch
 Patch11:        mozilla-malloc.patch
+# https://bugzilla.mozilla.org/show_bug.cgi?id=627664
 Patch12:        xulrunner-2.0-64bit-big-endian.patch
+# https://bugzilla.mozilla.org/show_bug.cgi?id=627668
 Patch13:        xulrunner-2.0-secondary-jit.patch
+# https://bugzilla.mozilla.org/show_bug.cgi?id=627669
 Patch14:        xulrunner-2.0-chromium-types.patch
 Patch15:        xulrunner-2.0-system-cairo.patch
 Patch16:        xulrunner-2.0-system-cairo-tee.patch
+# https://bugzilla.mozilla.org/show_bug.cgi?id=623277 (resolved in changeset 60794)
+Patch17:        xulrunner-2.0-no-methodjit.patch
 
 # Fedora specific patches
 Patch20:        mozilla-193-pkgconfig.patch
@@ -159,6 +164,7 @@ sed -e 's/__RPM_VERSION_INTERNAL__/%{version_internal}/' %{P:%%PATCH0} \
 %patch14 -p2 -b .chromium-types
 %patch15 -p1 -b .system-cairo
 %patch16 -p1 -b .system-cairo-tee
+%patch17 -p1 -b .no-methodjit
 
 %patch20 -p2 -b .pk
 %patch21 -p2 -b .jpeg-turbo
@@ -464,6 +470,10 @@ fi
 #---------------------------------------------------------------------
 
 %changelog
+* Fri Jan 21 2011 Dan Horák <dan[at]danny.cz> - 2.0-0.16.b9
+- updated the 64bit-big-endian patch (bmo#627664)
+- added fix for build with --disable-methodjit (bmo#623277)
+
 * Fri Jan 14 2011 Christopher Aillon <caillon at redhat.com> 2.0-0.15.b9
 - Update to 2.0 Beta 9
 


More information about the scm-commits mailing list