* jni.cc (array_from_valist): Use promoted types for va_arg.

From-SVN: r45650
This commit is contained in:
Andreas Jaeger 2001-09-17 07:08:10 +02:00
parent 214bcb99a1
commit 63dc70a159
2 changed files with 62 additions and 58 deletions

View File

@ -1,3 +1,7 @@
2001-09-17 Andreas Jaeger <aj@suse.de>
* jni.cc (array_from_valist): Use promoted types for va_arg.
2001-09-16 Anthony Green <green@redhat.com>
* gnu/gcj/convert/IOConverter.java: Add support for iso8859_1.
@ -12,10 +16,10 @@
2001-09-14 Bryce McKinlay <bryce@waitaki.otago.ac.nz>
* java/io/File.java (normalizePath): Use equals() not '==' for string
* java/io/File.java (normalizePath): Use equals() not '==' for string
comparison.
* java/util/Hashtable.java (Enumerator): Ensure that if
* java/util/Hashtable.java (Enumerator): Ensure that if
hasMoreElements() returns true, nextElement() will always return
something even if the table has been modified.
@ -103,7 +107,7 @@
2001-09-05 Bryce McKinlay <bryce@waitaki.otago.ac.nz>
* java/text/MessageFormat.java (setLocale): Don't catch ParseException
* java/text/MessageFormat.java (setLocale): Don't catch ParseException
here, DecimalFormat.applyPattern() does not throw it.
2001-09-04 Tom Tromey <tromey@redhat.com>
@ -344,7 +348,7 @@
Re-write it to avoid constructing unneeded temporaries.
(<init>(int,int,Random)): Use new init method to avoid constructing
extra temporary BigIntegers.
2001-08-27 Tom Tromey <tromey@redhat.com>
* java/rmi/activation/Activatable.java,
@ -452,11 +456,11 @@
* gcj/javaprims.h: Add prototypes for _Jv_ThreadRun and new variant
of _Jv_AttachCurrentThread.
* gnu/gcj/runtime/FirstThread.java (FirstThread): Now extends Thread.
(run): New method. Take care of looking up main class manifest
(run): New method. Take care of looking up main class manifest
attribute and calling forName if neccessary. Then call call_main.
(call_main): New native method.
* gnu/gcj/runtime/natFirstThread.cc (call_main): New function, code
relocated from prims.cc. Look up and call main method.
* gnu/gcj/runtime/natFirstThread.cc (call_main): New function, code
relocated from prims.cc. Look up and call main method.
* java/lang/Thread.java (run_): Removed.
* java/lang/natThread.cc (run_): Renamed to...
(_Jv_ThreadRun): this. JVMPI notification code moved to ...
@ -465,7 +469,7 @@
UnsupportedOperationExceptions rather than JvFail'ing.
(_Jv_AttachCurrentThread): New variant takes a Thread argument.
Existing version wraps new variant.
2001-08-23 Tom Tromey <tromey@redhat.com>
@ -535,7 +539,7 @@
2001-08-17 Hans-J. Boehm <Hans_Boehm@hp.com>
* BigInteger.java: fix right shifts by nonzero multiples of 32.
2001-08-15 Tom Tromey <tromey@redhat.com>
* jni.cc: Include IdentityHashMap.h, not Hashtable.h.
@ -612,11 +616,11 @@
* include/posix.h (_POSIX_PII_SOCKET): Define.
* configure.in (HAVE_SOCKLEN_T): Define.
* java/net/natPlainSocketImpl.cc [!HAVE_SOCKLEN_T]: Move socklen_t
definition up.
definition up.
(_JV_accept): New function, avoids Tru64 UNIX accept macro.
(java::net::PlainSocketImpl::accept): Use it.
Fixes PRs libgcj/3694, libgcj/3696.
* configure.in (HAVE_STRUCT_IPV6_MREQ): New test.
* acconfig.h (HAVE_STRUCT_IPV6_MREQ): Provide template.
* configure, include/config.h.in: Regenerate.
@ -689,14 +693,14 @@
2001-07-26 Bryce McKinlay <bryce@waitaki.otago.ac.nz>
* java/util/Calendar.java (set): Never recompute fields here. They
* java/util/Calendar.java (set): Never recompute fields here. They
will already be set if someone set time explicitly, and it can cause
problems to do so. Don't invalidate AM_PM setting if HOUR is set.
* java/util/GregorianCalendar.java (computeTime): Don't ignore an
HOUR setting if AM_PM is set. Don't try to ensure the HOUR value is
HOUR setting if AM_PM is set. Don't try to ensure the HOUR value is
sane.
* java/text/SimpleDateFormat.java (defaultCentury): New field.
(readObject): Call set2DigitYearStart if appropriate so that
(readObject): Call set2DigitYearStart if appropriate so that
defaultCentury is calculated.
(SimpleDateFormat): Don't bother clearing calendar here. Call
computeCenturyStart().
@ -777,7 +781,7 @@
2001-07-17 Bryce McKinlay <bryce@waitaki.otago.ac.nz>
* java/util/LinkedList.java (clone): Clear the copy list with clear(),
* java/util/LinkedList.java (clone): Clear the copy list with clear(),
not by setting its size field.
2001-07-13 Alexandre Petit-Bianco <apbianco@redhat.com>
@ -787,7 +791,7 @@
2001-07-12 Tom Tromey <tromey@redhat.com>
David Brownell <david-b@pacbell.net>
Fix for PR libgcj/3426:
* gnu/gcj/convert/natIconv.cc: Include CharConversionException.h,
errno.h.
@ -853,7 +857,7 @@
* java/lang/ThreadLocal.java: Initial import.
2001-07-07 Jeff Sturm <jsturm@one-point.com>
* Makefile.am (libgcj.jar): Don't recursively make
built_java_source_files. Avoid long command lines.
Don't change to $(srcdir) to invoke javac.
@ -1024,7 +1028,7 @@
* Makefile.in: Rebuild.
* Makefile.am: Ditto.
* libgcjdata.c: Remove.
2001-06-02 Anthony Green <green@redhat.com>
* configure: Rebuild.
@ -1239,7 +1243,7 @@
* Makefile.am (libgcj_la_DEPENDENCIES): Add $(nat_files).
(libgcj_la_LIBADD): Likewise.
(libgcjx_la_DEPENDENCIES, libgcjx_la_LIBADD): Add $(x_nat_files).
2001-05-21 Per Bothner <per@bothner.com>
* gcj/javaprims.h (_Jv_FormatInt): New declaration.
@ -1259,7 +1263,7 @@
2001-05-18 Andrew Haley <aph@cambridge.redhat.com>
* include/dwarf2-signal.h: New file.
* include/dwarf2-signal.h: New file.
* configure.in (SYSDEP_SOURCES): Add dwarf2-signal.h for PPC.
* configure.host (EXCEPTIONSPEC): Don't use sjlj on PPC.
* configure: Rebuilt.
@ -1293,7 +1297,7 @@
2001-05-17 Martin Kahlert <martin.kahlert@infineon.com>
* java/lang/natClass.cc (_Jv_FindIIndex): Fix an off by one error
* java/lang/natClass.cc (_Jv_FindIIndex): Fix an off by one error
with length of ioffset table.
(_Jv_IsAssignableFrom): Likewise.
@ -1436,15 +1440,15 @@
2001-04-25 Bryce McKinlay <bryce@waitaki.otago.ac.nz>
Fix PR libgcj/2237:
* java/io/ObjectStreamClass.java (setClass): Calculate
* java/io/ObjectStreamClass.java (setClass): Calculate
serialVersionUID for local class and compare it against the UID
from the Object Stream. Throw InvalidClassException upon mismatch.
(setUID): Renamed to...
(getClassUID): this. Return the calculated class UID rather than
(getClassUID): this. Return the calculated class UID rather than
setting uid field directly.
(getDefinedSUID): Removed.
* java/io/ObjectInputStream.java (resolveClass): Use the
three-argument Class.forName().
* java/io/ObjectInputStream.java (resolveClass): Use the
three-argument Class.forName().
* java/io/InvalidClassException (toString): Don't include classname in
result if it is null.
@ -1457,9 +1461,9 @@
java.security merge and ClassLoader compliance fixes.
* java/lang/Class.h (Class): Include ProtectionDomain.h.
* java/lang/Class.h (Class): Include ProtectionDomain.h.
New protectionDomain field.
(forName): Add initialize parameter. Fixes declaration to comply with
(forName): Add initialize parameter. Fixes declaration to comply with
JDK spec.
* java/lang/natClass.cc (forName): Correct declaration of the three-arg
variant. Honour "initialize" flag.
@ -1501,7 +1505,7 @@
* java/net/NetPermission.java: Likewise.
* java/net/SocketPermission.java: Likewise.
* gnu/java/security/provider/DefaultPolicy.java: Likewise.
* Makefile.am: Add new classes.
* Makefile.in: Rebuilt.
* gcj/javaprims.h: CNI namespace rebuild.
@ -1581,12 +1585,12 @@
2001-04-12 Bryce McKinlay <bryce@albatross.co.nz>
* java/io/File.java (normalizePath): New private method.
* java/io/File.java (normalizePath): New private method.
(File (String)): Use normalizePath().
(File (String, String)): Likewise.
* Makefile.am (libffi_files): Removed.
(libgcj.la): Link libffi as a convenience library instead of
(libgcj.la): Link libffi as a convenience library instead of
refering to its object files directly.
* Makefile.in: Rebuilt.
@ -3254,20 +3258,20 @@ Sun Nov 26 21:30:25 2000 Anthony Green <green@redhat.com>
2000-11-26 Anthony Green <green@redhat.com>
* javax/naming/spi/NamingManager.java,
javax/naming/spi/ObjectFactory.java,
javax/naming/spi/InitialContextFactory.java,
javax/naming/spi/InitialContextFactoryBuilder.java,
javax/naming/RefAddr.java, javax/naming/Reference.java,
javax/naming/NamingException.java, javax/naming/Context.java,
javax/naming/Referenceable.java,
javax/naming/directory/InitialDirContext.java,
javax/naming/directory/DirContext.java,
javax/naming/directory/Attributes.java,
javax/naming/directory/Attribute.java,
javax/naming/StringRefAddr.java,
javax/naming/NamingEnumeration.java, javax/naming/Name.java,
javax/naming/InitialContext.java,
javax/naming/NoInitialContextException.java: New files.
javax/naming/spi/ObjectFactory.java,
javax/naming/spi/InitialContextFactory.java,
javax/naming/spi/InitialContextFactoryBuilder.java,
javax/naming/RefAddr.java, javax/naming/Reference.java,
javax/naming/NamingException.java, javax/naming/Context.java,
javax/naming/Referenceable.java,
javax/naming/directory/InitialDirContext.java,
javax/naming/directory/DirContext.java,
javax/naming/directory/Attributes.java,
javax/naming/directory/Attribute.java,
javax/naming/StringRefAddr.java,
javax/naming/NamingEnumeration.java, javax/naming/Name.java,
javax/naming/InitialContext.java,
javax/naming/NoInitialContextException.java: New files.
2000-11-25 Anthony Green <green@redhat.com>

