Changeset 230765 in webkit
- Timestamp:
- Apr 18, 2018 10:16:05 AM (6 years ago)
- Location:
- trunk/Source/JavaScriptCore
- Files:
-
- 4 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/Source/JavaScriptCore/ChangeLog
r230763 r230765 1 2018-04-18 Dominik Infuehr <dinfuehr@igalia.com> 2 3 [ARM] Fix build error and crash after PtrTag change 4 https://bugs.webkit.org/show_bug.cgi?id=184732 5 6 Reviewed by Mark Lam. 7 8 Do not pass NoPtrTag in callOperation and fix misspelled JSEntryPtrTag. Use 9 MacroAssemblerCodePtr::createFromExecutableAddress to avoid tagging a pointer 10 twice with ARM-Thumb2. 11 12 * assembler/MacroAssemblerCodeRef.h: 13 (JSC::MacroAssemblerCodeRef::MacroAssemblerCodeRef): 14 * jit/JITPropertyAccess32_64.cpp: 15 (JSC::JIT::emitSlow_op_put_by_val): 16 * jit/Repatch.cpp: 17 (JSC::linkPolymorphicCall): 18 1 19 2018-04-18 Yusuke Suzuki <utatane.tea@gmail.com> 2 20 -
trunk/Source/JavaScriptCore/assembler/MacroAssemblerCodeRef.h
r230748 r230765 473 473 template<PtrTag otherTag> 474 474 MacroAssemblerCodeRef(const MacroAssemblerCodeRef<otherTag>& otherCodeRef) 475 : m_codePtr( otherCodeRef.code().template retaggedExecutableAddress<tag>())475 : m_codePtr(MacroAssemblerCodePtr<tag>::createFromExecutableAddress(otherCodeRef.code().template retaggedExecutableAddress<tag>())) 476 476 , m_executableMemory(otherCodeRef.m_executableMemory) 477 477 { } -
trunk/Source/JavaScriptCore/jit/JITPropertyAccess32_64.cpp
r230748 r230765 565 565 emitLoad(property, regT3, regT0); 566 566 emitLoad(value, regT5, regT4); 567 Call call = callOperation(isDirect ? operationDirectPutByValOptimize : operationPutByValOptimize, NoPtrTag,JSValueRegs(regT2, regT1), JSValueRegs(regT3, regT0), JSValueRegs(regT5, regT4), byValInfo);567 Call call = callOperation(isDirect ? operationDirectPutByValOptimize : operationPutByValOptimize, JSValueRegs(regT2, regT1), JSValueRegs(regT3, regT0), JSValueRegs(regT5, regT4), byValInfo); 568 568 #endif 569 569 -
trunk/Source/JavaScriptCore/jit/Repatch.cpp
r230748 r230765 1092 1092 bool isTailCall = callToCodePtr.call.isFlagSet(CCallHelpers::Call::Tail); 1093 1093 void* target = isTailCall ? callToCodePtr.codePtr.dataLocation() : callToCodePtr.codePtr.executableAddress(); 1094 patchBuffer.link(callToCodePtr.call, FunctionPtr<JSEntryPtrTag>(MacroAssemblerCodePtr<JSEntr tPtrTag>::createFromExecutableAddress(target)));1094 patchBuffer.link(callToCodePtr.call, FunctionPtr<JSEntryPtrTag>(MacroAssemblerCodePtr<JSEntryPtrTag>::createFromExecutableAddress(target))); 1095 1095 #else 1096 1096 patchBuffer.link(callToCodePtr.call, FunctionPtr<JSEntryPtrTag>(callToCodePtr.codePtr));
Note: See TracChangeset
for help on using the changeset viewer.