lgtm with some comments. You're idea of adding a flag to be able to turn it
off
sounds like a good idea as well.
https://codereview.chromium.org/1224793002/diff/80001/src/code-stubs-hydrogen.cc
File src/code-stubs-hydrogen.cc (right):
https://codereview.chromium.org/1224793002/diff/80001/src/code-stubs-hydrogen.cc#newcode1721
src/code-stubs-hydrogen.cc:1721:
static_cast<int>(PropertyCellType::kConstantType);
I'd reorder these cases to first handle ConstantType, then Mutable, then
Constant/Uninitialized.
https://codereview.chromium.org/1224793002/diff/80001/src/runtime/runtime-object.cc
File src/runtime/runtime-object.cc (right):
https://codereview.chromium.org/1224793002/diff/80001/src/runtime/runtime-object.cc#newcode467
src/runtime/runtime-object.cc:467: if (LookupIterator::DATA ==
it.state()) {
You should probably do this check before GetProperty since otherwise
it'll walk beyond an interceptor for example. If there's an interceptor,
we can essentially never cache, since it can decide on a whim to make a
property appear that wasn't there before.
https://codereview.chromium.org/1224793002/diff/80001/src/runtime/runtime-object.cc#newcode472
src/runtime/runtime-object.cc:472: // This is not a fast case, so keep
this access in a slow mode.
Add comment that you're doing this just to release the property cell
containing the hole, replacing it by the single global empty one.
https://codereview.chromium.org/1224793002/diff/80001/src/runtime/runtime-object.cc#newcode501
src/runtime/runtime-object.cc:501: if (LookupIterator::DATA ==
it.state()) {
Same as above.
https://codereview.chromium.org/1224793002/
--
--
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.