Ignore:
Timestamp:
Sep 25, 2009, 3:26:44 PM (16 years ago)
Author:
[email protected]
Message:

JavaScriptCore: Inlined some object creation code, including lexicalGlobalObject access
https://bugs.webkit.org/show_bug.cgi?id=29750

Patch by Geoffrey Garen <[email protected]> on 2009-09-25
Reviewed by Darin Adler.

SunSpider says 0.5% faster.

0.8% speedup on bench-alloc-nonretained.js.
2.5% speedup on v8-splay.js.

  • interpreter/CachedCall.h:

(JSC::CachedCall::CachedCall):

  • interpreter/CallFrame.h:

(JSC::ExecState::lexicalGlobalObject):
(JSC::ExecState::globalThisValue):

  • interpreter/Interpreter.cpp:

(JSC::Interpreter::dumpRegisters):
(JSC::Interpreter::execute):
(JSC::Interpreter::privateExecute):

  • jit/JITStubs.cpp:

(JSC::DEFINE_STUB_FUNCTION):

  • runtime/FunctionConstructor.cpp:

(JSC::constructFunction):

  • runtime/ScopeChain.cpp:

(JSC::ScopeChainNode::print):

  • runtime/ScopeChain.h:

(JSC::ScopeChainNode::ScopeChainNode):
(JSC::ScopeChainNode::~ScopeChainNode):
(JSC::ScopeChainNode::push):
(JSC::ScopeChain::ScopeChain):
(JSC::ScopeChain::globalObject): Added a globalObject data member to ScopeChainNode.
Replaced accessor function for globalObject() with data member. Replaced
globalThisObject() accessor with direct access to globalThis, to match.

  • runtime/JSGlobalObject.cpp:

(JSC::JSGlobalObject::init):

  • runtime/JSGlobalObject.h: Inlined array and object construction.

WebCore: Inlined some object creation code, including lexicalGlobalObject access
https://bugs.webkit.org/show_bug.cgi?id=29750

Patch by Geoffrey Garen <[email protected]> on 2009-09-25
Reviewed by Darin Adler.

  • bindings/js/JSInspectorBackendCustom.cpp:

(WebCore::JSInspectorBackend::currentCallFrame):

  • inspector/JavaScriptDebugServer.cpp:

(WebCore::JavaScriptDebugServer::hasBreakpoint): Updated for JavaScriptCore
API changes.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/JavaScriptCore/JavaScriptCore.exp

    r48542 r48774  
    140140__ZN3JSC14SamplingThread5startEj
    141141__ZN3JSC14TimeoutChecker5resetEv
    142 __ZN3JSC14constructArrayEPNS_9ExecStateERKNS_7ArgListE
    143142__ZN3JSC15JSWrapperObject12markChildrenERNS_9MarkStackE
    144143__ZN3JSC15toInt32SlowCaseEdRb
     
    165164__ZN3JSC18PropertyDescriptor9setGetterENS_7JSValueE
    166165__ZN3JSC18PropertyDescriptor9setSetterENS_7JSValueE
    167 __ZN3JSC19constructEmptyArrayEPNS_9ExecStateE
    168166__ZN3JSC19initializeThreadingEv
    169167__ZN3JSC20MarkedArgumentBuffer10slowAppendENS_7JSValueE
    170 __ZN3JSC20constructEmptyObjectEPNS_9ExecStateE
    171168__ZN3JSC23AbstractSamplingCounter4dumpEv
    172169__ZN3JSC23objectProtoFuncToStringEPNS_9ExecStateEPNS_8JSObjectENS_7JSValueERKNS_7ArgListE
     
    214211__ZN3JSC7CStringaSERKS0_
    215212__ZN3JSC7JSArray4infoE
     213__ZN3JSC7JSArrayC1EN3WTF10PassRefPtrINS_9StructureEEE
     214__ZN3JSC7JSArrayC1EN3WTF10PassRefPtrINS_9StructureEEERKNS_7ArgListE
    216215__ZN3JSC7Profile10restoreAllEv
    217216__ZN3JSC7Profile5focusEPKNS_11ProfileNodeE
     
    302301__ZN3WTF12randomNumberEv
    303302__ZN3WTF13currentThreadEv
    304 __ZN3WTF13tryFastMallocEm
    305303__ZN3WTF13tryFastCallocEmm
    306304__ZN3WTF13tryFastMallocEm
     
    356354__ZNK3JSC18PropertyDescriptor16isDataDescriptorEv
    357355__ZNK3JSC18PropertyDescriptor20isAccessorDescriptorEv
     356__ZNK3JSC18PropertyDescriptor6getterEv
    358357__ZNK3JSC18PropertyDescriptor6setterEv
    359 __ZNK3JSC18PropertyDescriptor6getterEv
    360358__ZNK3JSC18PropertyDescriptor8writableEv
    361359__ZNK3JSC4Heap10statisticsEv
Note: See TracChangeset for help on using the changeset viewer.