harmony-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Santiago Gala <sg...@apache.org>
Subject Re: [arch] How much of java.* and friends does Harmony need towrite. Was: VM/Classlibrary interface
Date Sun, 05 Jun 2005 22:26:23 GMT
El dom, 05-06-2005 a las 01:56 -0500, Dan Lydick escribió:

(...)
> 
> I suppose I need to do some more homework then.
> If GNU Classpath is used without modification for
> numerous VM's, then great!  Ultimately, what I am

A few classes need to be modified:
- jamvm (from README): "A number of classes are reference classes which
must be modified for a particular VM.  These are provided and built
along with JamVM (see INSTALL).  JamVM 1.3.0 works with Classpath
version 0.14 (the latest development snapshot).  It should also work
with the latest version direct from CVS (but check the Classpath
mailing lists for possible patches).  Later snapshots of Classpath may
also work, if no modifications have been made to the VM interface."
- jikesRVM fetches classpath from cvs, and allows you to put your own
copy instead, to build the boot image. In addition, it implements or
modifies, glancing at cvs code, gnu.classpath.(VMStackWalker.java|
VMSystemProperties.java) and a bunch of classes (VM) in java.(lang|io|
net|util).VM* (including also Object, Thread, Throwable .ref.*,
some .reflect. classes)
- sableVM (1.11.3) bundles a version of classpath with it, numbered
after the sableVM release. I'm not sure how modified it is WRT CVS
classpath, but the claim is "SableVM Classpath is based on GNU
Classpath 0.08 + further CVS changes" (INSTALL-DEVEL)
- not sure about other VMs

This is inconvenient for VM writers, as they must bundle or track the
development of those classes in both libraries.

I think that this is why there was a suggestion to isolate all
references in a separate "deliverable" (be it package, jar, bundle,
whatever), so that people working in different VMs can have independent
versioning and API changes than the library as a whole.

This will become specially handy as classpath grows, because the VM*
part will be fairly stable, but changes as implementation gets better
or new APIs (JSR) get approved will be big.

Regards
Santiago
-- 
Santiago Gala
High Sierra Technology, S.L.
http://memojo.com/blojsom/blog/sgala/

Mime
View raw message