This is the mail archive of the java-patches@gcc.gnu.org mailing list for the Java project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[BC] Patch: FYI: interpreter/verifier fixlet


I'm checking this in on the BC branch.

Trying to verify an abstract method causes a crash.
This is fallout from enabling the verifier the other day.

Tom

Index: ChangeLog
from  Tom Tromey  <tromey@redhat.com>

	* interpret.cc (do_verify): Don't verify abstract methods.

Index: interpret.cc
===================================================================
RCS file: /cvs/gcc/gcc/libjava/interpret.cc,v
retrieving revision 1.40.18.9
diff -u -r1.40.18.9 interpret.cc
--- interpret.cc 18 Oct 2004 23:48:56 -0000 1.40.18.9
+++ interpret.cc 4 Nov 2004 17:42:37 -0000
@@ -3696,9 +3696,10 @@
   _Jv_InterpClass *iclass = (_Jv_InterpClass *) klass->aux_info;
   for (int i = 0; i < klass->method_count; i++)
     {
+      using namespace java::lang::reflect;
       _Jv_MethodBase *imeth = iclass->interpreted_methods[i];
-      if ((klass->methods[i].accflags & java::lang::reflect::Modifier::NATIVE)
-	  == 0)
+      _Jv_ushort accflags = klass->methods[i].accflags;
+      if ((accflags & (Modifier::NATIVE | Modifier::ABSTRACT)) == 0)
 	{
 	  _Jv_InterpMethod *im = reinterpret_cast<_Jv_InterpMethod *> (imeth);
 	  _Jv_VerifyMethod (im);


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]