[75209] trunk/dports/devel/xulrunner-devel

jeremyhu at macports.org jeremyhu at macports.org
Mon Jan 17 20:24:21 PST 2011


Revision: 75209
          http://trac.macports.org/changeset/75209
Author:   jeremyhu at macports.org
Date:     2011-01-17 20:24:12 -0800 (Mon, 17 Jan 2011)
Log Message:
-----------
xulrunner-devel: Leopard and ppc fixes

Modified Paths:
--------------
    trunk/dports/devel/xulrunner-devel/Portfile

Added Paths:
-----------
    trunk/dports/devel/xulrunner-devel/files/PR-623277.patch

Modified: trunk/dports/devel/xulrunner-devel/Portfile
===================================================================
--- trunk/dports/devel/xulrunner-devel/Portfile	2011-01-18 03:25:14 UTC (rev 75208)
+++ trunk/dports/devel/xulrunner-devel/Portfile	2011-01-18 04:24:12 UTC (rev 75209)
@@ -133,6 +133,11 @@
 
 # xpctools and necko-wifi broke in 3.6b1
 
+# gcc-4.0 has issues, so force gcc-4.2 on Leopard
+if {${configure.compiler} == "gcc-4.0"} {
+    configure.compiler gcc-4.2
+}
+
 # Yes, this is ugly... but the real fix is in the works
 # https://bugzilla.mozilla.org/show_bug.cgi?id=529878
 configure.cc ${configure.cc} -arch ${configure.build_arch}
@@ -196,8 +201,9 @@
 }
 
 # plugin-instance-nococoa.patch : https://bugzilla.mozilla.org/show_bug.cgi?id=587370
+# PR-623277.patch : JS_METHODJIT fixup for ppc
 # PR-623797.patch : #ifdef out features not in mainline cairo when building with system cairo
-patchfiles patch-dylib_file.diff plugin-instance-nococoa.patch PR-623797.patch
+patchfiles patch-dylib_file.diff plugin-instance-nococoa.patch PR-623277.patch PR-623797.patch
 
 post-patch {
     # https://bugzilla.mozilla.org/show_bug.cgi?id=485857

Added: trunk/dports/devel/xulrunner-devel/files/PR-623277.patch
===================================================================
--- trunk/dports/devel/xulrunner-devel/files/PR-623277.patch	                        (rev 0)
+++ trunk/dports/devel/xulrunner-devel/files/PR-623277.patch	2011-01-18 04:24:12 UTC (rev 75209)
@@ -0,0 +1,80 @@
+--- js/src/jsdbgapi.cpp	
++++ 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;
+--- js/src/jsinterpinlines.h	
++++ 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);
+ 
+--- js/src/shell/js.cpp.orig	2011-01-10 19:26:08.000000000 -0800
++++ js/src/shell/js.cpp	2011-01-16 20:02:59.000000000 -0800
+@@ -4249,7 +4249,11 @@ Deserialize(JSContext *cx, uintN argc, j
+ JSBool
+ MJitStats(JSContext *cx, uintN argc, jsval *vp)
+ {
++#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;
+ }
+ 
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.macosforge.org/pipermail/macports-changes/attachments/20110117/76564d93/attachment.html>


More information about the macports-changes mailing list