Could we leave tracking nonlinear scopes in ScopeInfo for a future patch? This one brings the world further towards correctness as-is. And I'm not sure how to
trigger a test case--everything I try just works.

https://codereview.chromium.org/1312613003/diff/60001/src/full-codegen/full-codegen.h
File src/full-codegen/full-codegen.h (right):

https://codereview.chromium.org/1312613003/diff/60001/src/full-codegen/full-codegen.h#newcode704
src/full-codegen/full-codegen.h:704: bool NeedsHoleCheck(VariableProxy*
proxy);
On 2015/08/26 at 11:36:58, Michael Starzinger wrote:
nit: Please move the declaration away from the simple getters,
anywhere else than here is better, how about line 553 after
EmitVariableLoad?


Done

https://codereview.chromium.org/1312613003/diff/60001/src/full-codegen/full-codegen.h#newcode704
src/full-codegen/full-codegen.h:704: bool NeedsHoleCheck(VariableProxy*
proxy);
On 2015/08/26 at 11:36:58, Michael Starzinger wrote:
nit: Please move the declaration away from the simple getters,
anywhere else than here is better, how about line 553 after
EmitVariableLoad?


Done

https://codereview.chromium.org/1312613003/diff/60001/src/scopes.h
File src/scopes.h (right):

https://codereview.chromium.org/1312613003/diff/60001/src/scopes.h#newcode232
src/scopes.h:232: void SetNonlinear() { scope_nonlinear_ = true; }
On 2015/08/26 at 12:07:58, rossberg wrote:
On 2015/08/26 11:30:30, Michael Starzinger wrote:
> Isn't it necessary to serialize this flag into the ScopeInfo? Adding
Andreas
> whose scoping foo is clearly superior to mine.

Indeed, AFAICS this flag needs to be de/serialized in scopeinfos,
otherwise lazily compiled local functions inside switch blocks will
still miss hole checks. A test for that case would be good, too.

Well, that issue won't hit fullcodegen, as hole checks are only
eliminated within a particular block scope. Would it hurt any other
compiler? I can't figure out how to trigger it in TF.

https://codereview.chromium.org/1312613003/

--
--
v8-dev mailing list
v8-dev@googlegroups.com
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 v8-dev+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to