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.