This is the mail archive of the java@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]

Re: Reminder: Illegal Package-Private Accesses in libgcj



On Nov 4, 2003, at 12:25 AM, Andrew Haley wrote:


Bryce McKinlay writes:

If there are targets that will never support the unwinder (are there?), then it might make sense to allow platforms to define some platform-specific unwinding functions, but ideally, by far the cleanest and most efficient solution is to get the libgcc DWARF2 unwinder working.

Efficient? I don't think so. The glibc backtrace() function simply walks a linked list, and there's no more efficient way to do it than that. The DWARF unwinder is a couple of orders of magnitude slower.

OK, but how do you get the java.lang.Class object from the IP value which backtrace() gives you? backtrace() becomes a lot slower if you have to call external programs or use dladdr() + demangling (and the demangling approach is fragile and unsafe). The DWARF unwinder gives us the method entry point address which is an order of magnitude more useful than just the IP ;-)


Regards

Bryce.



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