diff options
Diffstat (limited to 'src/qml/compiler/qv4isel_masm.cpp')
-rw-r--r-- | src/qml/compiler/qv4isel_masm.cpp | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/src/qml/compiler/qv4isel_masm.cpp b/src/qml/compiler/qv4isel_masm.cpp index 22f6c3311a..deb0cd1500 100644 --- a/src/qml/compiler/qv4isel_masm.cpp +++ b/src/qml/compiler/qv4isel_masm.cpp @@ -67,6 +67,8 @@ using namespace QV4; CompilationUnit::~CompilationUnit() { + foreach (Function *f, runtimeFunctions) + engine->allFunctions.remove(reinterpret_cast<quintptr>(f->code)); UnwindHelper::deregisterFunctions(runtimeFunctions); } @@ -83,6 +85,9 @@ void CompilationUnit::linkBackendToEngine(ExecutionEngine *engine) } UnwindHelper::registerFunctions(runtimeFunctions); + + foreach (Function *f, runtimeFunctions) + engine->allFunctions.insert(reinterpret_cast<quintptr>(f->code), f); } QV4::ExecutableAllocator::ChunkOfPages *CompilationUnit::chunkForFunction(int functionIndex) |