#define SUPPORT_D2L 0
#define SUPPORT_LONG_ADD 1
-#define SUPPORT_LONG_CMP 0
+#define SUPPORT_LONG_CMP 1
#define SUPPORT_LONG_CMP_CONST 1
#define SUPPORT_LONG_LOGICAL 1
#define SUPPORT_LONG_SHIFT 1
#define SUPPORT_D2L 0
#define SUPPORT_LONG_ADD 1
-#define SUPPORT_LONG_CMP 0
+#define SUPPORT_LONG_CMP 1
#define SUPPORT_LONG_CMP_CONST 1
#define SUPPORT_LONG_LOGICAL 1
#define SUPPORT_LONG_SHIFT 0
#endif /* !(SUPPORT_LONG && SUPPORT_LONG_LOGICAL) */
-#if !(SUPPORT_LONG && SUPPORT_LONG_CMP)
s4 builtin_lcmp(s8 a, s8 b)
{
if (a < b)
return 0;
}
-#endif /* !(SUPPORT_LONG && SUPPORT_LONG_CMP) */
/* functions for unsupported floating instructions ****************************/
/* src/vm/jit/builtintable.inc - tables of builtin functions
- Copyright (C) 1996-2005, 2006, 2007, 2008
+ Copyright (C) 1996-2010
CACAOVM - Verein zur Foerderung der freien virtuellen Maschine CACAO
This file is part of CACAO.
},
#endif
+ {
+ ICMD_LCMP,
+ 0,
+ BUILTIN_lcmp,
+ NULL,
+ NULL,
+ "lcmp",
+ "(JJ)I",
+ NULL,
+ NULL,
+ NULL,
+ NULL,
+ NULL
+ },
+
#if !SUPPORT_DIVISION || defined(DISABLE_GC)
{
ICMD_IDIV,
#define SUPPORT_D2L 0
#define SUPPORT_LONG_ADD 1
-#define SUPPORT_LONG_CMP 0
+#define SUPPORT_LONG_CMP 1
#define SUPPORT_LONG_CMP_CONST 1
#define SUPPORT_LONG_LOGICAL 1
#define SUPPORT_LONG_SHIFT 1
#define SUPPORT_D2L 0
#define SUPPORT_LONG_ADD 1
-#define SUPPORT_LONG_CMP 0
+#define SUPPORT_LONG_CMP 1
#define SUPPORT_LONG_CMP_CONST 1
#define SUPPORT_LONG_LOGICAL 1
#define SUPPORT_LONG_SHIFT 1
#define SUPPORT_D2L 0
#define SUPPORT_LONG_ADD 1
-#define SUPPORT_LONG_CMP 0
+#define SUPPORT_LONG_CMP 1
#define SUPPORT_LONG_CMP_CONST 1
#define SUPPORT_LONG_LOGICAL 1
#define SUPPORT_LONG_SHIFT 0
#define SUPPORT_IFCVT 0
#define SUPPORT_LONG_ADD 1
-#define SUPPORT_LONG_CMP 0
+#define SUPPORT_LONG_CMP 1
#define SUPPORT_LONG_CMP_CONST 1
#define SUPPORT_LONG_LOGICAL 1
#define SUPPORT_LONG_SHIFT 1
#define SUPPORT_D2L 0
#define SUPPORT_LONG_ADD 1
-#define SUPPORT_LONG_CMP 0
+#define SUPPORT_LONG_CMP 1
#define SUPPORT_LONG_CMP_CONST 1
#define SUPPORT_LONG_LOGICAL 1
#define SUPPORT_LONG_SHIFT 1
break;
normal_LCMP:
#endif /* SUPPORT_LONG_CMP_CONST */
- OP2_1(TYPE_LNG, TYPE_LNG, TYPE_INT);
+ bte = builtintable_get_internal(BUILTIN_lcmp);
+
+ iptr->opc = ICMD_BUILTIN;
+ iptr->flags.bits &= INS_FLAG_ID_MASK;
+ iptr->sx.s23.s3.bte = bte;
+ /* iptr->line is already set */
+ code_unflag_leafmethod(code);
+ goto icmd_BUILTIN;
+
break;
case ICMD_FCMPL:
#define SUPPORT_D2L 0
#define SUPPORT_LONG_ADD 1
-#define SUPPORT_LONG_CMP 0
+#define SUPPORT_LONG_CMP 1
#define SUPPORT_LONG_CMP_CONST 1
#define SUPPORT_LONG_LOGICAL 1
#define SUPPORT_LONG_SHIFT 1