summaryrefslogtreecommitdiffstats
path: root/compiler/optimizing/builder.h
Commit message (Collapse)AuthorAgeFilesLines
* Long support in optimizing compiler.Nicolas Geoffray2014-04-161-10/+32
| | | | | | | | | - Add stack locations to the Location class. - Change logic of parameter passing/setup by setting the location of such instructions the ones for the calling convention. Change-Id: I4730ad58732813dcb9c238f44f55dfc0baa18799
* Test control flow instruction with optimizing compiler.Nicolas Geoffray2014-04-081-0/+1
| | | | | | Add support for basic instructions to implement these tests. Change-Id: I3870bf9301599043b3511522bb49dc6364c9b4c0
* Add support for taking parameters in optimizing compiler.Nicolas Geoffray2014-04-071-1/+10
| | | | | | | - Fix stack layout to mimic Quick's. - Implement some sub operations. Change-Id: I8cf75a4d29b662381a64f02c0bc61d859482fc4e
* Add support for invoke-static in optimizing compiler.Nicolas Geoffray2014-03-311-2/+10
| | | | | | | Support is limited to calls without parameters and returning void. For simplicity, we currently follow the Quick ABI. Change-Id: I54805161141b7eac5959f1cae0dc138dd0b2e8a5
* More code generation for the optimizing compiler.Nicolas Geoffray2014-03-131-1/+4
| | | | | | | | | - Add HReturn instruction - Generate code for locals/if/return - Setup infrastructure for register allocation. Currently emulate a stack. Change-Id: Ib28c2dba80f6c526177ed9a7b09c0689ac8122fb
* Add register support to the optimizing compiler.Nicolas Geoffray2014-03-101-2/+19
| | | | | | Also make if take an input and build the use list for instructions. Change-Id: I1938cee7dce5bd4c66b259fa2b431d2c79b3cf82
* Add conditional branches, and build dominator tree.Nicolas Geoffray2014-02-261-1/+15
| | | | Change-Id: I4b151a07b72692961235a1419b54b6b45cf54e63
* Re-apply: Initial check-in of an optimizing compiler.Nicolas Geoffray2014-02-191-0/+57
| | | | | | | | | The classes and the names are very much inspired by V8/Dart. It currently only supports the RETURN_VOID dex instruction, and there is a pretty printer to check if the building of the graph is correct. Change-Id: I28e125dfee86ae6ec9b3fec6aa1859523b92a893
* Revert "Initial check-in of an optimizing compiler."Nicolas Geoffray2014-02-191-57/+0
| | | | | | | | g++ warnings turned into errors. This reverts commit 68a5fefa90f03fdf5a238ac85c9439c6b03eae96. Change-Id: I09bb95d9cc13764ca8a266c41af04801a34b9fd0
* Initial check-in of an optimizing compiler.Nicolas Geoffray2014-02-191-0/+57
The classes and the names are very much inspired by V8/Dart. It currently only supports the RETURN_VOID dex instruction, and there is a pretty printer to check if the building of the graph is correct. Change-Id: Id5ef1b317ab997010d4e3888e456c26bef1ab9c0