Looking into the crash locally, but here's some stylistic comments in the
meantime.


https://codereview.chromium.org/1272673003/diff/1/src/parser.cc
File src/parser.cc (right):

https://codereview.chromium.org/1272673003/diff/1/src/parser.cc#newcode4326
src/parser.cc:4326: auto parameter_proxy =
factory()->NewVariableProxy(parameter_var);
I'd move this down to where it's used to avoid accidentally using it
twice.

https://codereview.chromium.org/1272673003/diff/1/src/parser.cc#newcode4333
src/parser.cc:4333: // for (i = rest_index; i < %_ArgumentsLength();
++i) {
This desugaring needs updating to match what's going on below:

- Replace "i" with "arguments_index"
- No more tmp_var
- Use %AppendElement instead of %AddElement

https://codereview.chromium.org/1272673003/diff/1/src/parser.cc#newcode4358
src/parser.cc:4358: auto arguments_length =
Runtime::FunctionForId(Runtime::kArgumentsLength);
I think you want kInlineArgumentsLength here (if I'm properly
understanding the way these runtime/inline intrinsics work these days).

https://codereview.chromium.org/1272673003/diff/1/src/parser.cc#newcode4377
src/parser.cc:4377: auto arguments =
Runtime::FunctionForId(Runtime::kArguments);
kInlineArguments

https://codereview.chromium.org/1272673003/diff/1/src/parser.cc#newcode4382
src/parser.cc:4382: // %AppendElement($rest,
$_Arguments(arguments_index))
Should read:

%AppendElement($rest, %_Arguments(arguments_index))

or whatever you end up calling $rest in the desugaring comment above.

https://codereview.chromium.org/1272673003/

--
--
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.

Reply via email to