[Webkit-unassigned] [Bug 14868] Import variable lookup optimizations from KJS

bugzilla-daemon at webkit.org bugzilla-daemon at webkit.org
Tue Sep 4 11:42:24 PDT 2007


------- Comment #8 from mjs at apple.com  2007-09-04 11:42 PDT -------
I figured out exactly what the problem is. The sequence of steps in an
assignment under the patch is:

- Left side is evaluated to a reference, this involves getting a writeable
PropertySlot pointing into the global object's PropertyMap hashtable
- Right side is evaluated, adding new properties to the global object and
causing a rehash of the global PropertyMap
- As a result, the PropertySlot points to the right place

This can be fixed by not using writeable PropertySlots for HashMap properties,
it might be too hard to be worth the effort to make it actually work right (you
would need a way to detect if it has been invalidated before writing). I fixed
these places and verified that you still get an 18% improvement on JS iBench.
There may be other trouble spots too though. I didn't think through whether
giving direct access to an Array's storage is ok, for instance.

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