Ignore:
Timestamp:
Nov 2, 2019, 5:49:58 PM (6 years ago)
Author:
[email protected]
Message:

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):

  • runtime/JSArray.cpp:

(JSC::JSArray::unshiftCountSlowCase):
(JSC::JSArray::appendMemcpy):
(JSC::JSArray::fastSlice):
(JSC::JSArray::shiftCountWithArrayStorage):
(JSC::JSArray::shiftCountWithAnyIndexingType):
(JSC::JSArray::unshiftCountWithArrayStorage):

  • runtime/JSObject.cpp:

(JSC::JSObject::constructConvertedArrayStorageWithoutCopyingElements):
(JSC::JSObject::convertFromCopyOnWrite):
(JSC::JSObject::shiftButterflyAfterFlattening):

  • runtime/JSObject.h:
  • runtime/RegExpMatchesArray.h:

(JSC::createRegExpMatchesArray):

  • runtime/Structure.cpp:

(JSC::Structure::flattenDictionaryStructure):

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/Source/JavaScriptCore/ChangeLog

    r251966 r251967  
     12019-11-02  Alexey Proskuryakov  <[email protected]>
     2
     3        Revert http://trac.webkit.org/r251875
     4        Don't use memmove/memcpy/memset for memory that can be scanned concurrently
     5
     6        This is suspected to have broken performance tests on iOS.
     7
     8        Also reverted http://trac.webkit.org/r251909, because that was necessary for clean revert.
     9        gcSafeMemmove references undefined slowPathBackwardsMemmove on non-gcc compatible compilers
     10
     11        * CMakeLists.txt:
     12        * JavaScriptCore.xcodeproj/project.pbxproj:
     13        * heap/GCMemoryOperations.h: Removed.
     14        * heap/Heap.h:
     15        * runtime/ArrayConventions.cpp:
     16        (JSC::clearArrayMemset):
     17        * runtime/ArrayPrototype.cpp:
     18        (JSC::copyElements):
     19        * runtime/ButterflyInlines.h:
     20        (JSC::Butterfly::tryCreate):
     21        (JSC::Butterfly::createOrGrowPropertyStorage):
     22        (JSC::Butterfly::growArrayRight):
     23        (JSC::Butterfly::reallocArrayRightIfPossible):
     24        (JSC::Butterfly::resizeArray):
     25        (JSC::Butterfly::unshift):
     26        (JSC::Butterfly::shift):
     27        * runtime/JSArray.cpp:
     28        (JSC::JSArray::unshiftCountSlowCase):
     29        (JSC::JSArray::appendMemcpy):
     30        (JSC::JSArray::fastSlice):
     31        (JSC::JSArray::shiftCountWithArrayStorage):
     32        (JSC::JSArray::shiftCountWithAnyIndexingType):
     33        (JSC::JSArray::unshiftCountWithArrayStorage):
     34        * runtime/JSObject.cpp:
     35        (JSC::JSObject::constructConvertedArrayStorageWithoutCopyingElements):
     36        (JSC::JSObject::convertFromCopyOnWrite):
     37        (JSC::JSObject::shiftButterflyAfterFlattening):
     38        * runtime/JSObject.h:
     39        * runtime/RegExpMatchesArray.h:
     40        (JSC::createRegExpMatchesArray):
     41        * runtime/Structure.cpp:
     42        (JSC::Structure::flattenDictionaryStructure):
     43
    1442019-11-02  Robin Morisset  <[email protected]>
    245
Note: See TracChangeset for help on using the changeset viewer.