haikuwebkit/Source/WTF/wtf/WTFAssertions.cpp

59 lines
2.0 KiB
C++
Raw Permalink Normal View History

2018-01-03 00:56:55 +00:00
/*
Define MacroAssemblerARM64E::numberOfPACBits based on OS_CONSTANT(EFFECTIVE_ADDRESS_WIDTH). https://bugs.webkit.org/show_bug.cgi?id=227147 rdar://78785309 Reviewed by Saam Barati. Source/bmalloc: For OS(DARWIN), define BOS_EFFECTIVE_ADDRESS_WIDTH in terms of MACH_VM_MAX_ADDRESS, which is provided by the SDK. This ensures that it is correct for each target OS(DARWIN) platform. * bmalloc/Algorithm.h: (bmalloc::clzConstexpr): (bmalloc::getMSBSetConstexpr): * bmalloc/BPlatform.h: * bmalloc/Gigacage.h: * bmalloc/ObjectTypeTable.h: * bmalloc/Packed.h: Source/JavaScriptCore: * assembler/MacroAssemblerARM64E.h: * bytecode/CodeOrigin.h: * runtime/JSString.h: * runtime/OptionsList.h: Source/WTF: For OS(DARWIN), define OS_CONSTANT(EFFECTIVE_ADDRESS_WIDTH) in terms of MACH_VM_MAX_ADDRESS, which is provided by the SDK. This ensures that it is correct for each target OS(DARWIN) platform. Also update an assertion in WTFAssertions.cpp to verify that address bits are less than 48. The purpose of this assertion is to ensure that our 64-bit NaN boxing encoding for JSValues will work. Hence, we should use the encoding limit for pointers of 48 bits. It no longer makes sense to assert based on OS_CONSTANT(EFFECTIVE_ADDRESS_WIDTH), because OS_CONSTANT(EFFECTIVE_ADDRESS_WIDTH) is defined in terms of MACH_VM_MAX_ADDRESS. * wtf/CagedPtr.h: * wtf/CompactPointerTuple.h: * wtf/PlatformOS.h: * wtf/WTFAssertions.cpp: * wtf/threads/Signals.cpp: Tools: * TestWebKitAPI/Tests/WTF/Packed.cpp: Canonical link: https://commits.webkit.org/238948@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@279028 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2021-06-18 01:44:42 +00:00
* Copyright (C) 2017-2021 Apple Inc. All rights reserved.
2018-01-03 00:56:55 +00:00
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
* are met:
* 1. Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
* 2. Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
*
* THIS SOFTWARE IS PROVIDED BY APPLE INC. ``AS IS'' AND ANY
* EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
* PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR
* CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
* EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
* PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
* PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
* OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
#include "config.h"
Apply poisoning to more pointers in JSC. https://bugs.webkit.org/show_bug.cgi?id=181096 <rdar://problem/36182970> Reviewed by JF Bastien. Source/JavaScriptCore: * assembler/MacroAssembler.h: (JSC::MacroAssembler::xorPtr): * assembler/MacroAssemblerARM64.h: (JSC::MacroAssemblerARM64::xor64): * assembler/MacroAssemblerX86_64.h: (JSC::MacroAssemblerX86_64::xor64): - Add xorPtr implementation. * bytecode/CodeBlock.cpp: (JSC::CodeBlock::inferredName const): (JSC::CodeBlock::CodeBlock): (JSC::CodeBlock::finishCreation): (JSC::CodeBlock::~CodeBlock): (JSC::CodeBlock::setConstantRegisters): (JSC::CodeBlock::visitWeakly): (JSC::CodeBlock::visitChildren): (JSC::CodeBlock::propagateTransitions): (JSC::CodeBlock::WeakReferenceHarvester::visitWeakReferences): (JSC::CodeBlock::finalizeLLIntInlineCaches): (JSC::CodeBlock::finalizeBaselineJITInlineCaches): (JSC::CodeBlock::UnconditionalFinalizer::finalizeUnconditionally): (JSC::CodeBlock::jettison): (JSC::CodeBlock::predictedMachineCodeSize): (JSC::CodeBlock::findPC): * bytecode/CodeBlock.h: (JSC::CodeBlock::UnconditionalFinalizer::UnconditionalFinalizer): (JSC::CodeBlock::WeakReferenceHarvester::WeakReferenceHarvester): (JSC::CodeBlock::stubInfoBegin): (JSC::CodeBlock::stubInfoEnd): (JSC::CodeBlock::callLinkInfosBegin): (JSC::CodeBlock::callLinkInfosEnd): (JSC::CodeBlock::instructions): (JSC::CodeBlock::instructions const): (JSC::CodeBlock::vm const): * dfg/DFGOSRExitCompilerCommon.h: (JSC::DFG::adjustFrameAndStackInOSRExitCompilerThunk): * jit/JIT.h: * llint/LLIntOfflineAsmConfig.h: * llint/LowLevelInterpreter.asm: * llint/LowLevelInterpreter64.asm: * parser/UnlinkedSourceCode.h: * runtime/JSCPoison.h: * runtime/JSGlobalObject.cpp: (JSC::JSGlobalObject::init): * runtime/JSGlobalObject.h: * runtime/JSScriptFetchParameters.h: * runtime/JSScriptFetcher.h: * runtime/StructureTransitionTable.h: * wasm/js/JSWebAssemblyCodeBlock.cpp: (JSC::JSWebAssemblyCodeBlock::JSWebAssemblyCodeBlock): (JSC::JSWebAssemblyCodeBlock::visitChildren): (JSC::JSWebAssemblyCodeBlock::UnconditionalFinalizer::finalizeUnconditionally): * wasm/js/JSWebAssemblyCodeBlock.h: Source/WTF: Added support for PoisonedBag and PoisonedRefCountedArray. * wtf/Bag.h: (WTF::Private::BagNode::BagNode): (WTF::Bag::Bag): (WTF::Bag::operator=): (WTF::Bag::clear): (WTF::Bag::add): (WTF::Bag::begin): (WTF::Bag::unwrappedHead): (WTF::Bag::Node::Node): Deleted. * wtf/BagToHashMap.h: (WTF::toHashMap): * wtf/Poisoned.h: (WTF::constExprPoisonRandom): (WTF::makeConstExprPoison): * wtf/RefCountedArray.h: (WTF::RefCountedArray::RefCountedArray): (WTF::RefCountedArray::clone const): (WTF::RefCountedArray::operator=): (WTF::RefCountedArray::~RefCountedArray): (WTF::RefCountedArray::refCount const): (WTF::RefCountedArray::size const): (WTF::RefCountedArray::data): (WTF::RefCountedArray::begin): (WTF::RefCountedArray::end): (WTF::RefCountedArray::data const): (WTF::RefCountedArray::begin const): (WTF::RefCountedArray::operator== const): (WTF::RefCountedArray::Header::fromPayload): * wtf/WTFAssertions.cpp: Canonical link: https://commits.webkit.org/197239@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@226530 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2018-01-08 21:05:17 +00:00
#include <wtf/Bag.h>
#include <wtf/Platform.h>
Apply poisoning to more pointers in JSC. https://bugs.webkit.org/show_bug.cgi?id=181096 <rdar://problem/36182970> Reviewed by JF Bastien. Source/JavaScriptCore: * assembler/MacroAssembler.h: (JSC::MacroAssembler::xorPtr): * assembler/MacroAssemblerARM64.h: (JSC::MacroAssemblerARM64::xor64): * assembler/MacroAssemblerX86_64.h: (JSC::MacroAssemblerX86_64::xor64): - Add xorPtr implementation. * bytecode/CodeBlock.cpp: (JSC::CodeBlock::inferredName const): (JSC::CodeBlock::CodeBlock): (JSC::CodeBlock::finishCreation): (JSC::CodeBlock::~CodeBlock): (JSC::CodeBlock::setConstantRegisters): (JSC::CodeBlock::visitWeakly): (JSC::CodeBlock::visitChildren): (JSC::CodeBlock::propagateTransitions): (JSC::CodeBlock::WeakReferenceHarvester::visitWeakReferences): (JSC::CodeBlock::finalizeLLIntInlineCaches): (JSC::CodeBlock::finalizeBaselineJITInlineCaches): (JSC::CodeBlock::UnconditionalFinalizer::finalizeUnconditionally): (JSC::CodeBlock::jettison): (JSC::CodeBlock::predictedMachineCodeSize): (JSC::CodeBlock::findPC): * bytecode/CodeBlock.h: (JSC::CodeBlock::UnconditionalFinalizer::UnconditionalFinalizer): (JSC::CodeBlock::WeakReferenceHarvester::WeakReferenceHarvester): (JSC::CodeBlock::stubInfoBegin): (JSC::CodeBlock::stubInfoEnd): (JSC::CodeBlock::callLinkInfosBegin): (JSC::CodeBlock::callLinkInfosEnd): (JSC::CodeBlock::instructions): (JSC::CodeBlock::instructions const): (JSC::CodeBlock::vm const): * dfg/DFGOSRExitCompilerCommon.h: (JSC::DFG::adjustFrameAndStackInOSRExitCompilerThunk): * jit/JIT.h: * llint/LLIntOfflineAsmConfig.h: * llint/LowLevelInterpreter.asm: * llint/LowLevelInterpreter64.asm: * parser/UnlinkedSourceCode.h: * runtime/JSCPoison.h: * runtime/JSGlobalObject.cpp: (JSC::JSGlobalObject::init): * runtime/JSGlobalObject.h: * runtime/JSScriptFetchParameters.h: * runtime/JSScriptFetcher.h: * runtime/StructureTransitionTable.h: * wasm/js/JSWebAssemblyCodeBlock.cpp: (JSC::JSWebAssemblyCodeBlock::JSWebAssemblyCodeBlock): (JSC::JSWebAssemblyCodeBlock::visitChildren): (JSC::JSWebAssemblyCodeBlock::UnconditionalFinalizer::finalizeUnconditionally): * wasm/js/JSWebAssemblyCodeBlock.h: Source/WTF: Added support for PoisonedBag and PoisonedRefCountedArray. * wtf/Bag.h: (WTF::Private::BagNode::BagNode): (WTF::Bag::Bag): (WTF::Bag::operator=): (WTF::Bag::clear): (WTF::Bag::add): (WTF::Bag::begin): (WTF::Bag::unwrappedHead): (WTF::Bag::Node::Node): Deleted. * wtf/BagToHashMap.h: (WTF::toHashMap): * wtf/Poisoned.h: (WTF::constExprPoisonRandom): (WTF::makeConstExprPoison): * wtf/RefCountedArray.h: (WTF::RefCountedArray::RefCountedArray): (WTF::RefCountedArray::clone const): (WTF::RefCountedArray::operator=): (WTF::RefCountedArray::~RefCountedArray): (WTF::RefCountedArray::refCount const): (WTF::RefCountedArray::size const): (WTF::RefCountedArray::data): (WTF::RefCountedArray::begin): (WTF::RefCountedArray::end): (WTF::RefCountedArray::data const): (WTF::RefCountedArray::begin const): (WTF::RefCountedArray::operator== const): (WTF::RefCountedArray::Header::fromPayload): * wtf/WTFAssertions.cpp: Canonical link: https://commits.webkit.org/197239@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@226530 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2018-01-08 21:05:17 +00:00
#include <wtf/RefCountedArray.h>
2018-01-03 00:56:55 +00:00
#include <wtf/RefPtr.h>
#if OS(DARWIN)
#include <mach/vm_param.h>
#include <mach/vm_types.h>
#endif
2018-01-03 00:56:55 +00:00
namespace WTF {
namespace {
struct DummyStruct { };
2018-01-03 00:56:55 +00:00
}
Apply poisoning to more pointers in JSC. https://bugs.webkit.org/show_bug.cgi?id=181096 <rdar://problem/36182970> Reviewed by JF Bastien. Source/JavaScriptCore: * assembler/MacroAssembler.h: (JSC::MacroAssembler::xorPtr): * assembler/MacroAssemblerARM64.h: (JSC::MacroAssemblerARM64::xor64): * assembler/MacroAssemblerX86_64.h: (JSC::MacroAssemblerX86_64::xor64): - Add xorPtr implementation. * bytecode/CodeBlock.cpp: (JSC::CodeBlock::inferredName const): (JSC::CodeBlock::CodeBlock): (JSC::CodeBlock::finishCreation): (JSC::CodeBlock::~CodeBlock): (JSC::CodeBlock::setConstantRegisters): (JSC::CodeBlock::visitWeakly): (JSC::CodeBlock::visitChildren): (JSC::CodeBlock::propagateTransitions): (JSC::CodeBlock::WeakReferenceHarvester::visitWeakReferences): (JSC::CodeBlock::finalizeLLIntInlineCaches): (JSC::CodeBlock::finalizeBaselineJITInlineCaches): (JSC::CodeBlock::UnconditionalFinalizer::finalizeUnconditionally): (JSC::CodeBlock::jettison): (JSC::CodeBlock::predictedMachineCodeSize): (JSC::CodeBlock::findPC): * bytecode/CodeBlock.h: (JSC::CodeBlock::UnconditionalFinalizer::UnconditionalFinalizer): (JSC::CodeBlock::WeakReferenceHarvester::WeakReferenceHarvester): (JSC::CodeBlock::stubInfoBegin): (JSC::CodeBlock::stubInfoEnd): (JSC::CodeBlock::callLinkInfosBegin): (JSC::CodeBlock::callLinkInfosEnd): (JSC::CodeBlock::instructions): (JSC::CodeBlock::instructions const): (JSC::CodeBlock::vm const): * dfg/DFGOSRExitCompilerCommon.h: (JSC::DFG::adjustFrameAndStackInOSRExitCompilerThunk): * jit/JIT.h: * llint/LLIntOfflineAsmConfig.h: * llint/LowLevelInterpreter.asm: * llint/LowLevelInterpreter64.asm: * parser/UnlinkedSourceCode.h: * runtime/JSCPoison.h: * runtime/JSGlobalObject.cpp: (JSC::JSGlobalObject::init): * runtime/JSGlobalObject.h: * runtime/JSScriptFetchParameters.h: * runtime/JSScriptFetcher.h: * runtime/StructureTransitionTable.h: * wasm/js/JSWebAssemblyCodeBlock.cpp: (JSC::JSWebAssemblyCodeBlock::JSWebAssemblyCodeBlock): (JSC::JSWebAssemblyCodeBlock::visitChildren): (JSC::JSWebAssemblyCodeBlock::UnconditionalFinalizer::finalizeUnconditionally): * wasm/js/JSWebAssemblyCodeBlock.h: Source/WTF: Added support for PoisonedBag and PoisonedRefCountedArray. * wtf/Bag.h: (WTF::Private::BagNode::BagNode): (WTF::Bag::Bag): (WTF::Bag::operator=): (WTF::Bag::clear): (WTF::Bag::add): (WTF::Bag::begin): (WTF::Bag::unwrappedHead): (WTF::Bag::Node::Node): Deleted. * wtf/BagToHashMap.h: (WTF::toHashMap): * wtf/Poisoned.h: (WTF::constExprPoisonRandom): (WTF::makeConstExprPoison): * wtf/RefCountedArray.h: (WTF::RefCountedArray::RefCountedArray): (WTF::RefCountedArray::clone const): (WTF::RefCountedArray::operator=): (WTF::RefCountedArray::~RefCountedArray): (WTF::RefCountedArray::refCount const): (WTF::RefCountedArray::size const): (WTF::RefCountedArray::data): (WTF::RefCountedArray::begin): (WTF::RefCountedArray::end): (WTF::RefCountedArray::data const): (WTF::RefCountedArray::begin const): (WTF::RefCountedArray::operator== const): (WTF::RefCountedArray::Header::fromPayload): * wtf/WTFAssertions.cpp: Canonical link: https://commits.webkit.org/197239@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@226530 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2018-01-08 21:05:17 +00:00
static_assert(sizeof(Bag<DummyStruct>) == sizeof(void*), "");
static_assert(sizeof(Ref<DummyStruct>) == sizeof(DummyStruct*), "");
2018-01-03 00:56:55 +00:00
static_assert(sizeof(RefPtr<DummyStruct>) == sizeof(DummyStruct*), "");
2018-01-03 00:56:55 +00:00
Apply poisoning to more pointers in JSC. https://bugs.webkit.org/show_bug.cgi?id=181096 <rdar://problem/36182970> Reviewed by JF Bastien. Source/JavaScriptCore: * assembler/MacroAssembler.h: (JSC::MacroAssembler::xorPtr): * assembler/MacroAssemblerARM64.h: (JSC::MacroAssemblerARM64::xor64): * assembler/MacroAssemblerX86_64.h: (JSC::MacroAssemblerX86_64::xor64): - Add xorPtr implementation. * bytecode/CodeBlock.cpp: (JSC::CodeBlock::inferredName const): (JSC::CodeBlock::CodeBlock): (JSC::CodeBlock::finishCreation): (JSC::CodeBlock::~CodeBlock): (JSC::CodeBlock::setConstantRegisters): (JSC::CodeBlock::visitWeakly): (JSC::CodeBlock::visitChildren): (JSC::CodeBlock::propagateTransitions): (JSC::CodeBlock::WeakReferenceHarvester::visitWeakReferences): (JSC::CodeBlock::finalizeLLIntInlineCaches): (JSC::CodeBlock::finalizeBaselineJITInlineCaches): (JSC::CodeBlock::UnconditionalFinalizer::finalizeUnconditionally): (JSC::CodeBlock::jettison): (JSC::CodeBlock::predictedMachineCodeSize): (JSC::CodeBlock::findPC): * bytecode/CodeBlock.h: (JSC::CodeBlock::UnconditionalFinalizer::UnconditionalFinalizer): (JSC::CodeBlock::WeakReferenceHarvester::WeakReferenceHarvester): (JSC::CodeBlock::stubInfoBegin): (JSC::CodeBlock::stubInfoEnd): (JSC::CodeBlock::callLinkInfosBegin): (JSC::CodeBlock::callLinkInfosEnd): (JSC::CodeBlock::instructions): (JSC::CodeBlock::instructions const): (JSC::CodeBlock::vm const): * dfg/DFGOSRExitCompilerCommon.h: (JSC::DFG::adjustFrameAndStackInOSRExitCompilerThunk): * jit/JIT.h: * llint/LLIntOfflineAsmConfig.h: * llint/LowLevelInterpreter.asm: * llint/LowLevelInterpreter64.asm: * parser/UnlinkedSourceCode.h: * runtime/JSCPoison.h: * runtime/JSGlobalObject.cpp: (JSC::JSGlobalObject::init): * runtime/JSGlobalObject.h: * runtime/JSScriptFetchParameters.h: * runtime/JSScriptFetcher.h: * runtime/StructureTransitionTable.h: * wasm/js/JSWebAssemblyCodeBlock.cpp: (JSC::JSWebAssemblyCodeBlock::JSWebAssemblyCodeBlock): (JSC::JSWebAssemblyCodeBlock::visitChildren): (JSC::JSWebAssemblyCodeBlock::UnconditionalFinalizer::finalizeUnconditionally): * wasm/js/JSWebAssemblyCodeBlock.h: Source/WTF: Added support for PoisonedBag and PoisonedRefCountedArray. * wtf/Bag.h: (WTF::Private::BagNode::BagNode): (WTF::Bag::Bag): (WTF::Bag::operator=): (WTF::Bag::clear): (WTF::Bag::add): (WTF::Bag::begin): (WTF::Bag::unwrappedHead): (WTF::Bag::Node::Node): Deleted. * wtf/BagToHashMap.h: (WTF::toHashMap): * wtf/Poisoned.h: (WTF::constExprPoisonRandom): (WTF::makeConstExprPoison): * wtf/RefCountedArray.h: (WTF::RefCountedArray::RefCountedArray): (WTF::RefCountedArray::clone const): (WTF::RefCountedArray::operator=): (WTF::RefCountedArray::~RefCountedArray): (WTF::RefCountedArray::refCount const): (WTF::RefCountedArray::size const): (WTF::RefCountedArray::data): (WTF::RefCountedArray::begin): (WTF::RefCountedArray::end): (WTF::RefCountedArray::data const): (WTF::RefCountedArray::begin const): (WTF::RefCountedArray::operator== const): (WTF::RefCountedArray::Header::fromPayload): * wtf/WTFAssertions.cpp: Canonical link: https://commits.webkit.org/197239@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@226530 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2018-01-08 21:05:17 +00:00
static_assert(sizeof(RefCountedArray<DummyStruct>) == sizeof(void*), "");
#if OS(DARWIN) && CPU(ADDRESS64)
Define MacroAssemblerARM64E::numberOfPACBits based on OS_CONSTANT(EFFECTIVE_ADDRESS_WIDTH). https://bugs.webkit.org/show_bug.cgi?id=227147 rdar://78785309 Reviewed by Saam Barati. Source/bmalloc: For OS(DARWIN), define BOS_EFFECTIVE_ADDRESS_WIDTH in terms of MACH_VM_MAX_ADDRESS, which is provided by the SDK. This ensures that it is correct for each target OS(DARWIN) platform. * bmalloc/Algorithm.h: (bmalloc::clzConstexpr): (bmalloc::getMSBSetConstexpr): * bmalloc/BPlatform.h: * bmalloc/Gigacage.h: * bmalloc/ObjectTypeTable.h: * bmalloc/Packed.h: Source/JavaScriptCore: * assembler/MacroAssemblerARM64E.h: * bytecode/CodeOrigin.h: * runtime/JSString.h: * runtime/OptionsList.h: Source/WTF: For OS(DARWIN), define OS_CONSTANT(EFFECTIVE_ADDRESS_WIDTH) in terms of MACH_VM_MAX_ADDRESS, which is provided by the SDK. This ensures that it is correct for each target OS(DARWIN) platform. Also update an assertion in WTFAssertions.cpp to verify that address bits are less than 48. The purpose of this assertion is to ensure that our 64-bit NaN boxing encoding for JSValues will work. Hence, we should use the encoding limit for pointers of 48 bits. It no longer makes sense to assert based on OS_CONSTANT(EFFECTIVE_ADDRESS_WIDTH), because OS_CONSTANT(EFFECTIVE_ADDRESS_WIDTH) is defined in terms of MACH_VM_MAX_ADDRESS. * wtf/CagedPtr.h: * wtf/CompactPointerTuple.h: * wtf/PlatformOS.h: * wtf/WTFAssertions.cpp: * wtf/threads/Signals.cpp: Tools: * TestWebKitAPI/Tests/WTF/Packed.cpp: Canonical link: https://commits.webkit.org/238948@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@279028 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2021-06-18 01:44:42 +00:00
// NaN boxing encoding relies on this.
static_assert(MACH_VM_MAX_ADDRESS <= (1ull << 48));
#endif
Platform.h is out of control Part 8: Macros are used inconsistently https://bugs.webkit.org/show_bug.cgi?id=206425 Reviewed by Darin Adler. Source/bmalloc: * bmalloc/BPlatform.h: Update OS_EFFECTIVE_ADDRESS_WIDTH to match WTF definition, add needed OS macros. Source/JavaScriptCore: * assembler/ARM64Assembler.h: (JSC::ARM64Assembler::cacheFlush): (JSC::ARM64Assembler::xOrSp): (JSC::ARM64Assembler::xOrZr): * assembler/ARM64Registers.h: * assembler/ARMv7Assembler.h: (JSC::ARMv7Assembler::cacheFlush): * assembler/ARMv7Registers.h: * assembler/AssemblerCommon.h: (JSC::isDarwin): * b3/air/AirCCallingConvention.cpp: * jit/ExecutableAllocator.h: * jit/ThunkGenerators.cpp: * jsc.cpp: * runtime/MathCommon.cpp: Use OS(DARWIN) more consistently for darwin level functionality. * bytecode/CodeOrigin.h: * runtime/JSString.h: Update to use OS_CONSTANT. * disassembler/ARM64/A64DOpcode.cpp: * disassembler/ARM64Disassembler.cpp: * disassembler/UDis86Disassembler.cpp: * disassembler/UDis86Disassembler.h: * disassembler/X86Disassembler.cpp: * disassembler/udis86/udis86.c: * disassembler/udis86/udis86_decode.c: * disassembler/udis86/udis86_itab_holder.c: * disassembler/udis86/udis86_syn-att.c: * disassembler/udis86/udis86_syn-intel.c: * disassembler/udis86/udis86_syn.c: * interpreter/Interpreter.cpp: * interpreter/Interpreter.h: * interpreter/InterpreterInlines.h: (JSC::Interpreter::getOpcodeID): * llint/LowLevelInterpreter.cpp: * tools/SigillCrashAnalyzer.cpp: Switch to using ENABLE rather than USE for features internal to WebKit Source/WTF: Start addressing FIXMEs added to Platform.h (and helper files) during previous cleanup work. - Renames WTF_CPU_EFFECTIVE_ADDRESS_WIDTH to WTF_OS_CONSTANT_EFFECTIVE_ADDRESS_WIDTH, making it available via new macro OS_CONSTANT(...), and syncs bmalloc redefinition. - Renames: USE_LLINT_EMBEDDED_OPCODE_ID to ENABLE_LLINT_EMBEDDED_OPCODE_ID USE_UDIS86 to ENABLE_UDIS86 USE_ARM64_DISASSEMBLER to ENABLE_ARM64_DISASSEMBLER Enable is more appropriate here as these enable functionality within webkit. - Removes undefs that are no longer needed due to only defining the macro once now. - Removes dead defined(__LP64__) check after PLATFORM(MAC) macOS is always 64-bit these days. * wtf/Packed.h: (WTF::alignof): * wtf/Platform.h: * wtf/PlatformEnable.h: * wtf/PlatformOS.h: * wtf/WTFAssertions.cpp: * wtf/text/StringCommon.h: Tools: * TestWebKitAPI/Tests/WTF/Packed.cpp: (TestWebKitAPI::TEST): Update to use OS_CONSTANT. Canonical link: https://commits.webkit.org/219580@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@254843 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2020-01-21 04:01:50 +00:00
2018-01-03 00:56:55 +00:00
} // namespace WTF