Ignore:
Timestamp:
Sep 14, 2011, 10:15:16 PM (14 years ago)
Author:
[email protected]
Message:

Make JSCell::toBoolean non-virtual
https://bugs.webkit.org/show_bug.cgi?id=67727

Reviewed by Sam Weinig.

JSCell::toBoolean now manually performs the toBoolean check for objects and strings (where
before it was simply virtual and would crash if its implementation was called).
Its descendants in JSObject and JSString have also been made non-virtual. JSCell now
explicitly covers all cases of toBoolean, so having a virtual implementation of
JSCell::toBoolean is no longer necessary. This is part of a larger process of un-virtualizing JSCell.

  • JavaScriptCore.exp:
  • JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.def:
  • runtime/JSCell.cpp:
  • runtime/JSCell.h:
  • runtime/JSNotAnObject.cpp:
  • runtime/JSNotAnObject.h:
  • runtime/JSObject.h:
  • runtime/JSString.h:

(JSC::JSCell::toBoolean):
(JSC::JSValue::toBoolean):

  • runtime/StringObjectThatMasqueradesAsUndefined.h:
File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/Source/JavaScriptCore/JavaScriptCore.exp

    r94981 r95167  
    564564__ZNK3JSC6JSCell9getStringEPNS_9ExecStateE
    565565__ZNK3JSC6JSCell9getStringEPNS_9ExecStateERNS_7UStringE
    566 __ZNK3JSC6JSCell9toBooleanEPNS_9ExecStateE
    567566__ZNK3JSC7ArgList8getSliceEiRS0_
    568567__ZNK3JSC7JSArray12subclassDataEv
     
    586585__ZNK3JSC8JSObject9toBooleanEPNS_9ExecStateE
    587586__ZNK3JSC8JSString11resolveRopeEPNS_9ExecStateE
     587__ZNK3JSC8JSString9toBooleanEPNS_9ExecStateE
    588588__ZNK3JSC9HashTable11createTableEPNS_12JSGlobalDataE
    589589__ZNK3JSC9HashTable11deleteTableEv
Note: See TracChangeset for help on using the changeset viewer.