[Webkit-unassigned] [Bug 49739] WebIDL attributes should be implemented as getters and setters on the prototype object.

bugzilla-daemon at webkit.org bugzilla-daemon at webkit.org
Mon Nov 22 14:22:10 PST 2010


https://bugs.webkit.org/show_bug.cgi?id=49739





--- Comment #5 from Oliver Hunt <oliver at apple.com>  2010-11-22 14:22:09 PST ---
(In reply to comment #4)
> (In reply to comment #3)
> > (In reply to comment #2)
> > > Do we have an idea about how to do this without slowing down DOM property access in the common case?
> > 
> > This is probably better answered by someone who knows JSC better but isn't this just the same as accessing normal JavaScript objects that have getters on their [[Prototype]]?
> > 
> > How do you optimize getters/setters today?
> > 
> > How do you optimize [[Get]] when present on a [[Prototype]]?
> 
> My question is not if/how to optimize getters on a prototype, but rather, if we can make this change without a regression in performance (through some witchcraft).  The answer is probably no.

I'm unsure how much impact this will have on setters, as i'm 90% sure that setters are completely uncached currently.

Getters will be hit by additional branches to validate the proto chain which is unfortunate.

The big change will be the property accessors in the dom will need to do type checks and that's an additional virtual call.  Could be fixed if class info was hung off of structure but then Structure becomes much larger. :-/

Additionally JSC API probably won't be able to do this for custom getters, etc

I believe classes with index property accessors are going to magically become proxies, but i don't believe the semantics for that is sufficiently described yet.

-- 
Configure bugmail: https://bugs.webkit.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug.



More information about the webkit-unassigned mailing list