gnash-commit
[Top][All Lists]
Advanced

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

[Gnash-commit] /srv/bzr/gnash/avm2 r9601: Implement GETSLOT opcode.


From: Tom Stellard
Subject: [Gnash-commit] /srv/bzr/gnash/avm2 r9601: Implement GETSLOT opcode.
Date: Fri, 10 Oct 2008 22:33:23 +0800
User-agent: Bazaar (1.5)

------------------------------------------------------------
revno: 9601
committer: Tom Stellard <address@hidden>
branch nick: gnash_dev
timestamp: Fri 2008-10-10 22:33:23 +0800
message:
  Implement GETSLOT opcode.
modified:
  libcore/vm/Machine.cpp
=== modified file 'libcore/vm/Machine.cpp'
--- a/libcore/vm/Machine.cpp    2008-10-10 07:34:52 +0000
+++ b/libcore/vm/Machine.cpp    2008-10-10 14:33:23 +0000
@@ -1653,11 +1653,15 @@
 ///  slot -- obj.slots[slot_index]
        case SWF::ABC_ACTION_GETSLOT:
        {
+               as_value val;
                boost::uint32_t sindex = mStream->read_V32();
-               if (!sindex)
-                       throw ASException();
-               --sindex;
-               //TODO: mStack.top(0) = mStack.top(0).getSlot(sindex);
+               as_object* object = pop_stack().to_object().get();
+
+               object->get_member_slot(sindex + 1, &val);
+
+               LOG_DEBUG_AVM("object has value %s at real_slot=%u 
abc_slot=%u",val.toDebugString(),sindex + 1, sindex);
+               push_stack(val);
+               
                break;
        }
 /// 0x6D ABC_ACTION_SETSLOT


reply via email to

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