[Top][All Lists]
[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
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Gnash-commit] /srv/bzr/gnash/avm2 r9601: Implement GETSLOT opcode.,
Tom Stellard <=