Thanks Igor, here are the changes.
I used a template to avoid casting in IC[Utility]::Clear().
https://codereview.chromium.org/680883004/diff/40001/src/ic/ic.cc
File src/ic/ic.cc (right):
https://codereview.chromium.org/680883004/diff/40001/src/ic/ic.cc#newcode545
src/ic/ic.cc:545: reinterpret_cast<CallICNexus*>(nexus));
On 2014/10/28 11:12:36, Igor Sheludko wrote:
static_cast?
I hated the cast anyway, so I've changed this to a template method where
you need to pass the appropriate kind of FeedbackNexus in order to
compile. That should be better, at least.
https://codereview.chromium.org/680883004/diff/40001/src/ic/ic.cc#newcode569
src/ic/ic.cc:569: nexus->ConfigureUninitialized();
On 2014/10/28 11:12:36, Igor Sheludko wrote:
Does it make sense to proceed skipping write barriers for
Uninitialized and
Generic sentinels?
It does indeed, I've make that fix in type-feedback-vector.cc, thanks!
https://codereview.chromium.org/680883004/diff/40001/src/ic/ic.cc#newcode2091
src/ic/ic.cc:2091: // A miss on a custom call ic always results in going
megamorphic.
On 2014/10/28 11:12:36, Igor Sheludko wrote:
This comment can be removed from here.
Done.
https://codereview.chromium.org/680883004/diff/40001/src/type-feedback-vector.cc
File src/type-feedback-vector.cc (right):
https://codereview.chromium.org/680883004/diff/40001/src/type-feedback-vector.cc#newcode164
src/type-feedback-vector.cc:164: FixedArray::cast(*feedback)->length()
!= length) {
On 2014/10/28 11:12:36, Igor Sheludko wrote:
Do we need to allocate another array if existing one is longer than
requested?
Does it make sense to right-trim and reuse the existing one?
Hmm, the only case that would happen would be if the IC is in
POLYMORPHIC state and it's going to a POLYMORPHIC state of lower degree
or it's going to MONOMORPHIC.
Neither of those happen in practice...we only go MONO->POLY, and to
climb back down to MONO there would be intervening states like
UNINITIALIZED and/or PREMONOMORPHIC, which are sentinels, so we'd lose
the array in the meantime.
I think an optimization we may really want to do here soon is to share
the monomorphic arrays if possible between different sites.
https://codereview.chromium.org/680883004/diff/40001/src/type-feedback-vector.cc#newcode227
src/type-feedback-vector.cc:227:
On 2014/10/28 11:12:36, Igor Sheludko wrote:
Empty line is missing.
Done.
https://codereview.chromium.org/680883004/diff/40001/src/type-feedback-vector.h
File src/type-feedback-vector.h (right):
https://codereview.chromium.org/680883004/diff/40001/src/type-feedback-vector.h#newcode205
src/type-feedback-vector.h:205: void FindAllMaps(MapHandleList* maps)
const { ExtractMaps(maps); }
On 2014/10/28 11:12:36, Igor Sheludko wrote:
Do we really need this method? Why not just call ExtractMaps()?
Good point, removed.
https://codereview.chromium.org/680883004/
--
--
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/d/optout.