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) {
On 2015/03/24 10:49:31, titzer wrote:
On 2015/03/24 09:42:39, Toon Verwaest wrote:
> 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.
So the condition should be "property_details.type() != DATA"?
indeed
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.
On 2015/03/24 10:49:32, titzer wrote:
On 2015/03/24 09:42:39, Toon Verwaest wrote:
> Fast-mode-map-based constants don't use code dependencies. The map
will
change.
So I can just remove this condition?
The actual threading through of what constant to load needs to be
thought out
into an abstractification.
Indeed. This condition makes no sense. You'll again need to do if
(property_details.type() != DATA) return false;
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.