Displaying 5 results from an estimated 5 matches for "swfdec_as_context_needs_gc".
2007 Jun 17
0
Branch 'as' - 4 commits - libswfdec/swfdec_as_context.c libswfdec/swfdec_as_context.h libswfdec/swfdec_player.c
...ng the garbage collector");
+ g_print ("invoking the garbage collector\n");
klass = SWFDEC_AS_CONTEXT_GET_CLASS (context);
g_assert (klass->mark);
klass->mark (context);
swfdec_as_context_collect (context);
+ context->memory_since_gc = 0;
+}
+
+static gboolean
+swfdec_as_context_needs_gc (SwfdecAsContext *context)
+{
+ return context->memory_since_gc >= context->memory_until_gc;
+}
+
+void
+swfdec_as_context_maybe_gc (SwfdecAsContext *context)
+{
+ g_return_if_fail (SWFDEC_IS_AS_CONTEXT (context));
+ g_return_if_fail (context->frame == NULL);
+
+ if (swfdec_as_conte...
2007 Aug 20
0
15 commits - libswfdec/swfdec_as_context.c libswfdec/swfdec_as_frame.c libswfdec/swfdec_as_frame_internal.h libswfdec/swfdec_as_interpret.c libswfdec/swfdec_as_object.c libswfdec/swfdec_as_object.h libswfdec/swfdec_as_super.c libswfdec/swfdec_as_with.c
...only commented out for tests
oops
diff --git a/libswfdec/swfdec_as_context.c b/libswfdec/swfdec_as_context.c
index 23a9396..4e0958b 100644
--- a/libswfdec/swfdec_as_context.c
+++ b/libswfdec/swfdec_as_context.c
@@ -386,8 +386,7 @@ swfdec_as_context_gc (SwfdecAsContext *c
static gboolean
swfdec_as_context_needs_gc (SwfdecAsContext *context)
{
- return TRUE;
- //return context->memory_since_gc >= context->memory_until_gc;
+ return context->memory_since_gc >= context->memory_until_gc;
}
/**
diff-tree 613f8fad5514520d82419838475d02e3d704e714 (from 414a4fc551748f8e3496758e2c2e9207e5ce87...
2007 Sep 08
0
9 commits - libswfdec/swfdec_as_context.c libswfdec/swfdec_as_internal.h libswfdec/swfdec_as_interpret.c libswfdec/swfdec_movie.c libswfdec/swfdec_player.c libswfdec/swfdec_video_movie_as.c
...as_context_maybe_gc (SwfdecAsContext *context)
{
g_return_if_fail (SWFDEC_IS_AS_CONTEXT (context));
- if (context->state == SWFDEC_AS_CONTEXT_ABORTED)
- return;
+ g_return_if_fail (context->state == SWFDEC_AS_CONTEXT_RUNNING);
g_return_if_fail (context->frame == NULL);
if (swfdec_as_context_needs_gc (context))
diff --git a/libswfdec/swfdec_as_internal.h b/libswfdec/swfdec_as_internal.h
index 819a65d..bc3290a 100644
--- a/libswfdec/swfdec_as_internal.h
+++ b/libswfdec/swfdec_as_internal.h
@@ -44,7 +44,8 @@ void swfdec_as_function_init_context (S
/* swfdec_as_context.c */
void swfdec_as_cont...
2007 Jul 02
0
Branch 'as' - 24 commits - configure.ac doc/Makefile.am doc/swfdec-sections.txt libswfdec/Makefile.am libswfdec/swfdec_amf.c libswfdec/swfdec_as_array.c libswfdec/swfdec_as_context.c libswfdec/swfdec_as_context.h libswfdec/swfdec_as_frame.c
...text);
g_assert (klass->mark);
@@ -383,6 +388,8 @@ void
swfdec_as_context_maybe_gc (SwfdecAsContext *context)
{
g_return_if_fail (SWFDEC_IS_AS_CONTEXT (context));
+ if (context->state == SWFDEC_AS_CONTEXT_ABORTED)
+ return;
g_return_if_fail (context->frame == NULL);
if (swfdec_as_context_needs_gc (context))
@@ -594,6 +601,11 @@ start:
frame = context->frame;
if (frame == context->last_frame)
goto out;
+ if (context->call_depth > 256) {
+ /* we've exceeded our maximum call depth, throw an error and abort */
+ swfdec_as_context_abort (context, "Stack ove...
2007 Aug 20
0
Branch 'vivi' - 60 commits - libswfdec-gtk/swfdec_gtk_loader.c libswfdec/Makefile.am libswfdec/swfdec_as_array.c libswfdec/swfdec_as_context.c libswfdec/swfdec_as_frame.c libswfdec/swfdec_as_frame_internal.h libswfdec/swfdec_as_interpret.c
...only commented out for tests
oops
diff --git a/libswfdec/swfdec_as_context.c b/libswfdec/swfdec_as_context.c
index 23a9396..4e0958b 100644
--- a/libswfdec/swfdec_as_context.c
+++ b/libswfdec/swfdec_as_context.c
@@ -386,8 +386,7 @@ swfdec_as_context_gc (SwfdecAsContext *c
static gboolean
swfdec_as_context_needs_gc (SwfdecAsContext *context)
{
- return TRUE;
- //return context->memory_since_gc >= context->memory_until_gc;
+ return context->memory_since_gc >= context->memory_until_gc;
}
/**
diff-tree 613f8fad5514520d82419838475d02e3d704e714 (from 414a4fc551748f8e3496758e2c2e9207e5ce87...