v8/test
rossberg@chromium.org 670f947a5c Implement set trap for proxies, and revamp class hierarchy in preparation:
- Introduce a class JSReceiver, that is a common superclass of JSObject and
  JSProxy. Use JSReceiver where appropriate (probably lots of places that we
  still have to migrate, but we will find those later with proxy test suite).

- Move appropriate methods to JSReceiver class (SetProperty,
  GetPropertyAttribute, Get/SetPrototype, Lookup, and so on).

- Introduce new JSFunctionProxy subclass of JSProxy. Currently only a stub.

- Overhaul enum InstanceType:
  * Introduce FIRST/LAST_SPEC_OBJECT_TYPE that ranges over all types that
    represent JS objects, and use that consistently to check language types.
  * Rename FIRST/LAST_JS_OBJECT_TYPE and FIRST/LAST_FUNCTION_CLASS_TYPE
    to FIRST/LAST_[NON]CALLABLE_SPEC_OBJECT_TYPE for clarity.
  * Eliminate the overlap over JS_REGEXP_TYPE.
  * Also replace FIRST_JS_OBJECT with FIRST_JS_RECEIVER, but only use it where
    we exclusively talk about the internal representation type.
  * Insert JS_PROXY and JS_FUNCTION_PROXY in the appropriate places.

- Fix all checks concerning classification, especially for functions, to
  use the CALLABLE_SPEC_OBJECT range (that includes funciton proxies).

- Handle proxies in SetProperty (that was the easiest part :) ).

- A few simple test cases.

R=kmillikin@chromium.org

Review URL: http://codereview.chromium.org/6992072

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8126 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-05-31 16:38:40 +00:00
..
benchmarks Change cctests to use variant flags as part of the name for the serilization file. 2011-03-21 12:57:25 +00:00
cctest Support optimization of named function literals. 2011-05-31 11:54:46 +00:00
es5conform Reapply 7763, including arm and x64 variants. 2011-05-05 05:21:30 +00:00
message Change cctests to use variant flags as part of the name for the serilization file. 2011-03-21 12:57:25 +00:00
mjsunit Implement set trap for proxies, and revamp class hierarchy in preparation: 2011-05-31 16:38:40 +00:00
mozilla Reapply change to Pass undefined to JS builtins when called with 2011-05-30 13:49:22 +00:00
preparser Add tests for function statements in strict mode. 2011-05-24 14:02:59 +00:00
sputnik Reapply change to Pass undefined to JS builtins when called with 2011-05-30 13:49:22 +00:00
test262 Bring test262 expectations up-to-date. 2011-04-11 13:54:30 +00:00