git: fe653567b1c8 - main - lang/spidermonkey128: Backport "JS_RemoveExtraGCRootsTracer removes..."

From: Alan Somers <asomers_at_FreeBSD.org>
Date: Wed, 09 Sep 2026 01:31:19 UTC
The branch main has been updated by asomers:

URL: https://cgit.FreeBSD.org/ports/commit/?id=fe653567b1c82389013eb31280fea4031edb30ce

commit fe653567b1c82389013eb31280fea4031edb30ce
Author:     Stefan Ehmann <shoesoft@gmx.net>
AuthorDate: 2026-09-08 22:07:28 +0000
Commit:     Alan Somers <asomers@FreeBSD.org>
CommitDate: 2026-09-09 01:30:43 +0000

    lang/spidermonkey128: Backport "JS_RemoveExtraGCRootsTracer removes..."
    
    Patch spidermonkey128 with a bug fix that's present in spidermonkey140
    already, but which also affects spidermonkey128.
    
    https://bugzilla.mozilla.org/show_bug.cgi?id=1982134
    https://github.com/mozilla-firefox/firefox/commit/bf1994b05bae
    
    PR:             293620
    Reviewed by:    asomers
    Approved by:    vishwin (maintainer timeout)
---
 lang/spidermonkey128/Makefile                     |  2 +-
 lang/spidermonkey128/files/patch-js_src_gc_GC.cpp | 11 +++++++++++
 2 files changed, 12 insertions(+), 1 deletion(-)

diff --git a/lang/spidermonkey128/Makefile b/lang/spidermonkey128/Makefile
index d583339a174f..90dd7a27bc4e 100644
--- a/lang/spidermonkey128/Makefile
+++ b/lang/spidermonkey128/Makefile
@@ -1,6 +1,6 @@
 PORTNAME=	spidermonkey
 DISTVERSION=	128.14.0
-PORTREVISION=	7
+PORTREVISION=	8
 CATEGORIES=	lang
 MASTER_SITES=	MOZILLA/firefox/releases/${DISTVERSION}esr/source \
 		MOZILLA/firefox/candidates/${DISTVERSION}esr-candidates/build1/source
diff --git a/lang/spidermonkey128/files/patch-js_src_gc_GC.cpp b/lang/spidermonkey128/files/patch-js_src_gc_GC.cpp
new file mode 100644
index 000000000000..522140d8465f
--- /dev/null
+++ b/lang/spidermonkey128/files/patch-js_src_gc_GC.cpp
@@ -0,0 +1,11 @@
+--- js/src/gc/GC.cpp.orig	2025-08-11 17:07:18 UTC
++++ js/src/gc/GC.cpp
+@@ -1564,7 +1564,7 @@ void GCRuntime::removeBlackRootsTracer(JSTraceDataOp t
+ 
+ void GCRuntime::removeBlackRootsTracer(JSTraceDataOp traceOp, void* data) {
+   // Can be called from finalizers
+-  MOZ_ALWAYS_TRUE(EraseCallback(blackRootTracers.ref(), traceOp));
++  MOZ_ALWAYS_TRUE(EraseCallback(blackRootTracers.ref(), traceOp, data));
+ }
+ 
+ void GCRuntime::setGrayRootsTracer(JSGrayRootsTracer traceOp, void* data) {