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/07/11 19:46] – [Stackframe] ursgraf | dev:crosscompiler:backend_arm:code_generator [2019/07/16 14:11] – [Stackframe] 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^ | ||
- | |instanceof| ||| | | ||
- | |checkcast| ||| | | ||
|throw| ||| | | |throw| ||| | | ||
- | |call| |||class & instance methods can be called| | ||
|new| |||primitive array & array of objects & string implemented| | |new| |||primitive array & array of objects & string implemented| | ||
|exceptions| ||| | | |exceptions| ||| | | ||
Line 11: | Line 8: | ||
All results of all SSA instructions have an assigned register. Now, each SSA instruction can be translated into one or a sequence of machine instructions. In order to do this, we must define the stackframe, which is used when calling a method. | All results of all SSA instructions have an assigned register. Now, each SSA instruction can be translated into one or a sequence of machine instructions. In order to do this, we must define the stackframe, which is used when calling a method. | ||
+ | } | ||
===== Stackframe ===== | ===== Stackframe ===== | ||
We use a stack pointer (R14) but no frame pointer. | We use a stack pointer (R14) but no frame pointer. |