Commit Graph

657 Commits

Author SHA1 Message Date
Simon Hausmann a44f92d925 Get rid of the functions list in QV4::ExecutionEngine
Change-Id: I97067dbb2819936a1b2029c9f63f0627cb6b8bd2
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
2013-08-16 19:22:24 +02:00
Simon Hausmann c5c968933b Fix crashes with unmarked runtime strings
Runtime strings are identifiers, but they still require to be marked. Keep
track of all compilation units in the engine (one per file) and mark its
run-time strings.

Change-Id: Ie70b00dfa373c4567279591de2f717e8103c288f
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
2013-08-15 15:28:46 +02:00
Simon Hausmann 3e49617bc6 Move QV4::Function::sourceFile to CompiledFunction
Change-Id: Iacf907c475070bab4a5a1583280f110c089141c4
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
2013-08-15 09:11:36 +02:00
Simon Hausmann 65aaea88d9 Fix memory leak in identifier table
Change-Id: I8bc393856cad85734160b52dee745509be502247
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
2013-08-13 12:40:56 +02:00
Simon Hausmann 876080d89d Re-enable JIT
Ooops, an earlier commit accidentally disabled it.

Change-Id: I7b732e0addba8b6403e0d6818d784f267711af42
Reviewed-by: Erik Verbruggen <erik.verbruggen@digia.com>
2013-08-12 16:49:02 +02:00
Simon Hausmann 7c2adbbb6c Add reference counting to the VM functions
This reduces memory pressure, keep engine->functions small and thus makes back
trace lookup faster. It became visible for example in the QtQuickControls
auto-tests that use plenty of loaders and we ended up with 30k+ functions.

Change-Id: Iaa5981f44e1e49ad9417a50c1e6a74946090dd28
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
2013-08-12 13:29:27 +02:00
Lars Knoll 3288b87e2f Restructure source code
Move the v4 engine classes from a subdir of qml/qml into
two subdirs (compiler and jsruntime) of the qml module
Remove an unsued qv4syntaxchecker class, and move
the moth code directly into compiler.

Change-Id: I6929bede1f25098e6cb2e68087e779fac16b0c68
Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
2013-08-08 12:22:30 +02:00