Trying to figure a way to do this:
If hasParameterExpressions is false:
1. keep doing things the way they're already working, I guess?
else:
1. for each bound name of parameters, allocate space (on heap or stack)
initialized to the hole
2. for each parameter:
a. if it's a "normal" parameter (no expressions), set the allocated
variable to the one passed on the stack
b. else if it's an optional parameter, set the allocated variable to
the
evaluation of the initializing expression
c. else if it's a binding pattern parameter, perform step 2 for each
binding property/element of the binding pattern
Constraints:
- All references to the bound names of parameters need to refer to
thees
variables initialized to the hole.
- Within the function body, no hole-check is needed to reference one of
these names
- Redeclaring one of these names using "var" should be legal
- These allocated variables need to be reference-able from step 2 in
the
algorithm above, but also from the
function and its child scopes. However, the expressions in step 2
may not
reference any variables declared
within the function or its nested scopes
Just thinking out loud, not totally sure how else the TDZ semantics would
work
https://codereview.chromium.org/1053773006/
--
--
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.