[gjs] context: Add gjs_context_gc() wrapper



commit 059f6a13bb5ed18060aa27bbe900575e6966efb0
Author: Colin Walters <walters verbum org>
Date:   Fri Sep 16 10:28:16 2011 -0400

    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

 gjs/context.c |   13 +++++++++++++
 gjs/context.h |    2 ++
 2 files changed, 15 insertions(+), 0 deletions(-)
---
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



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