summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--gjs/context.c13
-rw-r--r--gjs/context.h2
2 files changed, 15 insertions, 0 deletions
diff --git a/gjs/context.c b/gjs/context.c
index 5688477f..bb7a4cd3 100644
--- a/gjs/context.c
+++ b/gjs/context.c
@@ -899,6 +899,19 @@ gjs_context_maybe_gc (GjsContext *context)
gjs_maybe_gc(context->context);
}
+/**
+ * gjs_context_gc:
+ * @context: a #GjsContext
+ *
+ * Initiate a full GC; may or may not block until complete. This
+ * function just calls Spidermonkey JS_GC().
+ */
+void
+gjs_context_gc (GjsContext *context)
+{
+ JS_GC(context->context);
+}
+
static gboolean
gjs_context_idle_emit_gc (gpointer data)
{
diff --git a/gjs/context.h b/gjs/context.h
index 3fc94e07..4e01cc78 100644
--- a/gjs/context.h
+++ b/gjs/context.h
@@ -75,6 +75,8 @@ void gjs_context_print_stack_stderr (GjsContext *js_context);
void gjs_context_maybe_gc (GjsContext *context);
+void gjs_context_gc (GjsContext *context);
+
void gjs_dumpstack (void);
G_END_DECLS