Bug 157534
| Summary: | [JSC] It should be possible to always safely move GetByVal | ||
|---|---|---|---|
| Product: | WebKit | Reporter: | Benjamin Poulain <benjamin> |
| Component: | JavaScriptCore | Assignee: | Nobody <webkit-unassigned> |
| Status: | NEW | ||
| Severity: | Normal | CC: | justin_michaud, webkit-bug-importer |
| Priority: | P2 | Keywords: | InRadar |
| Version: | WebKit Nightly Build | ||
| Hardware: | Unspecified | ||
| OS: | Unspecified | ||
| Bug Depends on: | 196715 | ||
| Bug Blocks: | |||
Benjamin Poulain
FTL had a but where GetByVal would be moved by Loop Invariant Code Motion invalidating assumption used to remove bounds checking (see https://bugs.webkit.org/show_bug.cgi?id=157502).
The fix was to move IntegerRange optimization after LICM to make sure the code is not moved after CheckInBounds is eliminated.
It would be better to have a deterministic way of knowing if a GetByVal can be moved and where it is safe to move it. For example, it should be explicitly illegal to hoist a GetByVal above its CheckInBounds.
| Attachments | ||
|---|---|---|
| Add attachment proposed patch, testcase, etc. |
Radar WebKit Bug Importer
<rdar://problem/26204263>