summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/script/api/qscriptcontextinfo.cpp2
-rw-r--r--tests/auto/qscriptcontext/tst_qscriptcontext.cpp3
2 files changed, 1 insertions, 4 deletions
diff --git a/src/script/api/qscriptcontextinfo.cpp b/src/script/api/qscriptcontextinfo.cpp
index afe38b6..f9879a4 100644
--- a/src/script/api/qscriptcontextinfo.cpp
+++ b/src/script/api/qscriptcontextinfo.cpp
@@ -159,7 +159,7 @@ QScriptContextInfoPrivate::QScriptContextInfoPrivate(const QScriptContext *conte
if (returnPC && codeBlock && QScriptEnginePrivate::hasValidCodeBlockRegister(frame)) {
#if ENABLE(JIT)
JSC::JITCode code = codeBlock->getJITCode();
- unsigned jitOffset = code.offsetOf(JSC::ReturnAddressPtr(returnPC).value());
+ uintptr_t jitOffset = reinterpret_cast<uintptr_t>(JSC::ReturnAddressPtr(returnPC).value()) - reinterpret_cast<uintptr_t>(code.addressForCall().executableAddress());
// We can only use the JIT code offset if it's smaller than the JIT size;
// otherwise calling getBytecodeIndex() is meaningless.
if (jitOffset < code.size()) {
diff --git a/tests/auto/qscriptcontext/tst_qscriptcontext.cpp b/tests/auto/qscriptcontext/tst_qscriptcontext.cpp
index 00e2f15..aedacf3 100644
--- a/tests/auto/qscriptcontext/tst_qscriptcontext.cpp
+++ b/tests/auto/qscriptcontext/tst_qscriptcontext.cpp
@@ -964,9 +964,6 @@ void tst_QScriptContext::backtrace_data()
void tst_QScriptContext::backtrace()
{
-#if defined(UBUNTU_ONEIRIC) && defined(__x86_64__)
- QSKIP("Fails on this platform - QTBUG-23463");
-#endif
QFETCH(QString, code);
QFETCH(QStringList, expectedbacktrace);