classpath
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Jikesrvm-core] Re: Updates to GNU Classpath port of JRVM


From: Michael Hind
Subject: Re: [Jikesrvm-core] Re: Updates to GNU Classpath port of JRVM
Date: Tue, 22 Oct 2002 08:03:08 -0400




This message should have cc'd the classpath list as well, so Brian could
see.

Here is the message.

Mike

- - - - - - - - - - - - - - - -
Michael Hind, Manager, Dynamic Optimization Group, JalapeƱo Project

IBM Watson Research Center
http://www.research.ibm.com/people/h/hind
address@hidden, 914 784-7589, tie: 863-7589
Jikes RVM open source release:
http://www.ibm.com/developerworks/oss/jikesrvm


                                                                                
                                                              
                      Julian Dolby/Watson/address@hidden                        
                                                                   
                      Sent by:                                      To:       
address@hidden                     
                      address@hidden        cc:                                 
                                      
                      usf.ibm.com                                   Subject:  
Re: [Jikesrvm-core] Re: Updates to GNU Classpath port of JRVM   
                                                                                
                                                              
                                                                                
                                                              
                      10/21/2002 01:33 PM                                       
                                                              
                      Please respond to jikesrvm-core                           
                                                              
                                                                                
                                                              
                                                                                
                                                              







John, Brian,

  I have in fact been working on integrating the Classpath port into our
CVS tree so that stuff simply works
directly (with the possible goal of ultimately abadoning our current
libraries).  Mostly, it is the patches that you
provided and have been incorporated into our tree.  In some cases, I
modified Jikes RVm to make it easier to
run with both libraries (i.e. I changed the class loaders to use generic
java.net.URLClassLoader to avoid ifdef'ing
based on the library being used).

 The result is that the GNUClasspathSupport  directory in our current CVS
head is an implementation of the files
that Classpath expects to be VM-supplied.  While this code obviously uses
the interface required by classpath, it
consists mostly of calls into our own libSupport packages.  I do not think
that should cause any licensing issues.

  With this code added to our VM, I have been running our suite of Jikes
RVM sanity tests: the full range
of boot images and tests. The only gotcha is that I have made one or two
structural changes to the Classpath
code (I keep a check-out of Classpath'sCVS), involving moving some stuff
out of the core vm classes into the
classes like VMSystem.  In addition,in my CVS version of classpath, there
are various bug fixes to the classpath
code that are required for Jikes RVM to pass our full suite of sanity
tests.

  As for support in the Classpath build process, the code that I have in
GNUClasspathSupport directory allows me
to build and run JikesRVM against the Classpath files without any special
preprocessing of them.

      -- Julian



                      Brian Jones

                      <address@hidden>                   To:       John Leuner
<address@hidden>
                      Sent by:                        cc:
address@hidden,
                      address@hidden         address@hidden

                      124.ibm.com                     Subject:
[Jikesrvm-core] Re: Updates to GNU Classpath
                                                       port of JRVM


                      10/18/02 05:55 PM

                      Please respond to

                      jikesrvm-core






John Leuner <address@hidden> writes:

> > > I've updated the files necessary to get a working bootimage out of
JRVM
> > > 2.1.1 (latest CVS) and GNU Classpath (latest CVS) at:
> > >
> > > http://people.debian.org/~jewel//jikes/jikesport/2.1.1CVS/port.html
> >
> > John, what prevents us from incorporating the necessary changes into
> > Classpath CVS?  I'll assume we're talking a compilation/packaging
> > issue until I get more time to look at this.
>
> There are two parts:
>
> 1. The VM-specific files. Ideally these would go into the JRVM CVS tree,
> but I fear there are licensing issues.

Yes, but we can include them if need be.  Certainly if jikesrvm want to
keep this working they would I think want or demand to keep them...

> 2. The modified Classpath files. I believe that to include these we
> would have to do some kind of preprocessing of the .java files.
>
> The JRVM people have written their own preprocessor to handle this task
> (see rvm/src/tools/preprocessor/preprocessModifiedFiles.C). I think we
> could use the same tool.
>
> It understands these directives:
>
> // The following preprocessor directives are recognized in source files:
> //    //-#if    <name>
> //    //-#elif  <name>
> //    //-#else  <optional-comment>
> //    //-#endif <optional-comment>
>
> I suppose it's also possible to use cpp, I don't know if it would choke
> on anything in the .java source.

cpp works just fine on .java source as far as I can tell.  I've seen
it used elsewhere for such things.  As the build already looks into
builddir for source (produced from srcdir via configure for instance)
then adding this shouldn't be hard, probably change the order of
compilation to look in 'lib' after going through all the .java source
directories, 'java', 'javax', and 'gnu'.  In those add the cpp rules
to Makefile.am.


> I don't think there are any other obstacles to incorporating this into
> CVS.
>
> The JRVM code base is still under development and although there is a
> 'library' interface between Classpath and JRVM, there might still be
> maintenance work to be done to keep the two CVS trees in sync.

There is maintenance work with every JVM... any time we change the JVM
interface we introduce that work ourselves.

> > > I'm also looking for someone to host an 'autobuilder' and perhaps run
> > > nightly regression tests (starting with mauve and maybe others).
> >
> > I'm looking to do the same for Kissme, maybe others if they work with
> > Classpath CVS.  I'll let the list know when I've done Kissme and
> > getting the other one in there shouldn't be difficult.
>
> Great. Do you have a machine where you can have this run every night and
> produce binaries?

I can run it on my machine for now... I don't have anything suitable
for distribution of binaries at the moment, so producing them is
somewhat useless except to perform tests and product test results.

> For JRVM an autobuilder would have to be a beefy machine. Building the
> basebase image (which is what I mostly do with the port) needs a machine
> with 512MB ram and will take roughly 5 minutes of CPU time.

Shouldn't be a problem.  I don't use my machine when I'm sleeping.

> Building the image with the optimising compiler, (which we'll do at a
> later stage), will take a substantial amount of time and lots of RAM.

Maybe I'll get more RAM if it becomes a problem.

Brian
--
Brian Jones <address@hidden>
_______________________________________________
Jikesrvm-core mailing list
address@hidden
http://www-124.ibm.com/developerworks/oss/mailman/listinfo/jikesrvm-core



_______________________________________________
Jikesrvm-core mailing list
address@hidden
http://www-124.ibm.com/developerworks/oss/mailman/listinfo/jikesrvm-core







reply via email to

[Prev in Thread] Current Thread [Next in Thread]