blob: d0c6127ea6eba5ddeaf9b7650a5ff77a803263d6 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
|
From 059f6a13bb5ed18060aa27bbe900575e6966efb0 Mon Sep 17 00:00:00 2001
From: Colin Walters <walters@verbum.org>
Date: Fri, 16 Sep 2011 14:28:16 +0000
Subject: context: Add gjs_context_gc() wrapper
Simple wrapper for JS_GC() avoids simple embedders having to drop to
JSAPI.
https://bugzilla.gnome.org/show_bug.cgi?id=659253
---
diff --git a/gjs/context.c b/gjs/context.c
index 5688477..bb7a4cd 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 3fc94e0..4e01cc7 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
--
cgit v0.9.0.2
|