gnash-commit
[Top][All Lists]
Advanced

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

[Gnash-commit] /srv/bzr/gnash/avm2 r9612: Clean up IFTRUE opcode.


From: Tom Stellard
Subject: [Gnash-commit] /srv/bzr/gnash/avm2 r9612: Clean up IFTRUE opcode.
Date: Sun, 12 Oct 2008 02:12:19 +0800
User-agent: Bazaar (1.5)

------------------------------------------------------------
revno: 9612
committer: Tom Stellard <address@hidden>
branch nick: gnash_dev
timestamp: Sun 2008-10-12 02:12:19 +0800
message:
  Clean up IFTRUE opcode.
modified:
  libcore/vm/Machine.cpp
  testsuite/actionscript.all/String.as
=== modified file 'libcore/vm/Machine.cpp'
--- a/libcore/vm/Machine.cpp    2008-10-11 18:03:06 +0000
+++ b/libcore/vm/Machine.cpp    2008-10-11 18:12:19 +0000
@@ -498,9 +498,14 @@
 /// Equivalent: ACTION_BRANCHIFTRUE
        case SWF::ABC_ACTION_IFTRUE:
        {
-               bool truth = mStack.top(0).to_bool();
-               mStack.drop(1);
-               JUMPIF(truth);
+               boost::int32_t bytes = mStream->read_S24();
+               if(pop_stack().to_bool()){
+                       LOG_DEBUG_AVM("Jumping %d bytes.",bytes);
+                       mStream->seekBy(bytes);
+               }
+               else{
+                       LOG_DEBUG_AVM("Would have jumpied %d bytes.", bytes);
+               }
                break;
        }
 /// 0x12 ABC_ACTION_IFFALSE

=== modified file 'testsuite/actionscript.all/String.as'
--- a/testsuite/actionscript.all/String.as      2008-10-09 02:39:45 +0000
+++ b/testsuite/actionscript.all/String.as      2008-10-11 18:12:19 +0000
@@ -1273,8 +1273,19 @@
 
 #endif
 
+var mingTests = 23;
+var lt6Tests = 301;
+var ge6Tests = 317;
+var totalTests = 0;
+
+#ifdef MING_SUPPORTS_ASM
+totalTests += mingTests;
+#endif
+
 #if OUTPUT_VERSION < 6
- check_totals(324);
+totalTests += lt6Tests;
 #else
- check_totals(340);
+totalTests += ge6Tests;
 #endif
+
+check_totals(totalTests);


reply via email to

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