Commit Graph

14 Commits

Author SHA1 Message Date
Simon Hausmann 3bc7823fc8 Merge Function::init with the constructor
Change-Id: I557f8a80aa2c74398b94e87ed0f29fe8d2297150
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
2013-08-16 21:39:51 +02:00
Simon Hausmann 3314912318 Eliminate all vm functions on the isel side
Change-Id: I7c0e50498c937ce554b019f98829fa8c5d96c18e
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
2013-08-16 21:38:07 +02:00
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 0f0e7443ae Refcount the compilation unit and remove refcount from runtime function
Change-Id: Iaa2f96a6814f1b39589ffcfe3c84e3c229e25f1f
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
2013-08-16 19:18:48 +02:00
Simon Hausmann 944717a46c Ported the compile-time class setup for object literals to be run-time based
Change-Id: I21225e4bf0f66914229cf64fa29ce870548c0e93
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
2013-08-16 16:52:18 +02:00
Simon Hausmann d017fe9b38 Store line number mappings in the compiled function
Change-Id: I4e37aac3618b20ccd52ce4833098781374a3daf6
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
2013-08-16 10:14:22 +02:00
Simon Hausmann b88626a3a5 Ported regular expressions over to be run-time generated data
Change-Id: I04e693d4923c97c3d869a5beb17011f6aad85f03
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
2013-08-16 10:14:13 +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 7b2c9178b9 Ported lookups to use the compiled data infrastructure
Change-Id: Idf75cd51087ea825f22aabda59661be461fd3b86
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
2013-08-15 15:28:37 +02:00
Simon Hausmann 4b0765da3e Prepare MASM for better runtime string handling
Keep the run-time functions as-is by taking String pointers and use a little
bit of inline assembly to resolve the string ids to string pointers, by
adding a runtimeStrings array pointer next to the lookups in the context
(similar mechanism).

Change-Id: Ib5a70bdf47fef7c447d646ccfe03f3dc30d39f20
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
2013-08-15 13:56:07 +02:00
Simon Hausmann 335a903d4b Move the masm compilation unit entirely into qv4isel_masm
Change-Id: If24b6a761dc2f2443520b31b5130ab44b739cdf3
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
2013-08-15 09:11:42 +02:00
Simon Hausmann 0d1e37e9f5 Fix writing the function offset table and initialize the pointer to the compiled function in the runtime function
Change-Id: I9aed9f394fedc4a4ea334f6ab1b72fe749c64c72
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
2013-08-15 09:08:44 +02:00
Simon Hausmann 5f3ef18bf8 Begin using the compiled data structures for runtime strings
Change-Id: Idbf278a96624bf101df35de40577b38e593f22be
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
2013-08-15 09:08:39 +02:00
Simon Hausmann 131964a3b5 Initial version of generator for new data structures
Change-Id: I172a504f8b4f8284967a4a02e207bf4c0a04c2a4
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
2013-08-15 09:08:35 +02:00