[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