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