gnash-commit
[Top][All Lists]
Advanced

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

[Gnash-commit] /srv/bzr/gnash/avm2 r9501: Clean up the way functions are


From: Tom Stellard
Subject: [Gnash-commit] /srv/bzr/gnash/avm2 r9501: Clean up the way functions are loaded in AVM2.
Date: Wed, 20 Aug 2008 13:04:09 +0800
User-agent: Bazaar (1.5)

------------------------------------------------------------
revno: 9501
committer: Tom Stellard <address@hidden>
branch nick: gnash_dev
timestamp: Wed 2008-08-20 13:04:09 +0800
message:
  Clean up the way functions are loaded in AVM2.
modified:
  libcore/vm/Machine.cpp
  libcore/vm/Machine.h
=== modified file 'libcore/vm/Machine.cpp'
--- a/libcore/vm/Machine.cpp    2008-08-20 02:35:24 +0000
+++ b/libcore/vm/Machine.cpp    2008-08-20 05:04:09 +0000
@@ -1232,6 +1232,7 @@
 /// Do: Return an undefined object up the callstack.
        case SWF::ABC_ACTION_RETURNVOID:
        {
+               mStream->seekTo(0);
                if(mStateStack.size() == 0){
                        return;
                }
@@ -1402,8 +1403,7 @@
                push_stack(as_value(new_class));
 
                //Call the class's static constructor.
-               saveState();
-               mStream = c->getStaticConstructor()->getBody();
+               load_function(c->getStaticConstructor()->getBody());
 
                print_stack();
 //             ENSURE_OBJECT(mStack.top(0));
@@ -2631,8 +2631,8 @@
 void Machine::executeFunction(CodeStream* stream){
        
        mExitWithReturn = true;
-       saveState();
-       executeCodeblock(stream);
+       load_function(stream);
+       execute();
        mExitWithReturn = false;
 }
 

=== modified file 'libcore/vm/Machine.h'
--- a/libcore/vm/Machine.h      2008-08-19 17:04:30 +0000
+++ b/libcore/vm/Machine.h      2008-08-20 05:04:09 +0000
@@ -344,6 +344,11 @@
                return env;
        }
 
+       void load_function(CodeStream* stream){
+               saveState();
+               mStream = stream;
+       }
+
        void executeCodeblock(CodeStream* stream);
 
        SafeStack<as_value> mStack;


reply via email to

[Prev in Thread] Current Thread [Next in Thread]