initial comments

https://chromiumcodereview.appspot.com/9837005/diff/1/src/heap.cc
File src/heap.cc (right):

https://chromiumcodereview.appspot.com/9837005/diff/1/src/heap.cc#newcode4854
src/heap.cc:4854: NotifyGlobalContextDisposed();
Why do we signal context disposal here and abort incremental marking?

What kind of hint Chrome passes to us?

https://chromiumcodereview.appspot.com/9837005/diff/1/src/incremental-marking.cc
File src/incremental-marking.cc (right):

https://chromiumcodereview.appspot.com/9837005/diff/1/src/incremental-marking.cc#newcode185
src/incremental-marking.cc:185: IC::Clear(rinfo->pc());
I would expect we reset counter to be equal to
heap_->global_context_disposed_count() otherwise we would flush again on
the next GC even if the context was not disposed.

surely reset should not happen in the place but at the place which calls
visitor.

https://chromiumcodereview.appspot.com/9837005/diff/1/src/mark-compact.cc
File src/mark-compact.cc (right):

https://chromiumcodereview.appspot.com/9837005/diff/1/src/mark-compact.cc#newcode1055
src/mark-compact.cc:1055: IC::Clear(rinfo->pc());
I would expect we reset counter to be equal to
heap_->global_context_disposed_count() otherwise we would flush again on
the next GC even if the context was not disposed.

surely reset should not happen in the place but at the place which calls
visitor.

https://chromiumcodereview.appspot.com/9837005/diff/1/src/mark-compact.cc#newcode1412
src/mark-compact.cc:1412:
shared->set_context_disposed_count(heap->global_context_disposed_count());
I suppose this piece of code is here to prevent optimizer from
optimizing to early.

There are heuristics that try to decide whether function should be
optimized based on the amount of initialized ICs.

Why do we need to reset opt_count separately? I would expect initialized
ICs heuristic to cover it.

Also we were discussing with Jakob if we should move opt_count to the
code object itself. This would allow to easily adjust it when we clear
ICs instead of doing special (spooky) handling of shared function info.

https://chromiumcodereview.appspot.com/9837005/diff/1/src/objects.h
File src/objects.h (right):

https://chromiumcodereview.appspot.com/9837005/diff/1/src/objects.h#newcode4436
src/objects.h:4436: static const int kFlagsOffset =
kContextDisposedCountOffset + kIntSize;
I wonder how big our Code object will become with an addition of this
one field.

I think it will grow by 50% because of the alignment.

https://chromiumcodereview.appspot.com/9837005/

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

Reply via email to