CACAO
Functions
codegen.cpp File Reference

Go to the source code of this file.

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_patchable_barrier (instruction *iptr, codegendata *cd, patchref_t *pr, fieldinfo *fi)
 Generates a memory barrier to be used after volatile writes. More...
 
static void codegen_fixup_alignment (codegendata *cd, patchref_t *pr, u1 *mcodeptr_save)
 Ensures that the patched location (an int32_t) is aligned. 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)
 

Function Documentation

void codegen_emit_epilog ( jitdata jd)

Generates machine code for the method epilog.

Definition at line 165 of file codegen.cpp.

void codegen_emit_instruction ( jitdata jd,
instruction iptr 
)

Generates machine code for one ICMD.

Definition at line 228 of file codegen.cpp.

void codegen_emit_patchable_barrier ( instruction iptr,
codegendata cd,
patchref_t pr,
fieldinfo fi 
)

Generates a memory barrier to be used after volatile writes.

It can be patched out later if the field turns out not to be volatile.

Definition at line 197 of file codegen.cpp.

void codegen_emit_prolog ( jitdata jd)

Generates machine code for the method prolog.

Definition at line 76 of file codegen.cpp.

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

Definition at line 2294 of file codegen.cpp.

static void codegen_fixup_alignment ( codegendata cd,
patchref_t pr,
u1 mcodeptr_save 
)
static

Ensures that the patched location (an int32_t) is aligned.

Definition at line 213 of file codegen.cpp.