classpath
[Top][All Lists]
Advanced

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

Re: GNU Classpath + JRVM


From: John Leuner
Subject: Re: GNU Classpath + JRVM
Date: Tue, 19 Mar 2002 09:36:45 +0000
User-agent: Mutt/1.3.27i

> > http://people.debian.org/~jewel//jikes/port_poc.html
> > http://people.debian.org/~jewel//jikes/futurechanges.html
> java/lang/Integer.java - changed TYPE to use VM_Type
> java/lang/Double.java
> java/lang/Byte.java
> java/lang/Float.java
> java/lang/Short.java
> java/lang/Long.java
> java/lang/Boolean.java
> 
> Would changing VMClassLoader.getPrimitiveClass(String type) to a
> non-native function to call VM_Type work here instead?

Yes, that would work.
 
> All of the places where you either commented out or took out the
> System.loadLibrary calls that are inside the 
> `if (Configuration.INIT_LOAD_LIBRARY)' blocks seem unnecessary, you
> can disable this code in configure using --disable-load-library if
> you're not using any native methods at all.  In your case is it
> necessary to selectively comments out these blocks based on the class
> or package involved?

I don't remember any specific reason for commenting them out.

There are/were one or two cases where I had to 'fabricate' a static initializer
for a class, but I think that is unrelated to the commenting of the 
INIT_LOAD_LIBRARY
 blocks.

> What is the reason for changing FileDescriptor to make the file
> descriptor public and the constructor public?

I don't know, in my notes I didn't write down a reason.

I removed the field, recompiled and it ran successfully.

This was probably a side-effect of including the GNU libraries piece by piece.

> A number of changes indicate that the VM wants to implement low level
> details (usually where Classpath traditionally called native
> methods).  I can see two options.  In the past, we have added such
> classes to the VM interface and we can do this again even though it is
> a much larger number of files.  Instead we could try using a
> preprocessor rather than the explicit directory/file separation.
> 
> Even with just adding the files to the VM interface and moving them to
> vm/reference/... there would still be differences between what is part
> of reference and what is required for Jikes RVM which I think would
> lead to preprocessing anyway since I would rather not maintain a
> vm/reference and a vm/jikesrvm, but I'd like to hear other ideas as
> well.  If preprocessing is unavoidable, then perhaps we'll abandon the
> vm/reference directory all together and always use preprocessing.

I don't like preprocessing because it implies another level in the build 
process, 
but it looks like the best option at the moment.

Classpath is still changing a lot, I think it will be easier for developers to 
see what effect their changes will have when all the code is in the same place
(versus in separate VM files).

> I'm assuming that John will continue to lead the Jikes RVM support
> effort and help keep those bits in sync with other changes as they may
> occur.  

Sure 

> What is the status of this code you reference, "Additional
> code was provided by Maria Butrico. The code she sent me is JRVM
> specific code that had been inserted into the IBM OTI class
> libraries" ?

This is essentially the code that calls methods in the VM_* classes.

It doesn't really have a "home" .. it was extracted from the changes made 
to the IBM OTI libraries. There may be a few cases where we can reduce
the amount of extra code needed in Classpath by including code upstream in JRVM.

John Leuner



reply via email to

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