aboutsummaryrefslogtreecommitdiffstats
path: root/src/qml/compiler/qv4isel_p.cpp
diff options
context:
space:
mode:
authorSimon Hausmann <simon.hausmann@digia.com>2013-08-16 21:25:39 +0200
committerLars Knoll <lars.knoll@digia.com>2013-08-16 21:38:07 +0200
commit33149123187fda2bc96bd0288502cca97016791d (patch)
tree69cda0e37a2165df2188e6852113cb88206a8b5e /src/qml/compiler/qv4isel_p.cpp
parentfa7428adb543fb304bd05ec095d08306df976ba5 (diff)
Eliminate all vm functions on the isel side
Change-Id: I7c0e50498c937ce554b019f98829fa8c5d96c18e Reviewed-by: Lars Knoll <lars.knoll@digia.com>
Diffstat (limited to 'src/qml/compiler/qv4isel_p.cpp')
-rw-r--r--src/qml/compiler/qv4isel_p.cpp23
1 files changed, 2 insertions, 21 deletions
diff --git a/src/qml/compiler/qv4isel_p.cpp b/src/qml/compiler/qv4isel_p.cpp
index 6cfe7626af..8c49cbd431 100644
--- a/src/qml/compiler/qv4isel_p.cpp
+++ b/src/qml/compiler/qv4isel_p.cpp
@@ -65,11 +65,6 @@ EvalInstructionSelection::EvalInstructionSelection(QV4::ExecutionEngine *engine,
{
assert(engine);
assert(module);
-
- createFunctionMapping(0, module->rootFunction);
- foreach (V4IR::Function *f, module->functions) {
- assert(_irToVM.contains(f));
- }
}
EvalInstructionSelection::~EvalInstructionSelection()
@@ -78,27 +73,13 @@ EvalInstructionSelection::~EvalInstructionSelection()
EvalISelFactory::~EvalISelFactory()
{}
-QV4::Function *EvalInstructionSelection::createFunctionMapping(QV4::Function *outer, Function *irFunction)
-{
- QV4::Function *vmFunction = _engine->newFunction(irFunction->name ? *irFunction->name : QString());
- _irToVM.insert(irFunction, vmFunction);
-
- foreach (V4IR::Function *function, irFunction->nestedFunctions)
- createFunctionMapping(vmFunction, function);
-
- return vmFunction;
-}
-
QV4::CompiledData::CompilationUnit *EvalInstructionSelection::compile()
{
Function *rootFunction = jsUnitGenerator.irModule->rootFunction;
if (!rootFunction)
return 0;
- for (QHash<V4IR::Function*, QV4::Function*>::Iterator it = _irToVM.begin(), end = _irToVM.end();
- it != end; ++it) {
- if (!(*it)->code)
- run(it.value(), it.key());
- }
+ foreach (V4IR::Function *f, jsUnitGenerator.irModule->functions)
+ run(f);
return backendCompileStep();
}