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: question about ecj integration


>>>>> "Andrew" == Andrew Haley <aph@redhat.com> writes:

>> How do you generate code with ecj?

Andrew> Bytecode is the internmediate langauge.

Andrew> source -> bytecode -> asm -> object
Andrew>        ecj        jc1     as

Just to expand on this a bit -- in particular I'm going to modify ecj
to emit a single .jar containing all the classes it generates.  This
will fit in a bit more nicely with how the gcc compiler driver
operates.

Actually I already have a patch which does this, I just haven't
submitted it to eclipse yet.  It looks like it might be simpler for us
to write our own driver (based on some refactoring of the existing ecj
driver) than to try to translate gcc-style options to ecj-style
options.


Here's my current ecj-for-gcc to-do list.  This covers all the
technical things I could think of.  If I'm missing something, please
let me know.  An 'x' means that this item is done.  This list doesn't
cover all the things needed for 1.5, in particular parsing and
emitting annotations.

- fix gcjh to understand class hierarchies

x make ecj emit .jar files
x change error reporting format to GNU style
- bootstrapping
- column numbers in debug info?

x ecj compilation is more eager; we should only emit class files
  for things actually specified (my emit-a-.jar patch handles this)
- handling -I and class path option translation
- finding the default libgcj.jar
- handling -M family of options
- handling translation of -W family

- must pass -encoding, -source, -target

- how to handle -fforce-classes-archive-check?

- StringBuffer handling, currently we'll see a performance regression
  could be handled by ad hoc optimization pass

- remove existing front end

Tom


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