-/* jit/i386/emitfuncs.h - emit function prototypes
+/* src/vm/jit/i386/emitfuncs.h - emit function prototypes
- Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003
- R. Grafl, A. Krall, C. Kruegel, C. Oates, R. Obermaisser,
- M. Probst, S. Ring, E. Steiner, C. Thalinger, D. Thuernbeck,
- P. Tomsich, J. Wenninger
+ 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
This file is part of CACAO.
You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software
- Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
- 02111-1307, USA.
+ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+ 02110-1301, USA.
- Contact: cacao@complang.tuwien.ac.at
+ Contact: cacao@cacaojvm.org
Authors: Christian Thalinger
- $Id: emitfuncs.h 1584 2004-11-24 14:13:06Z twisti $
+ Changes:
+
+ $Id: emitfuncs.h 4357 2006-01-22 23:33:38Z twisti $
*/
#ifndef _EMITFUNCS_H
#define _EMITFUNCS_H
+#include "vm/types.h"
+
-/* code generation prototypes */
+/* code generation prototypes *************************************************/
void i386_emit_ialu(codegendata *cd, s4 alu_op, stackptr src, instruction *iptr);
void i386_emit_ialuconst(codegendata *cd, s4 alu_op, stackptr src, instruction *iptr);
void i386_mov_membase_reg(codegendata *cd, s4 basereg, s4 disp, s4 reg);
void i386_mov_membase32_reg(codegendata *cd, s4 basereg, s4 disp, s4 reg);
void i386_mov_reg_membase(codegendata *cd, s4 reg, s4 basereg, s4 disp);
+void i386_mov_reg_membase32(codegendata *cd, s4 reg, s4 basereg, s4 disp);
void i386_mov_memindex_reg(codegendata *cd, s4 disp, s4 basereg, s4 indexreg, s4 scale, s4 reg);
void i386_mov_reg_memindex(codegendata *cd, s4 reg, s4 disp, s4 basereg, s4 indexreg, s4 scale);
void i386_movw_reg_memindex(codegendata *cd, s4 reg, s4 disp, s4 basereg, s4 indexreg, s4 scale);
void i386_movb_reg_memindex(codegendata *cd, s4 reg, s4 disp, s4 basereg, s4 indexreg, s4 scale);
void i386_mov_reg_mem(codegendata *cd, s4 reg, s4 mem);
void i386_mov_mem_reg(codegendata *cd, s4 mem, s4 dreg);
+void i386_mov_imm_mem(codegendata *cd, s4 imm, s4 mem);
void i386_mov_imm_membase(codegendata *cd, s4 imm, s4 basereg, s4 disp);
+void i386_mov_imm_membase32(codegendata *cd, s4 imm, s4 basereg, s4 disp);
void i386_movb_imm_membase(codegendata *cd, s4 imm, s4 basereg, s4 disp);
void i386_movsbl_memindex_reg(codegendata *cd, s4 disp, s4 basereg, s4 indexreg, s4 scale, s4 reg);
void i386_movswl_memindex_reg(codegendata *cd, s4 disp, s4 basereg, s4 indexreg, s4 scale, s4 reg);
void i386_alu_reg_membase(codegendata *cd, s4 opc, s4 reg, s4 basereg, s4 disp);
void i386_alu_membase_reg(codegendata *cd, s4 opc, s4 basereg, s4 disp, s4 reg);
void i386_alu_imm_reg(codegendata *cd, s4 opc, s4 imm, s4 reg);
+void i386_alu_imm32_reg(codegendata *cd, s4 opc, s4 imm, s4 reg);
void i386_alu_imm_membase(codegendata *cd, s4 opc, s4 imm, s4 basereg, s4 disp);
void i386_test_reg_reg(codegendata *cd, s4 reg, s4 dreg);
void i386_test_imm_reg(codegendata *cd, s4 imm, s4 dreg);
void i386_fldz(codegendata *cd);
void i386_fld_reg(codegendata *cd, s4 reg);
void i386_flds_membase(codegendata *cd, s4 basereg, s4 disp);
+void i386_flds_membase32(codegendata *cd, s4 basereg, s4 disp);
void i386_fldl_membase(codegendata *cd, s4 basereg, s4 disp);
+void i386_fldl_membase32(codegendata *cd, s4 basereg, s4 disp);
void i386_fldt_membase(codegendata *cd, s4 basereg, s4 disp);
void i386_flds_memindex(codegendata *cd, s4 disp, s4 basereg, s4 indexreg, s4 scale);
void i386_fldl_memindex(codegendata *cd, s4 disp, s4 basereg, s4 indexreg, s4 scale);
void i386_fstl_memindex(codegendata *cd, s4 disp, s4 basereg, s4 indexreg, s4 scale);
void i386_fstp_reg(codegendata *cd, s4 reg);
void i386_fstps_membase(codegendata *cd, s4 basereg, s4 disp);
+void i386_fstps_membase32(codegendata *cd, s4 basereg, s4 disp);
void i386_fstpl_membase(codegendata *cd, s4 basereg, s4 disp);
+void i386_fstpl_membase32(codegendata *cd, s4 basereg, s4 disp);
void i386_fstpt_membase(codegendata *cd, s4 basereg, s4 disp);
void i386_fstps_memindex(codegendata *cd, s4 disp, s4 basereg, s4 indexreg, s4 scale);
void i386_fstpl_memindex(codegendata *cd, s4 disp, s4 basereg, s4 indexreg, s4 scale);