CACAO
Macros | Functions
codegen.cpp File Reference

Go to the source code of this file.

Macros

#define DO__LOG
 
#define LABEL_OUT   BRANCH_LABEL_1
 
#define LABEL_EXIT_CHECK_NULL   BRANCH_LABEL_1
 
#define LABEL_CLASS   BRANCH_LABEL_2
 
#define LABEL_EXIT_INTERFACE_NULL   BRANCH_LABEL_3
 
#define LABEL_EXIT_INTERFACE_DONE   BRANCH_LABEL_4
 
#define LABEL_EXIT_CLASS_NULL   BRANCH_LABEL_5
 
#define LABEL_EXIT_CHECK_NULL   BRANCH_LABEL_1
 
#define LABEL_CLASS   BRANCH_LABEL_2
 
#define LABEL_EXIT_INTERFACE_NULL   BRANCH_LABEL_3
 
#define LABEL_EXIT_INTERFACE_INDEX_NOT_IN_TABLE   BRANCH_LABEL_4
 
#define LABEL_EXIT_INTERFACE_DONE   BRANCH_LABEL_5
 
#define LABEL_EXIT_CLASS_NULL   BRANCH_LABEL_6
 

Functions

void codegen_emit_prolog (jitdata *jd)
 Generates machine code for the method prolog. More...
 
void codegen_emit_epilog (jitdata *jd)
 Generates machine code for the method epilog. More...
 
void codegen_emit_instruction (jitdata *jd, instruction *iptr)
 Generates machine code for one ICMD. More...
 
void codegen_emit_stub_native (jitdata *jd, methoddesc *nmd, functionptr f, int skipparams)
 

Macro Definition Documentation

#define DO__LOG
Value:
N_AHI(REG_SP, -200); \
N_STM(R0, R15, 96, REG_SP); \
N_LA(R2, 96, RN, REG_SP); \
N_LM(R0, R15, 96, REG_SP); \
N_AHI(REG_SP, 200);
#define REG_SP
Definition: md-abi.hpp:53
#define R15
Definition: md-abi.hpp:46
#define N_BASR(r1, r2)
Definition: codegen.hpp:417
#define R2
Definition: md-abi.hpp:33
s4 dseg_add_address(codegendata *cd, void *value)
Definition: dseg.cpp:542
#define N_AHI(r1, i2)
Definition: codegen.hpp:406
#define RN
Definition: codegen.hpp:106
#define R0
Definition: md-abi.hpp:31
#define R14
Definition: md-abi.hpp:45
#define N_LM(r1, r3, d2, b2)
Definition: codegen.hpp:493
#define M_ALD_DSEG(a, disp)
Definition: codegen.hpp:346
#define N_STM(r1, r3, d2, b2)
Definition: codegen.hpp:538
#define N_LA(r1, d2, x2, b2)
Definition: codegen.hpp:485

Definition at line 79 of file codegen.cpp.

#define LABEL_CLASS   BRANCH_LABEL_2
#define LABEL_CLASS   BRANCH_LABEL_2
#define LABEL_EXIT_CHECK_NULL   BRANCH_LABEL_1
#define LABEL_EXIT_CHECK_NULL   BRANCH_LABEL_1
#define LABEL_EXIT_CLASS_NULL   BRANCH_LABEL_5
#define LABEL_EXIT_CLASS_NULL   BRANCH_LABEL_6
#define LABEL_EXIT_INTERFACE_DONE   BRANCH_LABEL_4
#define LABEL_EXIT_INTERFACE_DONE   BRANCH_LABEL_5
#define LABEL_EXIT_INTERFACE_INDEX_NOT_IN_TABLE   BRANCH_LABEL_4
#define LABEL_EXIT_INTERFACE_NULL   BRANCH_LABEL_3
#define LABEL_EXIT_INTERFACE_NULL   BRANCH_LABEL_3
#define LABEL_OUT   BRANCH_LABEL_1

Function Documentation

void codegen_emit_epilog ( jitdata jd)

Generates machine code for the method epilog.

Definition at line 257 of file codegen.cpp.

void codegen_emit_instruction ( jitdata jd,
instruction iptr 
)

Generates machine code for one ICMD.

Definition at line 293 of file codegen.cpp.

void codegen_emit_prolog ( jitdata jd)

Generates machine code for the method prolog.

Definition at line 123 of file codegen.cpp.

void codegen_emit_stub_native ( jitdata jd,
methoddesc nmd,
functionptr  f,
int  skipparams 
)

Definition at line 2675 of file codegen.cpp.