static branchref *xboundrefs; /* list of bound check branches */
static branchref *xcheckarefs; /* list of array size check branches */
static branchref *xnullrefs; /* list of null check branches */
+static branchref *xcastrefs; /* list of cast check branches */
static void mcode_init(); /* allocates code and data area */
static void mcode_close(); /* releases temporary storage */
static void mcode_addreference(basicblock *target, void *branchptr);
static void mcode_addxboundrefs(void *branchptr);
static void mcode_addxnullrefs(void *branchptr);
+static void mcode_addxcastrefs(void *branchptr);
static void dseg_display(s4 *s4ptr);
jumpreferences = NULL;
xboundrefs = NULL;
xnullrefs = NULL;
+ xcastrefs = NULL;
}
}
+static void mcode_addxcastrefs(void *branchptr)
+{
+ s4 branchpos = (u1*) branchptr - mcodebase;
+
+ branchref *br = DNEW(branchref);
+
+ br->branchpos = branchpos;
+ br->next = xcastrefs;
+ xcastrefs = br;
+}
+
+
static void mcode_finish(int mcodelen)
{
jumpref *jr;