[webkit-reviews] review denied: [Bug 115805] DFGArrayMode::fromObserved is too liberal when it sees different Array and NonArray shapes : [Attachment 201076] Patch
bugzilla-daemon at webkit.org
bugzilla-daemon at webkit.org
Wed May 8 16:44:28 PDT 2013
Filip Pizlo <fpizlo at apple.com> has denied Mark Hahnenberg
<mhahnenberg at apple.com>'s request for review:
Bug 115805: DFGArrayMode::fromObserved is too liberal when it sees different
Array and NonArray shapes
https://bugs.webkit.org/show_bug.cgi?id=115805
Attachment 201076: Patch
https://bugs.webkit.org/attachment.cgi?id=201076&action=review
------- Additional Comments from Filip Pizlo <fpizlo at apple.com>
View in context: https://bugs.webkit.org/attachment.cgi?id=201076&action=review
> Source/JavaScriptCore/dfg/DFGArrayMode.cpp:120
> - if (observed & (asArrayModes(ArrayWithUndecided) |
asArrayModes(ArrayWithInt32) | asArrayModes(ArrayWithDouble) |
asArrayModes(ArrayWithContiguous) | asArrayModes(ArrayWithArrayStorage) |
asArrayModes(ArrayWithSlowPutArrayStorage)))
> - arrayClass = Array::Array;
> - else if (observed & (asArrayModes(NonArray) |
asArrayModes(NonArrayWithInt32) | asArrayModes(NonArrayWithDouble) |
asArrayModes(NonArrayWithContiguous) | asArrayModes(NonArrayWithArrayStorage) |
asArrayModes(NonArrayWithSlowPutArrayStorage)))
> + if (observed & (asArrayModes(NonArray) |
asArrayModes(NonArrayWithInt32) | asArrayModes(NonArrayWithDouble) |
asArrayModes(NonArrayWithContiguous) | asArrayModes(NonArrayWithArrayStorage) |
asArrayModes(NonArrayWithSlowPutArrayStorage)))
> arrayClass = Array::NonArray;
> + else if (observed & (asArrayModes(ArrayWithUndecided) |
asArrayModes(ArrayWithInt32) | asArrayModes(ArrayWithDouble) |
asArrayModes(ArrayWithContiguous) | asArrayModes(ArrayWithArrayStorage) |
asArrayModes(ArrayWithSlowPutArrayStorage)))
> + arrayClass = Array::Array;
> else
> arrayClass = Array::PossiblyArray;
Actually, I think the bug here is that PossiblyArray wasn't working right.
PossiblyArray is supposed to represent "this could be an Array or a NonArray".
So it appears that the problem here is that PossiblyArray isn't being compiled
to do the right thing (i.e. accept either Array or NonArray).
More information about the webkit-reviews
mailing list