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