Ignore:
Timestamp:
Dec 6, 2017, 10:10:06 PM (7 years ago)
Author:
[email protected]
Message:

Refactoring: Rename ScrambledPtr to Poisoned.
https://bugs.webkit.org/show_bug.cgi?id=180514

Reviewed by Saam Barati.

Source/JavaScriptCore:

  • API/JSCallbackObject.h:
  • API/JSObjectRef.cpp:

(classInfoPrivate):

  • JavaScriptCore.xcodeproj/project.pbxproj:
  • Sources.txt:
  • assembler/MacroAssemblerCodeRef.h:

(JSC::FunctionPtr::FunctionPtr):
(JSC::FunctionPtr::value const):
(JSC::FunctionPtr::executableAddress const):
(JSC::ReturnAddressPtr::ReturnAddressPtr):
(JSC::ReturnAddressPtr::value const):
(JSC::MacroAssemblerCodePtr::MacroAssemblerCodePtr):
(JSC::MacroAssemblerCodePtr::createFromExecutableAddress):
(JSC::MacroAssemblerCodePtr::poisonedPtr const):
(JSC::MacroAssemblerCodePtr:: const):
(JSC::MacroAssemblerCodePtr::operator! const):
(JSC::MacroAssemblerCodePtr::operator== const):
(JSC::MacroAssemblerCodePtr::emptyValue):
(JSC::MacroAssemblerCodePtr::deletedValue):
(JSC::MacroAssemblerCodePtr::scrambledPtr const): Deleted.

  • b3/B3LowerMacros.cpp:
  • b3/testb3.cpp:

(JSC::B3::testInterpreter):

  • dfg/DFGSpeculativeJIT.cpp:

(JSC::DFG::SpeculativeJIT::checkArray):
(JSC::DFG::SpeculativeJIT::compileCheckSubClass):
(JSC::DFG::SpeculativeJIT::compileNewStringObject):
(JSC::DFG::SpeculativeJIT::emitSwitchIntJump):

  • ftl/FTLLowerDFGToB3.cpp:

(JSC::FTL::DFG::LowerDFGToB3::compileNewStringObject):
(JSC::FTL::DFG::LowerDFGToB3::compileCheckSubClass):

  • jit/AssemblyHelpers.h:

(JSC::AssemblyHelpers::emitAllocateDestructibleObject):

  • jit/SpecializedThunkJIT.h:

(JSC::SpecializedThunkJIT::loadArgumentWithSpecificClass):

  • jit/ThunkGenerators.cpp:

(JSC::virtualThunkFor):
(JSC::boundThisNoArgsFunctionCallGenerator):

  • llint/LLIntSlowPaths.cpp:

(JSC::LLInt::handleHostCall):
(JSC::LLInt::setUpCall):

  • llint/LowLevelInterpreter64.asm:
  • runtime/InitializeThreading.cpp:

(JSC::initializeThreading):

  • runtime/JSCPoisonedPtr.cpp: Copied from Source/JavaScriptCore/runtime/JSCScrambledPtr.cpp.

(JSC::initializePoison):
(JSC::initializeScrambledPtrKeys): Deleted.

  • runtime/JSCPoisonedPtr.h: Copied from Source/JavaScriptCore/runtime/JSCScrambledPtr.h.
  • runtime/JSCScrambledPtr.cpp: Removed.
  • runtime/JSCScrambledPtr.h: Removed.
  • runtime/JSDestructibleObject.h:

(JSC::JSDestructibleObject::classInfo const):

  • runtime/JSSegmentedVariableObject.h:

(JSC::JSSegmentedVariableObject::classInfo const):

  • runtime/Structure.h:
  • runtime/VM.h:

Source/WTF:

We're switching our nomenclature to "poisoning" instead of "scrambling" pointers.
This allows us to use shorter names.

This patch is almost purely refactoring, except for one change: the PoisonedImpl
template class (previously ScrambledPtr) has been modified to allow usage of
a constexpr uint32_t poison value (see Int32Poisoned) in addition to a runtime
determined uintptr_t poison value (see Poisoned).

  • WTF.xcodeproj/project.pbxproj:
  • wtf/CMakeLists.txt:
  • wtf/Poisoned.cpp: Copied from Source/WTF/wtf/ScrambledPtr.cpp.

(WTF::makePoison):
(WTF::makeScrambledPtrKey): Deleted.

  • wtf/Poisoned.h: Copied from Source/WTF/wtf/ScrambledPtr.h.

(WTF::PoisonedImpl::PoisonedImpl):
(WTF::PoisonedImpl::assertIsPoisoned const):
(WTF::PoisonedImpl::assertIsNotPoisoned const):
(WTF::PoisonedImpl::unpoisoned const):
(WTF::PoisonedImpl::operator-> const):
(WTF::PoisonedImpl::bits const):
(WTF::PoisonedImpl::operator! const):
(WTF::PoisonedImpl::operator bool const):
(WTF::PoisonedImpl::operator== const):
(WTF::PoisonedImpl::operator==):
(WTF::PoisonedImpl::operator=):
(WTF::PoisonedImpl::poison):
(WTF::PoisonedImpl::unpoison):
(WTF::ScrambledPtr::ScrambledPtr): Deleted.
(WTF::ScrambledPtr::assertIsScrambled const): Deleted.
(WTF::ScrambledPtr::assertIsNotScrambled const): Deleted.
(WTF::ScrambledPtr::descrambled const): Deleted.
(WTF::ScrambledPtr::operator-> const): Deleted.
(WTF::ScrambledPtr::bits const): Deleted.
(WTF::ScrambledPtr::operator! const): Deleted.
(WTF::ScrambledPtr::operator bool const): Deleted.
(WTF::ScrambledPtr::operator== const): Deleted.
(WTF::ScrambledPtr::operator==): Deleted.
(WTF::ScrambledPtr::operator=): Deleted.
(WTF::ScrambledPtr::scramble): Deleted.
(WTF::ScrambledPtr::descramble): Deleted.

  • wtf/ScrambledPtr.cpp: Removed.
  • wtf/ScrambledPtr.h: Removed.
File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/Source/JavaScriptCore/b3/testb3.cpp

    r225363 r225620  
    1303113031
    1303213032            GPRReg scratch = params.gpScratch(0);
    13033             GPRReg descramblerKey = params.gpScratch(1);
     13033            GPRReg poisonScratch = params.gpScratch(1);
    1303413034
    1303513035            jit.move(CCallHelpers::TrustedImmPtr(jumpTable), scratch);
    13036             jit.move(CCallHelpers::TrustedImm64(g_masmScrambledPtrKey), descramblerKey);
     13036            jit.move(CCallHelpers::TrustedImm64(g_masmPoison), poisonScratch);
    1303713037            jit.load64(CCallHelpers::BaseIndex(scratch, params[0].gpr(), CCallHelpers::timesPtr()), scratch);
    13038             jit.xor64(descramblerKey, scratch);
     13038            jit.xor64(poisonScratch, scratch);
    1303913039            jit.jump(scratch);
    1304013040
Note: See TracChangeset for help on using the changeset viewer.