Revert http://trac.webkit.org/r251875
Don't use memmove/memcpy/memset for memory that can be scanned concurrently
This is suspected to have broken performance tests on iOS.
JSTests:
- stress/torn-js-value-concurrent-collector.js: Removed.
Source/JavaScriptCore:
Also reverted http://trac.webkit.org/r251909, because that was necessary for clean revert.
gcSafeMemmove references undefined slowPathBackwardsMemmove on non-gcc compatible compilers
- CMakeLists.txt:
- JavaScriptCore.xcodeproj/project.pbxproj:
- heap/GCMemoryOperations.h: Removed.
- heap/Heap.h:
- runtime/ArrayConventions.cpp:
(JSC::clearArrayMemset):
- runtime/ArrayPrototype.cpp:
(JSC::copyElements):
- runtime/ButterflyInlines.h:
(JSC::Butterfly::tryCreate):
(JSC::Butterfly::createOrGrowPropertyStorage):
(JSC::Butterfly::growArrayRight):
(JSC::Butterfly::reallocArrayRightIfPossible):
(JSC::Butterfly::resizeArray):
(JSC::Butterfly::unshift):
(JSC::Butterfly::shift):
(JSC::JSArray::unshiftCountSlowCase):
(JSC::JSArray::appendMemcpy):
(JSC::JSArray::fastSlice):
(JSC::JSArray::shiftCountWithArrayStorage):
(JSC::JSArray::shiftCountWithAnyIndexingType):
(JSC::JSArray::unshiftCountWithArrayStorage):
(JSC::JSObject::constructConvertedArrayStorageWithoutCopyingElements):
(JSC::JSObject::convertFromCopyOnWrite):
(JSC::JSObject::shiftButterflyAfterFlattening):
- runtime/JSObject.h:
- runtime/RegExpMatchesArray.h:
(JSC::createRegExpMatchesArray):
(JSC::Structure::flattenDictionaryStructure):