Comment #13 on issue 2741 by [email protected]: max_opt_count is implemented using the wrong kind of limit
http://code.google.com/p/v8/issues/detail?id=2741

OK, my progress is this but my amateur level coding skills are making the next bit hard, but I'll show you what I'd like to implement. By the way I'm in the #chromium IRC incase you'd be so kind as to guide me a little if you don't think it's a complete waste of time but I'm trying, also without bloating the issue tracker with sub-par programming skills.

InlineCacheState ic_state = code->ic_state();
if (result->ic_age() != HEAP->global_ic_age() && (ic_state != PREMONOMORPHIC)) {
  result->ResetForNewContext(HEAP->global_ic_age());
}

So it takes the state of the inline cache and tests for being premonomorphic to make sure ResetForNewContext isn't called. I'm doing the test there since the call to ResetForNewContext clears the cache as well, which would be unneeded work because it's premonomorphic for a reason. And logically it should stay premonomorphic since thats the whole purpose for having the concept, and their doesn't seem to be any code paths for migrating premonomorphic code to being mono/megamorphic anyway... so I believe there's no harm from preventing the condition to flow through.

Problem is my unfamiliarity and skill level is making it hard to actually acquire that ic_state value inside the function call, with the header file declarations and includes since I'm only using a plain text editor, no IDE to help guide me for type hints/inference.

So all the machinery and code exists, your engineering is wonderful, but you are underutilizing the whole concept of what premonomorphism implies and being too lax by spuriously clearing caches and trying to reoptimize too much. So if the test can be made there, it'll let V8 stop doing that unneeded compilation work which it'll never complete.

I hope this is making more sense without sounding like hot-air.

--
You received this message because this project is configured to send all issue notifications to this address.
You may adjust your notification preferences at:
https://code.google.com/hosting/settings

--
--
v8-dev mailing list
[email protected]
http://groups.google.com/group/v8-dev
--- You received this message because you are subscribed to the Google Groups "v8-dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
For more options, visit https://groups.google.com/groups/opt_out.


Reply via email to