v8/test/mjsunit/harmony
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
..
block-conflicts.js Don't treat function parameters as let-bound variables in Harmony mode. 2012-02-14 13:47:54 +00:00
block-const-assign.js Statically check for assignments to const in harmony mode. 2011-12-05 14:43:28 +00:00
block-early-errors.js Make let/const outside of the extended mode early errors (under harmony flag). 2011-11-29 06:38:04 +00:00
block-for.js Introduce extended mode. 2011-11-24 15:17:04 +00:00
block-lazy-compile.js Preliminary code for block scopes and block contexts. 2011-08-11 16:29:28 +00:00
block-leave.js Introduce extended mode. 2011-11-24 15:17:04 +00:00
block-let-crankshaft.js Hydrogen support for context allocated harmony bindings. 2011-12-09 09:50:30 +00:00
block-let-declaration.js Introduce extended mode. 2011-11-24 15:17:04 +00:00
block-let-semantics.js Introduce extended mode. 2011-11-24 15:17:04 +00:00
block-scoping.js Introduce extended mode. 2011-11-24 15:17:04 +00:00
collections.js Fix handling of bogus receivers for Harmony collections. 2012-01-05 12:55:06 +00:00
debug-blockscopes.js Introduce extended mode. 2011-11-24 15:17:04 +00:00
debug-evaluate-blockscopes.js Introduce extended mode. 2011-11-24 15:17:04 +00:00
debug-function-scopes.js Issue 2081: Expose function's (closure's) inner context in debugger. 2012-04-26 20:16:53 +00:00
module-linking.js Implement rudimentary module linking. 2012-04-16 14:43:27 +00:00
module-parsing.js Implement rudimentary module linking. 2012-04-16 14:43:27 +00:00
module-resolution.js Implement rudimentary module linking. 2012-04-16 14:43:27 +00:00
proxies-example-membrane.js A more holistic test case for proxies. 2011-11-10 16:24:43 +00:00
proxies-for.js Implement for-in loop for proxies. 2011-10-24 15:56:18 +00:00
proxies-function.js Fix handling of function proxies in higher-order array and string methods, 2012-01-20 13:59:37 +00:00
proxies-hash.js Implement Harmony sets and maps. 2011-10-25 14:14:56 +00:00
proxies.js Implement correct checking for inherited readonliness on assignment. 2012-06-01 10:51:36 +00:00
typeof.js Implement Harmony semantics for typeof null (behind a flag). 2011-08-10 12:12:06 +00:00