[Top][All Lists]
[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);
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Gnash-commit] /srv/bzr/gnash/avm2 r9612: Clean up IFTRUE opcode.,
Tom Stellard <=