Use bump allocator for initial property storage
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.
(JSC::Heap::collect):
(JSC::Heap::allocatePropertyStorage):
(JSC::Heap::inPropertyStorageNursery):
- heap/MarkedBlock.h:
- heap/NewSpace.cpp:
(JSC::NewSpace::NewSpace):
(JSC::NewSpace::resetPropertyStorageNursery):
(JSC::NewSpace::allocatePropertyStorage):
(JSC::NewSpace::inPropertyStorageNursery):
(JSC::DEFINE_STUB_FUNCTION):
(JSC::JSObject::allocatePropertyStorage):
(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.