Backporting JanosVM fixes to Kaffe

Timothy Stack stack at cs.utah.edu
Tue Mar 19 09:52:45 PST 2002


> On Monday 18 March 2002 21:47, Jim Pick wrote:
> > On Mon, Mar 18, 2002 at 12:55:30PM -0700, Timothy Stack wrote:
> > > I can provide a diff between a recent Kaffe and JanosVM, so it will
> > > mostly be a matter of pulling out the good stuff and ignoring the rest.
> >
> > Good stuff.  I'll definitely take a look.  A diff would be nice too.
> 
> Me too. Could you put the diff somewhere on the web? I assume the it is too 
> big to send it to the mailing list. ChangeLogs would also be nice :)

There are five files at:

  www.cs.utah.edu/flux/janos/downloads/kaffe_config.diff.gz
  www.cs.utah.edu/flux/janos/downloads/kaffe_kaffe_kaffevm.diff.gz
  www.cs.utah.edu/flux/janos/downloads/kaffe_kaffe_xprof.diff.gz
  www.cs.utah.edu/flux/janos/downloads/kaffe_libraries_clib.diff.gz
  www.cs.utah.edu/flux/janos/downloads/kaffe_libraries_javalib.diff.gz

And also available from the main page:

  www.cs.utah.edu/flux/janos/kaffe.html

I separated them based on directories to keep it from turning into one big
blob.  The javalib changes should be pretty easy since we didn't touch it
very much.  The kaffevm changes are huge although most simply don't
apply, you'll want to look for:

  toggleAsync in jthreads, this will toggle the ASYNC bit on/off in file
  descriptors.  It keeps the process from drowning in SIGIOs.

  gc_malloc return value checks in readClassConfig.h

  newArrayChecked in object.c checks for an overflow when computing the
  size for malloc.

  Maybe some fixes in classMethod.c, mostly concerning error
  checking/reporting

  Thread locks are kept per-thread instead of allocated on demand, this
  eliminates the silly specialLocks object.  This is possible since the
  number of iLocks in the system is bound by the number of threads.

  The native library stuff was rewritten, but it does contain a fix for
  properly reporting link errors.  Basically, the dl_openext function
  would overwrite interesting error messages as it tried to open different
  extensions, resulting in it always reporting "file not found."  The
  janosvm version found in janosvm/kaffe/janosvm/nativeResource.c tries to
  be a little smarter about it.

For the most part, just ignore anything that mentions teams, jsi, the
nodeos, and other JanosVMisms.

> thanks,
> 
> dalibor topic

hope that helps a bit...

tim stack


More information about the kaffe mailing list