From a71a69b426d909bb62d2317ffdd112018e065a7b Mon Sep 17 00:00:00 2001
From: green <green@138bc75d-0d04-0410-961f-82ee72b054a4>
Date: Mon, 10 Jan 2000 01:26:27 +0000
Subject: [PATCH] 	* jcf-write.c (generate_bytecode_insns): Emit
 invokeinterface 	bytecodes in the correct order.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@31301 138bc75d-0d04-0410-961f-82ee72b054a4
---
 gcc/java/ChangeLog   |  5 +++++
 gcc/java/jcf-write.c | 10 +++++-----
 2 files changed, 10 insertions(+), 5 deletions(-)

diff --git a/gcc/java/ChangeLog b/gcc/java/ChangeLog
index 0b2337d18733..ddb7d56919dc 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 98436f2e6329..0ddfa9ee3742 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;
 	  }
       }
-- 
GitLab