https://codereview.chromium.org/1097283003/diff/200001/src/scopeinfo.cc
File src/scopeinfo.cc (right):
https://codereview.chromium.org/1097283003/diff/200001/src/scopeinfo.cc#newcode321
src/scopeinfo.cc:321:
name->Equals(*GetIsolate()->factory()->this_string());
On 2015/04/28 14:26:18, arv wrote:
Another option would be to use the string ".this"
Hah, you're right :) We could actually use any string that can't be a
valid variable name. Not sure if it would buy us anything besides
simplification in this fairly cold function, though.
https://codereview.chromium.org/1097283003/diff/200001/src/scopes.h
File src/scopes.h (right):
https://codereview.chromium.org/1097283003/diff/200001/src/scopes.h#newcode149
src/scopes.h:149: Variable::Kind kind = Variable::NORMAL) {
On 2015/04/28 14:26:18, arv wrote:
Can we keep the position last for consistency.
Acknowledged.
https://codereview.chromium.org/1097283003/diff/200001/src/scopes.h#newcode360
src/scopes.h:360: is_script_scope();
On 2015/04/28 14:26:18, arv wrote:
What about eval scope?
Doesn't declare a "this" :) Grep the spec for GetThisBinding. The only
reason eval scopes used to have a "this" binding was because it was
copied from its value in the outer scope to the eval code.
Given that functions don't have this gnarly this-aliasing bug I
mentioned about script contexts, this means that super calls in arrow
functions should be able to BindThisValue correctly. But, I haven't
fully grokked super calls yet.
https://codereview.chromium.org/1097283003/
--
--
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.