-/* old macros for intermediate code generation ********************************/
-
-#define LOADCONST_I(v) \
- iptr->opc = ICMD_ICONST; \
- iptr->val.i = (v); \
- iptr->line = currentline; \
- PINC
-
-#define LOADCONST_L(v) \
- iptr->opc = ICMD_LCONST; \
- iptr->val.l = (v); \
- iptr->line = currentline; \
- PINC
-
-#define LOADCONST_F(v) \
- iptr->opc = ICMD_FCONST; \
- iptr->val.f = (v); \
- iptr->line = currentline; \
- PINC
-
-#define LOADCONST_D(v) \
- iptr->opc = ICMD_DCONST; \
- iptr->val.d = (v); \
- iptr->line = currentline; \
- PINC
-
-#define LOADCONST_A(v) \
- iptr->opc = ICMD_ACONST; \
- iptr->val.a = (v); \
- iptr->line = currentline; \
- PINC
-
-/* ACONST instructions generated as arguments for builtin functions
- * have op1 set to non-zero. This is used for stack overflow checking
- * in stack.c. */
-/* XXX in the new instruction format use a flag for this */
-/* XXX target used temporarily as flag */
-#define LOADCONST_A_BUILTIN(c,cr) \
- iptr->opc = ICMD_ACONST; \
- iptr->op1 = 1; \
- iptr->line = currentline; \
- if (c) { \
- iptr->val.a = c; iptr->target = (void*) 0x02; \
- } \
- else { \
- iptr->val.a = cr; iptr->target = (void*) 0x03; \
- } \
- PINC
-
-#define OP(o) \
- iptr->opc = (o); \
- iptr->line = currentline; \
- PINC
-
-#define OP1(o,o1) \
- iptr->opc = (o); \
- iptr->op1 = (o1); \
- iptr->line = currentline; \
- PINC
-
-#define OP2I(o,o1,v) \
- iptr->opc = (o); \
- iptr->op1 = (o1); \
- iptr->val.i = (v); \
- iptr->line = currentline; \
- PINC
-
-#define OP2A_NOINC(o,o1,v,l) \
- iptr->opc = (o); \
- iptr->op1 = (o1); \
- iptr->val.a = (v); \
- iptr->line = (l);
-
-#define OP2A(o,o1,v,l) \
- OP2A_NOINC(o,o1,v,l); \
- PINC
-
-#define OP2AT(o,o1,v,t,l) \
- OP2A_NOINC(o,o1,v,l); \
- iptr->target = (t); \
- PINC
-
-#define BUILTIN(v,o1,t,l) \
- jd->isleafmethod = false; \
- iptr->opc = ICMD_BUILTIN; \
- iptr->op1 = (o1); \
- iptr->val.a = (v); \
- iptr->target = (t); \
- iptr->line = (l); \
- PINC
-
-#define OP1LOAD_ONEWORD(o,o1) \
- do { \
- INDEX_ONEWORD(o1); \
- OP1(o,o1); \
- } while (0)
-
-#define OP1LOAD_TWOWORD(o,o1) \
- do { \
- INDEX_TWOWORD(o1); \
- OP1(o,o1); \
- } while (0)
-
-#define OP1STORE_ONEWORD(o,o1) \
- do { \
- INDEX_ONEWORD(o1); \
- OP1(o,o1); \
- } while (0)
-
-#define OP1STORE_TWOWORD(o,o1) \
- do { \
- INDEX_TWOWORD(o1); \
- OP1(o,o1); \
- } while (0)
-
-
-/* macros for byte code fetching ***********************************************
-
- fetch a byte code of given size from position p in code array jcode
-
-*******************************************************************************/
-
-#define code_get_u1(p,m) m->jcode[p]
-#define code_get_s1(p,m) ((s1)m->jcode[p])
-#define code_get_u2(p,m) ((((u2)m->jcode[p]) << 8) + m->jcode[p + 1])
-#define code_get_s2(p,m) ((s2)((((u2)m->jcode[p]) << 8) + m->jcode[p + 1]))
-#define code_get_u4(p,m) ((((u4)m->jcode[p]) << 24) + (((u4)m->jcode[p + 1]) << 16) \
- +(((u4)m->jcode[p + 2]) << 8) + m->jcode[p + 3])
-#define code_get_s4(p,m) ((s4)((((u4)m->jcode[p]) << 24) + (((u4)m->jcode[p + 1]) << 16) \
- +(((u4)m->jcode[p + 2]) << 8) + m->jcode[p + 3]))
-/* XXX read 32bit aligned big-endian values directly */
-