Diff
Modified: trunk/Source/_javascript_Core/ChangeLog (279028 => 279029)
--- trunk/Source/_javascript_Core/ChangeLog 2021-06-18 01:44:42 UTC (rev 279028)
+++ trunk/Source/_javascript_Core/ChangeLog 2021-06-18 02:06:58 UTC (rev 279029)
@@ -1,5 +1,23 @@
2021-06-17 Mark Lam <[email protected]>
+ Rename numberOfPACBits to maxNumberOfAllowedPACBits.
+ https://bugs.webkit.org/show_bug.cgi?id=227156
+
+ Reviewed by Saam Barati.
+
+ Just renaming the constant to better describe what it represents. There are no
+ behavior changes.
+
+ * assembler/MacroAssemblerARM64E.h:
+ * ftl/FTLLowerDFGToB3.cpp:
+ (JSC::FTL::DFG::LowerDFGToB3::compileCompareStrictEq):
+ * jit/AssemblyHelpers.cpp:
+ (JSC::AssemblyHelpers::cageWithoutUntagging):
+ (JSC::AssemblyHelpers::cageConditionallyAndUntag):
+ * llint/LowLevelInterpreter64.asm:
+
+2021-06-17 Mark Lam <[email protected]>
+
Define MacroAssemblerARM64E::numberOfPACBits based on OS_CONSTANT(EFFECTIVE_ADDRESS_WIDTH).
https://bugs.webkit.org/show_bug.cgi?id=227147
rdar://78785309
Modified: trunk/Source/_javascript_Core/assembler/MacroAssemblerARM64E.h (279028 => 279029)
--- trunk/Source/_javascript_Core/assembler/MacroAssemblerARM64E.h 2021-06-18 01:44:42 UTC (rev 279028)
+++ trunk/Source/_javascript_Core/assembler/MacroAssemblerARM64E.h 2021-06-18 02:06:58 UTC (rev 279029)
@@ -50,8 +50,8 @@
class MacroAssemblerARM64E : public MacroAssemblerARM64 {
public:
static constexpr unsigned numberOfPointerBits = sizeof(void*) * CHAR_BIT;
- static constexpr unsigned numberOfPACBits = numberOfPointerBits - OS_CONSTANT(EFFECTIVE_ADDRESS_WIDTH);
- static constexpr uintptr_t nonPACBitsMask = (1ull << (numberOfPointerBits - numberOfPACBits)) - 1;
+ static constexpr unsigned maxNumberOfAllowedPACBits = numberOfPointerBits - OS_CONSTANT(EFFECTIVE_ADDRESS_WIDTH);
+ static constexpr uintptr_t nonPACBitsMask = (1ull << (numberOfPointerBits - maxNumberOfAllowedPACBits)) - 1;
ALWAYS_INLINE void tagReturnAddress()
{
Modified: trunk/Source/_javascript_Core/ftl/FTLLowerDFGToB3.cpp (279028 => 279029)
--- trunk/Source/_javascript_Core/ftl/FTLLowerDFGToB3.cpp 2021-06-18 01:44:42 UTC (rev 279028)
+++ trunk/Source/_javascript_Core/ftl/FTLLowerDFGToB3.cpp 2021-06-18 02:06:58 UTC (rev 279029)
@@ -16742,7 +16742,7 @@
merge->appendSomeRegister(ptr);
merge->setGenerator([=] (CCallHelpers& jit, const StackmapGenerationParams& params) {
jit.move(params[2].gpr(), params[0].gpr());
- jit.bitFieldInsert64(params[1].gpr(), 0, 64 - MacroAssembler::numberOfPACBits, params[0].gpr());
+ jit.bitFieldInsert64(params[1].gpr(), 0, 64 - MacroAssembler::maxNumberOfAllowedPACBits, params[0].gpr());
});
result = doUntagArrayPtr(merge);
Modified: trunk/Source/_javascript_Core/jit/AssemblyHelpers.cpp (279028 => 279029)
--- trunk/Source/_javascript_Core/jit/AssemblyHelpers.cpp 2021-06-18 01:44:42 UTC (rev 279028)
+++ trunk/Source/_javascript_Core/jit/AssemblyHelpers.cpp 2021-06-18 02:06:58 UTC (rev 279029)
@@ -1045,7 +1045,7 @@
addPtr(TrustedImmPtr(Gigacage::basePtr(kind)), storage);
#if CPU(ARM64E)
if (kind == Gigacage::Primitive)
- bitFieldInsert64(storage, 0, 64 - numberOfPACBits, tempReg);
+ bitFieldInsert64(storage, 0, 64 - maxNumberOfAllowedPACBits, tempReg);
if (skip.isSet())
skip.link(this);
#endif
@@ -1082,7 +1082,7 @@
ASSERT(LogicalImmediate::create64(Gigacage::mask(kind)).isValid());
andPtr(TrustedImmPtr(Gigacage::mask(kind)), tempReg);
addPtr(scratch, tempReg);
- bitFieldInsert64(tempReg, 0, 64 - numberOfPACBits, storage);
+ bitFieldInsert64(tempReg, 0, 64 - maxNumberOfAllowedPACBits, storage);
#else
andPtr(TrustedImmPtr(Gigacage::mask(kind)), storage);
addPtr(scratch, storage);
Modified: trunk/Source/_javascript_Core/llint/LowLevelInterpreter64.asm (279028 => 279029)
--- trunk/Source/_javascript_Core/llint/LowLevelInterpreter64.asm 2021-06-18 01:44:42 UTC (rev 279028)
+++ trunk/Source/_javascript_Core/llint/LowLevelInterpreter64.asm 2021-06-18 02:06:58 UTC (rev 279029)
@@ -488,8 +488,8 @@
if GIGACAGE_ENABLED
cagePrimitive(GigacageConfig + Gigacage::Config::basePtrs + GigacagePrimitiveBasePtrOffset, constexpr Gigacage::primitiveGigacageMask, source, scratch)
if ARM64E
- const numberOfPACBits = constexpr MacroAssembler::numberOfPACBits
- bfiq scratch2, 0, 64 - numberOfPACBits, ptr
+ const maxNumberOfAllowedPACBits = constexpr MacroAssembler::maxNumberOfAllowedPACBits
+ bfiq scratch2, 0, 64 - maxNumberOfAllowedPACBits, ptr
end
end
if ARM64E
@@ -512,8 +512,8 @@
if GIGACAGE_ENABLED
cagePrimitive(GigacageConfig + Gigacage::Config::basePtrs + GigacagePrimitiveBasePtrOffset, constexpr Gigacage::primitiveGigacageMask, source, scratch)
if ARM64E
- const numberOfPACBits = constexpr MacroAssembler::numberOfPACBits
- bfiq scratch2, 0, 64 - numberOfPACBits, ptr
+ const maxNumberOfAllowedPACBits = constexpr MacroAssembler::maxNumberOfAllowedPACBits
+ bfiq scratch2, 0, 64 - maxNumberOfAllowedPACBits, ptr
end
end
if ARM64E
Modified: trunk/Source/WTF/ChangeLog (279028 => 279029)
--- trunk/Source/WTF/ChangeLog 2021-06-18 01:44:42 UTC (rev 279028)
+++ trunk/Source/WTF/ChangeLog 2021-06-18 02:06:58 UTC (rev 279029)
@@ -1,5 +1,14 @@
2021-06-17 Mark Lam <[email protected]>
+ Rename numberOfPACBits to maxNumberOfAllowedPACBits.
+ https://bugs.webkit.org/show_bug.cgi?id=227156
+
+ Reviewed by Saam Barati.
+
+ * wtf/CagedPtr.h:
+
+2021-06-17 Mark Lam <[email protected]>
+
Define MacroAssemblerARM64E::numberOfPACBits based on OS_CONSTANT(EFFECTIVE_ADDRESS_WIDTH).
https://bugs.webkit.org/show_bug.cgi?id=227147
rdar://78785309
Modified: trunk/Source/WTF/wtf/CagedPtr.h (279028 => 279029)
--- trunk/Source/WTF/wtf/CagedPtr.h 2021-06-18 01:44:42 UTC (rev 279028)
+++ trunk/Source/WTF/wtf/CagedPtr.h 2021-06-18 02:06:58 UTC (rev 279029)
@@ -45,8 +45,8 @@
public:
static constexpr Gigacage::Kind kind = passedKind;
static constexpr unsigned numberOfPointerBits = sizeof(T*) * CHAR_BIT;
- static constexpr unsigned numberOfPACBits = numberOfPointerBits - OS_CONSTANT(EFFECTIVE_ADDRESS_WIDTH);
- static constexpr uintptr_t nonPACBitsMask = (1ull << (numberOfPointerBits - numberOfPACBits)) - 1;
+ static constexpr unsigned maxNumberOfAllowedPACBits = numberOfPointerBits - OS_CONSTANT(EFFECTIVE_ADDRESS_WIDTH);
+ static constexpr uintptr_t nonPACBitsMask = (1ull << (numberOfPointerBits - maxNumberOfAllowedPACBits)) - 1;
CagedPtr() : CagedPtr(nullptr) { }
CagedPtr(std::nullptr_t)