* purpose registers.
*/
+/*
static void do__log(u4 *regs) {
- /* insert stuff here */
}
+*/
#define DO__LOG \
N_AHI(REG_SP, -200); \
N_LM(R0, R15, 96, REG_SP); \
N_AHI(REG_SP, 200);
-#define SUPPORT_HERCULES 1
+/* If the following macro is defined, workaround code for hercules quirks
+ * is generated
+ */
+
+/* #define SUPPORT_HERCULES 1 */
/* codegen *********************************************************************
registerdata *rd;
s4 len, s1, s2, s3, d, dd, disp;
u2 currentline;
- ptrint a;
- varinfo *var, *var1, *var2, *dst;
+ varinfo *var;
basicblock *bptr;
instruction *iptr;
constant_classref *cr;
case ICMD_F2D: /* ..., value ==> ..., (double) value */
{
+#ifdef SUPPORT_HERCULES
u1 *ref;
+#endif
s1 = emit_load_s1(jd, iptr, REG_FTMP1);
d = codegen_reg_of_dst(jd, iptr, REG_FTMP2);
#ifdef SUPPORT_HERCULES
#include <dis-asm.h>
#include <stdio.h>
+#include <stdint.h>
#include "vm/types.h"
switch (code[0]) {
/* Trap */
case 0x02:
- snprintf(disass_buf, 512, "ill\t0x%02hhx (pseudo)", code[1]);
+ snprintf(disass_buf, 512, "ill\t0x%02x (pseudo)", (int)code[1]);
return 2;
/* Not recognized */
default:
seqlen = disass_pseudo_instr(code);
if (seqlen == 0) {
- seqlen = print_insn_s390((bfd_vma) code, &info);
+ seqlen = print_insn_s390((bfd_vma)(intptr_t)code, &info);
}
for (i = 0; i < seqlen; i++, code++) {
#include "vm/jit/s390/codegen.h"
#include <assert.h>
-#define OOPS() assert(0);
/* prototypes *****************************************************************/
+u1 *exceptions_handle_exception(java_object_t *xptro, u1 *xpc, u1 *pv, u1 *sp);
+
void md_signal_handler_sigill(int sig, siginfo_t *siginfo, void *_p);
void md_dump_context(u1 *pc, mcontext_t *mc);
/* add offset to method pointer */
- pa = mptr + offset;
+ pa = (uint8_t *)mptr + offset;
break;
default:
pv = codegen_get_pv_from_pc(xpc);
- handler = exceptions_handle_exception(xptr, xpc, pv, sp);
+ handler = exceptions_handle_exception((java_object_t *)xptr, xpc, pv, sp);
if (handler == NULL) {