Changeset 48542 in webkit for trunk/JavaScriptCore/interpreter


Ignore:
Timestamp:
Sep 18, 2009, 4:12:03 PM (16 years ago)
Author:
[email protected]
Message:

Implement ES5 Object.defineProperty function
https://bugs.webkit.org/show_bug.cgi?id=29503

Reviewed by Geoff Garen

Implement Object.defineProperty. This requires adding the API to
ObjectConstructor, along with a helper function that implements the
ES5 internal ToPropertyDescriptor function. It then adds
JSObject::defineOwnProperty that implements the appropriate ES5 semantics.
Currently defineOwnProperty uses a delete followed by a put to redefine
attributes of a property, clearly this is less efficient than it could be
but we can improve this if it needs to be possible in future.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/JavaScriptCore/interpreter/Interpreter.cpp

    r47738 r48542  
    37323732        Identifier& ident = callFrame->codeBlock()->identifier(property);
    37333733        ASSERT(callFrame->r(function).jsValue().isObject());
    3734         baseObj->defineSetter(callFrame, ident, asObject(callFrame->r(function).jsValue()));
     3734        baseObj->defineSetter(callFrame, ident, asObject(callFrame->r(function).jsValue()), 0);
    37353735
    37363736        ++vPC;
Note: See TracChangeset for help on using the changeset viewer.