DescriptionUse Variable::binding_needs_init() to determine hole initialization
The old code was using VariableMode, but that signal is both
over-pessimistic (some CONST and LET variables need no hole-initialization)
and inconsistent with other uses of the InitializationFlag enum (such
as %LoadLookupSlot).
This changes no observable behavior, but removes unnecessary hole
initialization and hole checks in a few places, including
block-scoped function declarations, super property lookups,
and new.target.
R=bmeurer@chromium.org, neis@chromium.org
Committed: https://crrev.com/6768456db513936cb19c8cdc657a7cd6122584a9
Cr-Commit-Position: refs/heads/master@{#38395}
Patch Set 1 #Patch Set 2 : Fix arm build #Patch Set 3 : Use binding_needs_init for load and assignment as well #Patch Set 4 : Fully ported #
Total comments: 2
Patch Set 5 : Removed bogus DCHECK #
Total comments: 4
Patch Set 6 : Remove unhelpful comment #Patch Set 7 : Remove one more comment #Messages
Total messages: 33 (21 generated)
|