Comment #2 on issue 4198 by [email protected]: eval is not working
correctly in strict mode with nosnap
https://code.google.com/p/v8/issues/detail?id=4198#c2
The following revision refers to this bug:
https://chromium.googlesource.com/v8/v8.git/+/33a373985be86a52b788f0277a8e61a804c602da
commit 33a373985be86a52b788f0277a8e61a804c602da
Author: adamk <[email protected]>
Date: Thu Jul 09 21:31:11 2015
Fix lazy compilation of eval() under nosnap/--use-strict
When running without a snapshot, the GlobalEval function gets lazy compiled.
By the time we compile it, its name is "eval", which causes the parser to
choke (functions named "eval" aren't allowed in strict mode!).
Instead, we now always skip checking the function name when lazy-parsing,
as the name has already been checked appropriately by the preparser.
Also cleaned up other cases that don't require name checking by introducing
FunctionNameValidity enum and passing appropriate values throughout the
parser and preparser.
This lets us pass an additional 18 test262 tests.
BUG=v8:4198
LOG=n
Review URL: https://codereview.chromium.org/1227093005
Cr-Commit-Position: refs/heads/master@{#29559}
[modify]
http://crrev.com/33a373985be86a52b788f0277a8e61a804c602da/src/parser.cc
[modify]
http://crrev.com/33a373985be86a52b788f0277a8e61a804c602da/src/parser.h
[modify]
http://crrev.com/33a373985be86a52b788f0277a8e61a804c602da/src/preparser.cc
[modify]
http://crrev.com/33a373985be86a52b788f0277a8e61a804c602da/src/preparser.h
[modify]
http://crrev.com/33a373985be86a52b788f0277a8e61a804c602da/test/test262-es6/test262-es6.status
--
You received this message because this project is configured to send all
issue notifications to this address.
You may adjust your notification preferences at:
https://code.google.com/hosting/settings
--
--
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.