From 18abd56d4024c7db24126eb2664e7378592c967a Mon Sep 17 00:00:00 2001 From: John Leuner Date: Wed, 18 Dec 2002 14:09:45 +0000 Subject: * java/lang/System.java: delegated native calls to VMSystem added three new calls VMSystem.makeStandardxxxStream * vm/reference/java/lang/VMSystem.java: added 3 methods for default implementation of makeStandardxxxStream * native/jni/java-lang/Makefile.am (libjavalang_la_SOURCES): changed System to VMSystem * native/jni/java-lang/java_lang_VMSystem.c: Added this file (copied from System.c) * native/jni/java-lang/java_lang_System.c: Deleted this file * include/java_lang_VMSystem.h: Added this file * include/java_lang_System.h: Deleted this file --- native/jni/java-lang/Makefile.am | 2 +- native/jni/java-lang/java_lang_System.c | 115 ------------------------------ native/jni/java-lang/java_lang_VMSystem.c | 115 ++++++++++++++++++++++++++++++ 3 files changed, 116 insertions(+), 116 deletions(-) delete mode 100644 native/jni/java-lang/java_lang_System.c create mode 100644 native/jni/java-lang/java_lang_VMSystem.c (limited to 'native/jni/java-lang') diff --git a/native/jni/java-lang/Makefile.am b/native/jni/java-lang/Makefile.am index d4e7bf8f9..60b3672bc 100644 --- a/native/jni/java-lang/Makefile.am +++ b/native/jni/java-lang/Makefile.am @@ -1,6 +1,6 @@ pkglib_LTLIBRARIES = libjavalang.la libjavalangreflect.la -libjavalang_la_SOURCES = java_lang_System.c \ +libjavalang_la_SOURCES = java_lang_VMSystem.c \ java_lang_Object.c \ java_lang_Float.c \ java_lang_Double.c \ diff --git a/native/jni/java-lang/java_lang_System.c b/native/jni/java-lang/java_lang_System.c deleted file mode 100644 index d44ddcc36..000000000 --- a/native/jni/java-lang/java_lang_System.c +++ /dev/null @@ -1,115 +0,0 @@ -/* System.c -- native code for java.lang.System - Copyright (C) 1998, 1999, 2000, 2002 Free Software Foundation, Inc. - -This file is part of GNU Classpath. - -GNU Classpath is free software; you can redistribute it and/or modify -it under the terms of the GNU General Public License as published by -the Free Software Foundation; either version 2, or (at your option) -any later version. - -GNU Classpath is distributed in the hope that it will be useful, but -WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -General Public License for more details. - -You should have received a copy of the GNU General Public License -along with GNU Classpath; see the file COPYING. If not, write to the -Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA -02111-1307 USA. - -Linking this library statically or dynamically with other modules is -making a combined work based on this library. Thus, the terms and -conditions of the GNU General Public License cover the whole -combination. - -As a special exception, the copyright holders of this library give you -permission to link this library with independent modules to produce an -executable, regardless of the license terms of these independent -modules, and to copy and distribute the resulting executable under -terms of your choice, provided that you also meet, for each linked -independent module, the terms and conditions of the license of that -module. An independent module is a module which is not derived from -or based on this library. If you modify this library, you may extend -this exception to your version of the library, but you are not -obligated to do so. If you do not wish to do so, delete this -exception statement from your version. */ - -#include "java_lang_System.h" -#include -#include - -/* - * Class: java_lang_System - * Method: setIn0 - * Signature: (Ljava/io/InputStream;)V - */ -JNIEXPORT void JNICALL -Java_java_lang_System_setIn0 (JNIEnv * env, jclass thisClass, jobject in) -{ - jfieldID inField = (*env)->GetStaticFieldID(env, thisClass, "in", - "Ljava/io/InputStream;"); - (*env)->SetStaticObjectField(env, thisClass, inField, in); -} - -/* - * Class: java_lang_System - * Method: setOut0 - * Signature: (Ljava/io/PrintStream;)V - */ -JNIEXPORT void JNICALL -Java_java_lang_System_setOut0 (JNIEnv * env, jclass thisClass, jobject out) -{ - jfieldID outField = (*env)->GetStaticFieldID(env, thisClass, "out", - "Ljava/io/PrintStream;"); - (*env)->SetStaticObjectField(env, thisClass, outField, out); -} - -/* - * Class: java_lang_System - * Method: setErr0 - * Signature: (Ljava/io/PrintStream;)V - */ -JNIEXPORT void JNICALL -Java_java_lang_System_setErr0 (JNIEnv * env, jclass thisClass, jobject err) -{ - jfieldID errField = (*env)->GetStaticFieldID(env, thisClass, "err", - "Ljava/io/PrintStream;"); - (*env)->SetStaticObjectField(env, thisClass, errField, err); -} - -/* - * Class: java_lang_System - * Method: currentTimeMillis - * Signature: ()J - */ -JNIEXPORT jlong JNICALL -Java_java_lang_System_currentTimeMillis (JNIEnv * env, jclass thisClass) -{ - /* Note: this implementation copied directly from Japhar's, by Chris Toshok. */ - jlong result; - struct timeval tp; - - if (gettimeofday(&tp, NULL) == -1) - (*env)->FatalError(env, "gettimeofday call failed."); - - result = (jlong)tp.tv_sec; - result *= 1000; - result += (tp.tv_usec / 1000); - - return result; -} - -JNIEXPORT jboolean JNICALL -Java_java_lang_System_isWordsBigEndian (JNIEnv *env, jclass clazz) -{ - /* Are we little or big endian? From Harbison&Steele. */ - union - { - long l; - char c[sizeof (long)]; - } u; - - u.l = 1; - return (u.c[sizeof (long) - 1] == 1); -} diff --git a/native/jni/java-lang/java_lang_VMSystem.c b/native/jni/java-lang/java_lang_VMSystem.c new file mode 100644 index 000000000..9ab82af67 --- /dev/null +++ b/native/jni/java-lang/java_lang_VMSystem.c @@ -0,0 +1,115 @@ +/* System.c -- native code for java.lang.System + Copyright (C) 1998, 1999, 2000, 2002 Free Software Foundation, Inc. + +This file is part of GNU Classpath. + +GNU Classpath is free software; you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation; either version 2, or (at your option) +any later version. + +GNU Classpath is distributed in the hope that it will be useful, but +WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +General Public License for more details. + +You should have received a copy of the GNU General Public License +along with GNU Classpath; see the file COPYING. If not, write to the +Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA +02111-1307 USA. + +Linking this library statically or dynamically with other modules is +making a combined work based on this library. Thus, the terms and +conditions of the GNU General Public License cover the whole +combination. + +As a special exception, the copyright holders of this library give you +permission to link this library with independent modules to produce an +executable, regardless of the license terms of these independent +modules, and to copy and distribute the resulting executable under +terms of your choice, provided that you also meet, for each linked +independent module, the terms and conditions of the license of that +module. An independent module is a module which is not derived from +or based on this library. If you modify this library, you may extend +this exception to your version of the library, but you are not +obligated to do so. If you do not wish to do so, delete this +exception statement from your version. */ + +#include "java_lang_VMSystem.h" +#include +#include + +/* + * Class: java_lang_VMSystem + * Method: setIn0 + * Signature: (Ljava/io/InputStream;)V + */ +JNIEXPORT void JNICALL +Java_java_lang_VMSystem_setIn0 (JNIEnv * env, jclass thisClass, jobject in) +{ + jfieldID inField = (*env)->GetStaticFieldID(env, thisClass, "in", + "Ljava/io/InputStream;"); + (*env)->SetStaticObjectField(env, thisClass, inField, in); +} + +/* + * Class: java_lang_VMSystem + * Method: setOut0 + * Signature: (Ljava/io/PrintStream;)V + */ +JNIEXPORT void JNICALL +Java_java_lang_VMSystem_setOut0 (JNIEnv * env, jclass thisClass, jobject out) +{ + jfieldID outField = (*env)->GetStaticFieldID(env, thisClass, "out", + "Ljava/io/PrintStream;"); + (*env)->SetStaticObjectField(env, thisClass, outField, out); +} + +/* + * Class: java_lang_VMSystem + * Method: setErr0 + * Signature: (Ljava/io/PrintStream;)V + */ +JNIEXPORT void JNICALL +Java_java_lang_VMSystem_setErr0 (JNIEnv * env, jclass thisClass, jobject err) +{ + jfieldID errField = (*env)->GetStaticFieldID(env, thisClass, "err", + "Ljava/io/PrintStream;"); + (*env)->SetStaticObjectField(env, thisClass, errField, err); +} + +/* + * Class: java_lang_VMSystem + * Method: currentTimeMillis + * Signature: ()J + */ +JNIEXPORT jlong JNICALL +Java_java_lang_VMSystem_currentTimeMillis (JNIEnv * env, jclass thisClass) +{ + /* Note: this implementation copied directly from Japhar's, by Chris Toshok. */ + jlong result; + struct timeval tp; + + if (gettimeofday(&tp, NULL) == -1) + (*env)->FatalError(env, "gettimeofday call failed."); + + result = (jlong)tp.tv_sec; + result *= 1000; + result += (tp.tv_usec / 1000); + + return result; +} + +JNIEXPORT jboolean JNICALL +Java_java_lang_VMSystem_isWordsBigEndian (JNIEnv *env, jclass clazz) +{ + /* Are we little or big endian? From Harbison&Steele. */ + union + { + long l; + char c[sizeof (long)]; + } u; + + u.l = 1; + return (u.c[sizeof (long) - 1] == 1); +} -- cgit v1.2.1