This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revisionNext revisionBoth sides next revision | ||
dev:crosscompiler:backend_arm:code_generator [2019/05/18 10:26] – [Code Generator for ARM] ursgraf | dev:crosscompiler:backend_arm:code_generator [2019/07/09 14:27] – [Compiler Specific Subroutines] ursgraf | ||
---|---|---|---|
Line 2: | Line 2: | ||
Everything which is not fully implemented is listed below | Everything which is not fully implemented is listed below | ||
^topic^I^L^F^remarks^ | ^topic^I^L^F^remarks^ | ||
- | |convFloat|y|n|y| | | ||
- | |convDouble|y|n|y| | | ||
|instanceof| ||| | | |instanceof| ||| | | ||
|checkcast| ||| | | |checkcast| ||| | | ||
Line 55: | Line 53: | ||
===== Compiler Specific Subroutines ===== | ===== Compiler Specific Subroutines ===== | ||
- | Subroutines are methods for which there is no Java code (and hence no Bytecode or SSA) but only machine code. This is useful for the delegation of interface methods (see [[.: | + | Subroutines are methods for which there is no Java code (and hence no Bytecode or SSA) but only machine code. This is useful for the delegation of interface methods (see [[.: |
Such methods are listed in // | Such methods are listed in // | ||
Currently, there are three types of compiler specific methods | Currently, there are three types of compiler specific methods | ||
- | * Arithmetic and conversion: call to this methods inserted by the code generator | ||
* Delegation of interface methods: address of this method inserted into the type descriptor by the linker | * Delegation of interface methods: address of this method inserted into the type descriptor by the linker | ||
* Exception handling: call to this methods inserted by the code generator | * Exception handling: call to this methods inserted by the code generator |