V4: Difference between revisions
No edit summary |
No edit summary |
||
Line 1: | Line 1: | ||
h4. V4 Javascript Engine | h4. V4 Javascript Engine | ||
"Why it was created?":http://qt.io/groups/qt-contributors-summit-2013/wiki/QML-engine | |||
===== Hacking ===== | ===== Hacking ===== | ||
Line 7: | Line 7: | ||
TODO: maybe explain main purprose of some subprojects (where parsing, where optimisations, where jitter is executed..) | TODO: maybe explain main purprose of some subprojects (where parsing, where optimisations, where jitter is executed..) | ||
You need to set specific environment variables to debug this engine. In this wiki only few of them are described. To get full list of them you can try to open '''qtdeclarative.pro''' and search for text '''qgetenv( | You need to set specific environment variables to debug this engine. In this wiki only few of them are described. To get full list of them you can try to open '''qtdeclarative.pro''' and search for text '''qgetenv("QV4_'''. | ||
'''QV4_SHOW_IR''' prints intermediate representation of code. It's rather long output because many optimisation techniques are applied. | '''QV4_SHOW_IR''' prints intermediate representation of code. It's rather long output because many optimisation techniques are applied. | ||
'''QV4_SHOW_ASM''' prints dissassembly ouput. If it prints message ''disassembly not available for range'' I will need to define some macroses for C++ preprocessor. I haven't succeeded to do it without any pain, so start your hacking from qtdeclarative/src/3rdparty/masm/disassembler/Disassembler.cpp . |
Revision as of 11:13, 25 February 2015
h4. V4 Javascript Engine
"Why it was created?":http://qt.io/groups/qt-contributors-summit-2013/wiki/QML-engine
Hacking
TODO: maybe explain main purprose of some subprojects (where parsing, where optimisations, where jitter is executed..)
You need to set specific environment variables to debug this engine. In this wiki only few of them are described. To get full list of them you can try to open qtdeclarative.pro and search for text qgetenv("QV4_.
QV4_SHOW_IR prints intermediate representation of code. It's rather long output because many optimisation techniques are applied. QV4_SHOW_ASM prints dissassembly ouput. If it prints message disassembly not available for range I will need to define some macroses for C++ preprocessor. I haven't succeeded to do it without any pain, so start your hacking from qtdeclarative/src/3rdparty/masm/disassembler/Disassembler.cpp .