Changeset 197226 in webkit


Ignore:
Timestamp:
Feb 26, 2016 6:10:29 PM (8 years ago)
Author:
oliver@apple.com
Message:

Remove the on demand executable allocator
https://bugs.webkit.org/show_bug.cgi?id=154749

Reviewed by Geoffrey Garen.

Source/JavaScriptCore:

Remove all the DemandExecutable code and executable allocator ifdefs.

(JSC::DemandExecutableAllocator::DemandExecutableAllocator): Deleted.
(JSC::DemandExecutableAllocator::~DemandExecutableAllocator): Deleted.
(JSC::DemandExecutableAllocator::bytesAllocatedByAllAllocators): Deleted.
(JSC::DemandExecutableAllocator::bytesCommittedByAllocactors): Deleted.
(JSC::DemandExecutableAllocator::dumpProfileFromAllAllocators): Deleted.
(JSC::DemandExecutableAllocator::allocateNewSpace): Deleted.
(JSC::DemandExecutableAllocator::notifyNeedPage): Deleted.
(JSC::DemandExecutableAllocator::notifyPageIsFree): Deleted.
(JSC::DemandExecutableAllocator::allocators): Deleted.
(JSC::DemandExecutableAllocator::allocatorsMutex): Deleted.
(JSC::ExecutableAllocator::initializeAllocator): Deleted.
(JSC::ExecutableAllocator::ExecutableAllocator): Deleted.
(JSC::ExecutableAllocator::~ExecutableAllocator): Deleted.
(JSC::ExecutableAllocator::isValid): Deleted.
(JSC::ExecutableAllocator::underMemoryPressure): Deleted.
(JSC::ExecutableAllocator::memoryPressureMultiplier): Deleted.
(JSC::ExecutableAllocator::allocate): Deleted.
(JSC::ExecutableAllocator::committedByteCount): Deleted.
(JSC::ExecutableAllocator::dumpProfile): Deleted.
(JSC::ExecutableAllocator::getLock): Deleted.
(JSC::ExecutableAllocator::isValidExecutableMemory): Deleted.
(JSC::ExecutableAllocator::reprotectRegion): Deleted.

  • jit/ExecutableAllocator.h:
  • jit/ExecutableAllocatorFixedVMPool.cpp:
  • jit/JITStubRoutine.h:

(JSC::JITStubRoutine::canPerformRangeFilter): Deleted.
(JSC::JITStubRoutine::filteringStartAddress): Deleted.
(JSC::JITStubRoutine::filteringExtentSize): Deleted.

Source/WTF:

Remove the DeamndExecutableAllocator compile flags.

  • wtf/Platform.h:
Location:
trunk/Source
Files:
1 deleted
10 edited

Legend:

