/* src/vm/jit/emit-common.h - common code emitter functions
- Copyright (C) 1996-2005, 2006 R. Grafl, A. Krall, C. Kruegel,
- C. Oates, R. Obermaisser, M. Platter, M. Probst, S. Ring,
- E. Steiner, C. Thalinger, D. Thuernbeck, P. Tomsich, C. Ullrich,
- J. Wenninger, Institut f. Computersprachen - TU Wien
+ Copyright (C) 2006 R. Grafl, A. Krall, C. Kruegel, C. Oates,
+ R. Obermaisser, M. Platter, M. Probst, S. Ring, E. Steiner,
+ C. Thalinger, D. Thuernbeck, P. Tomsich, C. Ullrich, J. Wenninger,
+ Institut f. Computersprachen - TU Wien
This file is part of CACAO.
Authors: Christian Thalinger
- Changes:
-
$Id: emitfuncs.c 4398 2006-01-31 23:43:08Z twisti $
*/
void emit_iconst(codegendata *cd, s4 d, s4 value);
void emit_lconst(codegendata *cd, s4 d, s8 value);
+void emit_br(codegendata *cd, basicblock *target);
+void emit_bc(codegendata *cd, basicblock *target, s4 condition);
+
+void emit_beq(codegendata *cd, basicblock *target);
+void emit_bne(codegendata *cd, basicblock *target);
+void emit_blt(codegendata *cd, basicblock *target);
+void emit_bge(codegendata *cd, basicblock *target);
+void emit_bgt(codegendata *cd, basicblock *target);
+void emit_ble(codegendata *cd, basicblock *target);
+
+void emit_bnan(codegendata *cd, basicblock *target);
+
+void emit_branch(codegendata *cd, s4 disp, s4 condition);
+
void emit_arithmetic_check(codegendata *cd, s4 reg);
void emit_arrayindexoutofbounds_check(codegendata *cd, s4 s1, s4 s2);
void emit_arraystore_check(codegendata *cd, s4 reg);
void emit_nullpointer_check(codegendata *cd, s4 reg);
void emit_exception_check(codegendata *cd);
+void emit_array_checks(codegendata *cd, instruction *iptr, s4 s1, s4 s2);
+
void emit_exception_stubs(jitdata *jd);
void emit_patcher_stubs(jitdata *jd);
void emit_replacement_stubs(jitdata *jd);