• 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
macro-assembler-mips.cc 131 KB