[Webkit-unassigned] [Bug 6083] REGRESSION: 5-10% performance regression on JS iBench from getter/setter change

bugzilla-daemon at opendarwin.org bugzilla-daemon at opendarwin.org
Fri Dec 16 10:32:32 PST 2005


------- Additional Comments From andersca at mac.com  2005-12-16 10:32 -------
Created an attachment (id=5117)
 --> (http://bugzilla.opendarwin.org/attachment.cgi?id=5117&action=view)
Speed patch

For the record, here's a patch that me and Maciej have been working on. It adds
a GetterSetter attribute which getOwnPropertySlot can examine to see if the
slot needs to be a getter slot.

It also adds a hasSetter flag to the property map of each object, which should
speed up ::put a bit since you only need to check the flag and not do a hash
table lookup for each call to ::put.

Another thing I've been considering is to remove the originalObject argument to
PropertySlot::GetValueFunc; it's only used in one function,
PropertySlot::functionGetter. Since functionGetter consists of just invokeing
the call function, I think we could simply just fold that into
PropertySlot::getValue and set getValue to a special value, like setValueSlot
does. That would save us an extra argument to all calls to all getter
functions. (Not sure whether this would help performance, but it sure feels
like it)

Configure bugmail: http://bugzilla.opendarwin.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