Ignore:
Timestamp:
Sep 2, 2011, 1:41:59 PM (14 years ago)
Author:
[email protected]
Message:

Use bump allocator for initial property storage
https://bugs.webkit.org/show_bug.cgi?id=67494

Reviewed by Gavin Barraclough.

Switch to a bump allocator for the initial out of line
property storage. This gives us slightly faster allocation
for short lived objects that need out of line storage at
the cost of an additional memcpy when the object survives
a GC pass.

No performance impact.

(JSC::Heap::collect):

  • heap/Heap.h:

(JSC::Heap::allocatePropertyStorage):
(JSC::Heap::inPropertyStorageNursary):

  • heap/NewSpace.cpp:

(JSC::NewSpace::NewSpace):

  • heap/NewSpace.h:

(JSC::NewSpace::resetPropertyStorageNursary):
(JSC::NewSpace::allocatePropertyStorage):
(JSC::NewSpace::inPropertyStorageNursary):

  • jit/JITStubs.cpp:

(JSC::DEFINE_STUB_FUNCTION):

  • runtime/JSObject.cpp:

(JSC::JSObject::allocatePropertyStorage):

  • runtime/JSObject.h:

(JSC::JSObject::~JSObject):
(JSC::JSObject::putDirectInternal):
(JSC::JSObject::putDirectWithoutTransition):
(JSC::JSObject::putDirectFunctionWithoutTransition):
(JSC::JSObject::transitionTo):
(JSC::JSObject::visitChildrenDirect):

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/Source/JavaScriptCore/ChangeLog

    r94376 r94445  
     12011-09-02  Oliver Hunt  <[email protected]>
     2
     3        Use bump allocator for initial property storage
     4        https://bugs.webkit.org/show_bug.cgi?id=67494
     5
     6        Reviewed by Gavin Barraclough.
     7
     8        Switch to a bump allocator for the initial out of line
     9        property storage.  This gives us slightly faster allocation
     10        for short lived objects that need out of line storage at
     11        the cost of an additional memcpy when the object survives
     12        a GC pass.
     13
     14        No performance impact.
     15
     16        * JavaScriptCore.exp:
     17        * heap/Heap.cpp:
     18        (JSC::Heap::collect):
     19        * heap/Heap.h:
     20        (JSC::Heap::allocatePropertyStorage):
     21        (JSC::Heap::inPropertyStorageNursary):
     22        * heap/NewSpace.cpp:
     23        (JSC::NewSpace::NewSpace):
     24        * heap/NewSpace.h:
     25        (JSC::NewSpace::resetPropertyStorageNursary):
     26        (JSC::NewSpace::allocatePropertyStorage):
     27        (JSC::NewSpace::inPropertyStorageNursary):
     28        * jit/JITStubs.cpp:
     29        (JSC::DEFINE_STUB_FUNCTION):
     30        * runtime/JSObject.cpp:
     31        (JSC::JSObject::allocatePropertyStorage):
     32        * runtime/JSObject.h:
     33        (JSC::JSObject::~JSObject):
     34        (JSC::JSObject::putDirectInternal):
     35        (JSC::JSObject::putDirectWithoutTransition):
     36        (JSC::JSObject::putDirectFunctionWithoutTransition):
     37        (JSC::JSObject::transitionTo):
     38        (JSC::JSObject::visitChildrenDirect):
     39
    1402011-09-01  Mark Rowe  <[email protected]>
    241
Note: See TracChangeset for help on using the changeset viewer.