Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | More compilation fixes. | Erik Verbruggen | 2012-12-18 | 1 | -0/+5 |
| | | | | | Change-Id: I5940e0b1e72c06420ae95ff3adfd78572888c886 Reviewed-by: Simon Hausmann <simon.hausmann@digia.com> | ||||
* | Add some debugging infrastructure to the interpreter. | Erik Verbruggen | 2012-11-29 | 1 | -0/+1 |
| | | | | | | | | | This currently mainly intended to be useful in a C++ debugger. The infrastructure makes it a lot easier to access (parent) contexts, find function names, etc. Change-Id: I0493d3a3bd4bf5c3a03379c1a2b545ed76862cd5 Reviewed-by: Lars Knoll <lars.knoll@digia.com> | ||||
* | Changed the interpreter and compiler backends to move consts. | Erik Verbruggen | 2012-11-14 | 1 | -12/+12 |
| | | | | | | | See https://codereview.qt-project.org/39510 for details. Change-Id: I308364cd7d66ad2fd12e6ab7e185882fe8d1795e Reviewed-by: Lars Knoll <lars.knoll@digia.com> | ||||
* | Added more built-ins to the llvm backend and runtime. | Erik Verbruggen | 2012-11-14 | 1 | -8/+37 |
| | | | | | Change-Id: I7c63395bc80ce8d37d04f1102b02220a54050d06 Reviewed-by: Lars Knoll <lars.knoll@digia.com> | ||||
* | Added different output types to LLVM backend to ease debugging. | Erik Verbruggen | 2012-11-14 | 1 | -30/+63 |
| | | | | | | | | While in that area of code, also throw in the pass-managers for some extra optimisations during compilation. Change-Id: I1239ab9d21fc50b2e65c2f9d77a03ae593b607bc Reviewed-by: Simon Hausmann <simon.hausmann@digia.com> | ||||
* | Changed the LLVM backend to also support the LLVM JIT. | Erik Verbruggen | 2012-11-12 | 1 | -86/+154 |
| | | | | | | | This is useful for quick LLVM codegen testing. Change-Id: I45778371375b903e154222c47b15411d08085ae5 Reviewed-by: Lars Knoll <lars.knoll@digia.com> | ||||
* | Fix LLVM backend compilation. | Erik Verbruggen | 2012-10-24 | 1 | -1/+3 |
| | | | | | Change-Id: I326cf2531a600fd09b888e9955052b29624ccdbe Reviewed-by: Lars Knoll <lars.knoll@digia.com> | ||||
* | Proper exception handling | Lars Knoll | 2012-10-24 | 1 | -7/+0 |
| | | | | | | | | | | | Implement exceptions using setjmp/longjmp. The advantage is that this removes all exception handling overhead from regular code, the only code that still has a (very small) overhead is the try{} catch() {} statement. Change-Id: I43d6a60dfc9dfd4b7a20d2e99ab0a9315b4d8a2f Reviewed-by: Simon Hausmann <simon.hausmann@digia.com> | ||||
* | More LLVM code generation. This should complete the expressions. | Erik Verbruggen | 2012-10-22 | 1 | -70/+69 |
| | | | | | Change-Id: Ic920ceb85cab38093b565acd1c14aeddf20d0bb3 Reviewed-by: Simon Hausmann <simon.hausmann@digia.com> | ||||
* | Fix: implement missing virtual method. | Erik Verbruggen | 2012-10-22 | 1 | -0/+8 |
| | | | | | Change-Id: Iec6a70155ff2343dafa2116fa54740e891539c61 Reviewed-by: Simon Hausmann <simon.hausmann@digia.com> | ||||
* | Added LLVM code generation for in-place operators. | Erik Verbruggen | 2012-10-19 | 1 | -25/+146 |
| | | | | | | | E.g. +=, <<=, etc. Change-Id: Iffd5eac413e3c3714fedbab58415d9dc4ba42fa6 Reviewed-by: Lars Knoll <lars.knoll@digia.com> | ||||
* | Moved LLVM specific code out of main.cpp. | Erik Verbruggen | 2012-10-18 | 1 | -8/+110 |
| | | | | | Change-Id: I16c79667625d5034acb91cec13c22ed58b74984f Reviewed-by: Simon Hausmann <simon.hausmann@digia.com> | ||||
* | Fix LLVM code generation to call the right methods. | Erik Verbruggen | 2012-10-18 | 1 | -3/+3 |
| | | | | | Change-Id: Ia63342d2808ca2e3cdd5b19e94054786cc34c495 Reviewed-by: Simon Hausmann <simon.hausmann@digia.com> | ||||
* | Add missing license headers | Simon Hausmann | 2012-10-12 | 1 | -0/+40 |
| | | | | | Change-Id: I59d602a0f2c1fefb03994ed32a3d697b176791ff Reviewed-by: Lars Knoll <lars.knoll@digia.com> | ||||
* | Fix LLVM code generation for unary expressions | Roberto Raggi | 2012-06-07 | 1 | -4/+4 |
| | |||||
* | Generate LLVM code for constructor calls | Roberto Raggi | 2012-06-07 | 1 | -21/+63 |
| | |||||
* | Delete properties | Roberto Raggi | 2012-06-07 | 1 | -0/+34 |
| | |||||
* | Generate LLVM code for the `this-expression'. | Roberto Raggi | 2012-06-06 | 1 | -3/+9 |
| | |||||
* | Initial work on exceptions for the AOT compiler. | Roberto Raggi | 2012-06-06 | 1 | -19/+54 |
| | |||||
* | Generate code for closures. | Roberto Raggi | 2012-06-06 | 1 | -6/+54 |
| | |||||
* | Warn about unimplement assignments. | Roberto Raggi | 2012-06-06 | 1 | -3/+10 |
| | |||||
* | Lower IR::Name nodes. | Roberto Raggi | 2012-06-06 | 1 | -6/+46 |
| | |||||
* | Generate LLVM code for MoveMember | Roberto Raggi | 2012-06-06 | 1 | -21/+16 |
| | |||||
* | Lower subscripts | Roberto Raggi | 2012-06-06 | 1 | -2/+38 |
| | |||||
* | Lower IR::Call and IR::New | Roberto Raggi | 2012-06-06 | 1 | -30/+84 |
| | |||||
* | Generate LLVM code for member expressions | Roberto Raggi | 2012-06-06 | 1 | -6/+20 |
| | |||||
* | Compile simple IR::New nodes | Roberto Raggi | 2012-06-06 | 1 | -2/+39 |
| | |||||
* | Move the Alloca instructions at the beginning of the function. | Roberto Raggi | 2012-06-06 | 1 | -8/+24 |
| | |||||
* | Fix the return value of calls. | Roberto Raggi | 2012-06-06 | 1 | -2/+7 |
| | |||||
* | Fix code generation for IR::Call nodes. | Roberto Raggi | 2012-06-05 | 1 | -8/+11 |
| | |||||
* | Start generating LLVM code for IR::Call nodes. | Roberto Raggi | 2012-06-05 | 1 | -2/+32 |
| | |||||
* | LLVM code for unary expressions | Roberto Raggi | 2012-06-05 | 1 | -2/+25 |
| | |||||
* | Generate LLVM code for the binary expressions | Roberto Raggi | 2012-06-05 | 1 | -3/+54 |
| | |||||
* | Generate LLVM code for the conditional jumps. | Roberto Raggi | 2012-06-05 | 1 | -5/+15 |
| | |||||
* | Some more work on the LLVM-based AOT compiler. | Roberto Raggi | 2012-06-05 | 1 | -28/+88 |
| | |||||
* | Initial work on the LLVM-based AOT compiler. | Roberto Raggi | 2012-05-31 | 1 | -0/+232 |