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

FWN/Issue133



Hi,

I have a minor correction.  I was just reading FWN 133, and in this bit:

  http://fedoraproject.org/wiki/FWN/Issue133#Java.2C_So_Many_Free_Choices

it says:

  "After all this talk about the many Free choices available in Java
  Kevin Koffler wondered whether some of the other virtual machines,
  such as Christian Thalinger's cacao or Gary Benson's shark, both of
  which attempt to re-implement Hotspot in more portable ways, would
  be receiving attention."

My correction is basically that Shark isn't a virtual machine.  I
guess you know that in Java you have the virtual machine (that runs
the code) and the class library (a block of pre-existing code that
applications can use).  OpenJDK comprises (essentially) a virtual
machine (HotSpot) and a class library.  Cacao is a virtual machine
that can use the OpenJDK's class library but that runs on more
architectures than HotSpot, so one way of supporting stuff that
HotSpot doesn't is to use Cacao with OpenJDK's class library.  At
first we didn't know how the Cacao stuff would work, so we (ie the
open source Java team at Red Hat) started working on a different
approach, one that makes HotSpot able to compile and run on any Linux
system.  The result of this was called "zero", which is a non-cpu-
specific port of HotSpot.  (It's called zero because of the names of
the directories in which it appears; if you look in an OpenJDK tarball
you'll see:

 openjdk/hotspot/src/cpu/amd64
 openjdk/hotspot/src/cpu/i486
 openjdk/hotspot/src/cpu/sparc

Zero appears as openjdk/hotspot/src/cpu/zero).  The problem with zero
is that it's only an interpreter, so it's pretty slow.  What Shark is
is a JIT for zero.  But neither zero nor Shark are virtual machines;
the virtual machine you'll be running is still HotSpot.

Hope that makes sense!

Cheers,
Gary



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