v8/test/test262-es6
adamk 33a373985b 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}
2015-07-09 21:31:18 +00:00
..
harness-adapt.js
README [test262-es6] Update to 2015-07-06 which includes the yaml harness fix 2015-07-07 13:54:30 +00:00
test262-es6.status Fix lazy compilation of eval() under nosnap/--use-strict 2015-07-09 21:31:18 +00:00
testcfg.py [test262-es6] Update to 2015-07-06 which includes the yaml harness fix 2015-07-07 13:54:30 +00:00

This directory contains code for binding the test262 test suite
into the v8 test harness. To use the tests check out the test262
tests from

  https://github.com/tc39/test262

at hash c6ac390 (2015/07/06 revision) as 'data' in this directory.  Using later
version may be possible but the tests are only known to pass (and indeed run)
with that revision.

  git clone https://github.com/tc39/test262 data
  cd data
  git checkout c6ac390

If you do update to a newer revision you may have to change the test
harness adapter code since it uses internal functionality from the
harness that comes bundled with the tests.  You will most likely also
have to update the test expectation file.