Some first comments. There seems to be lots of duplication between
StoreNamed /
LoadNamed.
https://codereview.chromium.org/1021713005/diff/20001/src/compiler/js-type-feedback.cc
File src/compiler/js-type-feedback.cc (right):
https://codereview.chromium.org/1021713005/diff/20001/src/compiler/js-type-feedback.cc#newcode87
src/compiler/js-type-feedback.cc:87: if (property_details.cell_type() ==
PropertyCellType::kConstant) {
This is not how constants are encoded. PropertyDetails have 3 partially
distinct encodings. Dictionary, global, and fast-mode objects.
Dictionary and global are mostly the same, minus that global also has
PropertyCellType. Here we only care about fast-mode objects though. For
now you probably want to disallow everything that's
property_details.type() != DATA, which includes DATA_CONSTANT, and both
kinds of accessors.
https://codereview.chromium.org/1021713005/diff/20001/src/compiler/js-type-feedback.cc#newcode94
src/compiler/js-type-feedback.cc:94: // TODO(turbofan): constants using
code dependencies.
Fast-mode-map-based constants don't use code dependencies. The map will
change.
https://codereview.chromium.org/1021713005/
--
--
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.