View File

@ -110,19 +110,19 @@ jvmpiEnableEvent (jint event_type, void *)
case JVMPI_EVENT_OBJECT_ALLOC:
_Jv_JVMPI_Notify_OBJECT_ALLOC = _Jv_JVMPI_Interface.NotifyEvent;
break;
case JVMPI_EVENT_THREAD_START:
_Jv_JVMPI_Notify_THREAD_START = _Jv_JVMPI_Interface.NotifyEvent;
break;
case JVMPI_EVENT_THREAD_END:
_Jv_JVMPI_Notify_THREAD_END = _Jv_JVMPI_Interface.NotifyEvent;
break;
default:
return JVMPI_NOT_AVAILABLE;
}
return JVMPI_SUCCESS;
}
@ -134,11 +134,11 @@ jvmpiDisableEvent (jint event_type, void *)
case JVMPI_EVENT_OBJECT_ALLOC:
_Jv_JVMPI_Notify_OBJECT_ALLOC = NULL;
break;
default:
return JVMPI_NOT_AVAILABLE;
}
return JVMPI_SUCCESS;
}
#endif
@ -317,7 +317,7 @@ _Jv_JNI_PopLocalFrame (JNIEnv *env, jobject result, int stop)
bool done = false;
while (rf != NULL && ! done)
{
{
for (int i = 0; i < rf->size; ++i)
if (rf->vec[i] != NULL)
unmark_for_gc (rf->vec[i], local_ref_table);
@ -396,7 +396,7 @@ _Jv_JNI_GetVersion (JNIEnv *)
}
static jclass
_Jv_JNI_DefineClass (JNIEnv *env, jobject loader,
_Jv_JNI_DefineClass (JNIEnv *env, jobject loader,
const jbyte *buf, jsize bufLen)
{
try
@ -656,9 +656,9 @@ array_from_valist (jvalue *values, JArray<jclass> *arg_types, va_list vargs)
for (int i = 0; i < arg_types->length; ++i)
{
if (arg_elts[i] == JvPrimClass (byte))
values[i].b = va_arg (vargs, jbyte);
values[i].b = (jbyte) va_arg (vargs, int);
else if (arg_elts[i] == JvPrimClass (short))
values[i].s = va_arg (vargs, jshort);
values[i].s = (jshort) va_arg (vargs, int);
else if (arg_elts[i] == JvPrimClass (int))
values[i].i = va_arg (vargs, jint);
else if (arg_elts[i] == JvPrimClass (long))
@ -668,9 +668,9 @@ array_from_valist (jvalue *values, JArray<jclass> *arg_types, va_list vargs)
else if (arg_elts[i] == JvPrimClass (double))
values[i].d = va_arg (vargs, jdouble);
else if (arg_elts[i] == JvPrimClass (boolean))
values[i].z = va_arg (vargs, jboolean);
values[i].z = (jboolean) va_arg (vargs, int);
else if (arg_elts[i] == JvPrimClass (char))
values[i].c = va_arg (vargs, jchar);
values[i].c = (jchar) va_arg (vargs, int);
else
{
// An object.
@ -1044,7 +1044,7 @@ _Jv_JNI_NewObjectA (JNIEnv *env, jclass klass, jmethodID id,
template<typename T>
static T
_Jv_JNI_GetField (JNIEnv *env, jobject obj, jfieldID field)
_Jv_JNI_GetField (JNIEnv *env, jobject obj, jfieldID field)
{
JvAssert (obj);
T *ptr = (T *) ((char *) obj + field->getOffset ());
@ -1393,7 +1393,7 @@ _Jv_JNI_GetPrimitiveArrayRegion (JNIEnv *env, JArray<T> *array,
template<typename T>
static void
_Jv_JNI_SetPrimitiveArrayRegion (JNIEnv *env, JArray<T> *array,
_Jv_JNI_SetPrimitiveArrayRegion (JNIEnv *env, JArray<T> *array,
jsize start, jsize len, T *buf)
{
// The cast to unsigned lets us save a comparison.