This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
dev:crosscompiler:backend_ppc:code_generator [2018/11/06 15:58] – [Stackframe] ursgraf | dev:crosscompiler:backend_ppc:code_generator [2022/12/20 15:52] (current) – [Accessing the Hardware] ursgraf | ||
---|---|---|---|
Line 36: | Line 36: | ||
===== Accessing the Hardware ===== | ===== Accessing the Hardware ===== | ||
- | Java does not allow direct access and manipulation of absolute memory locations. Nevertheless this is essential for embedded programming. We therefore include this possibility by using a special class //ch.ntb.inf.deep.unsafe.ppc.US.java// | + | Java does not allow direct access and manipulation of absolute memory locations. Nevertheless this is essential for embedded programming. We therefore include this possibility by using a special class //org.deepjava.unsafe.ppc.US.java// |
===== Low Level Classes ===== | ===== Low Level Classes ===== | ||
Line 48: | Line 48: | ||
* 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 | ||
+ | |||
+ | ==== Practical Implementation of Searching the Correct Interface Method ==== | ||
+ | // | ||
+ | R10 holds the necessary information for the delegate method. The first two bytes are the ID of the sought-after interface, tho last to bytes contain the method offset. Loading of R10 should happen after parameter copying as R10 might be used there. | ||
+ | |||
+ |