Mirror of the gdb mailing list
 help / color / mirror / Atom feed
From: Per Bothner <per@bothner.com>
To: David Carlton <carlton@math.stanford.edu>
Cc: gdb <gdb@sources.redhat.com>
Subject: Re: struct environment
Date: Sat, 07 Sep 2002 10:26:00 -0000	[thread overview]
Message-ID: <3D7A371E.2070806@bothner.com> (raw)
In-Reply-To: <ro1lm6ebrdm.fsf@jackfruit.Stanford.EDU>

David Carlton wrote:
> One interesting thing that's going on is that the classes in question
> are all apparently "dynamically loaded".

Yes.  This code date back the the very early days of gcj, when we were
basing it on the Kaffe run-time, which was JIT-based.  Even the days
it is possible for a class to be generated on-the-fly, or loaded from
a .jar file containing bytecodes.  Such a class will not have dwarf
or other static symbols.  So this was an attempt to extract the type
information from a class from the run-time type information for a
class instead of or in addition to the static symbols.

Such an attempt runs into various assumptions of gdb, such as how
symtabs are managed and reclaimed, so it was never very solid.
We can't debug interpreted bytecode anyway, so it's not much use.
Feel tree to tear this code out, but keep in mind that new Java
classes may be created on the fly.

I think the correct way to handle on-the-fly Java classes is to
use a model similar to dynamically linked libraries.  In both
cases a program can execute library functions that bring in new
code and new global symbols.  The main difference is that there
may be many more Java classes that are dynamically loaded then
the number of shared libraries, which may effect the strategy
used.  Though if most classes are pre-compiled, we're talking
at most hundreds, rather than thousands.
-- 
	--Per Bothner
per@bothner.com   http://www.bothner.com/per/


  reply	other threads:[~2002-09-07 17:26 UTC|newest]

Thread overview: 49+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2002-09-05 13:50 David Carlton
2002-09-06  8:06 ` Daniel Jacobowitz
2002-09-06 10:20   ` David Carlton
2002-09-06 10:57     ` Daniel Jacobowitz
2002-09-06 11:56       ` David Carlton
2002-09-06 12:34         ` Daniel Berlin
2002-09-06 12:41           ` Daniel Jacobowitz
2002-09-06 12:55             ` Daniel Berlin
2002-09-11 11:33         ` David Carlton
2002-09-11 11:36           ` Daniel Jacobowitz
2002-09-11 12:27             ` David Carlton
2002-09-06 14:43   ` David Carlton
2002-09-06 14:46     ` Daniel Jacobowitz
2002-09-06 14:57       ` mdebugread.c (was Re: struct environment) David Carlton
2002-09-06 15:35         ` Daniel Jacobowitz
2002-09-10 17:25   ` struct environment David Carlton
2002-09-10 17:31     ` Daniel Jacobowitz
2002-09-11 10:29       ` David Carlton
2002-09-11 10:55         ` Daniel Jacobowitz
2002-09-11 12:33         ` Daniel Berlin
2002-09-10 17:36     ` David Carlton
2002-09-16 22:03   ` Andrew Cagney
2002-09-06 15:00 ` David Carlton
2002-09-06 16:37   ` Tom Tromey
2002-09-06 17:19     ` David Carlton
2002-09-07 10:26       ` Per Bothner [this message]
2002-09-07 10:32         ` Daniel Jacobowitz
2002-09-09 11:18           ` David Carlton
2002-09-12 12:26 ` Andrew Cagney
2002-09-13  9:44   ` David Carlton
2002-09-17  0:48 ` Andrew Cagney
2002-09-17  6:41   ` Daniel Jacobowitz
2002-09-17  8:59     ` Andrew Cagney
2002-09-17  9:07       ` Daniel Jacobowitz
2002-09-17 10:54         ` Andrew Cagney
2002-09-17 11:02           ` Daniel Jacobowitz
2002-09-17 12:37             ` Andrew Cagney
2002-09-17 12:41               ` Daniel Jacobowitz
2002-09-18  8:13                 ` Andrew Cagney
2002-09-17 12:52             ` Daniel Berlin
2002-09-17 13:34               ` Daniel Jacobowitz
2002-09-17 21:51                 ` Daniel Berlin
2002-09-18  7:26                   ` Daniel Jacobowitz
2002-09-18  9:08                   ` David Carlton
2002-09-17 12:18     ` David Carlton
2002-09-17 10:29   ` David Carlton
2002-09-17 12:50     ` Daniel Berlin
2002-09-17 13:24       ` David Carlton
2002-09-18 22:26 ` Eli Zaretskii

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=3D7A371E.2070806@bothner.com \
    --to=per@bothner.com \
    --cc=carlton@math.stanford.edu \
    --cc=gdb@sources.redhat.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox