Title: [229856] trunk/Source/_javascript_Core
- Revision
- 229856
- Author
- [email protected]
- Date
- 2018-03-22 11:03:36 -0700 (Thu, 22 Mar 2018)
Log Message
[ARM] Thumb: Do not decorate bottom bit twice
https://bugs.webkit.org/show_bug.cgi?id=183906
Patch by Dominik Infuehr <[email protected]> on 2018-03-22
Reviewed by Mark Lam.
Use MacroAssemblerCodePtr::createFromExecutableAddress instead of
MacroAssemblerCodePtr(void*) to avoid decorating the pointer twice as
a thumb pointer.
* jit/Repatch.cpp:
(JSC::linkPolymorphicCall):
Modified Paths
Diff
Modified: trunk/Source/_javascript_Core/ChangeLog (229855 => 229856)
--- trunk/Source/_javascript_Core/ChangeLog 2018-03-22 17:07:26 UTC (rev 229855)
+++ trunk/Source/_javascript_Core/ChangeLog 2018-03-22 18:03:36 UTC (rev 229856)
@@ -1,3 +1,17 @@
+2018-03-22 Dominik Infuehr <[email protected]>
+
+ [ARM] Thumb: Do not decorate bottom bit twice
+ https://bugs.webkit.org/show_bug.cgi?id=183906
+
+ Reviewed by Mark Lam.
+
+ Use MacroAssemblerCodePtr::createFromExecutableAddress instead of
+ MacroAssemblerCodePtr(void*) to avoid decorating the pointer twice as
+ a thumb pointer.
+
+ * jit/Repatch.cpp:
+ (JSC::linkPolymorphicCall):
+
2018-03-22 Yusuke Suzuki <[email protected]>
[JSC] Clear MustGenerate for ToString(Number) converted from NumberToStringWithRadix
Modified: trunk/Source/_javascript_Core/jit/Repatch.cpp (229855 => 229856)
--- trunk/Source/_javascript_Core/jit/Repatch.cpp 2018-03-22 17:07:26 UTC (rev 229855)
+++ trunk/Source/_javascript_Core/jit/Repatch.cpp 2018-03-22 18:03:36 UTC (rev 229856)
@@ -1072,7 +1072,7 @@
// with a non-decorated bottom bit but a normal call calls an address with a decorated bottom bit.
bool isTailCall = callToCodePtr.call.isFlagSet(CCallHelpers::Call::Tail);
void* target = isTailCall ? callToCodePtr.codePtr.dataLocation() : callToCodePtr.codePtr.executableAddress();
- patchBuffer.link(callToCodePtr.call, FunctionPtr(MacroAssemblerCodePtr(target)));
+ patchBuffer.link(callToCodePtr.call, FunctionPtr(MacroAssemblerCodePtr::createFromExecutableAddress(target)));
#else
patchBuffer.link(callToCodePtr.call, FunctionPtr(callToCodePtr.codePtr.retagged(CodeEntryPtrTag, NearCallPtrTag)));
#endif
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes