You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@harmony.apache.org by Weldon Washburn <we...@gmail.com> on 2006/03/22 03:01:48 UTC

[classlib] suggestions on new kernel directory structure to hold GNU Classpath mods

All,

Below is a list of modified kernel files that allow Harmony ClassLib
to run "hello world" on any JVM that is expecting GNU Classpath.  I
would like to put them somewhere in the ClassLib tree. Overwriting the
existing kernel files with the modified files is a really bad idea. 
How about the following directory structure:

kernel/GNU_Classpath_wrapper/src/main/java/java/lang/Runtime.java, etc...

The original kernel files would remain at:

kernel/src/main/java/java/lang/Runtime.java, etc...

List of modified files:

Harmony Class Lib files that have been modified to support "Hello World":

Files in the kernel directory that were modified:

kernel/src/main/java/java/lang/Runtime.java	
kernel/src/main/java/java/lang/reflect/Method.java
kernel/src/main/java/java/lang/reflect/Field.java
kernel/src/main/java/java/lang/reflect/Constructor.java
kernel/src/main/java/java/lang/System.java
kernel/src/main/java/java/lang/ThreadGroup.java
kernel/src/main/java/java/lang/Class.java
kernel/src/main/java/java/lang/Object.java
kernel/src/main/java/java/lang/String.java
kernel/src/main/java/java/lang/Thread.java
kernel/src/main/java/java/lang/Throwable.java
kernel/src/main/java/java/lang/ref/Reference.java
kernel/src/main/java/java/lang/ClassLoader.java
kernel/src/main/java/java/lang/StackTraceElement.java
kernel/src/main/java/java/security/AccessController.java

Files that have been added to the kernel directory.  The "Pointer"
files were added to support direct access of memory (see bootstrap.c).
 The "VM" files were added because generic GNU Classpath JVM's uses
these interfaces:
kernel/src/main/java/java/lang/Pointer.java
kernel/src/main/java/java/lang/Pointer32.java
kernel/src/main/java/java/lang/VMClass.java
kernel/src/main/java/java/lang/VMClassLoader.java
kernel/src/main/java/java/lang/VMCompiler.java
kernel/src/main/java/java/lang/VMObject.java
kernel/src/main/java/java/lang/VMPackage.java
kernel/src/main/java/java/lang/VMRuntime.java
kernel/src/main/java/java/lang/VMStackTraceElement.java
kernel/src/main/java/java/lang/VMString.java
kernel/src/main/java/java/lang/VMSystem.java
kernel/src/main/java/java/lang/VMThread.java
kernel/src/main/java/java/lang/VMThreadGroup.java
kernel/src/main/java/java/lang/VMThrowable.java
--
Weldon Washburn
Intel Middleware Products Division

Re: [classlib] suggestions on new kernel directory structure to hold GNU Classpath mods

Posted by George Harley <ge...@googlemail.com>.
Hi,

This sounds great. Could you give us more information on how you have 
configured your launching environment ? Are you using the Harmony 
launcher ? Are you building your versions of the kernel classes into a 
kernel.jar that gets dropped into the runtime bootclasspath ?

It sounds like your request to add in these source files should be made 
inside a new JIRA report.

Best regards,
George


Weldon Washburn wrote:
> All,
>
> Below is a list of modified kernel files that allow Harmony ClassLib
> to run "hello world" on any JVM that is expecting GNU Classpath.  I
> would like to put them somewhere in the ClassLib tree. Overwriting the
> existing kernel files with the modified files is a really bad idea. 
> How about the following directory structure:
>
> kernel/GNU_Classpath_wrapper/src/main/java/java/lang/Runtime.java, etc...
>
> The original kernel files would remain at:
>
> kernel/src/main/java/java/lang/Runtime.java, etc...
>
> List of modified files:
>
> Harmony Class Lib files that have been modified to support "Hello World":
>
> Files in the kernel directory that were modified:
>
> kernel/src/main/java/java/lang/Runtime.java	
> kernel/src/main/java/java/lang/reflect/Method.java
> kernel/src/main/java/java/lang/reflect/Field.java
> kernel/src/main/java/java/lang/reflect/Constructor.java
> kernel/src/main/java/java/lang/System.java
> kernel/src/main/java/java/lang/ThreadGroup.java
> kernel/src/main/java/java/lang/Class.java
> kernel/src/main/java/java/lang/Object.java
> kernel/src/main/java/java/lang/String.java
> kernel/src/main/java/java/lang/Thread.java
> kernel/src/main/java/java/lang/Throwable.java
> kernel/src/main/java/java/lang/ref/Reference.java
> kernel/src/main/java/java/lang/ClassLoader.java
> kernel/src/main/java/java/lang/StackTraceElement.java
> kernel/src/main/java/java/security/AccessController.java
>
> Files that have been added to the kernel directory.  The "Pointer"
> files were added to support direct access of memory (see bootstrap.c).
>  The "VM" files were added because generic GNU Classpath JVM's uses
> these interfaces:
> kernel/src/main/java/java/lang/Pointer.java
> kernel/src/main/java/java/lang/Pointer32.java
> kernel/src/main/java/java/lang/VMClass.java
> kernel/src/main/java/java/lang/VMClassLoader.java
> kernel/src/main/java/java/lang/VMCompiler.java
> kernel/src/main/java/java/lang/VMObject.java
> kernel/src/main/java/java/lang/VMPackage.java
> kernel/src/main/java/java/lang/VMRuntime.java
> kernel/src/main/java/java/lang/VMStackTraceElement.java
> kernel/src/main/java/java/lang/VMString.java
> kernel/src/main/java/java/lang/VMSystem.java
> kernel/src/main/java/java/lang/VMThread.java
> kernel/src/main/java/java/lang/VMThreadGroup.java
> kernel/src/main/java/java/lang/VMThrowable.java
> --
> Weldon Washburn
> Intel Middleware Products Division
>
>   


