search for: swfdec_as_frame_new

Displaying 20 results from an estimated 21 matches for "swfdec_as_frame_new".

2007 May 21
0
Branch 'as' - libswfdec/swfdec_as_frame.c libswfdec/swfdec_as_frame.h libswfdec/swfdec_as_function.c libswfdec/swfdec_as_function.h libswfdec/swfdec_as_native_function.c libswfdec/swfdec_as_object.c libswfdec/swfdec_as_script_function.c
...egisters; i++) { swfdec_as_value_mark (&frame->registers[i]); } - /* FIXME: do we want this? */ for (i = 0; i < frame->argc; i++) { swfdec_as_value_mark (&frame->argv[i]); } @@ -102,18 +102,15 @@ swfdec_as_frame_init (SwfdecAsFrame *fra } SwfdecAsFrame * -swfdec_as_frame_new (SwfdecAsObject *thisp, SwfdecScript *script) +swfdec_as_frame_new (SwfdecAsContext *context, SwfdecScript *script) { - SwfdecAsContext *context; SwfdecAsFrame *frame; SwfdecAsStack *stack; gsize size; - g_return_val_if_fail (SWFDEC_IS_AS_OBJECT (thisp), NULL); - g_return_val_if_fail...
2007 Jul 11
0
Branch 'as' - libswfdec/swfdec_as_object.c
...O void swfdec_as_object_run (SwfdecAsObject *object, SwfdecScript *script) { + SwfdecAsContext *context; SwfdecAsFrame *frame; g_return_if_fail (SWFDEC_IS_AS_OBJECT (object)); g_return_if_fail (SWFDEC_AS_OBJECT_HAS_CONTEXT (object)); g_return_if_fail (script != NULL); - frame = swfdec_as_frame_new (object->context, script); + context = object->context; + frame = swfdec_as_frame_new (context, script); if (frame == NULL) return; swfdec_as_frame_set_this (frame, object); swfdec_as_frame_preload (frame); - swfdec_as_context_run (object->context); + swfdec_as_context_ru...
2007 May 22
0
Branch 'as' - 9 commits - libswfdec/swfdec_as_frame.c libswfdec/swfdec_as_function.c libswfdec/swfdec_as_function.h libswfdec/swfdec_as_interpret.c libswfdec/swfdec_as_native_function.c libswfdec/swfdec_as_object.c libswfdec/swfdec_as_script_function.c
...e.org> Date: Tue May 22 12:51:16 2007 +0200 change how frames get created and pushed onto the stack diff --git a/libswfdec/swfdec_as_frame.c b/libswfdec/swfdec_as_frame.c index a00ad65..9f99031 100644 --- a/libswfdec/swfdec_as_frame.c +++ b/libswfdec/swfdec_as_frame.c @@ -119,8 +119,6 @@ swfdec_as_frame_new (SwfdecAsContext *co return NULL; frame = g_object_new (SWFDEC_TYPE_AS_FRAME, NULL); swfdec_as_object_add (SWFDEC_AS_OBJECT (frame), context, size); - frame->next = context->frame; - context->frame = frame; frame->script = swfdec_script_ref (script); frame->functio...
2007 Mar 29
0
Branch 'as' - 9 commits - libswfdec-gtk/swfdec_playback_alsa.c libswfdec/js libswfdec/Makefile.am libswfdec/swfdec_as_context.c libswfdec/swfdec_as_context.h libswfdec/swfdec_as_frame.c libswfdec/swfdec_as_frame.h libswfdec/swfdec_as_function.c
..._ensure_size (stack, 1); + swfdec_as_stack_push (stack, &value); + } else { + stack->cur -= (n_args - 1); + SWFDEC_AS_VALUE_SET_UNDEFINED (swfdec_as_stack_peek (stack, 1)); + } + return; + } + g_assert_not_reached (); + } else { + SwfdecAsFrame *frame; + + frame = swfdec_as_frame_new (thisp, function->script); + /* FIXME: do the preloading here */ + } +} + diff --git a/libswfdec/swfdec_as_function.h b/libswfdec/swfdec_as_function.h new file mode 100644 index 0000000..818d7cb --- /dev/null +++ b/libswfdec/swfdec_as_function.h @@ -0,0 +1,73 @@ +/* SwfdecAs + * Copyright (C...
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
...-git a/libswfdec/swfdec_as_native_function.c b/libswfdec/swfdec_as_native_function.c index 0905178..87f937d 100644 --- a/libswfdec/swfdec_as_native_function.c +++ b/libswfdec/swfdec_as_native_function.c @@ -51,6 +51,8 @@ swfdec_as_native_function_call (SwfdecAs SwfdecAsFrame *frame; frame = swfdec_as_frame_new_native (SWFDEC_AS_OBJECT (function)->context); + if (frame == NULL) + return NULL; g_assert (native->name); frame->function_name = native->name; frame->function = function; diff --git a/libswfdec/swfdec_as_super.c b/libswfdec/swfdec_as_super.c index 72dc8d2..730748c 1006...
2007 Sep 13
0
5 commits - libswfdec/Makefile.am libswfdec/swfdec_as_context.c libswfdec/swfdec_as_frame.c libswfdec/swfdec_as_frame_internal.h libswfdec/swfdec_as_interpret.c libswfdec/swfdec_as_scope.c libswfdec/swfdec_as_scope.h libswfdec/swfdec_as_script_function.c
...e->super) @@ -297,6 +362,8 @@ static void swfdec_as_frame_init (SwfdecAsFrame *frame) { frame->function_name = "unnamed"; + frame->blocks = g_array_new (FALSE, FALSE, sizeof (SwfdecAsFrameBlock)); + frame->block_end = (gpointer) -1; } static void @@ -329,7 +396,7 @@ swfdec_as_frame_new (SwfdecAsContext *co frame->function_name = script->name; SWFDEC_DEBUG ("new frame for function %s", frame->function_name); frame->pc = script->buffer->data; - frame->scope = SWFDEC_AS_SCOPE (frame); + frame->scope_chain = g_slist_prepend (frame->scop...
2007 Jul 13
0
3 commits - doc/Makefile.am doc/swfdec-docs.sgml doc/swfdec-sections.txt libswfdec/Makefile.am libswfdec/swfdec_as_array.c libswfdec/swfdec_as_boolean.c libswfdec/swfdec_as_context.c libswfdec/swfdec_as_context.h libswfdec/swfdec_as_frame.c
...e raw data for constant_pool */ - SwfdecAsValue * stack_begin; /* beginning of stack */ - guint8 * pc; /* program counter on stack */ - /* native function */ -}; - -struct _SwfdecAsFrameClass { - SwfdecAsScopeClass scope_class; -}; - GType swfdec_as_frame_get_type (void); -SwfdecAsFrame * swfdec_as_frame_new (SwfdecAsContext * context, - SwfdecScript * script); -SwfdecAsFrame * swfdec_as_frame_new_native (SwfdecAsContext * context); -void swfdec_as_frame_return (SwfdecAsFrame * frame, - SwfdecAsValue * return_value); - -void swfdec_as_frame_set_this (SwfdecAsFrame * frame, - Swfd...
2007 Mar 28
0
Branch 'as' - 3 commits - libswfdec/Makefile.am libswfdec/swfdec_as_context.c libswfdec/swfdec_as_context.h libswfdec/swfdec_as_frame.c libswfdec/swfdec_as_frame.h libswfdec/swfdec_as_object.c libswfdec/swfdec_as_object.h libswfdec/swfdec_as_types.c
...s = G_OBJECT_CLASS (klass); + SwfdecAsObjectClass *asobject_class = SWFDEC_AS_OBJECT_CLASS (klass); + + object_class->dispose = swfdec_as_frame_dispose; + + asobject_class->mark = swfdec_as_frame_mark; +} + +static void +swfdec_as_frame_init (SwfdecAsFrame *frame) +{ +} + +SwfdecAsFrame * +swfdec_as_frame_new (SwfdecAsContext *context, SwfdecAsObject *thisp, SwfdecScript *script) +{ + SwfdecAsValue val; + SwfdecAsFrame *frame; + gsize size; + + g_return_val_if_fail (SWFDEC_IS_AS_CONTEXT (context), NULL); + g_return_val_if_fail (SWFDEC_IS_AS_OBJECT (thisp), NULL); + g_return_val_if_fail (script !=...
2007 May 18
0
Branch 'as' - libswfdec/Makefile.am libswfdec/swfdec_as_context.c libswfdec/swfdec_as_function.c libswfdec/swfdec_as_function.h libswfdec/swfdec_as_interpret.c libswfdec/swfdec_as_native_function.c libswfdec/swfdec_as_native_function.h
..._if_fail (SWFDEC_IS_AS_OBJECT (thisp)); @@ -153,16 +79,12 @@ swfdec_as_function_call (SwfdecAsFunctio g_return_if_fail (return_value != NULL); context = thisp->context; + /* just to be sure... */ SWFDEC_AS_VALUE_SET_UNDEFINED (return_value); - if (function->native) { - frame = swfdec_as_frame_new_native (thisp); - g_assert (function->name); - frame->function_name = function->name; - } else { - frame = swfdec_as_frame_new (thisp, function->script); - SWFDEC_AS_SCOPE (frame)->next = function->scope; - frame->scope = SWFDEC_AS_SCOPE (frame); - } + klass =...
2007 Apr 05
0
Branch 'as' - 9 commits - configure.ac libswfdec/swfdec_as_context.c libswfdec/swfdec_as_frame.c libswfdec/swfdec_as_frame.h libswfdec/swfdec_as_function.h libswfdec/swfdec_as_interpret.c libswfdec/swfdec_as_object.c libswfdec/swfdec_as_object.h
...+0200 Add swfdec_as_frame_find_variable Finds the variable in the current scope chain or NULL diff --git a/libswfdec/swfdec_as_frame.c b/libswfdec/swfdec_as_frame.c index 4614f7c..d2f3256 100644 --- a/libswfdec/swfdec_as_frame.c +++ b/libswfdec/swfdec_as_frame.c @@ -117,3 +117,27 @@ swfdec_as_frame_new (SwfdecAsObject *thi return frame; } +SwfdecAsObject * +swfdec_as_frame_find_variable (SwfdecAsFrame *frame, const SwfdecAsValue *variable) +{ + SwfdecAsObject *ret = NULL; + guint i; + + g_return_val_if_fail (SWFDEC_IS_AS_FRAME (frame), NULL); + g_return_val_if_fail (SWFDEC_IS_AS_VALUE (...
2007 Mar 29
0
Branch 'as' - 9 commits - configure.ac doc/swfdec-sections.txt libswfdec/Makefile.am libswfdec/swfdec_as_context.c libswfdec/swfdec_as_context.h libswfdec/swfdec_as_frame.c libswfdec/swfdec_as_frame.h libswfdec/swfdec_as_stack.c
...swfdec_as_frame_mark (SwfdecAsObject *ob for (i = 0; i < frame->n_registers; i++) { swfdec_as_value_mark (&frame->registers[i]); } + swfdec_as_stack_mark (frame->stack); SWFDEC_AS_OBJECT_CLASS (swfdec_as_frame_parent_class)->mark (object); } @@ -74,12 +77,16 @@ swfdec_as_frame_new (SwfdecAsContext *co { SwfdecAsValue val; SwfdecAsFrame *frame; + SwfdecAsStack *stack; gsize size; g_return_val_if_fail (SWFDEC_IS_AS_CONTEXT (context), NULL); g_return_val_if_fail (SWFDEC_IS_AS_OBJECT (thisp), NULL); g_return_val_if_fail (script != NULL, NULL); + stack...
2007 Apr 12
0
Branch 'as' - 15 commits - libswfdec/swfdec_as_context.c libswfdec/swfdec_as_context.h libswfdec/swfdec_as_frame.c libswfdec/swfdec_as_frame.h libswfdec/swfdec_as_function.c libswfdec/swfdec_as_function.h libswfdec/swfdec_as_interpret.c
...Otte <otte@gnome.org> Date: Thu Apr 12 13:38:28 2007 +0200 copy the name of the calling script diff --git a/libswfdec/swfdec_as_frame.c b/libswfdec/swfdec_as_frame.c index 36db616..ee6c8ca 100644 --- a/libswfdec/swfdec_as_frame.c +++ b/libswfdec/swfdec_as_frame.c @@ -104,11 +104,12 @@ swfdec_as_frame_new (SwfdecAsObject *thi if (!swfdec_as_context_use_mem (context, size)) return NULL; frame = g_object_new (SWFDEC_TYPE_AS_FRAME, NULL); - SWFDEC_DEBUG ("new frame"); swfdec_as_object_add (SWFDEC_AS_OBJECT (frame), context, size); frame->next = context->frame; conte...
2007 Jun 05
0
Branch 'as' - 8 commits - libswfdec/Makefile.am libswfdec/swfdec_as_context.c libswfdec/swfdec_as_frame.c libswfdec/swfdec_as_frame.h libswfdec/swfdec_as_interpret.c libswfdec/swfdec_as_number.c libswfdec/swfdec_as_scope.h
...me->pc; + check_scope = FALSE; } if (frame == context->frame) { #ifndef G_DISABLE_ASSERT diff --git a/libswfdec/swfdec_as_frame.c b/libswfdec/swfdec_as_frame.c index b36e1e4..de18973 100644 --- a/libswfdec/swfdec_as_frame.c +++ b/libswfdec/swfdec_as_frame.c @@ -122,7 +122,7 @@ swfdec_as_frame_new (SwfdecAsContext *co SWFDEC_DEBUG ("new frame for function %s", frame->function_name); frame->pc = script->buffer->data; frame->stack = stack; - frame->scope = NULL; + frame->scope = SWFDEC_AS_SCOPE (frame); if (frame->next) frame->var_object...
2007 Apr 12
0
Branch 'as' - 14 commits - libswfdec-gtk/swfdec_playback_alsa.c libswfdec/swfdec_as_context.c libswfdec/swfdec_as_context.h libswfdec/swfdec_as_frame.c libswfdec/swfdec_as_frame.h libswfdec/swfdec_as_function.c libswfdec/swfdec_as_function.h
...fdec/swfdec_as_function.c b/libswfdec/swfdec_as_function.c index 643fed5..8f404b7 100644 --- a/libswfdec/swfdec_as_function.c +++ b/libswfdec/swfdec_as_function.c @@ -139,7 +139,38 @@ swfdec_as_function_call (SwfdecAsFunctio frame->function_name = function->name; } else { frame = swfdec_as_frame_new (thisp, function->script); - /* FIXME: do the preloading here */ + SWFDEC_ERROR ("do the preloading here"); } } +/*** AS CODE ***/ + +static void +swfdec_as_function_construct (SwfdecAsObject *object, guint argc, SwfdecAsValue *argv, SwfdecAsValue *ret) +{ + +} + +void +swf...
2007 May 24
0
Branch 'as' - 11 commits - libswfdec/swfdec_as_array.c libswfdec/swfdec_as_context.c libswfdec/swfdec_as_function.c libswfdec/swfdec_as_interpret.c libswfdec/swfdec_as_native_function.c libswfdec/swfdec_as_number.c libswfdec/swfdec_as_object.c
...= context->frame; diff --git a/libswfdec/swfdec_as_native_function.c b/libswfdec/swfdec_as_native_function.c index 626a380..4b8d40e 100644 --- a/libswfdec/swfdec_as_native_function.c +++ b/libswfdec/swfdec_as_native_function.c @@ -38,6 +38,7 @@ swfdec_as_native_function_call (SwfdecAs frame = swfdec_as_frame_new_native (SWFDEC_AS_OBJECT (function)->context); g_assert (native->name); frame->function_name = native->name; + frame->function = function; return frame; } diff --git a/libswfdec/swfdec_as_script_function.c b/libswfdec/swfdec_as_script_function.c index 9278ffe..14873d1 10...
2007 Jun 27
0
Branch 'as' - 16 commits - configure.ac libswfdec/Makefile.am libswfdec/swfdec_as_context.c libswfdec/swfdec_as_frame.c libswfdec/swfdec_as_frame.h libswfdec/swfdec_as_function.c libswfdec/swfdec_as_interpret.c libswfdec/swfdec_as_script_function.c
...s_object_mark (frame->target); + swfdec_as_object_mark (frame->target); + swfdec_as_object_mark (frame->original_target); if (frame->function) swfdec_as_object_mark (SWFDEC_AS_OBJECT (frame->function)); for (i = 0; i < frame->n_registers; i++) { @@ -124,8 +121,6 @@ swfdec_as_frame_new (SwfdecAsContext *co frame->pc = script->buffer->data; frame->stack = stack; frame->scope = SWFDEC_AS_SCOPE (frame); - if (frame->next) - frame->var_object = frame->next->var_object; frame->n_registers = script->n_registers; frame->registers =...
2007 Apr 04
0
Branch 'as' - 4 commits - libswfdec/Makefile.am libswfdec/swfdec_as_context.c libswfdec/swfdec_as_frame.c libswfdec/swfdec_as_interpret.c libswfdec/swfdec_as_interpret.h libswfdec/swfdec_as_object.c libswfdec/swfdec_as_types.c libswfdec/swfdec_as_types.h
...function.h" #include "swfdec_debug.h" @@ -263,8 +264,8 @@ swfdec_as_object_run (SwfdecAsObject *ob g_return_if_fail (SWFDEC_AS_OBJECT_HAS_CONTEXT (object)); g_return_if_fail (script != NULL); - g_assert_not_reached (); - swfdec_as_context_run (object->context); + if (swfdec_as_frame_new (object, script)) + swfdec_as_context_run (object->context); } void diff-tree 4acdbf33dfad211c233f81a51f70d25e42676fc0 (from df9459902a3d4cc821233ce7a973c1284cb4ffcf) Author: Benjamin Otte <otte@gnome.org> Date: Wed Apr 4 14:46:21 2007 +0200 remember the number of registers...
2007 Jul 18
0
12 commits - configure.ac doc/swfdec-sections.txt libswfdec-gtk/swfdec_playback_alsa.c libswfdec/jpeg libswfdec/Makefile.am libswfdec/swfdec_amf.c libswfdec/swfdec_as_array.c libswfdec/swfdec_as_boolean.h libswfdec/swfdec_as_context.c
...SwfdecScript * script; /* script being executed */ SwfdecAsScope * scope; /* first object in scope chain (either this frame or a with object) */ @@ -65,8 +58,6 @@ struct _SwfdecAsFrameClass { SwfdecAsScopeClass scope_class; }; -GType swfdec_as_frame_get_type (void); - SwfdecAsFrame * swfdec_as_frame_new (SwfdecAsContext * context, SwfdecScript * script); SwfdecAsFrame * swfdec_as_frame_new_native (SwfdecAsContext * context); diff --git a/libswfdec/swfdec_as_function.c b/libswfdec/swfdec_as_function.c index 66fcb00..3e9b6dd 100644 --- a/libswfdec/swfdec_as_function.c +++ b/libswfdec/swfd...
2007 Jun 06
0
Branch 'as' - 13 commits - libswfdec/swfdec_as_context.c libswfdec/swfdec_as_context.h libswfdec/swfdec_as_frame.c libswfdec/swfdec_as_frame.h libswfdec/swfdec_as_interpret.c libswfdec/swfdec_as_object.c libswfdec/swfdec_as_object.h
...ne should add some tests to ensure all strings behave like this and switch the rest of the functions. diff --git a/libswfdec/swfdec_as_frame.c b/libswfdec/swfdec_as_frame.c index e0f6fe2..0c312bf 100644 --- a/libswfdec/swfdec_as_frame.c +++ b/libswfdec/swfdec_as_frame.c @@ -130,7 +130,7 @@ swfdec_as_frame_new (SwfdecAsContext *co if (script->constant_pool) { frame->constant_pool_buffer = swfdec_buffer_ref (script->constant_pool); frame->constant_pool = swfdec_constant_pool_new_from_action ( - script->constant_pool->data, script->constant_pool->length); + script->c...
2007 Oct 17
0
28 commits - configure.ac debian/changelog debian/control debian/copyright debian/.gitignore debian/libswfdec0.dirs debian/libswfdec0.files debian/libswfdec0.shlibs debian/libswfdec-dev.dirs debian/libswfdec-dev.files debian/rules debian/swf-player.dirs
...*object, SwfdecScript *script, + SwfdecSecurity *sec) { SwfdecAsContext *context; SwfdecAsFrame *frame; g_return_if_fail (SWFDEC_IS_AS_OBJECT (object)); g_return_if_fail (script != NULL); + g_return_if_fail (SWFDEC_IS_SECURITY (sec)); context = object->context; frame = swfdec_as_frame_new (context, script); if (frame == NULL) return; + swfdec_as_frame_set_security (frame, sec); swfdec_as_frame_set_this (frame, object); swfdec_as_frame_preload (frame); swfdec_as_context_run (context); @@ -1040,6 +1037,26 @@ swfdec_as_object_run (SwfdecAsObject *object, SwfdecScript...