I've put some corrections in, so that its more understandable.

Jakob Praher wrote:
> Geir Magnusson Jr. wrote:
> 
>>On May 19, 2005, at 5:24 AM, Jakob Praher wrote:
>
>>
>>I don't understand
> 
> Take classpath project. It aims at working accross open vms. So you have
> to build a glue layer between what is intrinsic to the vm and what is
> expressable in plain java. Classpath has VM classes which are
> implemented by the different VMs (mostly public static and often native
> stuff), that gets called from within Classpath, so per VM you only have
> to reimplement the VM classes. It has pros and cons, if you proceed like
> this. For Classpath its the only way to meet the goal of implementing a
> whole runtime without knowing exact details of the VM. 

> On the other hand
> projects like gcj, which have c++ abi for performance reason for most of
> the core classes (I mean the really core stuff) - they currently have
> libjava - where the whole classpath - but also would like to use the
> classpath java classes without importing them into libjava (for code
> management and stuff) where appropriate. 

To state it more clearly:
GCJ has a "copy" of classpath in its own tree. In former classpath and
gcj   haven't worked that closely toghether. Most of the libjava classes
are 1:1 copies of the classpath classes. But for some high performance
classes / low level classes the gcj team rewrites them. This is a
problem if they want to merge the whole classpath tree in.

Why did I mention that: This is an example of the VMXxx classes to be to
high level - a faster implementation can be done if using CNI (the GCJ
native interface that uses C++ ABI).

-- Jakob

Reply via email to