gnash-commit
[Top][All Lists]
Advanced

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

[Gnash-commit] /srv/bzr/gnash/avm2 r9490: Clean up IFEQ opcode.


From: Tom Stellard
Subject: [Gnash-commit] /srv/bzr/gnash/avm2 r9490: Clean up IFEQ opcode.
Date: Mon, 18 Aug 2008 01:08:32 +0800
User-agent: Bazaar (1.5)

------------------------------------------------------------
revno: 9490
committer: Tom Stellard <address@hidden>
branch nick: gnash_dev
timestamp: Mon 2008-08-18 01:08:32 +0800
message:
  Clean up IFEQ opcode.
modified:
  libcore/vm/Machine.cpp
=== modified file 'libcore/vm/Machine.cpp'
--- a/libcore/vm/Machine.cpp    2008-08-17 17:02:22 +0000
+++ b/libcore/vm/Machine.cpp    2008-08-17 17:08:32 +0000
@@ -556,10 +556,13 @@
 /// Do: If a == b (weakly), move by jump in stream, as ABC_ACTION_JUMP does.
        case SWF::ABC_ACTION_IFEQ:
        {
-               bool truth;
-               ABSTRACT_EQUALITY(truth, mStack.top(1), mStack.top(0), false);
-               mStack.drop(2);
-               JUMPIF(truth);
+               boost::int32_t bytes = mStream->read_S24();
+               as_value b = pop_stack();
+               as_value a = pop_stack();
+               if(a.equals(b)){
+                       LOG_DEBUG_AVM("Jumping %d bytes.",bytes);
+                       mStream->seekBy(bytes);
+               }
                break;
        }
 /// 0x14 ABC_ACTION_IFNE


reply via email to

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