OK, I think this is really ready for review now :-)

Review guidance:
The most important changes are in runtime-profiler.cc, with corresponding
updates to runtime-profiler.h.

To enable the new optimization decisions, a bunch of changes were necessary
elsewhere:

1.) Track profiler ticks per function, meaning "how often has the profiler seen
this function on the stack since its last IC patching?" -->
code-stubs-<ARCH>.cc, heap.cc, ic-inl.h, objects.h, objects-inl.h

2.) Make primitive functions trigger their own optimization. For that, they need
to keep track of how often they've been called. --> full-codegen-<ARCH>.cc,
heap.cc, objects.h, objects-inl.h

3.) Inform the profiler about code generation events --> full-codegen.cc

4.) The GC now clears ICs only if Context::Exit() was recently executed. -->
api.cc, isolate.{h,cc}, mark-compact.cc

5.) Variable tick interval for ARM and MIPS --> log.{h,cc}, platform.h,
platform-<PLATFORM>.cc

In ic.cc, there's another change that's not really related to the rest: If we see a COW array the very first time after an KeyedStoreIC miss, use the generic
stub immediately.

http://codereview.chromium.org/8700008/

--
v8-dev mailing list
[email protected]
http://groups.google.com/group/v8-dev

Reply via email to