Ignore:
Timestamp:
Apr 3, 2018, 4:52:09 PM (7 years ago)
Author:
[email protected]
Message:

GC shouldn't do object distancing
https://bugs.webkit.org/show_bug.cgi?id=184195

Reviewed by Saam Barati.
Source/JavaScriptCore:


This rolls out SecurityKind/SecurityOriginToken, but keeps the TLC infrastructure. It seems
to be a small speed-up.

  • CMakeLists.txt:
  • JavaScriptCore.xcodeproj/project.pbxproj:
  • Sources.txt:
  • heap/BlockDirectory.cpp:

(JSC::BlockDirectory::findBlockForAllocation):
(JSC::BlockDirectory::addBlock):

  • heap/BlockDirectory.h:
  • heap/CellAttributes.cpp:

(JSC::CellAttributes::dump const):

  • heap/CellAttributes.h:

(JSC::CellAttributes::CellAttributes):

  • heap/LocalAllocator.cpp:

(JSC::LocalAllocator::allocateSlowCase):
(JSC::LocalAllocator::tryAllocateWithoutCollecting):

  • heap/MarkedBlock.cpp:

(JSC::MarkedBlock::Handle::didAddToDirectory):

  • heap/MarkedBlock.h:

(JSC::MarkedBlock::Handle::securityOriginToken const): Deleted.

  • heap/SecurityKind.cpp: Removed.
  • heap/SecurityKind.h: Removed.
  • heap/SecurityOriginToken.cpp: Removed.
  • heap/SecurityOriginToken.h: Removed.
  • heap/ThreadLocalCache.cpp:

(JSC::ThreadLocalCache::create):
(JSC::ThreadLocalCache::ThreadLocalCache):

  • heap/ThreadLocalCache.h:

(JSC::ThreadLocalCache::securityOriginToken const): Deleted.

  • runtime/JSDestructibleObjectHeapCellType.cpp:

(JSC::JSDestructibleObjectHeapCellType::JSDestructibleObjectHeapCellType):

  • runtime/JSGlobalObject.cpp:

(JSC::JSGlobalObject::JSGlobalObject):

  • runtime/JSGlobalObject.h:

(JSC::JSGlobalObject::threadLocalCache const): Deleted.

  • runtime/JSSegmentedVariableObjectHeapCellType.cpp:

(JSC::JSSegmentedVariableObjectHeapCellType::JSSegmentedVariableObjectHeapCellType):

  • runtime/JSStringHeapCellType.cpp:

(JSC::JSStringHeapCellType::JSStringHeapCellType):

  • runtime/VM.cpp:

(JSC::VM::VM):

  • runtime/VM.h:
  • runtime/VMEntryScope.cpp:

(JSC::VMEntryScope::VMEntryScope):

  • wasm/js/JSWebAssemblyCodeBlockHeapCellType.cpp:

(JSC::JSWebAssemblyCodeBlockHeapCellType::JSWebAssemblyCodeBlockHeapCellType):

Source/WebCore:

No new tests because no change in behavior.

  • Sources.txt:
  • WebCore.xcodeproj/project.pbxproj:
  • bindings/js/JSDOMGlobalObject.cpp:

(WebCore::JSDOMGlobalObject::JSDOMGlobalObject):

  • bindings/js/JSDOMGlobalObject.h:
  • bindings/js/JSDOMWindowBase.cpp:

(WebCore::JSDOMWindowBase::JSDOMWindowBase):

  • dom/Document.cpp:

(WebCore::Document::threadLocalCache): Deleted.

  • dom/Document.h:
  • page/OriginThreadLocalCache.cpp: Removed.
  • page/OriginThreadLocalCache.h: Removed.
File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/Source/JavaScriptCore/heap/CellAttributes.h

    r228552 r230226  
    2828#include "DestructionMode.h"
    2929#include "HeapCell.h"
    30 #include "SecurityKind.h"
    3130#include <wtf/PrintStream.h>
    3231
     
    3635    CellAttributes() { }
    3736   
    38     CellAttributes(DestructionMode destruction, HeapCell::Kind cellKind, SecurityKind securityKind)
     37    CellAttributes(DestructionMode destruction, HeapCell::Kind cellKind)
    3938        : destruction(destruction)
    4039        , cellKind(cellKind)
    41         , securityKind(securityKind)
    4240    {
    4341    }
     
    4745    DestructionMode destruction { DoesNotNeedDestruction };
    4846    HeapCell::Kind cellKind { HeapCell::JSCell };
    49     SecurityKind securityKind { SecurityKind::DangerousBits };
    5047};
    5148
Note: See TracChangeset for help on using the changeset viewer.