Ignore:
Timestamp:
Mar 2, 2016, 6:04:49 PM (9 years ago)
Author:
[email protected]
Message:

clean up JSObject::isExtensibleInline and JSObject::setPrototypeOfInline, and rename setPrototypeOf to setPrototype
https://bugs.webkit.org/show_bug.cgi?id=154942

Reviewed by Benjamin Poulain.

These don't need to be inlined in the way they are.
Doing dynamic dispatch is ok performance wise until
we have evidence stating otherwise.

  • API/JSObjectRef.cpp:

(JSObjectSetPrototype):
(JSObjectHasProperty):

  • runtime/ClassInfo.h:
  • runtime/IntlCollatorConstructor.cpp:

(JSC::constructIntlCollator):

  • runtime/IntlDateTimeFormatConstructor.cpp:

(JSC::constructIntlDateTimeFormat):

  • runtime/IntlNumberFormatConstructor.cpp:

(JSC::constructIntlNumberFormat):

  • runtime/JSCell.cpp:

(JSC::JSCell::isExtensible):
(JSC::JSCell::setPrototype):
(JSC::JSCell::setPrototypeOf): Deleted.

  • runtime/JSCell.h:
  • runtime/JSGlobalObjectFunctions.cpp:

(JSC::globalFuncProtoSetter):

  • runtime/JSObject.cpp:

(JSC::JSObject::setPrototypeWithCycleCheck):
(JSC::JSObject::setPrototype):
(JSC::JSObject::allowsAccessFrom):
(JSC::JSObject::isExtensible):
(JSC::JSObject::reifyAllStaticProperties):
(JSC::JSObject::defineOwnNonIndexProperty):
(JSC::JSObject::setPrototypeOf): Deleted.

  • runtime/JSObject.h:

(JSC::JSObject::mayInterceptIndexedAccesses):
(JSC::JSObject::indexingShouldBeSparse):
(JSC::JSObject::setPrototypeOfInline): Deleted.
(JSC::JSObject::isExtensibleInline): Deleted.

  • runtime/ObjectConstructor.cpp:

(JSC::objectConstructorSetPrototypeOf):
(JSC::objectConstructorIsSealed):
(JSC::objectConstructorIsFrozen):
(JSC::objectConstructorIsExtensible):

  • runtime/ProxyObject.cpp:

(JSC::ProxyObject::performInternalMethodGetOwnProperty):
(JSC::ProxyObject::performHasProperty):
(JSC::ProxyObject::performPreventExtensions):
(JSC::ProxyObject::performIsExtensible):

  • runtime/ReflectObject.cpp:

(JSC::reflectObjectIsExtensible):
(JSC::reflectObjectSetPrototypeOf):

  • runtime/StringObject.cpp:

(JSC::StringObject::defineOwnProperty):

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/Source/JavaScriptCore/runtime/ReflectObject.cpp

    r197467 r197484  
    170170        return JSValue::encode(throwTypeError(exec, ASCIILiteral("Reflect.isExtensible requires the first argument be an object")));
    171171
    172     bool isExtensible = asObject(target)->isExtensibleInline(exec);
     172    bool isExtensible = asObject(target)->isExtensible(exec);
    173173    if (exec->hadException())
    174174        return JSValue::encode(JSValue());
     
    216216        return JSValue::encode(jsBoolean(true));
    217217
    218     bool isExtensible = object->isExtensibleInline(exec);
     218    bool isExtensible = object->isExtensible(exec);
    219219    if (exec->hadException())
    220220        return JSValue::encode(JSValue());
     
    223223
    224224    VM& vm = exec->vm();
    225     bool didSetPrototype = object->setPrototypeOfInline(vm, exec, proto);
     225    bool didSetPrototype = object->setPrototype(vm, exec, proto);
    226226    if (vm.exception())
    227227        return JSValue::encode(JSValue());
Note: See TracChangeset for help on using the changeset viewer.