lgtm. You can ignore the handler-compiler comment for now, I think we should
just do it in the future. But maybe better to do it once this is the default
mode.
https://codereview.chromium.org/908213002/diff/60001/src/ic/arm/handler-compiler-arm.cc
File src/ic/arm/handler-compiler-arm.cc (right):
https://codereview.chromium.org/908213002/diff/60001/src/ic/arm/handler-compiler-arm.cc#newcode427
src/ic/arm/handler-compiler-arm.cc:427: DCHECK(validity_cell->value() ==
Smi::FromInt(Map::kPrototypeChainValid));
DCHECK_EQ
https://codereview.chromium.org/908213002/diff/60001/src/ic/arm/handler-compiler-arm.cc#newcode439
src/ic/arm/handler-compiler-arm.cc:439: __ ldr(scratch1,
FieldMemOperand(object_reg, HeapObject::kMapOffset));
I think you just want to rewrite this code (and its client). Rather than
dynamically loading the right prototype, you want to verify the validity
cell for that prototype. Additionally here you need to check that the
current context matches the expected one (via esi/cp/rsi/...).
https://codereview.chromium.org/908213002/diff/60001/src/ic/arm/handler-compiler-arm.cc#newcode492
src/ic/arm/handler-compiler-arm.cc:492: __ LoadWeakValue(reg,
isolate()->factory()->NewWeakCell(current), miss);
In the (near) future we should just drop support for dictionary-mode
prototypes in the IC.
https://codereview.chromium.org/908213002/diff/60001/src/objects.cc
File src/objects.cc (right):
https://codereview.chromium.org/908213002/diff/60001/src/objects.cc#newcode10056
src/objects.cc:10056: prototype =
handle(JSObject::cast(prototype->map()->prototype()), isolate);
PrototypeIterator
https://codereview.chromium.org/908213002/
--
--
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.