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.