deep

a Cross Development Platform for Java

User Tools

Site Tools


dev:crosscompiler:backend_arm:code_generator

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
Next revisionBoth sides next revision
dev:crosscompiler:backend_arm:code_generator [2019/07/11 19:46] – [Stackframe] ursgrafdev:crosscompiler:backend_arm:code_generator [2019/07/16 13:26] – [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 =====+{{:dev:crosscompiler:backend_arm:stackframearm.png?400|}}===== Stackframe =====
 We use a stack pointer (R14) but no frame pointer. We use a stack pointer (R14) but no frame pointer.
 [{{ .:stackframearm.png?350&direct | // Stack frame for method calls //}}]  [{{ .:stackframearm.png?350&direct | // Stack frame for method calls //}}] 
dev/crosscompiler/backend_arm/code_generator.txt · Last modified: 2022/12/20 11:34 by ursgraf