Unmodified
Added
Removed
  • trunk/Source/JavaScriptCore/CMakeLists.txt

    r197056 r197226  
    516516    jit/CallFrameShuffler64.cpp
    517517    jit/ExecutableAllocationFuzz.cpp
    518     jit/ExecutableAllocator.cpp
    519518    jit/ExecutableAllocatorFixedVMPool.cpp
    520519    jit/GCAwareJITStubRoutine.cpp
  • trunk/Source/JavaScriptCore/ChangeLog

    r197210 r197226  
     12016-02-26  Oliver Hunt  <oliver@apple.com>
     2
     3        Remove the on demand executable allocator
     4        https://bugs.webkit.org/show_bug.cgi?id=154749
     5
     6        Reviewed by Geoffrey Garen.
     7
     8        Remove all the DemandExecutable code and executable allocator ifdefs.
     9
     10        * CMakeLists.txt:
     11        * JavaScriptCore.vcxproj/JavaScriptCore.vcxproj:
     12        * JavaScriptCore.vcxproj/JavaScriptCore.vcxproj.filters:
     13        * JavaScriptCore.xcodeproj/project.pbxproj:
     14        * jit/ExecutableAllocator.cpp: Removed.
     15        (JSC::DemandExecutableAllocator::DemandExecutableAllocator): Deleted.
     16        (JSC::DemandExecutableAllocator::~DemandExecutableAllocator): Deleted.
     17        (JSC::DemandExecutableAllocator::bytesAllocatedByAllAllocators): Deleted.
     18        (JSC::DemandExecutableAllocator::bytesCommittedByAllocactors): Deleted.
     19        (JSC::DemandExecutableAllocator::dumpProfileFromAllAllocators): Deleted.
     20        (JSC::DemandExecutableAllocator::allocateNewSpace): Deleted.
     21        (JSC::DemandExecutableAllocator::notifyNeedPage): Deleted.
     22        (JSC::DemandExecutableAllocator::notifyPageIsFree): Deleted.
     23        (JSC::DemandExecutableAllocator::allocators): Deleted.
     24        (JSC::DemandExecutableAllocator::allocatorsMutex): Deleted.
     25        (JSC::ExecutableAllocator::initializeAllocator): Deleted.
     26        (JSC::ExecutableAllocator::ExecutableAllocator): Deleted.
     27        (JSC::ExecutableAllocator::~ExecutableAllocator): Deleted.
     28        (JSC::ExecutableAllocator::isValid): Deleted.
     29        (JSC::ExecutableAllocator::underMemoryPressure): Deleted.
     30        (JSC::ExecutableAllocator::memoryPressureMultiplier): Deleted.
     31        (JSC::ExecutableAllocator::allocate): Deleted.
     32        (JSC::ExecutableAllocator::committedByteCount): Deleted.
     33        (JSC::ExecutableAllocator::dumpProfile): Deleted.
     34        (JSC::ExecutableAllocator::getLock): Deleted.
     35        (JSC::ExecutableAllocator::isValidExecutableMemory): Deleted.
     36        (JSC::ExecutableAllocator::reprotectRegion): Deleted.
     37        * jit/ExecutableAllocator.h:
     38        * jit/ExecutableAllocatorFixedVMPool.cpp:
     39        * jit/JITStubRoutine.h:
     40        (JSC::JITStubRoutine::canPerformRangeFilter): Deleted.
     41        (JSC::JITStubRoutine::filteringStartAddress): Deleted.
     42        (JSC::JITStubRoutine::filteringExtentSize): Deleted.
     43
    1442016-02-26  Joseph Pecoraro  <pecoraro@apple.com>
    245
  • trunk/Source/JavaScriptCore/JavaScriptCore.vcxproj/JavaScriptCore.vcxproj

    r196759 r197226  
    636636    <ClCompile Include="..\jit\CallFrameShuffler64.cpp" />
    637637    <ClCompile Include="..\jit\ExecutableAllocationFuzz.cpp" />
    638     <ClCompile Include="..\jit\ExecutableAllocator.cpp" />
    639638    <ClCompile Include="..\jit\ExecutableAllocatorFixedVMPool.cpp" />
    640639    <ClCompile Include="..\jit\GCAwareJITStubRoutine.cpp" />
  • trunk/Source/JavaScriptCore/JavaScriptCore.vcxproj/JavaScriptCore.vcxproj.filters

    r196759 r197226  
    391391      <Filter>interpreter</Filter>
    392392    </ClCompile>
    393     <ClCompile Include="..\jit\ExecutableAllocator.cpp">
    394       <Filter>jit</Filter>
    395     </ClCompile>
    396393    <ClCompile Include="..\jit\GCAwareJITStubRoutine.cpp">
    397394      <Filter>jit</Filter>
  • trunk/Source/JavaScriptCore/JavaScriptCore.xcodeproj/project.pbxproj

    r196812 r197226  
    17581758                A7A8AF4117ADB5F3005AB174 /* Uint16Array.h in Headers */ = {isa = PBXBuildFile; fileRef = A7A8AF3217ADB5F3005AB174 /* Uint16Array.h */; settings = {ATTRIBUTES = (Private, ); }; };
    17591759                A7A8AF4217ADB5F3005AB174 /* Uint32Array.h in Headers */ = {isa = PBXBuildFile; fileRef = A7A8AF3317ADB5F3005AB174 /* Uint32Array.h */; settings = {ATTRIBUTES = (Private, ); }; };
    1760                 A7B48F490EE8936F00DCBDB6 /* ExecutableAllocator.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A7B48DB60EE74CFC00DCBDB6 /* ExecutableAllocator.cpp */; };
    17611760                A7B4ACAF1484C9CE00B38A36 /* JSExportMacros.h in Headers */ = {isa = PBXBuildFile; fileRef = A7B4ACAE1484C9CE00B38A36 /* JSExportMacros.h */; settings = {ATTRIBUTES = (Private, ); }; };
    17621761                A7B601821639FD2A00372BA3 /* UnlinkedCodeBlock.h in Headers */ = {isa = PBXBuildFile; fileRef = A79E781F15EECBA80047C855 /* UnlinkedCodeBlock.h */; settings = {ATTRIBUTES = (Private, ); }; };
     
    39483947                A7A979C418BE8D9E002C3733 /* FunctionPrototype.js */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.javascript; path = FunctionPrototype.js; sourceTree = "<group>"; };
    39493948                A7B48DB50EE74CFC00DCBDB6 /* ExecutableAllocator.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ExecutableAllocator.h; sourceTree = "<group>"; };
    3950                 A7B48DB60EE74CFC00DCBDB6 /* ExecutableAllocator.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ExecutableAllocator.cpp; sourceTree = "<group>"; };
    39513949                A7B4ACAE1484C9CE00B38A36 /* JSExportMacros.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = JSExportMacros.h; sourceTree = "<group>"; };
    39523950                A7BDAEC217F4EA1400F6140C /* ArrayIteratorPrototype.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; lineEnding = 0; path = ArrayIteratorPrototype.cpp; sourceTree = "<group>"; xcLanguageSpecificationIdentifier = xcode.lang.cpp; };
     
    49434941                                0FF054F71AC35B4400E5BE57 /* ExecutableAllocationFuzz.cpp */,
    49444942                                0FF054F81AC35B4400E5BE57 /* ExecutableAllocationFuzz.h */,
    4945                                 A7B48DB60EE74CFC00DCBDB6 /* ExecutableAllocator.cpp */,
    49464943                                A7B48DB50EE74CFC00DCBDB6 /* ExecutableAllocator.h */,
    49474944                                86DB64630F95C6FC00D7D921 /* ExecutableAllocatorFixedVMPool.cpp */,
     
    88508847                                86CA032E1038E8440028A609 /* Executable.cpp in Sources */,
    88518848                                0FF054F91AC35B4400E5BE57 /* ExecutableAllocationFuzz.cpp in Sources */,
    8852                                 A7B48F490EE8936F00DCBDB6 /* ExecutableAllocator.cpp in Sources */,
    88538849                                86DB64640F95C6FC00D7D921 /* ExecutableAllocatorFixedVMPool.cpp in Sources */,
    88548850                                0F56A1D515001CF4002992B1 /* ExecutionCounter.cpp in Sources */,
  • trunk/Source/JavaScriptCore/jit/ExecutableAllocator.h

    r194840 r197226  
    7070#if ENABLE(ASSEMBLER)
    7171
    72 #if ENABLE(EXECUTABLE_ALLOCATOR_DEMAND)
    73 class DemandExecutableAllocator;
    74 #endif
    75 
    76 #if ENABLE(EXECUTABLE_ALLOCATOR_FIXED)
    7772#if CPU(ARM)
    7873static const size_t fixedExecutableMemoryPoolSize = 16 * 1024 * 1024;
     
    9186
    9287extern uintptr_t startOfFixedExecutableMemoryPool;
    93 #endif
    9488
    9589class ExecutableAllocator {
  • trunk/Source/JavaScriptCore/jit/ExecutableAllocatorFixedVMPool.cpp

    r194840 r197226  
    2929#include "JSCInlines.h"
    3030
    31 #if ENABLE(EXECUTABLE_ALLOCATOR_FIXED)
    32 
    3331#include "CodeProfiling.h"
    3432#include "ExecutableAllocationFuzz.h"
     
    223221
    224222}
    225 
    226 
    227 #endif // ENABLE(EXECUTABLE_ALLOCATOR_FIXED)
  • trunk/Source/JavaScriptCore/jit/JITStubRoutine.h

    r190735 r197226  
    104104    static bool canPerformRangeFilter()
    105105    {
    106 #if ENABLE(EXECUTABLE_ALLOCATOR_FIXED)
    107106        return true;
    108 #else
    109         return false;
    110 #endif
    111107    }
    112108    static uintptr_t filteringStartAddress()
    113109    {
    114 #if ENABLE(EXECUTABLE_ALLOCATOR_FIXED)
    115110        return startOfFixedExecutableMemoryPool;
    116 #else
    117         UNREACHABLE_FOR_PLATFORM();
    118         return 0;
    119 #endif
    120111    }
    121112    static size_t filteringExtentSize()
    122113    {
    123 #if ENABLE(EXECUTABLE_ALLOCATOR_FIXED)
    124114        return fixedExecutableMemoryPoolSize;
    125 #else
    126         UNREACHABLE_FOR_PLATFORM();
    127         return 0;
    128 #endif
    129115    }
    130116    static bool passesFilter(uintptr_t address)
  • trunk/Source/WTF/ChangeLog

    r197214 r197226  
     12016-02-26  Oliver Hunt  <oliver@apple.com>
     2
     3        Remove the on demand executable allocator
     4        https://bugs.webkit.org/show_bug.cgi?id=154749
     5
     6        Reviewed by Geoffrey Garen.
     7
     8        Remove the DeamndExecutableAllocator compile flags.
     9
     10        * wtf/Platform.h:
     11
    1122016-02-26  Keith Rollin  <krollin@apple.com>
    213
  • trunk/Source/WTF/wtf/Platform.h

    r197214 r197226  
    883883#endif
    884884
    885 /* Pick which allocator to use; we only need an executable allocator if the assembler is compiled in.
    886    On non-Windows x86-64, iOS, and ARM64 we use a single fixed mmap, on other platforms we mmap on demand. */
    887 #if ENABLE(ASSEMBLER)
    888 #if CPU(X86_64) || PLATFORM(IOS) || CPU(ARM64)
    889 #define ENABLE_EXECUTABLE_ALLOCATOR_FIXED 1
    890 #else
    891 #define ENABLE_EXECUTABLE_ALLOCATOR_DEMAND 1
    892 #endif
    893 #endif
    894 
    895885/* CSS Selector JIT Compiler */
    896886#if !defined(ENABLE_CSS_SELECTOR_JIT)
Note: See TracChangeset for help on using the changeset viewer.