[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Gnash-commit] /srv/bzr/gnash/avm2 r9476: Implement GETPROPERTY opcode.
From: |
Tom Stellard |
Subject: |
[Gnash-commit] /srv/bzr/gnash/avm2 r9476: Implement GETPROPERTY opcode. |
Date: |
Sun, 17 Aug 2008 19:40:57 +0800 |
User-agent: |
Bazaar (1.5) |
------------------------------------------------------------
revno: 9476
committer: Tom Stellard <address@hidden>
branch nick: gnash_dev
timestamp: Sun 2008-08-17 19:40:57 +0800
message:
Implement GETPROPERTY opcode.
modified:
libcore/vm/Machine.cpp
libcore/vm/Machine.h
=== modified file 'libcore/vm/Machine.cpp'
--- a/libcore/vm/Machine.cpp 2008-08-17 11:09:36 +0000
+++ b/libcore/vm/Machine.cpp 2008-08-17 11:40:57 +0000
@@ -1576,24 +1576,8 @@
case SWF::ABC_ACTION_GETPROPERTY:
{
asName a = pool_name(mStream->read_V32(), mPoolObject);
- if (!a.isRuntime())
- {
- //TODO: mStack.top(0) = mStack.top(0).getProperty(a, v);
- }
- else
- {
- if (a.isRtns() || !(mStack.top(0).is_object()
- && mStack.top(1).to_object()->isDictionary()))
- {
- mStack.drop(completeName(a));
- //TODO: mStack.top(0) =
mStack.top(0).getProperty(a);
- }
- else
- {
- //TODO: mStack.top(1) =
mStack.top(1).getDictProperty(mStack.top(0));
- mStack.drop(1);
- }
- }
+ //TODO: If multiname is runtime we need to also pop namespace
and name values of the stack.
+ get_property(a.getGlobalName(),0);
break;
}
/// 0x68 ABC_ACTION_INITPROPERTY
=== modified file 'libcore/vm/Machine.h'
--- a/libcore/vm/Machine.h 2008-08-17 09:40:06 +0000
+++ b/libcore/vm/Machine.h 2008-08-17 11:40:57 +0000
@@ -297,8 +297,8 @@
}
void get_property(string_table::key name,string_table::key ns){
- boost::intrusive_ptr<gnash::as_object> object =
mStack.pop().to_object();
- mStack.push(object->getMember(name,ns));
+ as_object* object = mStack.pop().to_object().get();
+ push_stack(object->getMember(name,ns));
}
void get_property(Property* p){
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Gnash-commit] /srv/bzr/gnash/avm2 r9476: Implement GETPROPERTY opcode.,
Tom Stellard <=