aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--libjava/ChangeLog5
-rw-r--r--libjava/java/lang/reflect/natMethod.cc14
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)