[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Gnash-commit] /srv/bzr/gnash/avm2 r9613: Clean up IFLT opcode.
From: |
Tom Stellard |
Subject: |
[Gnash-commit] /srv/bzr/gnash/avm2 r9613: Clean up IFLT opcode. |
Date: |
Sun, 12 Oct 2008 02:51:31 +0800 |
User-agent: |
Bazaar (1.5) |
------------------------------------------------------------
revno: 9613
committer: Tom Stellard <address@hidden>
branch nick: gnash_dev
timestamp: Sun 2008-10-12 02:51:31 +0800
message:
Clean up IFLT opcode.
modified:
libcore/vm/Machine.cpp
=== modified file 'libcore/vm/Machine.cpp'
--- a/libcore/vm/Machine.cpp 2008-10-11 18:12:19 +0000
+++ b/libcore/vm/Machine.cpp 2008-10-11 18:51:31 +0000
@@ -580,10 +580,18 @@
/// Do: If a < b move by jump in stream, as ABC_ACTION_JUMP does.
case SWF::ABC_ACTION_IFLT:
{
+ as_value b = pop_stack();
+ as_value a = pop_stack();
+ boost::int32_t bytes = mStream->read_S24();
bool truth;
- ABSTRACT_COMPARE(truth, mStack.top(1), mStack.top(0), false);
- mStack.drop(2);
- JUMPIF(truth); // truth is: a < b
+ ABSTRACT_COMPARE(truth, a, b, false);
+ if(truth){
+ LOG_DEBUG_AVM("Jumping... %d bytes.",bytes);
+ mStream->seekBy(bytes);
+ }
+ else{
+ LOG_DEBUG_AVM("Would have jumped %d bytes",bytes);
+ }
break;
}
/// 0x16 ABC_ACTION_IFLE
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Gnash-commit] /srv/bzr/gnash/avm2 r9613: Clean up IFLT opcode.,
Tom Stellard <=