Hello , Could anybody help me to explain the difference between " *Uninitialized*" state & "*Pre-monomorphic*" state. I get a description as following : "
1. *Uninitialized*: this is a generic stub. We're in this state when we've never seen any object at a property access site (which is just another way of saying: when this particular property access at this particular code location has never been exercised). This stub does a dynamic lookup; once that lookup is complete, this stub rewrites the call to the inline cache stub to be a call to a different stub, the pre-monomorphic one. 2. *Pre-monomorphic*: this is a generic stub. This also performs a run-time lookup then rewrites the call to be to a different stub: a customized monomorphic one, which is written just in time. Why even bother with this state? Because in JS, lots of code is executed exactly once (setup, initialization). Don't want to go to the trouble of generating customized, optimized code (the monomorphic stub) for a property access if it only occurs once. " "*Uninitialized*" do a dynamic look up & "*Pre-monomorphic"* do run-time lookup ? what's the difference ? Could any body show some detailed information ? BR Big thanks -- -- v8-users mailing list v8-users@googlegroups.com http://groups.google.com/group/v8-users --- You received this message because you are subscribed to the Google Groups "v8-users" group. To unsubscribe from this group and stop receiving emails from it, send an email to v8-users+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/d/optout.