[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Gnash-commit] gnash ChangeLog server/PropertyList.cpp
From: |
Sandro Santilli |
Subject: |
[Gnash-commit] gnash ChangeLog server/PropertyList.cpp |
Date: |
Tue, 06 May 2008 09:54:29 +0000 |
CVSROOT: /sources/gnash
Module name: gnash
Changes by: Sandro Santilli <strk> 08/05/06 09:54:29
Modified files:
. : ChangeLog
server : PropertyList.cpp
Log message:
add compile-time macro to enable debugging of properties insertions and
flags setting.
CVSWeb URLs:
http://cvs.savannah.gnu.org/viewcvs/gnash/ChangeLog?cvsroot=gnash&r1=1.6520&r2=1.6521
http://cvs.savannah.gnu.org/viewcvs/gnash/server/PropertyList.cpp?cvsroot=gnash&r1=1.35&r2=1.36
Patches:
Index: ChangeLog
===================================================================
RCS file: /sources/gnash/gnash/ChangeLog,v
retrieving revision 1.6520
retrieving revision 1.6521
diff -u -b -r1.6520 -r1.6521
--- ChangeLog 6 May 2008 09:33:19 -0000 1.6520
+++ ChangeLog 6 May 2008 09:54:27 -0000 1.6521
@@ -1,3 +1,8 @@
+2008-05-06 Sandro Santilli <address@hidden>
+
+ * server/PropertyList.cpp: add compile-time macro to enable
+ debugging of properties insertions and flags setting.
+
2008-05-06 Udo Giacomozzi <address@hidden>
* backend/render_handler_agg.cpp: fix doPixelHinting handling
Index: server/PropertyList.cpp
===================================================================
RCS file: /sources/gnash/gnash/server/PropertyList.cpp,v
retrieving revision 1.35
retrieving revision 1.36
diff -u -b -r1.35 -r1.36
--- server/PropertyList.cpp 5 May 2008 14:39:05 -0000 1.35
+++ server/PropertyList.cpp 6 May 2008 09:54:28 -0000 1.36
@@ -29,12 +29,16 @@
#include "as_function.h"
#include "as_value.h" // for enumerateValues
#include "VM.h" // For string_table
+#include "string_table.h"
#include <utility> // for std::make_pair
// Define the following to enable printing address of each property added
//#define DEBUG_PROPERTY_ALLOC
+// Define this to get verbosity of properties insertion and flags setting
+//#define GNASH_DEBUG_PROPERTY 1
+
namespace gnash {
PropertyList::PropertyList(const PropertyList& pl)
@@ -136,6 +140,11 @@
Property a(name, nsId, as_value());
a.setOrder(slotId + 1);
_props.insert(a);
+#ifdef GNASH_DEBUG_PROPERTY
+ string_table& st = VM::get().getStringTable();
+ log_debug("Slot for AS property %s in namespace %s inserted with flags
%s",
+ st.value(name), st.value(nsId), a.getFlags());
+#endif
return true;
}
@@ -165,12 +174,18 @@
// Non slot properties are negative ordering in insertion order
a.setOrder(- ++mDefaultOrder - 1);
_props.insert(a);
+#ifdef GNASH_DEBUG_PROPERTY
+ string_table& st = VM::get().getStringTable();
+ log_debug("Simple AS property %s in namespace %s inserted with
flags %s",
+ st.value(key), st.value(nsId), a.getFlags());
+#endif
return true;
}
if (found->isReadOnly())
{
- log_error(_("Property %s is read-only, not setting it to %s"),
- VM::get().getStringTable().value(key).c_str(),
val.to_string().c_str());
+ string_table& st = VM::get().getStringTable();
+ log_error(_("Property %s (key %d) in namespace %s (key %d) is
read-only %s, not setting it to %s"),
+ st.value(key), key, st.value(nsId), nsId,
found->getFlags(), val);
return false;
}
@@ -185,8 +200,16 @@
container::iterator found = iterator_find(_props, key, nsId);
if ( found == _props.end() ) return false;
+ as_prop_flags oldFlags = found->getFlags();
+
as_prop_flags& f = const_cast<as_prop_flags&>(found->getFlags());
return f.set_flags(setFlags, clearFlags);
+
+#ifdef GNASH_DEBUG_PROPERTY
+ string_table& st = VM::get().getStringTable();
+ log_debug("Flags of property %s in namespace %s changed from %s to %s",
+ st.value(key), st.value(nsId), oldFlags, found->getFlags());
+#endif
}
std::pair<size_t,size_t>
@@ -195,13 +218,26 @@
size_t success=0;
size_t failure=0;
+#ifdef GNASH_DEBUG_PROPERTY
+ string_table& st = VM::get().getStringTable();
+#endif
+
for (container::iterator it=_props.begin(), far=_props.end(); it !=
far; ++it)
{
+#ifdef GNASH_DEBUG_PROPERTY
+ as_prop_flags oldFlags = it->getFlags();
+#endif
+
as_prop_flags& f = const_cast<as_prop_flags&>(it->getFlags());
if (f.set_flags(setFlags, clearFlags))
++success;
else
++failure;
+
+#ifdef GNASH_DEBUG_PROPERTY
+ log_debug("Flags of property %s in namespace %s changed from %s
to %s",
+ st.value(it->getName()), st.value(it->getNamespace()),
oldFlags, it->getFlags());
+#endif
}
return std::make_pair(success,failure);
@@ -326,12 +362,22 @@
Property a = *it;
a.setOrder(found->getOrder());
_props.replace(found, a);
+#ifdef GNASH_DEBUG_PROPERTY
+ string_table& st = VM::get().getStringTable();
+ log_debug("Property %s in namespace %s replaced on
import: new flags %s",
+ st.value(a.getName()),
st.value(a.getNamespace()), a.getFlags());
+#endif
}
else
{
Property a = *it;
a.setOrder(- ++mDefaultOrder - 1);
_props.insert(a);
+#ifdef GNASH_DEBUG_PROPERTY
+ string_table& st = VM::get().getStringTable();
+ log_debug("Property %s in namespace %s imported with
flags %s",
+ st.value(a.getName()),
st.value(a.getNamespace()), a.getFlags());
+#endif
}
}
}
@@ -353,14 +399,24 @@
a.setCache(found->getCache());
_props.replace(found, a);
- assert ( iterator_find(_props, key, nsId) != _props.end() );
+ //assert ( iterator_find(_props, key, nsId) != _props.end() );
+#ifdef GNASH_DEBUG_PROPERTY
+ string_table& st = VM::get().getStringTable();
+ log_debug("AS GetterSetter %s in namespace %s replaced copying
flags %s",
+ st.value(key), st.value(nsId), a.getFlags());
+#endif
}
else
{
a.setCache(cacheVal);
_props.insert(a);
- assert ( iterator_find(_props, key, nsId) != _props.end() );
+ //assert ( iterator_find(_props, key, nsId) != _props.end() );
+#ifdef GNASH_DEBUG_PROPERTY
+ string_table& st = VM::get().getStringTable();
+ log_debug("AS GetterSetter %s in namespace %s inserted with
flags %s",
+ st.value(key), st.value(nsId), a.getFlags());
+#endif
}
@@ -383,13 +439,23 @@
f = found->getFlags();
_props.replace(found, a);
- assert ( iterator_find(_props, key, nsId) != _props.end() );
+ //assert ( iterator_find(_props, key, nsId) != _props.end() );
+#ifdef GNASH_DEBUG_PROPERTY
+ string_table& st = VM::get().getStringTable();
+ log_debug("Native GetterSetter %s in namespace %s replaced
copying flags %s",
+ st.value(key), st.value(nsId), a.getFlags());
+#endif
}
else
{
_props.insert(a);
- assert ( iterator_find(_props, key, nsId) != _props.end() );
+ //assert ( iterator_find(_props, key, nsId) != _props.end() );
+#ifdef GNASH_DEBUG_PROPERTY
+ string_table& st = VM::get().getStringTable();
+ log_debug("Native GetterSetter %s in namespace %s inserted with
flags %s",
+ st.value(key), st.value(nsId), a.getFlags());
+#endif
}
@@ -403,12 +469,24 @@
{
container::iterator found = iterator_find(_props, key, nsId);
if (found != _props.end())
+ {
+ string_table& st = VM::get().getStringTable();
+ log_error("Property %s in namespace %s already exists, can't
addDestructiveGetter",
+ st.value(key), st.value(nsId));
return false; // Already exists.
+ }
// destructive getter don't need a setter
Property a(key, nsId, &getter, (as_function*)0, flagsIfMissing, true);
a.setOrder(- ++mDefaultOrder - 1);
_props.insert(a);
+
+#ifdef GNASH_DEBUG_PROPERTY
+ string_table& st = VM::get().getStringTable();
+ log_debug("Destructive AS property %s (key %d) in namespace %s (key %d)
inserted with flags %s",
+ st.value(key), key, st.value(nsId), nsId, a.getFlags());
+#endif
+
return true;
}
@@ -425,6 +503,11 @@
Property a(key, nsId, getter, (as_c_function_ptr)0, flagsIfMissing,
true);
a.setOrder(- ++mDefaultOrder - 1);
_props.insert(a);
+#ifdef GNASH_DEBUG_PROPERTY
+ string_table& st = VM::get().getStringTable();
+ log_debug("Destructive native property %s in namespace %s inserted with
flags %s",
+ st.value(key), st.value(nsId), a.getFlags());
+#endif
return true;
}
- [Gnash-commit] gnash ChangeLog server/PropertyList.cpp,
Sandro Santilli <=