summaryrefslogtreecommitdiffstats
path: root/libjava/classpath/native/jni/java-lang
diff options
context:
space:
mode:
Diffstat (limited to 'libjava/classpath/native/jni/java-lang')
-rw-r--r--libjava/classpath/native/jni/java-lang/Makefile.am2
-rw-r--r--libjava/classpath/native/jni/java-lang/Makefile.in14
-rw-r--r--libjava/classpath/native/jni/java-lang/java_lang_VMDouble.c22
-rw-r--r--libjava/classpath/native/jni/java-lang/java_lang_VMMath.c (renamed from libjava/classpath/native/jni/java-lang/java_lang_Math.c)100
4 files changed, 115 insertions, 23 deletions
diff --git a/libjava/classpath/native/jni/java-lang/Makefile.am b/libjava/classpath/native/jni/java-lang/Makefile.am
index fb8390f085c..db8a3a6a405 100644
--- a/libjava/classpath/native/jni/java-lang/Makefile.am
+++ b/libjava/classpath/native/jni/java-lang/Makefile.am
@@ -3,7 +3,7 @@ nativelib_LTLIBRARIES = libjavalang.la libjavalangreflect.la
libjavalang_la_SOURCES = java_lang_VMSystem.c \
java_lang_VMFloat.c \
java_lang_VMDouble.c \
- java_lang_Math.c \
+ java_lang_VMMath.c \
java_lang_VMProcess.c
libjavalang_la_LIBADD = $(wildcard $(top_builddir)/native/fdlibm/*.lo) \
diff --git a/libjava/classpath/native/jni/java-lang/Makefile.in b/libjava/classpath/native/jni/java-lang/Makefile.in
index aacb56fd64c..bc265619363 100644
--- a/libjava/classpath/native/jni/java-lang/Makefile.in
+++ b/libjava/classpath/native/jni/java-lang/Makefile.in
@@ -67,7 +67,8 @@ libjavalang_la_DEPENDENCIES = $(wildcard \
$(top_builddir)/native/fdlibm/*.lo) \
$(top_builddir)/native/jni/classpath/jcl.lo
am_libjavalang_la_OBJECTS = java_lang_VMSystem.lo java_lang_VMFloat.lo \
- java_lang_VMDouble.lo java_lang_Math.lo java_lang_VMProcess.lo
+ java_lang_VMDouble.lo java_lang_VMMath.lo \
+ java_lang_VMProcess.lo
libjavalang_la_OBJECTS = $(am_libjavalang_la_OBJECTS)
libjavalangreflect_la_LIBADD =
am_libjavalangreflect_la_OBJECTS = java_lang_reflect_Array.lo
@@ -106,6 +107,7 @@ CCDEPMODE = @CCDEPMODE@
CFLAGS = @CFLAGS@
CLASSPATH_INCLUDES = @CLASSPATH_INCLUDES@
CLASSPATH_MODULE = @CLASSPATH_MODULE@
+COLLECTIONS_PREFIX = @COLLECTIONS_PREFIX@
CP = @CP@
CPP = @CPP@
CPPFLAGS = @CPPFLAGS@
@@ -113,6 +115,8 @@ CREATE_ALSA_LIBRARIES_FALSE = @CREATE_ALSA_LIBRARIES_FALSE@
CREATE_ALSA_LIBRARIES_TRUE = @CREATE_ALSA_LIBRARIES_TRUE@
CREATE_API_DOCS_FALSE = @CREATE_API_DOCS_FALSE@
CREATE_API_DOCS_TRUE = @CREATE_API_DOCS_TRUE@
+CREATE_COLLECTIONS_FALSE = @CREATE_COLLECTIONS_FALSE@
+CREATE_COLLECTIONS_TRUE = @CREATE_COLLECTIONS_TRUE@
CREATE_CORE_JNI_LIBRARIES_FALSE = @CREATE_CORE_JNI_LIBRARIES_FALSE@
CREATE_CORE_JNI_LIBRARIES_TRUE = @CREATE_CORE_JNI_LIBRARIES_TRUE@
CREATE_DSSI_LIBRARIES_FALSE = @CREATE_DSSI_LIBRARIES_FALSE@
@@ -143,6 +147,7 @@ EGREP = @EGREP@
ERROR_CFLAGS = @ERROR_CFLAGS@
EXAMPLESDIR = @EXAMPLESDIR@
EXEEXT = @EXEEXT@
+FASTJAR = @FASTJAR@
FIND = @FIND@
FOUND_ECJ_FALSE = @FOUND_ECJ_FALSE@
FOUND_ECJ_TRUE = @FOUND_ECJ_TRUE@
@@ -154,6 +159,8 @@ FOUND_JIKES_FALSE = @FOUND_JIKES_FALSE@
FOUND_JIKES_TRUE = @FOUND_JIKES_TRUE@
FOUND_KJC_FALSE = @FOUND_KJC_FALSE@
FOUND_KJC_TRUE = @FOUND_KJC_TRUE@
+FREETYPE2_CFLAGS = @FREETYPE2_CFLAGS@
+FREETYPE2_LIBS = @FREETYPE2_LIBS@
GCJ = @GCJ@
GCJX = @GCJX@
GJDOC = @GJDOC@
@@ -204,6 +211,7 @@ PACKAGE_VERSION = @PACKAGE_VERSION@
PANGOFT2_CFLAGS = @PANGOFT2_CFLAGS@
PANGOFT2_LIBS = @PANGOFT2_LIBS@
PATH_SEPARATOR = @PATH_SEPARATOR@
+PERL = @PERL@
PKG_CONFIG = @PKG_CONFIG@
QT_CFLAGS = @QT_CFLAGS@
QT_LIBS = @QT_LIBS@
@@ -285,7 +293,7 @@ nativelib_LTLIBRARIES = libjavalang.la libjavalangreflect.la
libjavalang_la_SOURCES = java_lang_VMSystem.c \
java_lang_VMFloat.c \
java_lang_VMDouble.c \
- java_lang_Math.c \
+ java_lang_VMMath.c \
java_lang_VMProcess.c
libjavalang_la_LIBADD = $(wildcard $(top_builddir)/native/fdlibm/*.lo) \
@@ -366,9 +374,9 @@ mostlyclean-compile:
distclean-compile:
-rm -f *.tab.c
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/java_lang_Math.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/java_lang_VMDouble.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/java_lang_VMFloat.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/java_lang_VMMath.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/java_lang_VMProcess.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/java_lang_VMSystem.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/java_lang_reflect_Array.Plo@am__quote@
diff --git a/libjava/classpath/native/jni/java-lang/java_lang_VMDouble.c b/libjava/classpath/native/jni/java-lang/java_lang_VMDouble.c
index 076f42b86a3..8435c3fdba7 100644
--- a/libjava/classpath/native/jni/java-lang/java_lang_VMDouble.c
+++ b/libjava/classpath/native/jni/java-lang/java_lang_VMDouble.c
@@ -1,5 +1,5 @@
/* VMDouble.c - java.lang.VMDouble native functions
- Copyright (C) 1998, 1999, 2001, 2003, 2004i, 2005
+ Copyright (C) 1998, 1999, 2001, 2003, 2004, 2005, 2006
Free Software Foundation, Inc.
This file is part of GNU Classpath.
@@ -123,6 +123,16 @@ Java_java_lang_VMDouble_doubleToLongBits
jlong e, f;
val.d = doubleValue;
+#if defined(__IEEE_BYTES_LITTLE_ENDIAN)
+ /* On little endian ARM processors when using FPA, word order of
+ doubles is still big endian. So take that into account here. When
+ using VFP, word order of doubles follows byte order. */
+
+#define SWAP_DOUBLE(a) (((a) << 32) | (((a) >> 32) & 0x00000000ffffffff))
+
+ val.j = SWAP_DOUBLE(val.j);
+#endif
+
e = val.j & 0x7ff0000000000000LL;
f = val.j & 0x000fffffffffffffLL;
@@ -144,6 +154,11 @@ Java_java_lang_VMDouble_doubleToRawLongBits
{
jvalue val;
val.d = doubleValue;
+
+#if defined(__IEEE_BYTES_LITTLE_ENDIAN)
+ val.j = SWAP_DOUBLE(val.j);
+#endif
+
return val.j;
}
@@ -159,6 +174,11 @@ Java_java_lang_VMDouble_longBitsToDouble
{
jvalue val;
val.j = longValue;
+
+#if defined(__IEEE_BYTES_LITTLE_ENDIAN)
+ val.j = SWAP_DOUBLE(val.j);
+#endif
+
return val.d;
}
diff --git a/libjava/classpath/native/jni/java-lang/java_lang_Math.c b/libjava/classpath/native/jni/java-lang/java_lang_VMMath.c
index b4b88a77537..de7851f9bbc 100644
--- a/libjava/classpath/native/jni/java-lang/java_lang_Math.c
+++ b/libjava/classpath/native/jni/java-lang/java_lang_VMMath.c
@@ -1,5 +1,5 @@
-/* Math.c - java.lang.Math native functions
- Copyright (C) 1998, 1999, 2004 Free Software Foundation, Inc.
+/* VMMath.c - java.lang.VMMath native functions
+ Copyright (C) 1998, 1999, 2004, 2006 Free Software Foundation, Inc.
This file is part of GNU Classpath.
@@ -37,11 +37,11 @@ exception statement from your version. */
#include <config.h>
-#include <java_lang_Math.h>
+#include <java_lang_VMMath.h>
#include <fdlibm.h>
JNIEXPORT jdouble JNICALL
-Java_java_lang_Math_sin
+Java_java_lang_VMMath_sin
(JNIEnv * env __attribute__ ((__unused__)),
jclass cls __attribute__ ((__unused__)), jdouble x)
{
@@ -49,7 +49,7 @@ Java_java_lang_Math_sin
}
JNIEXPORT jdouble JNICALL
-Java_java_lang_Math_cos
+Java_java_lang_VMMath_cos
(JNIEnv * env __attribute__ ((__unused__)),
jclass cls __attribute__ ((__unused__)), jdouble x)
{
@@ -57,7 +57,7 @@ Java_java_lang_Math_cos
}
JNIEXPORT jdouble JNICALL
-Java_java_lang_Math_tan
+Java_java_lang_VMMath_tan
(JNIEnv * env __attribute__ ((__unused__)),
jclass cls __attribute__ ((__unused__)), jdouble x)
{
@@ -65,7 +65,7 @@ Java_java_lang_Math_tan
}
JNIEXPORT jdouble JNICALL
-Java_java_lang_Math_asin
+Java_java_lang_VMMath_asin
(JNIEnv * env __attribute__ ((__unused__)),
jclass cls __attribute__ ((__unused__)), jdouble x)
{
@@ -73,7 +73,7 @@ Java_java_lang_Math_asin
}
JNIEXPORT jdouble JNICALL
-Java_java_lang_Math_acos
+Java_java_lang_VMMath_acos
(JNIEnv * env __attribute__ ((__unused__)),
jclass cls __attribute__ ((__unused__)), jdouble x)
{
@@ -81,7 +81,7 @@ Java_java_lang_Math_acos
}
JNIEXPORT jdouble JNICALL
-Java_java_lang_Math_atan
+Java_java_lang_VMMath_atan
(JNIEnv * env __attribute__ ((__unused__)),
jclass cls __attribute__ ((__unused__)), jdouble x)
{
@@ -89,7 +89,7 @@ Java_java_lang_Math_atan
}
JNIEXPORT jdouble JNICALL
-Java_java_lang_Math_atan2
+Java_java_lang_VMMath_atan2
(JNIEnv * env __attribute__ ((__unused__)),
jclass cls __attribute__ ((__unused__)), jdouble y, jdouble x)
{
@@ -97,7 +97,7 @@ Java_java_lang_Math_atan2
}
JNIEXPORT jdouble JNICALL
-Java_java_lang_Math_exp
+Java_java_lang_VMMath_exp
(JNIEnv * env __attribute__ ((__unused__)),
jclass cls __attribute__ ((__unused__)), jdouble x)
{
@@ -105,7 +105,7 @@ Java_java_lang_Math_exp
}
JNIEXPORT jdouble JNICALL
-Java_java_lang_Math_log
+Java_java_lang_VMMath_log
(JNIEnv * env __attribute__ ((__unused__)),
jclass cls __attribute__ ((__unused__)), jdouble x)
{
@@ -113,7 +113,7 @@ Java_java_lang_Math_log
}
JNIEXPORT jdouble JNICALL
-Java_java_lang_Math_sqrt
+Java_java_lang_VMMath_sqrt
(JNIEnv * env __attribute__ ((__unused__)),
jclass cls __attribute__ ((__unused__)), jdouble x)
{
@@ -121,7 +121,7 @@ Java_java_lang_Math_sqrt
}
JNIEXPORT jdouble JNICALL
-Java_java_lang_Math_pow
+Java_java_lang_VMMath_pow
(JNIEnv * env __attribute__ ((__unused__)),
jclass cls __attribute__ ((__unused__)), jdouble x, jdouble y)
{
@@ -129,7 +129,7 @@ Java_java_lang_Math_pow
}
JNIEXPORT jdouble JNICALL
-Java_java_lang_Math_IEEEremainder
+Java_java_lang_VMMath_IEEEremainder
(JNIEnv * env __attribute__ ((__unused__)),
jclass cls __attribute__ ((__unused__)), jdouble x, jdouble y)
{
@@ -137,7 +137,7 @@ Java_java_lang_Math_IEEEremainder
}
JNIEXPORT jdouble JNICALL
-Java_java_lang_Math_ceil
+Java_java_lang_VMMath_ceil
(JNIEnv * env __attribute__ ((__unused__)),
jclass cls __attribute__ ((__unused__)), jdouble x)
{
@@ -145,7 +145,7 @@ Java_java_lang_Math_ceil
}
JNIEXPORT jdouble JNICALL
-Java_java_lang_Math_floor
+Java_java_lang_VMMath_floor
(JNIEnv * env __attribute__ ((__unused__)),
jclass cls __attribute__ ((__unused__)), jdouble x)
{
@@ -153,9 +153,73 @@ Java_java_lang_Math_floor
}
JNIEXPORT jdouble JNICALL
-Java_java_lang_Math_rint
+Java_java_lang_VMMath_rint
(JNIEnv * env __attribute__ ((__unused__)),
jclass cls __attribute__ ((__unused__)), jdouble x)
{
return rint (x);
}
+
+JNIEXPORT jdouble JNICALL
+Java_java_lang_VMMath_cbrt
+ (JNIEnv * env __attribute__ ((__unused__)),
+ jclass cls __attribute__ ((__unused__)), jdouble x)
+{
+ return cbrt (x);
+}
+
+JNIEXPORT jdouble JNICALL
+Java_java_lang_VMMath_cosh
+ (JNIEnv * env __attribute__ ((__unused__)),
+ jclass cls __attribute__ ((__unused__)), jdouble x)
+{
+ return cosh (x);
+}
+
+JNIEXPORT jdouble JNICALL
+Java_java_lang_VMMath_expm1
+ (JNIEnv * env __attribute__ ((__unused__)),
+ jclass cls __attribute__ ((__unused__)), jdouble x)
+{
+ return expm1 (x);
+}
+
+JNIEXPORT jdouble JNICALL
+Java_java_lang_VMMath_hypot
+ (JNIEnv * env __attribute__ ((__unused__)),
+ jclass cls __attribute__ ((__unused__)), jdouble x, jdouble y)
+{
+ return hypot (x, y);
+}
+
+JNIEXPORT jdouble JNICALL
+Java_java_lang_VMMath_log10
+ (JNIEnv * env __attribute__ ((__unused__)),
+ jclass cls __attribute__ ((__unused__)), jdouble x)
+{
+ return log10 (x);
+}
+
+JNIEXPORT jdouble JNICALL
+Java_java_lang_VMMath_log1p
+ (JNIEnv * env __attribute__ ((__unused__)),
+ jclass cls __attribute__ ((__unused__)), jdouble x)
+{
+ return log1p (x);
+}
+
+JNIEXPORT jdouble JNICALL
+Java_java_lang_VMMath_sinh
+ (JNIEnv * env __attribute__ ((__unused__)),
+ jclass cls __attribute__ ((__unused__)), jdouble x)
+{
+ return sinh (x);
+}
+
+JNIEXPORT jdouble JNICALL
+Java_java_lang_VMMath_tanh
+ (JNIEnv * env __attribute__ ((__unused__)),
+ jclass cls __attribute__ ((__unused__)), jdouble x)
+{
+ return tanh (x);
+}
OpenPOWER on IntegriCloud