From 04ad4f2d9c8d5c93c33f873a3b8a5a86b7489634 Mon Sep 17 00:00:00 2001 From: Simon Hausmann Date: Mon, 28 May 2018 15:57:26 +0200 Subject: Minor cleanup with bytecode pointer types Even though we consider the bytecode to be a sequence of unsigned bytes, we store it as const char * (so unsigned except on arm) everywhere, because that makes it convenient to work with QByteArray's constData(). By using const char * consistently we can get rid of at least one more reinterpret_cast. Change-Id: I7a803e4201381c39eec2fdc6497d9bf36a1c2b6b Reviewed-by: Lars Knoll --- src/qml/compiler/qv4compileddata_p.h | 2 +- src/qml/jit/qv4baselinejit.cpp | 2 +- src/qml/jsruntime/qv4engine_p.h | 4 ++-- src/qml/jsruntime/qv4function_p.h | 2 +- src/qml/jsruntime/qv4generatorobject.cpp | 2 +- src/qml/jsruntime/qv4vme_moth.cpp | 2 +- src/qml/jsruntime/qv4vme_moth_p.h | 2 +- 7 files changed, 8 insertions(+), 8 deletions(-) (limited to 'src') diff --git a/src/qml/compiler/qv4compileddata_p.h b/src/qml/compiler/qv4compileddata_p.h index 239c12acfd..bd19c1e1a8 100644 --- a/src/qml/compiler/qv4compileddata_p.h +++ b/src/qml/compiler/qv4compileddata_p.h @@ -299,7 +299,7 @@ struct Function const quint32_le *formalsEnd() const { return formalsTable() + nFormals; } // --- - const uchar *code() const { return reinterpret_cast(this) + codeOffset; } + const char *code() const { return reinterpret_cast(this) + codeOffset; } inline bool hasQmlDependencies() const { return nDependingIdObjects > 0 || nDependingContextProperties > 0 || nDependingScopeProperties > 0; } diff --git a/src/qml/jit/qv4baselinejit.cpp b/src/qml/jit/qv4baselinejit.cpp index 3faf2ac8d9..f2a52a6f97 100644 --- a/src/qml/jit/qv4baselinejit.cpp +++ b/src/qml/jit/qv4baselinejit.cpp @@ -60,7 +60,7 @@ BaselineJIT::~BaselineJIT() void BaselineJIT::generate() { // qDebug()<<"jitting" << function->name()->toQString(); - const char *code = reinterpret_cast(function->codeData); + const char *code = function->codeData; uint len = function->compiledFunction->codeSize; labels = collectLabelsInBytecode(code, len); diff --git a/src/qml/jsruntime/qv4engine_p.h b/src/qml/jsruntime/qv4engine_p.h index 155383c55d..aa38189cdf 100644 --- a/src/qml/jsruntime/qv4engine_p.h +++ b/src/qml/jsruntime/qv4engine_p.h @@ -96,8 +96,8 @@ struct Q_QML_EXPORT CppStackFrame { const Value *originalArguments; int originalArgumentsCount; int instructionPointer; - const uchar *yield; - const uchar *exceptionHandler; + const char *yield; + const char *exceptionHandler; QString source() const; QString function() const; diff --git a/src/qml/jsruntime/qv4function_p.h b/src/qml/jsruntime/qv4function_p.h index 06a3bda0a8..ff2d86b89f 100644 --- a/src/qml/jsruntime/qv4function_p.h +++ b/src/qml/jsruntime/qv4function_p.h @@ -72,7 +72,7 @@ struct Q_QML_EXPORT Function { return Moth::VME::exec(this, thisObject, argv, argc, context); } - const uchar *codeData; + const char *codeData; typedef ReturnedValue (*JittedCode)(CppStackFrame *, ExecutionEngine *); JittedCode jittedCode; diff --git a/src/qml/jsruntime/qv4generatorobject.cpp b/src/qml/jsruntime/qv4generatorobject.cpp index 8e4f88fb2c..a29eef513c 100644 --- a/src/qml/jsruntime/qv4generatorobject.cpp +++ b/src/qml/jsruntime/qv4generatorobject.cpp @@ -231,7 +231,7 @@ ReturnedValue GeneratorObject::resume(ExecutionEngine *engine, const Value &arg) engine->currentStackFrame = &gp->cppFrame; Q_ASSERT(gp->cppFrame.yield != nullptr); - const uchar *code = gp->cppFrame.yield; + const char *code = gp->cppFrame.yield; gp->cppFrame.yield = nullptr; gp->cppFrame.jsFrame->accumulator = arg; diff --git a/src/qml/jsruntime/qv4vme_moth.cpp b/src/qml/jsruntime/qv4vme_moth.cpp index bf07faca2a..e71057fcd9 100644 --- a/src/qml/jsruntime/qv4vme_moth.cpp +++ b/src/qml/jsruntime/qv4vme_moth.cpp @@ -585,7 +585,7 @@ QV4::ReturnedValue VME::exec(const FunctionObject *fo, const QV4::Value *thisObj return result; } -QV4::ReturnedValue VME::interpret(CppStackFrame &frame, const uchar *code) +QV4::ReturnedValue VME::interpret(CppStackFrame &frame, const char *code) { QV4::Function *function = frame.v4Function; QV4::Value &accumulator = frame.jsFrame->accumulator; diff --git a/src/qml/jsruntime/qv4vme_moth_p.h b/src/qml/jsruntime/qv4vme_moth_p.h index 737ff3f519..67bfd537c5 100644 --- a/src/qml/jsruntime/qv4vme_moth_p.h +++ b/src/qml/jsruntime/qv4vme_moth_p.h @@ -72,7 +72,7 @@ public: return exec(reinterpret_cast(d), thisObject, argv, argc); } static QV4::ReturnedValue exec(const FunctionObject *fo, const Value *thisObject, const Value *argv, int argc); - static QV4::ReturnedValue interpret(CppStackFrame &frame, const uchar *codeEntry); + static QV4::ReturnedValue interpret(CppStackFrame &frame, const char *codeEntry); }; } // namespace Moth -- cgit v1.2.3