aboutsummaryrefslogtreecommitdiffstats
path: root/src/qml/jsruntime
diff options
context:
space:
mode:
authorSimon Hausmann <[email protected]>2013-08-16 21:31:24 +0200
committerLars Knoll <[email protected]>2013-08-16 21:39:51 +0200
commit3bc7823fc86b4b2f8b7ef5c147c10568e5ed0296 (patch)
tree049b1687b85a5f5a3f0300c335ffb792a6a0d3f5 /src/qml/jsruntime
parent33149123187fda2bc96bd0288502cca97016791d (diff)
Merge Function::init with the constructor
Diffstat (limited to 'src/qml/jsruntime')
-rw-r--r--src/qml/jsruntime/qv4function.cpp22
-rw-r--r--src/qml/jsruntime/qv4function_p.h15
2 files changed, 18 insertions, 19 deletions
diff --git a/src/qml/jsruntime/qv4function.cpp b/src/qml/jsruntime/qv4function.cpp
index 87db58580f..e3575086a2 100644
--- a/src/qml/jsruntime/qv4function.cpp
+++ b/src/qml/jsruntime/qv4function.cpp
@@ -51,17 +51,22 @@ QT_BEGIN_NAMESPACE
using namespace QV4;
-Function::~Function()
-{
-}
-
-void Function::init(CompiledData::CompilationUnit *unit, const CompiledData::Function *function, Value (*codePtr)(ExecutionContext *, const uchar *),
- quint32 _codeSize)
+Function::Function(ExecutionEngine *engine, CompiledData::CompilationUnit *unit, const CompiledData::Function *function,
+ Value (*codePtr)(ExecutionContext *, const uchar *), quint32 _codeSize)
+ : name(0)
+ , compiledFunction(0)
+ , compilationUnit(0)
+ , code(0)
+ , codeData(0)
+ , codeSize(0)
+ , engine(engine)
{
Q_ASSERT(!compilationUnit);
compilationUnit = unit;
compiledFunction = function;
+ name = compilationUnit->runtimeStrings[compiledFunction->nameIndex];
+
code = codePtr;
codeSize = _codeSize;
@@ -77,6 +82,11 @@ void Function::init(CompiledData::CompilationUnit *unit, const CompiledData::Fun
locals[i] = engine->newString(unit->data->stringAt(localsIndices[i])->qString());
}
+Function::~Function()
+{
+}
+
+
void Function::mark()
{
if (name)
diff --git a/src/qml/jsruntime/qv4function_p.h b/src/qml/jsruntime/qv4function_p.h
index d9ba9dccb8..d197098663 100644
--- a/src/qml/jsruntime/qv4function_p.h
+++ b/src/qml/jsruntime/qv4function_p.h
@@ -100,21 +100,10 @@ struct Function {
ExecutionEngine *engine;
- Function(ExecutionEngine *engine, String *name)
- : name(name)
- , compiledFunction(0)
- , compilationUnit(0)
- , code(0)
- , codeData(0)
- , codeSize(0)
- , engine(engine)
- {}
+ Function(ExecutionEngine *engine, CompiledData::CompilationUnit *unit, const CompiledData::Function *function,
+ Value (*codePtr)(ExecutionContext *, const uchar *), quint32 _codeSize);
~Function();
- // ### Merge with constructor later.
- void init(CompiledData::CompilationUnit *unit, const CompiledData::Function *function,
- Value (*codePtr)(ExecutionContext *, const uchar *), quint32 _codeSize);
-
inline QString sourceFile() const { return compilationUnit->fileName(); }
inline bool usesArgumentsObject() const { return compiledFunction->flags & CompiledData::Function::UsesArgumentsObject; }