V4: Difference between revisions

From Qt Wiki
Jump to navigation Jump to search
No edit summary
No edit summary
Line 13: Line 13:
'''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 .
'''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 .


===== Running the EcmaScript 262 Test suite ====
==== Running the EcmaScript 262 Test suite ====


# Check out the test suite submodule repository:
# Check out the test suite submodule repository:

Revision as of 07:52, 11 January 2016

This article may require cleanup to meet the Qt Wiki's quality standards. Reason: Auto-imported from ExpressionEngine.
Please improve this article if you can. Remove the {{cleanup}} tag and add this page to Updated pages list after it's clean.

V4 Javascript Engine

Why it was created?

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 .

Running the EcmaScript 262 Test suite

  1. Check out the test suite submodule repository:
 git submodule update --init --checkout tests/manual/v4/test262
  1. Run the wrapper script in the tests/manual/v4 sub-directory:
   python ./test262.py