Title: [165180] trunk/Source
Revision
165180
Author
[email protected]
Date
2014-03-06 01:17:18 -0800 (Thu, 06 Mar 2014)

Log Message

Use the LLVM disassembler on ARM64 if we are enabling the FTL
https://bugs.webkit.org/show_bug.cgi?id=129785

Source/_javascript_Core:

Reviewed by Geoffrey Garen.

Our disassembler can't handle some of the code sequences that LLVM emits. LLVM's disassembler
is strictly more capable at this point. Use it if it's available.

* disassembler/ARM64Disassembler.cpp:
(JSC::tryToDisassemble):

Source/WTF:

Reviewed by Geoffrey Garen.

* wtf/Platform.h:

Modified Paths

Diff

Modified: trunk/Source/_javascript_Core/ChangeLog (165179 => 165180)


--- trunk/Source/_javascript_Core/ChangeLog	2014-03-06 09:14:58 UTC (rev 165179)
+++ trunk/Source/_javascript_Core/ChangeLog	2014-03-06 09:17:18 UTC (rev 165180)
@@ -1,3 +1,16 @@
+2014-03-06  Filip Pizlo  <[email protected]>
+
+        Use the LLVM disassembler on ARM64 if we are enabling the FTL
+        https://bugs.webkit.org/show_bug.cgi?id=129785
+
+        Reviewed by Geoffrey Garen.
+        
+        Our disassembler can't handle some of the code sequences that LLVM emits. LLVM's disassembler
+        is strictly more capable at this point. Use it if it's available.
+
+        * disassembler/ARM64Disassembler.cpp:
+        (JSC::tryToDisassemble):
+
 2014-03-05  Joseph Pecoraro  <[email protected]>
 
         Web Inspector: Reduce RWI message frequency

Modified: trunk/Source/_javascript_Core/disassembler/ARM64Disassembler.cpp (165179 => 165180)


--- trunk/Source/_javascript_Core/disassembler/ARM64Disassembler.cpp	2014-03-06 09:14:58 UTC (rev 165179)
+++ trunk/Source/_javascript_Core/disassembler/ARM64Disassembler.cpp	2014-03-06 09:17:18 UTC (rev 165180)
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2012 Apple Inc. All rights reserved.
+ * Copyright (C) 2012, 2014 Apple Inc. All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
  * modification, are permitted provided that the following conditions
@@ -55,3 +55,17 @@
 
 #endif // USE(ARM64_DISASSEMBLER)
 
+#if USE(LLVM_DISASSEMBLER)
+
+#include "LLVMDisassembler.h"
+
+namespace JSC {
+
+bool tryToDisassemble(const MacroAssemblerCodePtr& codePtr, size_t size, const char* prefix, PrintStream& out, InstructionSubsetHint hint)
+{
+    return tryToDisassembleWithLLVM(codePtr, size, prefix, out, hint);
+}
+
+} // namespace JSC
+
+#endif // USE(LLVM_DISASSEMBLER)

Modified: trunk/Source/WTF/ChangeLog (165179 => 165180)


--- trunk/Source/WTF/ChangeLog	2014-03-06 09:14:58 UTC (rev 165179)
+++ trunk/Source/WTF/ChangeLog	2014-03-06 09:17:18 UTC (rev 165180)
@@ -1,3 +1,12 @@
+2014-03-06  Filip Pizlo  <[email protected]>
+
+        Use the LLVM disassembler on ARM64 if we are enabling the FTL
+        https://bugs.webkit.org/show_bug.cgi?id=129785
+
+        Reviewed by Geoffrey Garen.
+
+        * wtf/Platform.h:
+
 2014-03-05  [email protected]  <[email protected]>
 
         [Win32][LLINT] Crash when running JSC stress tests.

Modified: trunk/Source/WTF/wtf/Platform.h (165179 => 165180)


--- trunk/Source/WTF/wtf/Platform.h	2014-03-06 09:14:58 UTC (rev 165179)
+++ trunk/Source/WTF/wtf/Platform.h	2014-03-06 09:17:18 UTC (rev 165180)
@@ -677,7 +677,7 @@
 #define ENABLE_DISASSEMBLER 1
 #endif
 
-#if !defined(WTF_USE_ARM64_DISASSEMBLER) && ENABLE(JIT) && PLATFORM(IOS) && CPU(ARM64)
+#if !defined(WTF_USE_ARM64_DISASSEMBLER) && ENABLE(JIT) && PLATFORM(IOS) && CPU(ARM64) && !USE(LLVM_DISASSEMBLER)
 #define WTF_USE_ARM64_DISASSEMBLER 1
 #endif
 
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to