-
Benedikt Meurer authored
Previously all internal accesses to the String::length field in TurboFan would use the StringLength operator, whereas explicit `string.length` accesses from user JavaScript code would use LoadField operators instead. This inconsistency led to redundant loads of the String::length, for example in case of code like ```js subject.substring(1, subject.length - 1) ``` where the `subject.substring` call introduces a StringLength(subject) node, and the `subject.length` introduces a LoadField[length](subject) node. Consistently using StringLength operator everywhere enables optimizations in TurboFan that had been blocked before here (besides avoiding the redundant load operations). Bug: v8:8015 Change-Id: I21c82bc418105b9933a9e60dde11c7b222dfcf4f Reviewed-on: https://chromium-review.googlesource.com/1212942 Commit-Queue: Benedikt Meurer <bmeurer@chromium.org> Reviewed-by: Maya Lekova <mslekova@chromium.org> Cr-Commit-Position: refs/heads/master@{#55710}
60d3f89d