[kaffe] CVS kaffe (robilad): cleaned up docs from GNU MP references

Kaffe CVS cvs-commits at kaffe.org
Sat Feb 2 08:19:41 PST 2008

PatchSet 7733 
Date: 2008/02/02 16:17:47
Author: robilad
Branch: HEAD
Tag: (none) 
cleaned up docs from GNU MP references

2008-02-02  Dalibor Topic  <robilad at kaffe.org>

* FAQ/FAQ.bignum: Removed.

* Makefile.am (EXTRA_DIST): Removed FAQ/FAQ.bignum.

* THIRDPARTY: Remove section on gmp.m4.

* FAQ/FAQ.requiredlibraries: Removed section on ESD, ALSA,
GNU MP, and libmd.

* FAQ/FAQ.ps2linux: Removed paragraph on GNU MP.


Index: kaffe/ChangeLog
diff -u kaffe/ChangeLog:1.5233 kaffe/ChangeLog:1.5234
--- kaffe/ChangeLog:1.5233	Sat Feb  2 16:05:46 2008
+++ kaffe/ChangeLog	Sat Feb  2 16:17:47 2008
@@ -1,5 +1,22 @@
 2008-02-02  Dalibor Topic  <robilad at kaffe.org>
+	* FAQ/FAQ.bignum: Removed.
+	* Makefile.am (EXTRA_DIST): Removed FAQ/FAQ.bignum.
+	* THIRDPARTY: Remove section on gmp.m4.
+	* FAQ/FAQ.requiredlibraries: Removed section on ESD, ALSA, 
+	GNU MP, and libmd.
+	* FAQ/FAQ.ps2linux: Removed paragraph on GNU MP.
+2008-02-02  Dalibor Topic  <robilad at kaffe.org>
+	* WHATSNEW, TODO: Updated for native big math purge.
+2008-02-02  Dalibor Topic  <robilad at kaffe.org>
 	Fix for build on arm-oabi-linux-ffi.
 	* kaffe/kaffevm/systems/unix-pthreads/thread-impl.c (__USE_GNU)
Index: kaffe/Makefile.am
diff -u kaffe/Makefile.am:1.150 kaffe/Makefile.am:1.151
--- kaffe/Makefile.am:1.150	Sat Jan 19 22:53:06 2008
+++ kaffe/Makefile.am	Sat Feb  2 16:17:48 2008
@@ -67,7 +67,6 @@
 	FAQ/FAQ.automake \
 	FAQ/FAQ.awt \
 	FAQ/FAQ.benchmarking \
-	FAQ/FAQ.bignum \
 	FAQ/FAQ.blackfin \
 	FAQ/FAQ.charsets \
 	FAQ/FAQ.class-states \
Index: kaffe/Makefile.in
diff -u kaffe/Makefile.in:1.313 kaffe/Makefile.in:1.314
--- kaffe/Makefile.in:1.313	Sat Feb  2 15:58:10 2008
+++ kaffe/Makefile.in	Sat Feb  2 16:17:48 2008
@@ -356,7 +356,6 @@
 	FAQ/FAQ.automake \
 	FAQ/FAQ.awt \
 	FAQ/FAQ.benchmarking \
-	FAQ/FAQ.bignum \
 	FAQ/FAQ.blackfin \
 	FAQ/FAQ.charsets \
 	FAQ/FAQ.class-states \
Index: kaffe/THIRDPARTY
diff -u kaffe/THIRDPARTY:1.60 kaffe/THIRDPARTY:1.61
--- kaffe/THIRDPARTY:1.60	Sun Jan  6 19:05:14 2008
+++ kaffe/THIRDPARTY	Sat Feb  2 16:17:48 2008
@@ -147,15 +147,6 @@
    agrees to be bound by the terms and conditions of this License
-* m4/gmp.m4
-This code has been taken from GNU m4. Kaffe is tracking this project's CVS. 
-The code is licensed under GNU General Public License v2 or later.
-See license.terms for the text of GNU General Public License v2. 
-More information on GNU m4 is available at http://www.gnu.org/software/m4/.
 * libraries/clib/native/VMRuntime.c, m4/classpath.m4.
   This file comes from CACAO. More information on CACAO is available from
