aboutsummaryrefslogtreecommitdiffstats
path: root/src/qml/jsruntime/jsruntime.pri
Commit message (Collapse)AuthorAgeFilesLines
* Get rid of qv4qmlextensionsLars Knoll2015-06-151-2/+0
| | | | | | | | It only contained the proto for the value type wrapper. Instead just create it lazily, but reserve space on the js stack for it. Change-Id: I2301549b6dc4007bd5ac848e1dca25aafd583c4a Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com>
* Get rid of TypedValueLars Knoll2015-06-101-1/+0
| | | | | | | | Now that Managed inherits from Value, this class doesn't make sense anymore. Change-Id: I04e10f53ef305658d902bd0f1c7d7280068c0dc3 Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com>
* Get rid of qv4value_inl_p.h and replace it by qv4typedvalue_p.hLars Knoll2015-04-241-1/+2
| | | | | | | | This is a cleaner separation and further reduces include dependencies in the definitions of our basic data structured. Change-Id: I18aa86cdea0c0dfbc16075d4d617af97e638811e Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com>
* Move memory management related functionality into it's own folderLars Knoll2015-03-021-2/+0
| | | | | | | | | Start moving the memory related functionality into it's own folder. This will simplify refactoring of the GC related functionality later on. Change-Id: I70ec6f512af7a7897625afb84d914c17572b0ccd Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com>
* Basic support for typed arraysLars Knoll2014-10-291-0/+2
| | | | | | | | | | | | | | | This implements most of the spec required for the Khronos typed array specification. It tries to follow ECMAScript 6 as closely as possible, but currently only implements a subset of the ECMAScript 6 specification. Addes a test script in tests/manual/v4 to test our implementation. Change-Id: I8ec63869500358e088b73240e1f37120ae3cf59a Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
* Implement DataViewLars Knoll2014-10-291-2/+4
| | | | | | | | The second class that is required for typed array support. Change-Id: Idc2dcec7c1eee541f76dc5ab1aea6057ba03cb93 Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
* Implement ArrayBufferLars Knoll2014-10-291-2/+4
| | | | | | | | This is the first class required to support typed arrays in our JS engine. Change-Id: I0fe1e1ca430769c171912dda207cfae772e9b9db Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
* Remove redundant sse2 math flagsAllan Sandfeld Jensen2014-07-011-7/+0
| | | | | | | | | Qtbase already enables sse2 math by default now. This version is no longer needed and may actually hurt performance by triggering scheduling for pentium4. Change-Id: Ib3b6781fb0b92c1351344cc2d2f13101fa2b632b Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* Extend the QML bootstrap library by the IR buildersSimon Hausmann2014-04-231-7/+15
| | | | | | | | | | | | | This is among other things needed to fix the qml import scanner to detect dependencies from .js files correctly. The patch also fixes the use of Q_QML_EXPORT towards Q_QML_PRIVATE_EXPORT where appropriate and corrects the wrong include path for the double conversion code to actually be relative to the file it is included from. This worked by accident because of other include paths present in the build. Change-Id: I338583dad2f76300819af8ab0dae8e5724c84430 Reviewed-by: Lars Knoll <lars.knoll@digia.com>
* Garbage collect member dataLars Knoll2014-04-041-0/+2
| | | | | | | | Move the allocated member data into the garbage collected area, so that we can avoid using malloc/free for it. Change-Id: I20625efa67ecd60238568742b74854b0c8cb2e3e Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
* Satellite profiler for V4Ulf Hermann2014-02-121-2/+4
| | | | | | | | Self-contained profiler for V4. By itself it doesn't have any connections to qqmlprofilerservice. Change-Id: I471a6119e07eab9c5f4712a16835be49c8886d1a Reviewed-by: Kai Koehne <kai.koehne@digia.com>
* Move PersistenValue and WeakValue into it's own fileLars Knoll2014-02-051-0/+2
| | | | | | | | They deserve having their own set of files, and it helps reduce dependencies. Change-Id: Ifd4394f88ef51cbccc61bf92dd20636f570141d9 Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
* Rename some filesLars Knoll2014-01-311-1/+1
| | | | | | | | | | | | Rename qv4value_def_p.h -> qv4value_p.h and qv4value_p.h to qv4value_inl_p.h. It makes more sense to have the class definition in the file that is named after the class and move the inline methods into a _inl file. Doing this now, as I expect we'll be needing a few more _inl files soon. Change-Id: Ib59e9380e9e976254c6b4369574157f39b1b5f51 Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
* Rework array handling for JS objectsLars Knoll2014-01-091-0/+2
| | | | | | | | | Split up ArrayData into two classes, one for regular arrays, one for sparse arrays and cleanly separate the two cases. Only create array data on demand. Change-Id: I9ca8d0b53592174f213ba0f20caf93e77dba690a Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
* Remove stray warn_off in pri fileLars Knoll2013-11-091-2/+0
| | | | | Change-Id: I9abf1180aecbd2e87fa7f52b51ad1c59665723fc Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
* Remove the last C++ exceptions from QtQmlLars Knoll2013-10-301-2/+0
| | | | | | | | Also clean up and compile the repository with exceptions disabled again. Change-Id: I653ae89353284b2f4ab884384f8ea6a5d100785d Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
* Remove qv4unwindhelper classLars Knoll2013-10-291-4/+0
| | | | | | | | This class is not required anymore to generate stack traces, as we now store the required information in the JS context stack. Change-Id: I3893c805ca89dda70efde07fdd120e7dfaf3639f Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
* Cleanup: Remove now unused throwInternal() methodLars Knoll2013-10-291-25/+0
| | | | | | | | This method was throwing a C++ exception in the old exception handling and is not needed anymore. Change-Id: If67696cdbd260225ae60720a1035941fe7e1e650 Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
* Win32: Remove dependency to DbgHelp DLLSimon Hausmann2013-10-231-4/+0
| | | | | | | | This was used for natice stack trace determination, which is done differently now. Change-Id: Id983f2bf6805aaf3f7081a16196268be88c98951 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
* Speed up stack trace generation for the JITSimon Hausmann2013-10-161-2/+0
| | | | | | | | | | | | | | It turns out that in QML it is not unusual that during early binding evaluations due to the undefined order, the evaluation tries to look up properties in objects that aren't initialized yet and thus exceptions are thrown. Eeach thrown exception saves a stack trace, which is expensive to generate when using the JIT, as it does full stack unwinding. This patch implements a more light-weight approach by storing the instruction pointer in the context before leaving JIT generated code. Change-Id: I95e1cfd01179247dfc2c1df949828f474a23161b Reviewed-by: Lars Knoll <lars.knoll@digia.com>
* Temporarily disable libunwind exception throwing on MacSimon Hausmann2013-10-031-1/+1
| | | | | | | | | The run-time appears to have a slightly different behaviour wrt exception ownership. We don't strictly need this code path on Mac, so use regular C++ exceptions until I can figure out what happens there. Change-Id: Idd540c8656d25ffdb4002843f398114881e33214 Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
* Cleanup exception handlingSimon Hausmann2013-10-031-3/+1
| | | | | | | | | | The code in the Exception class operates entirely on the engine's data, so move it into ExecutionEngine instead. This eliminates the need for a QV4::Exception class and catches and old code that tries to still do catch (Exception &) instead of catch (...) Change-Id: Ie608bec6af652038aca6c9423c225a4d7eb13b39 Reviewed-by: Lars Knoll <lars.knoll@digia.com>
* Change v4 exceptions to use the common C++ ABIs foreign exceptionsSimon Hausmann2013-10-031-6/+5
| | | | | | | | | | | | | | | | | | | On platforms where we use the common C++ ABI, throw the exception not using a dummy C++ exception structure and the throw keyboard, but instead use the lower-level _Unwind_RaiseException to throw a foreign exception. It is caught with the existing "catch (...)" and re-throw is implemented similarly, by grabbing the current exception from the globals (a standardized data structure) and re-throwing it. On platforms such as ARM that lack hooks for supplying our unwind tables to the system run-time, this patch will make it possible to link the unwinder statically into libQtQml (libgcc or libunwind) and thus force it to use our unwind tables, because throwing or re-throwing will always go through our statically linked code through direct calls to _Unwind_RaiseException (instead of libstdc++). Change-Id: Ic2ac056fc7ed9e93fb51e30ab45f35b260487c5f Reviewed-by: Lars Knoll <lars.knoll@digia.com>
* Fix WinCE build.v5.2.0-alpha1Sérgio Martins2013-09-251-1/+1
| | | | | Change-Id: Ie0536ad94f88efe1e54226ed7f1d9e1042ffcc19 Reviewed-by: Lars Knoll <lars.knoll@digia.com>
* Add ScopedValue and ScopedValueArray classesLars Knoll2013-09-111-0/+1
| | | | | | | | Use these classes to hold Values on the stack. They are known by the GC and very fast to create and destroy. Change-Id: Idacf639485295ff446f290c5b0e149465354720e Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
* Rename the DW2 and ARM unwinder helpers to standard _p.hThiago Macieira2013-09-021-2/+2
| | | | | | | | | | The Qt convention is that private headers end in _p.h. A great deal of our build automation relies on this, including the choosing of which headers to install and which ones not to. Change-Id: I03ab6021e0a8a68d5a9cbc9d9387a9c5331f7bb7 Reviewed-by: Simon Hausmann <simon.hausmann@digia.com> Reviewed-by: Lars Knoll <lars.knoll@digia.com>
* The Moth VME is actually part of the runtime, not the compilerLars Knoll2013-08-081-2/+4
| | | | | Change-Id: Idcb7a6b6157c58e33192f86750ded487c0e75b9f Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
* Restructure source codeLars Knoll2013-08-081-0/+144
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>