diff options
-rw-r--r-- | libjava/ChangeLog | 5 | ||||
-rw-r--r-- | libjava/java/lang/reflect/natMethod.cc | 14 |
2 files changed, 10 insertions, 9 deletions
diff --git a/libjava/ChangeLog b/libjava/ChangeLog index c8a957e..3e7c1ce 100644 --- a/libjava/ChangeLog +++ b/libjava/ChangeLog @@ -1,3 +1,8 @@ +2002-01-07 Andreas Tobler <a.tobler@schweiz.ch> + + * java/lang/reflect/natMethod.cc: Don't include alloca.h. + (_Jv_CallAnyMethodA): Convert alloca to __builtin_alloca. + 2002-01-08 Chris Sears <cbsears_sf@yahoo.com> * interpret.cc (ARRAYBOUNDSCHECK): New macro. diff --git a/libjava/java/lang/reflect/natMethod.cc b/libjava/java/lang/reflect/natMethod.cc index 26c270e..1fab48a 100644 --- a/libjava/java/lang/reflect/natMethod.cc +++ b/libjava/java/lang/reflect/natMethod.cc @@ -1,6 +1,6 @@ // natMethod.cc - Native code for Method class. -/* Copyright (C) 1998, 1999, 2000, 2001 Free Software Foundation +/* Copyright (C) 1998, 1999, 2000, 2001 , 2002 Free Software Foundation This file is part of libgcj. @@ -10,10 +10,6 @@ details. */ #include <config.h> -#if HAVE_ALLOCA_H -#include <alloca.h> -#endif - #include <gcj/cni.h> #include <jvm.h> #include <jni.h> @@ -348,8 +344,8 @@ _Jv_CallAnyMethodA (jobject obj, rtype = &ffi_type_void; else rtype = get_ffi_type (return_type); - ffi_type **argtypes = (ffi_type **) alloca (param_count - * sizeof (ffi_type *)); + ffi_type **argtypes = (ffi_type **) __builtin_alloca (param_count + * sizeof (ffi_type *)); jclass *paramelts = elements (parameter_types); @@ -392,8 +388,8 @@ _Jv_CallAnyMethodA (jobject obj, // FIXME: throw some kind of VirtualMachineError here. } - char *p = (char *) alloca (size); - void **values = (void **) alloca (param_count * sizeof (void *)); + char *p = (char *) __builtin_alloca (size); + void **values = (void **) __builtin_alloca (param_count * sizeof (void *)); i = 0; if (needs_this) |