This is the mail archive of the gdb-patches@sources.redhat.com mailing list for the GDB 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]

Re: [RFA]: Java Inferior Call Take 2


Daniel Jacobowitz writes:
 > On Wed, Jun 23, 2004 at 12:05:59PM +0100, Andrew Haley wrote:
 > > This patch is now in mainline.  Is there anything else you need?
 > 
 > Yes.  Two sets of questions left, one for Jeff and one [plus a little
 > bit] for you...
 > 
 > 
 > Jeff, one test still fails: calling addprint.  I think this is mostly a
 > GDB problem rather than GCC.  Before starting the program I see this:
 > 
 > (gdb) ptype jvclass
 > type = class jvclass : public java::lang::Object {
 >   public:
 >     static int k;
 > 
 >     static void addprint(int, int, int);
 >     virtual int addk(int);
 > }
 > 
 > Then, after starting it:
 > (gdb) ptype jvclass
 > type = class jvclass  extends java::lang::Object {
 >     public static int k;
 > 
 >     void addprint(int, int, int);
 >     int addk(int);
 >     jvclass();
 >     void <clinit>();
 > }
 > 
 >   - Should we suppress jvclass and <clinit> the way we do for C++
 >     artificial methods?
 > 
 >   - Why is it java::lang::Object instead of java.lang.Object?
 > 
 >   - Why did printing of the type change?  There's only one definition
 >     of jvclass in the debug info, and it's marked Java.
 > 
 > [Andrew, I notice that we've lost the 'static' here.  There's nothing
 > in the dwarf output to express it, so this is a GCC problem.]

OK.

 > The other question: I looked at fixing the debug info to print field
 > names correctly.  The reason it's wrong is that dwarf2out uses the
 > decl_printable_name langhook.  Java doesn't use the second argument,
 > which the common code assumes is verbosity.  Common code always passes
 > '2', which matches what Java's does, except in three places: mudflap
 > (???), the C tree pretty printer, and this call in dwarf2out used to
 > set the name of decls.  Java mostly passes 0 since it knows the value
 > is ignored.  Any reason not to fix up the Java frontend to pass 2,
 > extend the function to handle smaller values, and thus correct the
 > debug output?

Yes, I can do that.

Andrew.


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