+ fltalloc = t;
+ }
+ else {
+ /* #if defined(__I386__) */
+#if defined(HAS_4BYTE_STACKSLOT) && !defined(SUPPORT_COMBINE_INTEGER_REGISTERS)
+ /*
+ * for i386 put all longs in memory
+ */
+ if (IS_2_WORD_TYPE(t)) {
+ v->flags |= INMEMORY;
+ v->regoff = rd->ifmemuse;
+ rd->ifmemuse += memneeded + 1;
+ } else
+#endif /* defined(HAS_4BYTE_STACKSLOT) && !defined(SUPPORT_COMBINE_INTEGER_REGISTERS) */
+#if !defined(HAS_4BYTE_STACKSLOT)
+ if (intalloc >= 0) {
+ v->flags |= rd->interfaces[s][intalloc].flags & INMEMORY;
+ v->regoff = rd->interfaces[s][intalloc].regoff;
+ }
+ else
+#endif /* !defined(HAS_4BYTE_STACKSLOT) */
+ if (!m->isleafmethod &&(rd->ifargintregcnt + intregsneeded < rd->intreg_argnum)) {
+ v->regoff = rd->argintregs[rd->ifargintregcnt];
+ rd->ifargintregcnt += intregsneeded + 1;
+ }
+ else if (rd->iftmpintregcnt > intregsneeded) {
+ rd->iftmpintregcnt -= intregsneeded + 1;
+ v->regoff = rd->tmpintregs[rd->iftmpintregcnt];
+ }
+ else if (rd->ifsavintregcnt > intregsneeded) {
+ rd->ifsavintregcnt -= intregsneeded + 1;
+ v->regoff = rd->savintregs[rd->ifsavintregcnt];
+ }
+ else {
+ v->flags |= INMEMORY;
+ v->regoff = rd->ifmemuse;
+ rd->ifmemuse += memneeded + 1;
+ }
+
+ intalloc = t;