aboutsummaryrefslogtreecommitdiff
path: root/gcc/java
diff options
context:
space:
mode:
Diffstat (limited to 'gcc/java')
-rw-r--r--gcc/java/ChangeLog5
-rw-r--r--gcc/java/jcf-write.c10
2 files changed, 10 insertions, 5 deletions
diff --git a/gcc/java/ChangeLog b/gcc/java/ChangeLog
index 0b2337d..ddb7d56 100644
--- a/gcc/java/ChangeLog
+++ b/gcc/java/ChangeLog
@@ -1,3 +1,8 @@
+2000-01-09 Anthony Green <green@cygnus.com>
+
+ * jcf-write.c (generate_bytecode_insns): Emit invokeinterface
+ bytecodes in the correct order.
+
2000-01-09 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
* Makefile.in (jcf-dump, gcjh): Move ../errors.o before $(LIBS).
diff --git a/gcc/java/jcf-write.c b/gcc/java/jcf-write.c
index 98436f2..0ddfa9e 100644
--- a/gcc/java/jcf-write.c
+++ b/gcc/java/jcf-write.c
@@ -2509,6 +2509,11 @@ generate_bytecode_insns (exp, target, state)
else
OP1 (OPCODE_invokevirtual);
OP2 (index);
+ if (interface)
+ {
+ OP1 (nargs);
+ OP1 (0);
+ }
f = TREE_TYPE (TREE_TYPE (f));
if (TREE_CODE (f) != VOID_TYPE)
{
@@ -2518,11 +2523,6 @@ generate_bytecode_insns (exp, target, state)
else
NOTE_PUSH (size);
}
- if (interface)
- {
- OP1 (nargs);
- OP1 (0);
- }
break;
}
}