I'm curious about a term I heard awhile back while digging through the v8 docs, "hidden classes." The gist was that the VM would effectively implement an (anonymous, it seems) class to shorten method lookup. I have trouble visualizing how that actually helps, and it's been bugging me.
I may have completely misunderstood, though. I don't have a whole lot of real experience with prototypes.
Sorry about all the exposition. Here's my actual query: is this an idea that came from the Self VM, and if so, what papers/code should I read to grok it?
Am 2012-04-04 um 21:03 schrieb Casey Ransberger:
I'm curious about a term I heard awhile back while digging through the v8 docs, "hidden classes." The gist was that the VM would effectively implement an (anonymous, it seems) class to shorten method lookup. I have trouble visualizing how that actually helps, and it's been bugging me.
I may have completely misunderstood, though. I don't have a whole lot of real experience with prototypes.
Sorry about all the exposition. Here's my actual query: is this an idea that came from the Self VM, and if so, what papers/code should I read to grok it?
“An Efficient Implementation of SELF, a Dynamically-Typed Object-Oriented Language Based on Prototypes” The term you are looking for there is “maps”
Best -Tobias
I believe the gist of it is that the VM detects when a group of objects have the same set of implementations for selectors through cloning and change detection. Then the persistent in-line-cache can use this knowledge to dispatch to the proper method and avoid searching the prototype chain for the method definition.
Michael
On Apr 4, 2012, at 1:06 PM, Tobias Pape wrote:
Am 2012-04-04 um 21:03 schrieb Casey Ransberger:
I'm curious about a term I heard awhile back while digging through the v8 docs, "hidden classes." The gist was that the VM would effectively implement an (anonymous, it seems) class to shorten method lookup. I have trouble visualizing how that actually helps, and it's been bugging me.
I may have completely misunderstood, though. I don't have a whole lot of real experience with prototypes.
Sorry about all the exposition. Here's my actual query: is this an idea that came from the Self VM, and if so, what papers/code should I read to grok it?
“An Efficient Implementation of SELF, a Dynamically-Typed Object-Oriented Language Based on Prototypes” The term you are looking for there is “maps”
Best -Tobias
Yahoo! Groups Links
self-interest@lists.selflanguage.org