| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
|
|
|
| |
makeWritable() rounds the memory down to the next page boundary. Usually
we include the exception handler this way, unless the offset from the
page boundary is less than the exception handler size. Make it explicit
that we do want the exception handler to be writable, too.
Fixes: QTBUG-89513
Change-Id: I2fb8fb0e1dcc3450b036924463dc1b40d2020c46
Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
(cherry picked from commit 86a595b126bc6794380dc00af80ec4802f7d058c)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
|
|
|
|
|
|
|
|
|
| |
This is required to remove the ; from the macro with Qt 6.
Task-number: QTBUG-82978
Change-Id: Iead53d18fd790fb2d870d80ef2db79666f0d2392
Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
|
|
|
|
|
|
|
|
|
| |
It is actually called from only one place, so adapt it to what that
caller really needs, removing more excessive newlines.
Change-Id: Ieb1a24ddb911d86af1f862e35e4fdd7ad2d9ff13
Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The current output would look like this (including the blank lines):
[20191115 12:32:37.378 UTC 0xc47cb8 default: Generated BaselineJIT code for
[20191115 12:32:37.379 UTC 0xc47cb8 default: function expression for source
[20191115 12:32:37.379 UTC 0xc47cb8 default: :
[20191115 12:32:37.379 UTC 0xc47cb8 default: Code at [0x671068d1, 0x671069bd):
[20191115 12:32:37.379 UTC 0xc47cb8 qt.v4.asm: disassembly not available for range 0x671068d1...0x67106997
[20191115 12:32:37.379 UTC 0xc47cb8 qt.v4.asm:
Drop 3 of the newlines to make it not beautiful, but at least not
totally verbose.
Change-Id: I850b7acede33ddbb5f6ab74fd760962ca18988c8
Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
|
|
|
|
|
|
|
| |
We don't build the assembler or the JIT in bootstrap mode.
Change-Id: Idc3a56cc1e9cfba415bef9cba221c8a60ee75010
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
|
|\
| |
| |
| |
| |
| |
| |
| |
| | |
Conflicts:
src/3rdparty/masm/assembler/LinkBuffer.h
src/qmltest/doc/src/qtquicktest-index.qdoc
tests/auto/qml/qqmllanguage/tst_qqmllanguage.cpp
Change-Id: I7d83ad95cf489dda794dd7a0a33bad3ef3b05609
|
| |
| |
| |
| |
| |
| | |
Task-number: QTBUG-74876
Change-Id: I8e816d29b709750b121cc63edfc5f3493a3ed119
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
|
|/
|
|
|
|
|
|
|
|
|
|
|
|
| |
In order for global exception handlers to be called reliably, the runtime
needs to unwind through JIT-generated code. This can be facilitated by
installing a "function table" for each JITed function that specifies "use
the frame pointer".
Also make sure to generate a function table for JIT'ed regular
expressions. Those were forgotten also in the linux case.
Fixes: QTBUG-50061
Change-Id: Ib0b8ae9356ed80afe1cab017e36efa4ccbe73f90
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
|
|
|
|
|
| |
Change-Id: I6dd1cd6f795a93a186e84f5ab1c606f7e23fb85d
Reviewed-by: Lars Knoll <lars.knoll@qt.io>
|
|
|
|
|
|
|
|
| |
We've not been using it for quite some time, and the interpreter
is the better fallback option there.
Change-Id: If4d698115eec6038b369586ebdd8c1e4b88ea0ba
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
|
|
|
|
|
|
|
|
|
|
|
| |
Updated Yarr to a to commit
4d2a53d60487cb1f8b2a9a1e9f684af336fd7d2c in WebKit.
Adjusted the yarr code base to work with our older version of
wtf and masm.
Change-Id: I04b4593ece051e1d7aa087b87aa08c92595d1098
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
|
|
|
|
|
|
|
|
| |
This is to accommodate operating systems such as VxWorks that require
writable pages in order to perform the flushing
Change-Id: Iefcd26a4d7fa74fa046776c6ee2883399a4d31dc
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
|
|
|
|
|
|
|
|
|
| |
Add the ARM64 assembler to cross-compilation.
Task-number: QTBUG-58568
Change-Id: I91461ebf79fb83e31e8ae2962ab0e155d308281a
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: Lars Knoll <lars.knoll@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Even when the C++ target is not ARMv7 we want to include it in order to
be able to generate QML cache files with code ahead of time.
This requires a few changes:
* The Jump classes need to move from the AbstractMacroAssembler
super-class into the concrete assembler sub-class, in order to
use it in specializations.
* Some of the template specializations in LinkBuffer for example or
for platform dependent operations need to be pre-processor enabled
when bootstrapping
* The generic loadPtr/addPtr etc. functions need to move to the concrete
assemblers to be able to call the correct 32-bit or 64-bit variations.
* We need to force what looks like a loss of precision to the compiler
in the 32-bit ARMv7 linking code when linking jumps.
Finally then we can explicitly instantiate at least QV4::JIT::Assembler
for ARMv7 when bootstrapping. Currently only on x86-64 hosts, but that
is a temporary limitation.
Change-Id: I501db2360e1fded48f17f17d9e87252d47f8537e
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Since the #ifdef for ARMv7 and ARM64 makes it impossible to cross
compile, we need to replace it with a template specialization of
LinkBuffer. The "old" LinkBuffer becomes LinkBufferBase, then there's a
generic LinkBuffer that's a sub-class of LinkBufferBase. Then there's a
BranchCompactingLinkBuffer template that implements the compaction and
two ARMv7 and ARM64 specializations of LinkBuffer<T> end up being
sub-classes of BranchCompactingLinkBuffer instead of LinkBufferBase.
Change-Id: Ib62fe24aa6c3570dfa311edc39fde6fb5975f3cc
Reviewed-by: Lars Knoll <lars.knoll@qt.io>
|
|
|
|
|
|
|
| |
Unfortunately the link buffer depends on target platform types.
Change-Id: Idb49e72e8e864c709293a7b315dff948bc58e62a
Reviewed-by: Lars Knoll <lars.knoll@qt.io>
|
|
Change-Id: I507cd5707b7d7223a0d901cf939896fb2649b684
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
|