search for: swfdec_as_context_needs_gc

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...