[gjs/mozjs91: 10/17] Update GC API




commit e191b68b0f3ec622ea83d31180bda84de0b8e536
Author: Evan Welsh <contact evanwelsh com>
Date:   Sat Jul 10 20:31:11 2021 -0700

    Update GC API
    
    - Utilize new enums
    - Add js/GCAPI.h include
    
    See https://bugzilla.mozilla.org/show_bug.cgi?id=1686249

 gjs/engine.cpp        | 11 +----------
 gjs/jsapi-util-root.h |  1 +
 gjs/jsapi-util.cpp    |  3 ++-
 3 files changed, 4 insertions(+), 11 deletions(-)
---
diff --git a/gjs/engine.cpp b/gjs/engine.cpp
index 0977bca8..be0f3622 100644
--- a/gjs/engine.cpp
+++ b/gjs/engine.cpp
@@ -133,19 +133,10 @@ JSContext* gjs_create_js_context(GjsContextPrivate* uninitialized_gjs) {
         return nullptr;
     }
 
-    // commented are defaults in moz-24
     JS_SetNativeStackQuota(cx, 1024 * 1024);
     JS_SetGCParameter(cx, JSGC_MAX_BYTES, -1);
-    JS_SetGCParameter(cx, JSGC_MODE, JSGC_MODE_INCREMENTAL);
+    JS_SetGCParameter(cx, JSGC_INCREMENTAL_GC_ENABLED, 1);
     JS_SetGCParameter(cx, JSGC_SLICE_TIME_BUDGET_MS, 10); /* ms */
-    // JS_SetGCParameter(cx, JSGC_HIGH_FREQUENCY_TIME_LIMIT, 1000); /* ms */
-    // JS_SetGCParameter(cx, JSGC_LOW_FREQUENCY_HEAP_GROWTH, 150);
-    // JS_SetGCParameter(cx, JSGC_HIGH_FREQUENCY_HEAP_GROWTH_MIN, 150);
-    // JS_SetGCParameter(cx, JSGC_HIGH_FREQUENCY_HEAP_GROWTH_MAX, 300);
-    // JS_SetGCParameter(cx, JSGC_HIGH_FREQUENCY_LOW_LIMIT, 100);
-    // JS_SetGCParameter(cx, JSGC_HIGH_FREQUENCY_HIGH_LIMIT, 500);
-    // JS_SetGCParameter(cx, JSGC_ALLOCATION_THRESHOLD, 30);
-    // JS_SetGCParameter(cx, JSGC_DECOMMIT_THRESHOLD, 32);
 
     /* set ourselves as the private data */
     JS_SetContextPrivate(cx, uninitialized_gjs);
diff --git a/gjs/jsapi-util-root.h b/gjs/jsapi-util-root.h
index 6758c722..ee67addc 100644
--- a/gjs/jsapi-util-root.h
+++ b/gjs/jsapi-util-root.h
@@ -18,6 +18,7 @@
 #include <glib-object.h>
 #include <glib.h>
 
+#include <js/GCAPI.h>
 #include <js/TracingAPI.h>
 #include <js/TypeDecls.h>
 
diff --git a/gjs/jsapi-util.cpp b/gjs/jsapi-util.cpp
index 7db6e770..ce49bc1f 100644
--- a/gjs/jsapi-util.cpp
+++ b/gjs/jsapi-util.cpp
@@ -574,7 +574,8 @@ gjs_gc_if_needed (JSContext *context)
         uint64_t rss_usize = rss_size;
         if (rss_usize > linux_rss_trigger) {
             linux_rss_trigger = MIN(G_MAXUINT32, rss_usize * 1.25);
-            JS::NonIncrementalGC(context, GC_SHRINK,
+
+            JS::NonIncrementalGC(context, JS::GCOptions::Shrink,
                                  Gjs::GCReason::LINUX_RSS_TRIGGER);
         } else if (rss_size < (0.75 * linux_rss_trigger)) {
             /* If we've shrunk by 75%, lower the trigger */


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]