WebKit Bugzilla
Attachment 339619 Details for
Bug 185283
: [JSC][GTK][JSCONLY] Use capstone disassembler
Home
|
New
|
Browse
|
Search
|
[?]
|
Reports
|
Requests
|
Help
|
New Account
|
Log In
Remember
[x]
|
Forgot Password
Login:
[x]
[patch]
Non capstone source part
bug-185283-20180505104328.patch (text/plain), 18.08 KB, created by
Yusuke Suzuki
on 2018-05-04 18:43:29 PDT
(
hide
)
Description:
Non capstone source part
Filename:
MIME Type:
Creator:
Yusuke Suzuki
Created:
2018-05-04 18:43:29 PDT
Size:
18.08 KB
patch
obsolete
>Subversion Revision: 231347 >diff --git a/Source/JavaScriptCore/ChangeLog b/Source/JavaScriptCore/ChangeLog >index 2dbcc93bbae000f7075903cc393d4e5ef6c67545..bd262d94ae7f6314a21655e600b68b26c36b4cbc 100644 >--- a/Source/JavaScriptCore/ChangeLog >+++ b/Source/JavaScriptCore/ChangeLog >@@ -1,3 +1,23 @@ >+2018-05-04 Yusuke Suzuki <utatane.tea@gmail.com> >+ >+ [JSC][GTK][JSCONLY] Use capstone disassembler >+ https://bugs.webkit.org/show_bug.cgi?id=185283 >+ >+ Reviewed by NOBODY (OOPS!). >+ >+ Instead of adding MIPS disassembler baked by ourselves, we import capstone disassembler. >+ And use capstone disassembler for MIPS, ARM, and ARMv7 in GTK, WPE, WinCairo and JSCOnly ports. >+ >+ And we remove ARM LLVM disassembler. >+ >+ Capstone is licensed under 3-clause BSD, which is acceptable in WebKit tree. >+ >+ * CMakeLists.txt: >+ * Sources.txt: >+ * disassembler/ARMLLVMDisassembler.cpp: Removed. >+ * disassembler/CapstoneDisassembler.cpp: Added. >+ (JSC::tryToDisassemble): >+ > 2018-05-03 Yusuke Suzuki <utatane.tea@gmail.com> > > Remove std::random_shuffle >diff --git a/Source/WTF/ChangeLog b/Source/WTF/ChangeLog >index 106a12a8d9cb8a84af20048b2999ec99c918aebd..628d1acc4713b36e67aaa213b51cb66696fdc6a7 100644 >--- a/Source/WTF/ChangeLog >+++ b/Source/WTF/ChangeLog >@@ -1,3 +1,14 @@ >+2018-05-04 Yusuke Suzuki <utatane.tea@gmail.com> >+ >+ [JSC][GTK][JSCONLY] Use capstone disassembler >+ https://bugs.webkit.org/show_bug.cgi?id=185283 >+ >+ Reviewed by NOBODY (OOPS!). >+ >+ Add USE_CAPSTONE used for MIPS and ARM. >+ >+ * wtf/Platform.h: >+ > 2018-05-03 Yusuke Suzuki <utatane.tea@gmail.com> > > Use default std::optional if it is provided >diff --git a/Source/CMakeLists.txt b/Source/CMakeLists.txt >index 05d820721cee0c39b5b6e20093f0a4166b85f366..54fe4a2d2bc583c39f64851dff7541ee5c74665c 100644 >--- a/Source/CMakeLists.txt >+++ b/Source/CMakeLists.txt >@@ -7,6 +7,10 @@ endif () > > add_subdirectory(WTF) > >+if (USE_CAPSTONE) >+ add_subdirectory(ThirdParty/capstone) >+endif () >+ > add_subdirectory(JavaScriptCore) > > if (WIN32 AND ENABLE_GRAPHICS_CONTEXT_3D) >diff --git a/Source/JavaScriptCore/CMakeLists.txt b/Source/JavaScriptCore/CMakeLists.txt >index 7080962a66d1ddbba0ea53eb77d76a25e9c71d74..3a4e26e8e7bf9adcfe7f44e9ca199b95a1387063 100644 >--- a/Source/JavaScriptCore/CMakeLists.txt >+++ b/Source/JavaScriptCore/CMakeLists.txt >@@ -50,6 +50,10 @@ set(JavaScriptCore_PRIVATE_INCLUDE_DIRECTORIES > "${DERIVED_SOURCES_JAVASCRIPTCORE_DIR}/yarr" > ) > >+if (USE_CAPSTONE) >+ list(APPEND JavaScriptCore_PRIVATE_INCLUDE_DIRECTORIES "${THIRDPARTY_DIR}/capstone/Source/include") >+endif () >+ > set(JavaScriptCore_SYSTEM_INCLUDE_DIRECTORIES > "${ICU_INCLUDE_DIRS}" > ) >@@ -115,9 +119,12 @@ set(JavaScriptCore_OBJECT_LUT_SOURCES > set(JavaScriptCore_LIBRARIES > WTF${DEBUG_SUFFIX} > ${ICU_I18N_LIBRARIES} >- ${LLVM_LIBRARIES} > ) > >+if (USE_CAPSTONE) >+ list(APPEND JavaScriptCore_LIBRARIES capstone) >+endif () >+ > # Since r228149, on MIPS we need to link with -latomic, because > # __atomic_fetch_add_8 is not available as a compiler intrinsic. It is > # available on other platforms (including 32-bit Arm), so the link with >diff --git a/Source/JavaScriptCore/Sources.txt b/Source/JavaScriptCore/Sources.txt >index 5229f3b10421357bd926cc379185bd194a48f873..69c88f071b0c70999ddacb0d983b8c20cc23d7c0 100644 >--- a/Source/JavaScriptCore/Sources.txt >+++ b/Source/JavaScriptCore/Sources.txt >@@ -410,8 +410,8 @@ dfg/DFGWatchpointCollectionPhase.cpp > dfg/DFGWorklist.cpp > > disassembler/ARM64Disassembler.cpp >-disassembler/ARMLLVMDisassembler.cpp > disassembler/ARMv7Disassembler.cpp >+disassembler/CapstoneDisassembler.cpp > disassembler/Disassembler.cpp > disassembler/UDis86Disassembler.cpp > disassembler/X86Disassembler.cpp >diff --git a/Source/JavaScriptCore/disassembler/ARMLLVMDisassembler.cpp b/Source/JavaScriptCore/disassembler/ARMLLVMDisassembler.cpp >deleted file mode 100644 >index a349abbc67424da5e305443759b7584cd2f51fbe..0000000000000000000000000000000000000000 >--- a/Source/JavaScriptCore/disassembler/ARMLLVMDisassembler.cpp >+++ /dev/null >@@ -1,76 +0,0 @@ >-/* >- * Copyright (C) 2013 Apple Inc. All rights reserved. >- * >- * Redistribution and use in source and binary forms, with or without >- * modification, are permitted provided that the following conditions >- * are met: >- * 1. Redistributions of source code must retain the above copyright >- * notice, this list of conditions and the following disclaimer. >- * 2. Redistributions in binary form must reproduce the above copyright >- * notice, this list of conditions and the following disclaimer in the >- * documentation and/or other materials provided with the distribution. >- * >- * THIS SOFTWARE IS PROVIDED BY APPLE INC. ``AS IS'' AND ANY >- * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE >- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR >- * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR >- * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, >- * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, >- * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR >- * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY >- * OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT >- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE >- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. >- */ >- >-#include "config.h" >-#include "Disassembler.h" >- >-#if USE(ARM_LLVM_DISASSEMBLER) >- >-#include "MacroAssemblerCodeRef.h" >-#include <llvm-c/Disassembler.h> >-#include <llvm-c/Target.h> >- >-namespace JSC { >- >-bool tryToDisassemble(const MacroAssemblerCodePtr& codePtr, size_t size, const char* prefix, PrintStream& out) >-{ >- LLVMInitializeAllTargetInfos(); >- LLVMInitializeAllTargetMCs(); >- LLVMInitializeAllDisassemblers(); >- >- const char* triple = "armv7-unknown-linux-gnueabihf"; >- LLVMDisasmContextRef disassemblyContext = LLVMCreateDisasm(triple, 0, 0, 0, 0); >- >- RELEASE_ASSERT(disassemblyContext); >- >- char pcString[20]; >- char instructionString[100]; >- >- uint8_t* pc = static_cast<uint8_t*>(codePtr.executableAddress()); >- uint8_t* end = pc + size; >- >- while (pc < end) { >- snprintf( >- pcString, sizeof(pcString), "0x%lx", >- static_cast<unsigned long>(bitwise_cast<uintptr_t>(pc))); >- >- size_t instructionSize = LLVMDisasmInstruction( >- disassemblyContext, pc, end - pc, bitwise_cast<uintptr_t>(pc), >- instructionString, sizeof(instructionString)); >- >- if (!instructionSize) >- snprintf(instructionString, sizeof(instructionString), "unknown instruction"); >- >- out.printf("%s%16s: [0x%08lx] %s\n", prefix, pcString, *(reinterpret_cast<unsigned long*>(pc)), instructionString); >- pc += 4; >- } >- >- LLVMDisasmDispose(disassemblyContext); >- return true; >-} >- >-} // namespace JSC >- >-#endif // USE(ARM_LLVM_DISASSEMBLER) >diff --git a/Source/JavaScriptCore/disassembler/CapstoneDisassembler.cpp b/Source/JavaScriptCore/disassembler/CapstoneDisassembler.cpp >new file mode 100644 >index 0000000000000000000000000000000000000000..47b5612db99fdb1f8915b278a911e5f213fa32ef >--- /dev/null >+++ b/Source/JavaScriptCore/disassembler/CapstoneDisassembler.cpp >@@ -0,0 +1,86 @@ >+/* >+ * Copyright (C) 2018 Yusuke Suzuki <utatane.tea@gmail.com>. >+ * >+ * Redistribution and use in source and binary forms, with or without >+ * modification, are permitted provided that the following conditions >+ * are met: >+ * 1. Redistributions of source code must retain the above copyright >+ * notice, this list of conditions and the following disclaimer. >+ * 2. Redistributions in binary form must reproduce the above copyright >+ * notice, this list of conditions and the following disclaimer in the >+ * documentation and/or other materials provided with the distribution. >+ * >+ * THIS SOFTWARE IS PROVIDED BY APPLE INC. ``AS IS'' AND ANY >+ * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE >+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR >+ * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR >+ * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, >+ * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, >+ * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR >+ * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY >+ * OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT >+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE >+ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. >+ */ >+ >+#include "config.h" >+ >+#if ENABLE(DISASSEMBLER) && USE(CAPSTONE) >+ >+#include "MacroAssemblerCodeRef.h" >+#include "Options.h" >+#include <capstone/capstone.h> >+ >+namespace JSC { >+ >+bool tryToDisassemble(const MacroAssemblerCodePtr<DisassemblyPtrTag>& codePtr, size_t size, const char* prefix, PrintStream& out) >+{ >+ csh handle; >+ cs_insn* instructions; >+ >+#if CPU(X86) >+ if (cs_open(CS_ARCH_X86, CS_MODE_32, &handle) != CS_ERR_OK) >+ return false; >+#elif CPU(X86_64) >+ if (cs_open(CS_ARCH_X86, CS_MODE_64, &handle) != CS_ERR_OK) >+ return false; >+#elif CPU(ARM_TRADITIONAL) >+ if (cs_open(CS_ARCH_ARM, CS_MODE_ARM, &handle) != CS_ERR_OK) >+ return false; >+#elif CPU(ARM_THUMB2) >+ if (cs_open(CS_ARCH_ARM, CS_MODE_THUMB, &handle) != CS_ERR_OK) >+ return false; >+#elif CPU(ARM64) >+ if (cs_open(CS_ARCH_ARM64, CS_MODE_ARM, &handle) != CS_ERR_OK) >+ return false; >+#elif CPU(MIPS) >+ if (cs_open(CS_ARCH_MIPS, CS_MODE_MIPS32, &handle) != CS_ERR_OK) >+ return false; >+#else >+ return false; >+#endif >+ >+#if CPU(X86) || CPU(X86_64) >+ if (cs_option(handle, CS_OPT_SYNTAX, CS_OPT_SYNTAX_ATT) != CS_ERR_OK) { >+ cs_close(&handle); >+ return false; >+ } >+#endif >+ >+ size_t count = cs_disasm(handle, codePtr.untaggedExecutableAddress<unsigned char*>(), size, codePtr.untaggedExecutableAddress<uintptr_t>(), 0, &instructions); >+ if (count > 0) { >+ for (size_t i = 0; i < count; ++i) { >+ auto& instruction = instructions[i]; >+ char pcString[20]; >+ snprintf(pcString, sizeof(pcString), "0x%llx", static_cast<unsigned long long>(instruction.address)); >+ out.printf("%s%16s: %s %s\n", prefix, pcString, instruction.mnemonic, instruction.op_str); >+ } >+ cs_free(instructions, count); >+ } >+ cs_close(&handle); >+ return true; >+} >+ >+} // namespace JSC >+ >+#endif // ENABLE(DISASSEMBLER) && USE(CAPSTONE) >diff --git a/Source/WTF/wtf/Platform.h b/Source/WTF/wtf/Platform.h >index d89341675f2dcc5a7247fa8db7d083423362815e..55a5aa381817ef59919f046260e5a6ecc32c6861 100644 >--- a/Source/WTF/wtf/Platform.h >+++ b/Source/WTF/wtf/Platform.h >@@ -747,28 +747,19 @@ > /* If possible, try to enable a disassembler. This is optional. We proceed in two > steps: first we try to find some disassembler that we can use, and then we > decide if the high-level disassembler API can be enabled. */ >-#if !defined(USE_UDIS86) && ENABLE(JIT) && ((OS(DARWIN) && !PLATFORM(GTK)) || (OS(LINUX) && PLATFORM(GTK))) \ >- && (CPU(X86) || CPU(X86_64)) >+#if !defined(USE_UDIS86) && ENABLE(JIT) && (CPU(X86) || CPU(X86_64)) && !USE(CAPSTONE) > #define USE_UDIS86 1 > #endif > >-#if !defined(ENABLE_DISASSEMBLER) && USE(UDIS86) >-#define ENABLE_DISASSEMBLER 1 >-#endif >- >-#if !defined(USE_ARM64_DISASSEMBLER) && ENABLE(JIT) && CPU(ARM64) >+#if !defined(USE_ARM64_DISASSEMBLER) && ENABLE(JIT) && CPU(ARM64) && !USE(CAPSTONE) > #define USE_ARM64_DISASSEMBLER 1 > #endif > >-#if !defined(USE_ARMV7_DISASSEMBLER) && ENABLE(JIT) && CPU(ARM_THUMB2) >+#if !defined(USE_ARMV7_DISASSEMBLER) && ENABLE(JIT) && CPU(ARM_THUMB2) && !USE(CAPSTONE) > #define USE_ARMV7_DISASSEMBLER 1 > #endif > >-#if !defined(USE_ARM_LLVM_DISASSEMBLER) && ENABLE(JIT) && CPU(ARM_TRADITIONAL) && HAVE(LLVM) >-#define USE_ARM_LLVM_DISASSEMBLER 1 >-#endif >- >-#if !defined(ENABLE_DISASSEMBLER) && (USE(UDIS86) || USE(ARMV7_DISASSEMBLER) || USE(ARM64_DISASSEMBLER) || USE(ARM_LLVM_DISASSEMBLER)) >+#if !defined(ENABLE_DISASSEMBLER) && (USE(UDIS86) || USE(ARMV7_DISASSEMBLER) || USE(ARM64_DISASSEMBLER) || (ENABLE(JIT) && USE(CAPSTONE))) > #define ENABLE_DISASSEMBLER 1 > #endif > >diff --git a/Source/cmake/FindLLVM.cmake b/Source/cmake/FindLLVM.cmake >deleted file mode 100644 >index 8a1ac2049716adff2b934b0c1dd7660751508688..0000000000000000000000000000000000000000 >--- a/Source/cmake/FindLLVM.cmake >+++ /dev/null >@@ -1,49 +0,0 @@ >-# >-# Check if the llvm-config gives us the path for the llvm libs. >-# >-# The following variables are set: >-# LLVM_CONFIG_EXE >-# LLVM_VERSION >-# LLVM_INCLUDE_DIRS - include directories for the llvm headers. >-# LLVM_STATIC_LIBRARIES - list of paths for the static llvm libraries. >- >- >-foreach (_program_name llvm-config llvm-config-3.7 llvm-config-3.6 llvm-config-3.5) >- find_program(LLVM_CONFIG_EXE NAMES ${_program_name}) >- if (LLVM_CONFIG_EXE) >- execute_process(COMMAND ${LLVM_CONFIG_EXE} --version OUTPUT_VARIABLE LLVM_VERSION OUTPUT_STRIP_TRAILING_WHITESPACE) >- if ("${LLVM_VERSION}" VERSION_LESS "${LLVM_FIND_VERSION}") >- unset(LLVM_CONFIG_EXE CACHE) >- else () >- break () >- endif () >- endif () >-endforeach () >- >-execute_process(COMMAND ${LLVM_CONFIG_EXE} --includedir OUTPUT_VARIABLE LLVM_INCLUDE_DIRS OUTPUT_STRIP_TRAILING_WHITESPACE) >-execute_process(COMMAND ${LLVM_CONFIG_EXE} --libfiles OUTPUT_VARIABLE LLVM_STATIC_LIBRARIES OUTPUT_STRIP_TRAILING_WHITESPACE) >-execute_process(COMMAND ${LLVM_CONFIG_EXE} --system-libs OUTPUT_VARIABLE LLVM_SYSTEM_LIBRARIES OUTPUT_STRIP_TRAILING_WHITESPACE) >-execute_process(COMMAND ${LLVM_CONFIG_EXE} --libdir OUTPUT_VARIABLE LLVM_LIBS_DIRECTORY OUTPUT_STRIP_TRAILING_WHITESPACE) >-execute_process(COMMAND ${LLVM_CONFIG_EXE} --libs OUTPUT_VARIABLE LLVM_LIBS OUTPUT_STRIP_TRAILING_WHITESPACE) >-execute_process(COMMAND ${LLVM_CONFIG_EXE} --ldflags OUTPUT_VARIABLE LLVM_LDFLAGS OUTPUT_STRIP_TRAILING_WHITESPACE) >- >-# Depending on how llvm was built, we could have either a global .so file when built using autotools, >-# or multiple .so files for each static library when built using CMake. So, we set the LLVM_LIBS_DIRECTORY >-# variable here accordingly for each case. >-# We need to build the soname manually in any case, since there's currently no way to get it from llvm-config. >-set(LLVM_SONAME "LLVM-${LLVM_VERSION}") >-if (EXISTS "${LLVM_LIBS_DIRECTORY}/lib${LLVM_SONAME}.so") >- set(LLVM_LIBRARIES "${LLVM_LDFLAGS} -l${LLVM_SONAME}") >-else () >- set(LLVM_LIBRARIES "${LLVM_LDFLAGS} ${LLVM_LIBS}") >-endif () >- >-# convert the list of paths into a cmake list >-separate_arguments(LLVM_STATIC_LIBRARIES) >- >-include(FindPackageHandleStandardArgs) >-find_package_handle_standard_args(LLVM >- REQUIRED_VARS LLVM_VERSION LLVM_INCLUDE_DIRS LLVM_LIBRARIES LLVM_STATIC_LIBRARIES >- VERSION_VAR LLVM_VERSION) >- >-mark_as_advanced(LLVM_VERSION LLVM_INCLUDE_DIRS LLVM_LIBRARIES LLVM_STATIC_LIBRARIES) >diff --git a/Source/cmake/OptionsCommon.cmake b/Source/cmake/OptionsCommon.cmake >index af799e96a1234f3d0dac956c21d8bf1537fe87e1..cd893d333c971b9ce0f0ecfced957c258fcdcd02 100644 >--- a/Source/cmake/OptionsCommon.cmake >+++ b/Source/cmake/OptionsCommon.cmake >@@ -93,11 +93,6 @@ if (DEBUG_FISSION) > set(CMAKE_SHARED_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -Wl,--gdb-index") > endif () > >-if (USE_ARM_LLVM_DISASSEMBLER) >- find_package(LLVM REQUIRED) >- SET_AND_EXPOSE_TO_BUILD(HAVE_LLVM TRUE) >-endif () >- > # Enable the usage of OpenMP. > # - At this moment, OpenMP is only used as an alternative implementation > # to native threads for the parallelization of the SVG filters. >diff --git a/Source/cmake/OptionsGTK.cmake b/Source/cmake/OptionsGTK.cmake >index 9abecc9a8d2a5d5af3278e53cf7693f3a0eb4bfa..7d31a78d77485d8948b7128689a6913dccff77d4 100644 >--- a/Source/cmake/OptionsGTK.cmake >+++ b/Source/cmake/OptionsGTK.cmake >@@ -48,6 +48,10 @@ SET_AND_EXPOSE_TO_BUILD(USE_CAIRO TRUE) > SET_AND_EXPOSE_TO_BUILD(USE_XDGMIME TRUE) > SET_AND_EXPOSE_TO_BUILD(USE_GCRYPT TRUE) > >+if (WTF_CPU_ARM OR WTF_CPU_MIPS) >+ SET_AND_EXPOSE_TO_BUILD(USE_CAPSTONE ${DEVELOPER_MODE}) >+endif () >+ > # For old versions of HarfBuzz that do not expose an API for the OpenType MATH > # table, we enable our own code to parse that table. > if ("${PC_HARFBUZZ_VERSION}" VERSION_LESS "1.3.3") >diff --git a/Source/cmake/OptionsJSCOnly.cmake b/Source/cmake/OptionsJSCOnly.cmake >index 51caa4353d824fe057c331e29ce191ea41fa4ee9..31c4b2eb4b2c5d483fe0b8f64ca29aa85e0a5ec2 100644 >--- a/Source/cmake/OptionsJSCOnly.cmake >+++ b/Source/cmake/OptionsJSCOnly.cmake >@@ -42,8 +42,8 @@ else () > set(ENABLE_API_TESTS ON) > endif () > >-if (WTF_CPU_X86 OR WTF_CPU_X86_64) >- SET_AND_EXPOSE_TO_BUILD(USE_UDIS86 1) >+if (WTF_CPU_ARM OR WTF_CPU_MIPS) >+ SET_AND_EXPOSE_TO_BUILD(USE_CAPSTONE TRUE) > endif () > > # FIXME: JSCOnly on WIN32 seems to only work with fully static build >diff --git a/Source/cmake/OptionsWPE.cmake b/Source/cmake/OptionsWPE.cmake >index 4dc17a9a32dbbfd888f0f1a410220ef2815de7a6..f2e409919b866722f4e4c875f6a2203f06bb8e34 100644 >--- a/Source/cmake/OptionsWPE.cmake >+++ b/Source/cmake/OptionsWPE.cmake >@@ -121,6 +121,10 @@ SET_AND_EXPOSE_TO_BUILD(USE_LIBEPOXY TRUE) > SET_AND_EXPOSE_TO_BUILD(USE_OPENGL_ES TRUE) > SET_AND_EXPOSE_TO_BUILD(USE_XDGMIME TRUE) > >+if (WTF_CPU_ARM OR WTF_CPU_MIPS) >+ SET_AND_EXPOSE_TO_BUILD(USE_CAPSTONE ${DEVELOPER_MODE}) >+endif () >+ > SET_AND_EXPOSE_TO_BUILD(ENABLE_GRAPHICS_CONTEXT_3D TRUE) > > SET_AND_EXPOSE_TO_BUILD(USE_TEXTURE_MAPPER TRUE) >diff --git a/ChangeLog b/ChangeLog >index 85d1fcaa499532312d706865e020a60cf2c79ce4..903184d0f0ca928472d075b6543d2cbbc4b589b1 100644 >--- a/ChangeLog >+++ b/ChangeLog >@@ -1,3 +1,17 @@ >+2018-05-04 Yusuke Suzuki <utatane.tea@gmail.com> >+ >+ [JSC][GTK][JSCONLY] Use capstone disassembler >+ https://bugs.webkit.org/show_bug.cgi?id=185283 >+ >+ Reviewed by NOBODY (OOPS!). >+ >+ * Source/CMakeLists.txt: >+ * Source/cmake/FindLLVM.cmake: Removed. >+ * Source/cmake/OptionsCommon.cmake: >+ * Source/cmake/OptionsGTK.cmake: >+ * Source/cmake/OptionsJSCOnly.cmake: >+ * Source/cmake/OptionsWPE.cmake: >+ > 2018-05-02 Valerie R Young <valerie@bocoup.com> > > test262/Runner.pm: save summary to file
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Diff
View Attachment As Raw
Actions:
View
|
Formatted Diff
|
Diff
Attachments on
bug 185283
:
339527
|
339528
|
339529
|
339530
|
339537
|
339618
|
339619
|
339641
|
339642
|
339703
|
339704
|
339707
|
339708
|
339932
|
339936
|
339937