X-Git-Url: http://wien.tomnetworks.com/gitweb/?a=blobdiff_plain;f=src%2Fvm%2Fjit%2Fx86_64%2Femit.h;h=8d862fa1c48449c5909b87574f0d0eac935b1ebe;hb=c414f560a7e0b7636a780e6b933e91e441f80503;hp=4a1cb4c9884a8998b53b94a92ec8c6321a13abee;hpb=4a653a918f49c4322acb009b881c60aa03797ca8;p=cacao.git diff --git a/src/vm/jit/x86_64/emit.h b/src/vm/jit/x86_64/emit.h index 4a1cb4c98..8d862fa1c 100644 --- a/src/vm/jit/x86_64/emit.h +++ b/src/vm/jit/x86_64/emit.h @@ -1,9 +1,7 @@ /* src/vm/jit/x86_64/emit.h - machine dependent emit function prototypes - Copyright (C) 1996-2005, 2006, 2007 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) 1996-2011 + CACAOVM - Verein zur Foerderung der freien virtuellen Maschine CACAO This file is part of CACAO. @@ -180,6 +178,10 @@ typedef union { /* function prototypes ********************************************************/ +#ifdef __cplusplus +extern "C" { +#endif + void emit_cmovxx(codegendata *cd, instruction *iptr, s4 s, s4 d); @@ -191,6 +193,7 @@ void emit_lshift(jitdata *jd, s4 shift_op, instruction *iptr); /* integer instructions */ +void emit_nop(codegendata *cd, int length); void emit_mov_reg_reg(codegendata *cd, s8 reg, s8 dreg); void emit_mov_imm_reg(codegendata *cd, s8 imm, s8 reg); void emit_movl_reg_reg(codegendata *cd, s8 reg, s8 dreg); @@ -362,6 +365,20 @@ void emit_xorpd_membase_reg(codegendata *cd, s8 basereg, s8 disp, s8 dreg); /* system instructions ********************************************************/ void emit_rdtsc(codegendata *cd); +void emit_mfence(codegendata *cd); + + +/** + * Emit code to recompute the procedure vector. This is a nop, + * because we do not use a procedure vector. + */ +static inline void emit_recompute_pv(codegendata* cd) {} + +void emit_arbitrary_nop(codegendata *cd, int disp); + +#ifdef __cplusplus +} +#endif #endif /* _MD_EMIT_H */ @@ -377,4 +394,5 @@ void emit_rdtsc(codegendata *cd); * c-basic-offset: 4 * tab-width: 4 * End: + * vim:noexpandtab:sw=4:ts=4: */