Commit b46bab1b authored by kkristof@inf.u-szeged.hu's avatar kkristof@inf.u-szeged.hu
Browse files

[Qt] Enable JSC's disassembler on x86, x86_64 Linux

https://bugs.webkit.org/show_bug.cgi?id=100386

Patch by Gabor Ballabas <gaborb@inf.u-szeged.hu> on 2012-10-26
Reviewed by Simon Hausmann.

It works fine on Linux x86, x86_64 just needs to be enabled in the
QtWebKit build system.

Source/JavaScriptCore:

* DerivedSources.pri:
* JavaScriptCore.pri:
* Target.pri:

Source/WTF:

* wtf/Platform.h:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@132606 268f45cc-cd09-0410-ab3c-d52691b4dbfc
parent 830dbd7b
2012-10-26 Gabor Ballabas <gaborb@inf.u-szeged.hu>
[Qt] Enable JSC's disassembler on x86, x86_64 Linux
https://bugs.webkit.org/show_bug.cgi?id=100386
Reviewed by Simon Hausmann.
It works fine on Linux x86, x86_64 just needs to be enabled in the
QtWebKit build system.
* DerivedSources.pri:
* JavaScriptCore.pri:
* Target.pri:
2012-10-26 Thiago Marcos P. Santos <thiago.santos@intel.com>
Add feature flags for CSS Device Adaptation
......
......@@ -40,6 +40,13 @@ LLINT_DEPENDENCY = \
$$PWD/llint/LowLevelInterpreter32_64.asm \
$$PWD/llint/LowLevelInterpreter64.asm
DISASSEMBLER_FILES = \
disassembler/udis86/optable.xml
DISASSEMBLER_DEPENDENCY = \
$$PWD/disassembler/udis86/ud_opcode.py \
$$PWD/disassembler/udis86/ud_optable.py
# GENERATOR 1-A: LUT creator
lut.output = ${QMAKE_FILE_BASE}.lut.h
lut.input = LUT_FILES
......@@ -97,3 +104,14 @@ linux-*:!equals(QT_ARCH, "arm") {
llint.commands = ruby $$llint.script ${QMAKE_FILE_NAME} LLIntOffsetsExtractor ${QMAKE_FILE_OUT}
GENERATORS += llint
}
linux-*:if(isEqual(QT_ARCH, "i386")|isEqual(QT_ARCH, "x86_64")) {
# GENERATOR: disassembler
disassembler.output = udis86_itab.c
disassembler.input = DISASSEMBLER_FILES
disassembler.script = $$PWD/disassembler/udis86/itab.py
disassembler.depends = $$DISASSEMBLER_DEPENDENCY
disassembler.commands = python $$disassembler.script ${QMAKE_FILE_NAME}
disassembler.CONFIG += no_link
GENERATORS += disassembler
}
\ No newline at end of file
......@@ -38,3 +38,7 @@ wince* {
INCLUDEPATH += $$QT.core.sources/../3rdparty/ce-compat
INCLUDEPATH += $$SOURCE_DIR/os-win32
}
linux-*:if(isEqual(QT_ARCH, "i386")|isEqual(QT_ARCH, "x86_64")) {
INCLUDEPATH += $$SOURCE_DIR/disassembler/udis86
}
......@@ -273,6 +273,18 @@ SOURCES += \
tools/CodeProfiling.cpp \
yarr/YarrJIT.cpp \
linux-*:if(isEqual(QT_ARCH, "i386")|isEqual(QT_ARCH, "x86_64")) {
SOURCES += \
disassembler/UDis86Disassembler.cpp \
disassembler/udis86/udis86.c \
disassembler/udis86/udis86_decode.c \
disassembler/udis86/udis86_input.c \
disassembler/udis86/udis86_itab_holder.c \
disassembler/udis86/udis86_syn-att.c \
disassembler/udis86/udis86_syn-intel.c \
disassembler/udis86/udis86_syn.c \
}
HEADERS += $$files(*.h, true)
*sh4* {
......
2012-10-26 Gabor Ballabas <gaborb@inf.u-szeged.hu>
[Qt] Enable JSC's disassembler on x86, x86_64 Linux
https://bugs.webkit.org/show_bug.cgi?id=100386
Reviewed by Simon Hausmann.
It works fine on Linux x86, x86_64 just needs to be enabled in the
QtWebKit build system.
* wtf/Platform.h:
2012-10-25 Michael Saboff <msaboff@apple.com>
REGRESSION (r131836): failures in list styles tests on EFL, GTK
......
......@@ -891,7 +891,8 @@
/* 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(WTF_USE_UDIS86) && ENABLE(JIT) && PLATFORM(MAC) && (CPU(X86) || CPU(X86_64))
#if !defined(WTF_USE_UDIS86) && ENABLE(JIT) && (PLATFORM(MAC) || (PLATFORM(QT) && OS(LINUX))) \
&& (CPU(X86) || CPU(X86_64))
#define WTF_USE_UDIS86 1
#endif
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment