v8/test/test262
rossberg@chromium.org e4c472a7af Implement correct checking for inherited readonliness on assignment.
Removes 6 out of 8 of our remaining unintentional failures on test262.

Also fixes treatment of inherited setters added after the fact.

Specifically:

- In the runtime, when looking for setter callbacks in the prototype chain,
  also look for read-only properties. If one is found, reject (exception in
  strict mode). If a proxy is found, invoke proper trap.
  Note: this folds in the CanPut function from the spec and avoids an extra
  lookup over the prototype chain.

- In generated code for stores, insert a test for the maps from the prototype
  chain, but only up to the object where the property already exists (which
  may be the object itself).
  In Hydrogen, if the found property is read-only or not cacheable (e.g. a
  proxy), bail out; in a stub, generate an unconditional miss (to get an
  exception in strict mode).

- Add test cases and adapt existing test expectations.

R=mstarzinger@chromium.org
BUG=
TEST=

Review URL: https://chromiumcodereview.appspot.com/10388047

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11694 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-06-01 10:51:36 +00:00
..
harness-adapt.js Updated status file for test262 to latest revision. 2011-07-09 07:29:32 +00:00
README Update to most recent test262 version. 2012-04-13 16:09:15 +00:00
test262.status Implement correct checking for inherited readonliness on assignment. 2012-06-01 10:51:36 +00:00
testcfg.py Prepare for using GYP build on buildbots 2012-05-11 12:18:09 +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

  http://hg.ecmascript.org/tests/test262

at revision 334 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.

hg clone -r 334 http://hg.ecmascript.org/tests/test262 data

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.