Skip to content
  • oliver@apple.com's avatar
    Use bump allocator for initial property storage · ba6907b7
    oliver@apple.com authored
    https://bugs.webkit.org/show_bug.cgi?id=67494
    
    Reviewed by Geoffrey Garen.
    
    ../../../../Volumes/Data/git/WebKit/OpenSource/Source/JavaScriptCore:
    
    Use a bump allocator for initial allocation of property storage,
    and promote to fastMalloc memory only if it survives a GC pass.
    
    Comes out as a 1% win on v8, and is a useful step on the way to
    GC allocation of all property storage.
    
    * JavaScriptCore.exp:
    * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.def:
    * JavaScriptCore.xcodeproj/project.pbxproj:
    * heap/Heap.cpp:
    (JSC::Heap::collect):
    * heap/Heap.h:
    (JSC::Heap::allocatePropertyStorage):
    (JSC::Heap::inPropertyStorageNursery):
    * heap/MarkedBlock.h:
    * heap/NewSpace.cpp:
    (JSC::NewSpace::NewSpace):
    * heap/NewSpace.h:
    (JSC::NewSpace::resetPropertyStorageNursery):
    (JSC::NewSpace::allocatePropertyStorage):
    (JSC::NewSpace::inPropertyStorageNursery):
    * jit/JITStubs.cpp:
    (JSC::DEFINE_STUB_FUNCTION):
    * runtime/JSObject.cpp:
    (JSC::JSObject::allocatePropertyStorage):
    * runtime/JSObject.h:
    (JSC::JSObject::isUsingInlineStorage):
    (JSC::JSObject::JSObject):
    (JSC::JSObject::propertyStorage):
    (JSC::JSObject::~JSObject):
    (JSC::JSObject::putDirectInternal):
    (JSC::JSObject::putDirectWithoutTransition):
    (JSC::JSObject::putDirectFunctionWithoutTransition):
    (JSC::JSObject::transitionTo):
    (JSC::JSObject::visitChildrenDirect):
    * runtime/StorageBarrier.h: Added.
    (JSC::StorageBarrier::StorageBarrier):
    (JSC::StorageBarrier::set):
    (JSC::StorageBarrier::operator->):
    (JSC::StorageBarrier::operator*):
    (JSC::StorageBarrier::operator[]):
    (JSC::StorageBarrier::get):
    
    ../../../../Volumes/Data/git/WebKit/OpenSource/Source/WebCore:
    
    Add a forwarding header.
    
    * ForwardingHeaders/runtime/StorageBarrier.h: Added.
    
    git-svn-id: http://svn.webkit.org/repository/webkit/trunk@94814 268f45cc-cd09-0410-ab3c-d52691b4dbfc
    ba6907b7