[gjs/mozjs91: 10/17] Update GC API
- From: Evan Welsh <ewlsh src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gjs/mozjs91: 10/17] Update GC API
- Date: Sat, 7 Aug 2021 01:32:02 +0000 (UTC)
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]