Heap::writeBarrier shouldn't be static
https://bugs.webkit.org/show_bug.cgi?id=127807
Reviewed by Geoffrey Garen.
Currently it looks up the Heap in which to fire the write barrier by using
the cell passed to it. Almost every call site already has a reference to the
VM or the Heap itself. It seems wasteful to look it up all over again.
Source/JavaScriptCore:
(JSC::CopyWriteBarrier::set):
(JSC::Heap::writeBarrier):
(JSC::Heap::writeBarrier):
- jit/JITOperations.cpp:
- jit/JITWriteBarrier.h:
(JSC::JITWriteBarrierBase::set):
- llint/LLIntSlowPaths.cpp:
(JSC::LLInt::llint_write_barrier_slow):
- runtime/Arguments.h:
- runtime/JSWeakMap.cpp:
- runtime/MapData.cpp:
(JSC::MapData::ensureSpaceForAppend):
- runtime/PropertyTable.cpp:
(JSC::PropertyTable::PropertyTable):
- runtime/Structure.h:
- runtime/WriteBarrier.h:
- runtime/WriteBarrierInlines.h: Added.
Source/WebCore:
- bindings/js/JSEventListener.cpp:
(WebCore::JSEventListener::JSEventListener):
- bindings/js/JSEventListener.h:
(WebCore::JSEventListener::jsFunction):