Toba Release Notes
These notes list the significant changes between versions of Toba.
The current release is listed first.
Version 1.1: July 31, 1998
Tested under:
- Linux 2.0.35 (based on Red Hat 4.2) using cc [gcc] version 2.7.2.1
- Linux 2.0.35 (based on Red Hat 5.1) using cc [gcc] version 2.7.2.3
- Solaris 2.5.1 (SunOS 5.5.1) Using SunPro C
- Solaris 2.5.1 (SunOS 5.5.1) using gcc version 2.7.2.1
- Irix 6.2 using cc version 6.2
- Irix 6.2 using gcc version 2.7.2.2
BISS has not been tested under Irix.
Final 1.0.2: April 8, 1998
Tested under:
- Irix 6.2 using cc version 6.2
- Linux 2.0.33 (based on Red Hat 4.2) using cc [gcc] version 2.7.2.1
- Linux 2.0.32 (based on Red Hat 5.0) using cc [gcc] version 2.7.2.3
- Solaris 2.5.1 (SunOS 5.5.1) Using SunPro C
- Solaris 2.5.1 (SunOS 5.5.1) using gcc version 2.7.2.1
Known Problems: None
Bug Fixes:
- Garbage collector updated to 4.13a to support libc6 on linux.
- Improved starvation prevention with scout threads.
- Corrected handling of class, method, and field identifiers with
non-ASCII Unicode characters.
Beta 7: February 6, 1998
Tested under:
- Irix 6.2 using cc version 6.2
- Linux 2.0.33 (based on Red Hat 4.2) using cc [gcc] version 2.7.2.1
- Solaris 2.5.1 (SunOS 5.5.1) Using SunPro C
- Solaris 2.5.1 (SunOS 5.5.1) using gcc version 2.7.2.1
Known Problems:
- Toba does not work with Red Hat 5.0 or any other system that uses libc6
(glibc2), because the garbage collector is not supported by libc6.
- Scout threads are a non-preemptible thread model, and
starvation-prevention imposes a large overhead on Linux systems with thread
support. We are investigating solutions to this.
Bug fixes:
- Forked child processes are now reaped properly on all platforms.
- Network protocols such as HTTP that are not pre-compiled in libAPI now
work on systems that support a JIT
- Constant strings are interned correctly.
- Protect all C keywords from misuse in generated code.
Other changes:
- Threads support added to all platforms
- Windows support dropped
- Just-in-time compilation added for Linux/Intel
- Code reorganized to separate functionality
Beta 6: April 28, 1997
Tested under:
- Irix 6.2 using cc version 6.2
- Linux 2.0.18 (Red Hat 4.0) using cc [gcc] version 2.7.2
- Solaris 2.5.1 (SunOS 5.5.1) Using SunPro C
- Solaris 2.5.1 (SunOS 5.5.1) using gcc version 2.7.2
- Windows NT 4.0 using Cygwin32 beta 17.1
Bug fixes:
- Fixed driver bug compiling java files in subdirectories
- Fixed "instance of" code to handle nested interfaces
- Fixed aastore to check type of object at run-time
- Added code to "intern" string constants at startup time
Other changes:
- Added support for non-preemptive threads (not currently used)
- Updated garbage collector
- Added AWT support using the BISS AWT implementation
- Added environmental variable support for java properties
- Added dynamic loading from precompiled shared libraries
- Added "package" capability
- Added zip file support to translator's class loader
- Reorganized translator source code
- Merged itoba into toba.sh
- Added library path (-L) flag
Beta 5: February 3, 1997
Tested under:
- Irix 6.2 using cc version 6.2
- Linux 2.0.18 (Red Hat 4.0) using cc [gcc] version 2.7.2
- Solaris 2.5.1 (SunOS 5.5.1) Using SunPro C
- Windows NT 4.0 using Cygwin32 beta 17.1
Bug fixes:
- Fixed problem with GC on older Linux systems
- Properly handle remainder operations
- Properly restart file read and socket accept operations
after an EINTR condition
- Pass parent's environment to child when no environment
is passed to System.exec
- Fixed problem calling finalizers
- Properly remove threads from their thread group when
they exit.
Other changes:
- Added support for Windows NT and Irix (without thread support)
- Driver scripts now use /bin/sh for portability
- Added an optimization for non-threaded versions
- Added support for systems that don't have shared libraries
Beta 4: December 17, 1996
Tested under:
- Solaris 2.5.1 (SunOS 5.5.1) using SunPro C
- Solaris 2.5.1 (SunOS 5.5.1) using gcc version 2.7.2
- Linux 2.0.18 (Red Hat 4.0) using cc [gcc] version 2.7.2
Bug fixes:
- Correctly ignore exceptions thrown by finalizers
- Avoid deep recursion when invoking finalizers
- Fix problems with remaindering and int conversion of Infs and NaNs
- Set SO_REUSEADDR when creating sockets, to allow reuse of addresses
- Properly deregister exception handler when a class init quits early
- Protect names of GOTO macros generated by translator
Other changes:
- Add support of Linux (but without threads as yet)
- Use newer version of garbage collector
- Generate comment with original name and signature for each method
- Give a little more information after I/O error reading class file
- Further rework the toba script and Makefiles
Beta 3: November 25, 1996
This internal snapshot was not released publicly.
Changes:
- Configuration is done in top-level Makefile
- Many other changes to the build process
- Use same C compiler in toba script (cc or gcc) as during build
- The -Z and -G options no longer work.
Beta 2: November 7, 1996
Released to change the name from "Juice" to "Toba".
Other changes:
- Rename ./juice, bin/*juice, man/juice.1
- Also rename ./native, ./include/sumatra.h
- Fix minor documentation glitches
- Document run-time environment variables
Beta 1: October 31, 1996
Initial public release, under the name of Juice.
Tested under Solaris 2.5 using the SunPro C compiler.
index
| usage
| differences
| native code
| implementation
| porting
| releases
| installation
|| home
http://www.cs.arizona.edu/sumatra/toba/doc/releases.html (July, 1998)