[Webkit-unassigned] [Bug 20928] Speed up JS property enumeration by caching entire PropertyNameArray
bugzilla-daemon at webkit.org
bugzilla-daemon at webkit.org
Thu Sep 18 23:45:07 PDT 2008
https://bugs.webkit.org/show_bug.cgi?id=20928
darin at apple.com changed:
What |Removed |Added
----------------------------------------------------------------------------
Attachment #23556|review? |review-
Flag| |
------- Comment #2 from darin at apple.com 2008-09-18 23:45 PDT -------
(From update of attachment 23556)
JSPropertyNameIterator::invalidate is so simple now it should probably be
inlined. Maybe also use clear() instead of assigning 0?
+ , m_data(0)
Don't need that for RefPtr.
+inline JSPropertyNameIterator::JSPropertyNameIterator(JSObject* object,
PropertyNameArrayData* propertyNameArrayData)
Should PropertyNameArrayData* should be PassRefPtr, since this takes ownership.
+ void setCachedPrototypeChain(StructureIDChain* cachedPrototypeChain) {
m_cachedPrototypeChain = cachedPrototypeChain; }
+ void setData(PropertyNameArrayData* data) { m_data = data; }
Should be PassRefPtr since these take ownership.
+ if ((*a).get() != (*b).get())
+ return false;
These would read better with -> but can't you just omit the get() altogether?
+ if (!(*a).get())
+ return true;
This would read better with -> but can't you just omit the get() altogether?
+ ASSERT_NOT_REACHED();
+ return false;
This will just create a warning on Windows and make the build fail. Leave it
out.
+ // FIXME: This breaks the optimization for the JSGlobalObject.
I think you should write a clearer comment. Does this really need a FIXME?
I'm going to say review- because of the number of actionable comments.
--
Configure bugmail: https://bugs.webkit.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug, or are watching the assignee.
More information about the webkit-unassigned
mailing list