Changeset 228022 in webkit
- Timestamp:
- Feb 2, 2018 12:24:40 PM (6 years ago)
- Location:
- trunk/Source
- Files:
-
- 4 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/Source/JavaScriptCore/ChangeLog
r228018 r228022 1 2018-02-02 Mark Lam <mark.lam@apple.com> 2 3 More ARM64_32 fixes. 4 https://bugs.webkit.org/show_bug.cgi?id=182441 5 <rdar://problem/37162310> 6 7 Reviewed by Dan Bernstein. 8 9 I also disabled more dynamicPoisoning code in ARM64_32. This code assumes a 10 64-bit pointer which is not applicable here. 11 12 * jit/AssemblyHelpers.cpp: 13 (JSC::AssemblyHelpers::emitDynamicPoison): 14 (JSC::AssemblyHelpers::emitDynamicPoisonOnLoadedType): 15 (JSC::AssemblyHelpers::emitDynamicPoisonOnType): 16 1 17 2018-02-02 Saam Barati <sbarati@apple.com> 2 18 -
trunk/Source/JavaScriptCore/jit/AssemblyHelpers.cpp
r227700 r228022 1010 1010 void AssemblyHelpers::emitDynamicPoison(GPRReg base, GPRReg poisonValue) 1011 1011 { 1012 #if CPU(X86_64) || CPU(ARM64)1012 #if CPU(X86_64) || (CPU(ARM64) && !defined(__ILP32__)) 1013 1013 lshiftPtr(TrustedImm32(40), poisonValue); 1014 1014 addPtr(poisonValue, base); … … 1021 1021 void AssemblyHelpers::emitDynamicPoisonOnLoadedType(GPRReg base, GPRReg actualType, JSType expectedType) 1022 1022 { 1023 #if CPU(X86_64) || CPU(ARM64)1023 #if CPU(X86_64) || (CPU(ARM64) && !defined(__ILP32__)) 1024 1024 xor32(TrustedImm32(expectedType), actualType); 1025 1025 emitDynamicPoison(base, actualType); … … 1033 1033 void AssemblyHelpers::emitDynamicPoisonOnType(GPRReg base, GPRReg scratch, JSType expectedType) 1034 1034 { 1035 #if CPU(X86_64) || CPU(ARM64)1035 #if CPU(X86_64) || (CPU(ARM64) && !defined(__ILP32__)) 1036 1036 load8(Address(base, JSCell::typeInfoTypeOffset()), scratch); 1037 1037 emitDynamicPoisonOnLoadedType(base, scratch, expectedType); -
trunk/Source/WTF/ChangeLog
r228007 r228022 1 2018-02-02 Mark Lam <mark.lam@apple.com> 2 3 More ARM64_32 fixes. 4 https://bugs.webkit.org/show_bug.cgi?id=182441 5 <rdar://problem/37162310> 6 7 Reviewed by Dan Bernstein. 8 9 My previous speculative ARM64_32 build fix in copyLCharsFromUCharSource() was wrong. 10 I've now fixed it to choose the default implementation case instead of the ARM64 11 case if the target is ARM64_32. 12 13 * wtf/text/ASCIIFastPath.h: 14 (WTF::copyLCharsFromUCharSource): 15 1 16 2018-02-02 Konstantin Tokarev <annulen@yandex.ru> 2 17 -
trunk/Source/WTF/wtf/text/ASCIIFastPath.h
r227940 r228022 140 140 destination[i] = static_cast<LChar>(source[i]); 141 141 } 142 #elif COMPILER(GCC_OR_CLANG) && CPU(ARM64) && defined(NDEBUG)142 #elif COMPILER(GCC_OR_CLANG) && CPU(ARM64) && !defined(__ILP32__) && defined(NDEBUG) 143 143 const LChar* const end = destination + length; 144 144 const uintptr_t memoryAccessSize = 16; … … 151 151 const LChar* const simdEnd = destination + (lengthLeft & ~memoryAccessMask); 152 152 do { 153 #if defined(__ILP32__)154 asm("ld2 { v0.16B, v1.16B }, [%w[SOURCE]], #32\n\t"155 "st1 { v0.16B }, [%w[DESTINATION]], #16\n\t"156 #else157 153 asm("ld2 { v0.16B, v1.16B }, [%[SOURCE]], #32\n\t" 158 154 "st1 { v0.16B }, [%[DESTINATION]], #16\n\t" 159 #endif160 155 : [SOURCE]"+r" (source), [DESTINATION]"+r" (destination) 161 156 :
Note: See TracChangeset
for help on using the changeset viewer.