Re: [classlib] suggestions on new kernel directory structure to hold GNU Classpath mods

Posted by Weldon Washburn <we...@gmail.com>.
On 3/22/06, Leo Simons <ma...@leosimons.com> wrote:
> On Tue, Mar 21, 2006 at 06:01:48PM -0800, Weldon Washburn wrote:
> > Below is a list of modified kernel files that allow Harmony ClassLib
> > to run "hello world" on any JVM that is expecting GNU Classpath.
>
> If that means what I think it means that's *awesome*.

Thanks.  To be clear, I have only gotten "hello world" running.  There
is still a bunch of work to be done to get Harmony Class Library
completely functional on a GNU Classpath  JVM.  For example, I
commented out security.

> Once this code is
> in SVN and tested a bit I think you should send a message out to their
> classpath mailing list, I'm sure they'll have useful feedback...

Good idea!

>
> >  I would like to put them somewhere in the ClassLib tree. Overwriting the
> > existing kernel files with the modified files is a really bad idea.
> > How about the following directory structure:
> >
> > kernel/GNU_Classpath_wrapper/src/main/java/java/lang/Runtime.java, etc...
>
> I'm pretty much mister clueless here, but I /suspect/ what makes just a
> little more sense is
>
>  kernel/src/GNU_Classpath_wrapper/java/...

Good point.  kernel/src/GNU_Classpath_wrapper........  makes more sense.
While we are at it, maybe create an empty directory for
kernel/src/Sun_Classpath_wrapper   ;)

How do I get permission to add the directories and files to SVN?

>
> > Files in the kernel directory that were modified:
> <snip/>
>
> I imagine keeping these different trees in sync is going to be *painful*.
> I always find "native" suddenly introduces the desire for things like
> "#ifdef"...

Yes it is a pain keeping the different trees in sync.  The benefit is
being able to run on GNU Classpath compatible JVMs.  Note the Linux
source tree has a similar kind of problem accounting for all the
different hardware platforms.

       - Weldon

>
> LSD
>


--
Weldon Washburn
Intel Middleware Products Division

Re: [classlib] suggestions on new kernel directory structure to hold GNU Classpath mods

Posted by Leo Simons <ma...@leosimons.com>.
On Tue, Mar 21, 2006 at 06:01:48PM -0800, Weldon Washburn wrote:
> Below is a list of modified kernel files that allow Harmony ClassLib
> to run "hello world" on any JVM that is expecting GNU Classpath.

If that means what I think it means that's *awesome*. Once this code is
in SVN and tested a bit I think you should send a message out to their
classpath mailing list, I'm sure they'll have useful feedback...

>  I would like to put them somewhere in the ClassLib tree. Overwriting the
> existing kernel files with the modified files is a really bad idea. 
> How about the following directory structure:
> 
> kernel/GNU_Classpath_wrapper/src/main/java/java/lang/Runtime.java, etc...

I'm pretty much mister clueless here, but I /suspect/ what makes just a
little more sense is

  kernel/src/GNU_Classpath_wrapper/java/...

> Files in the kernel directory that were modified:
<snip/>

I imagine keeping these different trees in sync is going to be *painful*.
I always find "native" suddenly introduces the desire for things like
"#ifdef"...

LSD