Checking out kaffe/FAQ/FAQ.bignum
RCS:  /home/cvs/kaffe/kaffe/FAQ/Attic/FAQ.bignum,v
VERS: 1.1
--- kaffe/FAQ/FAQ.bignum	Sat Feb  2 16:19:38 2008
+++ /dev/null	Sun Aug  4 19:57:58 2002
@@ -1,43 +0,0 @@
-Using BigIntegers and BigDecimal on Kaffe
-Author: Dalibor Topic <robilad at kaffe.org>
-  Kaffe comes with two implementations of java.math package. The default one, 
-  from GNU Classpath, is written in Java. It is available on all platforms.
-  The other implementation uses GNU MP for the actual calculations on 
-  BigInteger. Using the very fast GNU MP library makes it much faster than the
-  default implementation.
-  When Kaffe's configure script detects the presence of GNU MP library, it 
-  automatically takes care of building kaffe with GNU MP support enabled.
-  Support for GNU MP can be explicitely turned off using the --without-gmp 
-  configure script option.
-  Kaffe uses the pure java implementation by default. If you want to use the 
-  fast java.math implementation, you need to run kaffe with the 
-  -Xnative-big-math option.
-  Running the NativeBigInteger benchmark from i2p [1] shows that kaffe on i686 
-  on GNU/Linux with jit3 and jthreads is about 4 times slower than JDK 1.4.2 
-  using the default, pure java implementation of java.math.
-  Using the native implementation, the tables turn, and kaffe is 5 times faster
-  than JDK 1.4.2.
-[1] I2P is available at http://www.i2p.net. The benchmark is in the net.i2p.util 
-    package.
Checking out kaffe/FAQ/FAQ.ps2linux
RCS:  /home/cvs/kaffe/kaffe/FAQ/FAQ.ps2linux,v
VERS: 1.3
--- /dev/null	Sun Aug  4 19:57:58 2002
+++ kaffe/FAQ/FAQ.ps2linux	Sat Feb  2 16:19:40 2008
@@ -0,0 +1,89 @@
+PS2 Linux Kaffe Building FAQ
+This document applies to kaffe-1.1.4 (and also contains hints 
+for building from CVS).
+FAQ.ps2linux Status
+Last updated 28-Jan-2005 by Patryk Laurent (patryk at pakl.net)
+Original document 18-dec-2002 Dylan Schell (dylans at xs4all.nl)
+Test Notes [not updated or confirmed on 28-Jan-2005]
+- kaffe in interpreter mode currently fails 5 regression tests related to 
+  IEEE compliancy. ( See Notes )
+- kaffe in jit3 mode currently fails a 27 regression tests since the
+  jit is emitting 64 bit floating point instructions that are not supported
+  on the PS2. ( see Notes )
+Building kaffe on the PS2
+1. Install jikes ( version 1.21 was tested ) on your PS2
+Compiling jikes will take some time on the PS2 but building the
+kaffe runtime library with the supplied compiler is a bit of a problem.
+Even if you get it to work, it is a lot slower than compiling jikes) 
+2. Untar kaffe.  Edit kaffe's libraries/javalib/rebuildLib.in 
+Add -target 1.2 to the VERBOSE variable to force jikes to generate
+class files compatible with kaffe.
+VERBOSE=-target 1.2 
+3. Run configure to enable jikes and select the interpreter engine:
+./configure --enable-pure-java-math --with-jikes --with-engine=intrp
+IF YOU ARE BUILDING FROM CVS, you probably should add --without-kaffe-qt-awt and --disable-native-awt (otherwise you will get gtk+-2.0 missing errors in the configure step.)
+January 22, 2005 From CVS:  ./configure --enable-pure-java-math --with-jikes --witth-engine=intrp --without-kaffe-qt-awt --disable-native-awt
+Or if you don't need double precision floating point support, you can
+build the jit3 version:
+./configure --with-jikes
+(Remember to run make clean if you change between interpreter and jit!)
+4. Compile/install in the regular fashion.
+sudo make install
+Notes about the PS2 Linux port
+The ps2 port is a work in progress, it works with the following limitations:
+1. Some IEEE constructs are not supported by the FPU: NaN/+Inf/-Inf/+0.0/-0.0
+If the PS2 kernel is ever updated to include a FPU emulator to add these missing constructs, then this port should pass all regression tests.
+(This goes for the interpreter as well as for the jit version)
+1. jit3 is functional but will cause problems when using double precision floating point operations. This is because the PS2 lacks a double precsion FPU. If, or when the linux kernel is updated with a FPU emulator (and a matching gcc is installed) to make up for this problem, the port will have to be updated ( the PS2 specific patches in config/mips/o32-sysdepCallMethod.h can go away ).
+To make sure interpreter bugs don't interfere with building kaffe on the PS2 use jikes to compile the class library/tests. Some versions of jikes generate incorrect class files or class files that are too new for kaffe to handle. Using jikes 1.13 seems to work OK.
+The PS2 also lacks the MIPS II "LL" and "SC" instructions. This means locking is somewhat slower. the MIPS II instructions are disabled in config/mips/common.h
+The PS2 register set is also different from basic mips processors. This means the FP_OFFSET is much larger ( general purpose registers are 128 bit wide for special multimedia/vector processing instructions )
+Note that the changes in o32-sysdepCallMethod.h pass 64 bit floats in a pair
+of general purpose registers. This is the convention gcc uses on the PS2 (
+This might be the default for all mips systems that lack these registers, I
+don't know...)
+Files with PS2 specific changes
+config/mips/o32-sysdepCallMethod.h ( work around lack of 64 bit FPU regs )
+config/mips/common.h ( set FP_OFFSET / disable MIPS II instructions )
+config/mips/linux/md.h ( FP_OFFSET=36 )
+Dylan Schell
+dylans at xs4all.nl
+Patryk Laurent
+patryk at pakl.net
Index: kaffe/FAQ/FAQ.requiredlibraries
diff -u kaffe/FAQ/FAQ.requiredlibraries:1.16 kaffe/FAQ/FAQ.requiredlibraries:1.17
--- kaffe/FAQ/FAQ.requiredlibraries:1.16	Sat Feb  2 15:38:23 2008
+++ kaffe/FAQ/FAQ.requiredlibraries	Sat Feb  2 16:17:49 2008
@@ -99,53 +99,6 @@
     Ditto for png images.  Available at
-Sound libraries
-You need at least one of these libraries if you want to use kaffe's
-Java Sound implementation, which has been merged in from the tritonus
-project. More information on sound support in kaffe is available in
-	The Advanced Linux Sound Architecture backend provides both
-	sampled sound and MIDI functionality. You need to have ALSA
-	installed first, which is available at:
-	http://www.alsa-project.org/
-	The Enlightened Sound Daemon provides sound playback
-	functionality on many Unix implementations. It is available
-	at:
-	http://www.tux.org/~ricdude/EsounD.html
-Mathematical libraries
-If you want to use arbitrary precision numbers provided by the
-java.math package, you can install these libraries. If kaffe can not
-find them, it will automatically use a pure java implementation from
-GNU Classpath.
-    libgmp is used in the native implementation of
-    java.math.BigInteger. It is available at:
-    http://www.swox.com/gmp/
-Cryptographical libraries
-If you want to use cryptographical hashing algorithms, you need to
-install these libraries.
-    This library is included with FreeBSD and may be included with
-    other operating systems. It supplies implementations of the MD2,
-    MD4, and MD5 hashing algorithms. If this library is not found by
-    configure, then SHA is the only hashing algorithm that will be
-    available. It can be found at:
-    http://www.penguin.cz/~mhi/libmd/
 Internationalization libraries

More information about the kaffe mailing list