• ager@chromium.org's avatar
    MIPS: port Implement set trap for proxies, and revamp class hierarchy in preparation · 0163b443
    ager@chromium.org authored
    Ported commits: r8126 (6461bae)
    
    Original commit message:
    - 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.
    
    BUG=
    TEST=
    
    Review URL: http://codereview.chromium.org/7024041
    Patch from Paul Lind <plind44@gmail.com>.
    
    git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8175 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
    0163b443
Name
Last commit
Last update
benchmarks Loading commit data...
build Loading commit data...
include Loading commit data...
preparser Loading commit data...
samples Loading commit data...
src Loading commit data...
test Loading commit data...
tools Loading commit data...
.gitignore Loading commit data...
AUTHORS Loading commit data...
ChangeLog Loading commit data...
LICENSE Loading commit data...
LICENSE.strongtalk Loading commit data...
LICENSE.v8 Loading commit data...
LICENSE.valgrind Loading commit data...
SConstruct Loading commit data...