From: Andrew Haley Date: Mon, 21 Feb 2005 18:19:01 +0000 (+0000) Subject: Makefile.in: Rebuilt. X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=92c91cf7fe57f41771273f941431432c77f76f59;p=gcc.git Makefile.in: Rebuilt. 2005-02-21 Andrew Haley * Makefile.in: Rebuilt. * Makefile.am (nat_source_files): Added natLogger.cc. * java/util/logging/natLogger.cc: New file. * java/util/logging/Logger.java (getCallerStackFrame): Now native. From-SVN: r95338 --- diff --git a/libjava/ChangeLog b/libjava/ChangeLog index dd608eddce8..7d869d5a2b2 100644 --- a/libjava/ChangeLog +++ b/libjava/ChangeLog @@ -1,3 +1,11 @@ +2005-02-21 Andrew Haley + + * Makefile.in: Rebuilt. + * Makefile.am (nat_source_files): Added natLogger.cc. + * java/util/logging/natLogger.cc: New file. + * java/util/logging/Logger.java (getCallerStackFrame): Now + native. + 2005-02-21 Andreas Tobler * Makefile.am (all_property_files): Remove left over. diff --git a/libjava/Makefile.am b/libjava/Makefile.am index 3eeaa74fd34..ed24da3ae0a 100644 --- a/libjava/Makefile.am +++ b/libjava/Makefile.am @@ -3720,6 +3720,7 @@ java/nio/natDirectByteBufferImpl.cc \ java/text/natCollator.cc \ java/util/natResourceBundle.cc \ java/util/natVMTimeZone.cc \ +java/util/logging/natLogger.cc \ java/util/zip/natDeflater.cc \ java/util/zip/natInflater.cc diff --git a/libjava/Makefile.in b/libjava/Makefile.in index 91944ce8b12..1d8d2616ca8 100644 --- a/libjava/Makefile.in +++ b/libjava/Makefile.in @@ -370,21 +370,22 @@ am__libgcj0_convenience_la_SOURCES_DIST = prims.cc jni.cc exception.cc \ java/net/natInetAddress.cc java/nio/channels/natChannels.cc \ java/nio/natDirectByteBufferImpl.cc java/text/natCollator.cc \ java/util/natResourceBundle.cc java/util/natVMTimeZone.cc \ - java/util/zip/natDeflater.cc java/util/zip/natInflater.cc \ - java/lang/dtoa.c java/lang/k_rem_pio2.c java/lang/s_tan.c \ - java/lang/e_acos.c java/lang/k_sin.c java/lang/strtod.c \ - java/lang/e_asin.c java/lang/k_tan.c java/lang/w_acos.c \ - java/lang/e_atan2.c java/lang/mprec.c java/lang/w_asin.c \ - java/lang/e_exp.c java/lang/s_atan.c java/lang/w_atan2.c \ - java/lang/e_fmod.c java/lang/s_ceil.c java/lang/w_exp.c \ - java/lang/e_log.c java/lang/s_copysign.c java/lang/w_fmod.c \ - java/lang/e_pow.c java/lang/s_cos.c java/lang/w_log.c \ - java/lang/e_rem_pio2.c java/lang/s_fabs.c java/lang/w_pow.c \ - java/lang/e_remainder.c java/lang/s_floor.c \ - java/lang/w_remainder.c java/lang/e_scalb.c java/lang/s_rint.c \ - java/lang/w_sqrt.c java/lang/e_sqrt.c java/lang/s_scalbn.c \ - java/lang/sf_rint.c java/lang/k_cos.c java/lang/s_sin.c \ - java/lang/sf_fabs.c java/lang/Class.java java/lang/Object.java \ + java/util/logging/natLogger.cc java/util/zip/natDeflater.cc \ + java/util/zip/natInflater.cc java/lang/dtoa.c \ + java/lang/k_rem_pio2.c java/lang/s_tan.c java/lang/e_acos.c \ + java/lang/k_sin.c java/lang/strtod.c java/lang/e_asin.c \ + java/lang/k_tan.c java/lang/w_acos.c java/lang/e_atan2.c \ + java/lang/mprec.c java/lang/w_asin.c java/lang/e_exp.c \ + java/lang/s_atan.c java/lang/w_atan2.c java/lang/e_fmod.c \ + java/lang/s_ceil.c java/lang/w_exp.c java/lang/e_log.c \ + java/lang/s_copysign.c java/lang/w_fmod.c java/lang/e_pow.c \ + java/lang/s_cos.c java/lang/w_log.c java/lang/e_rem_pio2.c \ + java/lang/s_fabs.c java/lang/w_pow.c java/lang/e_remainder.c \ + java/lang/s_floor.c java/lang/w_remainder.c \ + java/lang/e_scalb.c java/lang/s_rint.c java/lang/w_sqrt.c \ + java/lang/e_sqrt.c java/lang/s_scalbn.c java/lang/sf_rint.c \ + java/lang/k_cos.c java/lang/s_sin.c java/lang/sf_fabs.c \ + java/lang/Class.java java/lang/Object.java \ java/lang/AbstractMethodError.java \ java/lang/ArithmeticException.java \ java/lang/ArrayIndexOutOfBoundsException.java \ @@ -2642,7 +2643,8 @@ am__objects_6 = gnu/gcj/natCore.lo \ java/net/natInetAddress.lo java/nio/channels/natChannels.lo \ java/nio/natDirectByteBufferImpl.lo java/text/natCollator.lo \ java/util/natResourceBundle.lo java/util/natVMTimeZone.lo \ - java/util/zip/natDeflater.lo java/util/zip/natInflater.lo + java/util/logging/natLogger.lo java/util/zip/natDeflater.lo \ + java/util/zip/natInflater.lo am__objects_7 = java/lang/dtoa.lo java/lang/k_rem_pio2.lo \ java/lang/s_tan.lo java/lang/e_acos.lo java/lang/k_sin.lo \ java/lang/strtod.lo java/lang/e_asin.lo java/lang/k_tan.lo \ @@ -8104,6 +8106,7 @@ java/nio/natDirectByteBufferImpl.cc \ java/text/natCollator.cc \ java/util/natResourceBundle.cc \ java/util/natVMTimeZone.cc \ +java/util/logging/natLogger.cc \ java/util/zip/natDeflater.cc \ java/util/zip/natInflater.cc @@ -8960,6 +8963,14 @@ java/util/natResourceBundle.lo: java/util/$(am__dirstamp) \ java/util/$(DEPDIR)/$(am__dirstamp) java/util/natVMTimeZone.lo: java/util/$(am__dirstamp) \ java/util/$(DEPDIR)/$(am__dirstamp) +java/util/logging/$(am__dirstamp): + @$(mkdir_p) java/util/logging + @: > java/util/logging/$(am__dirstamp) +java/util/logging/$(DEPDIR)/$(am__dirstamp): + @$(mkdir_p) java/util/logging/$(DEPDIR) + @: > java/util/logging/$(DEPDIR)/$(am__dirstamp) +java/util/logging/natLogger.lo: java/util/logging/$(am__dirstamp) \ + java/util/logging/$(DEPDIR)/$(am__dirstamp) java/util/zip/$(am__dirstamp): @$(mkdir_p) java/util/zip @: > java/util/zip/$(am__dirstamp) @@ -9488,12 +9499,6 @@ java/util/VMTimeZone.lo: java/util/$(am__dirstamp) \ java/util/$(DEPDIR)/$(am__dirstamp) java/util/WeakHashMap.lo: java/util/$(am__dirstamp) \ java/util/$(DEPDIR)/$(am__dirstamp) -java/util/logging/$(am__dirstamp): - @$(mkdir_p) java/util/logging - @: > java/util/logging/$(am__dirstamp) -java/util/logging/$(DEPDIR)/$(am__dirstamp): - @$(mkdir_p) java/util/logging/$(DEPDIR) - @: > java/util/logging/$(DEPDIR)/$(am__dirstamp) java/util/logging/ConsoleHandler.lo: \ java/util/logging/$(am__dirstamp) \ java/util/logging/$(DEPDIR)/$(am__dirstamp) @@ -20036,6 +20041,8 @@ mostlyclean-compile: -rm -f java/util/logging/StreamHandler.lo -rm -f java/util/logging/XMLFormatter.$(OBJEXT) -rm -f java/util/logging/XMLFormatter.lo + -rm -f java/util/logging/natLogger.$(OBJEXT) + -rm -f java/util/logging/natLogger.lo -rm -f java/util/natResourceBundle.$(OBJEXT) -rm -f java/util/natResourceBundle.lo -rm -f java/util/natVMTimeZone.$(OBJEXT) @@ -23821,6 +23828,7 @@ distclean-compile: @AMDEP_TRUE@@am__include@ @am__quote@java/util/logging/$(DEPDIR)/SocketHandler.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@java/util/logging/$(DEPDIR)/StreamHandler.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@java/util/logging/$(DEPDIR)/XMLFormatter.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@java/util/logging/$(DEPDIR)/natLogger.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@java/util/prefs/$(DEPDIR)/AbstractPreferences.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@java/util/prefs/$(DEPDIR)/BackingStoreException.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@java/util/prefs/$(DEPDIR)/InvalidPreferencesFormatException.Plo@am__quote@ diff --git a/libjava/java/util/logging/Logger.java b/libjava/java/util/logging/Logger.java index 99c9be9a311..29635558598 100644 --- a/libjava/java/util/logging/Logger.java +++ b/libjava/java/util/logging/Logger.java @@ -1,5 +1,5 @@ /* Logger.java -- a class for logging messages - Copyright (C) 2002, 2004 Free Software Foundation, Inc. + Copyright (C) 2002, 2004, 2005 Free Software Foundation, Inc. This file is part of GNU Classpath. @@ -1169,17 +1169,5 @@ public class Logger * That should be the initial caller of a logging method. * @return caller of the initial looging method */ - private StackTraceElement getCallerStackFrame() - { - Throwable t = new Throwable(); - StackTraceElement[] stackTrace = t.getStackTrace(); - int index = 0; - // skip to stackentries until this class - while(!stackTrace[index].getClassName().equals(getClass().getName())){index++;} - // skip the stackentries of this class - while(stackTrace[index].getClassName().equals(getClass().getName())){index++;} - - return stackTrace[index]; - } - + private native StackTraceElement getCallerStackFrame(); } diff --git a/libjava/java/util/logging/natLogger.cc b/libjava/java/util/logging/natLogger.cc new file mode 100644 index 00000000000..15d1ab70efd --- /dev/null +++ b/libjava/java/util/logging/natLogger.cc @@ -0,0 +1,55 @@ +// natLogger.cc - Native part of Logger class. + +/* Copyright (C) 1998, 1999, 2000, 2001 Free Software Foundation + + This Logger is part of libgcj. + +This software is copyrighted work licensed under the terms of the +Libgcj License. Please consult the Logger "LIBGCJ_LICENSE" for +details. */ + +#include +#include + +#include + +#pragma implementation "Logger.h" + +#include +#include + + +#include +#include +#include +#include +#include + +java::lang::StackTraceElement* +java::util::logging::Logger::getCallerStackFrame () +{ + gnu::gcj::runtime::StackTrace *t + = new gnu::gcj::runtime::StackTrace(4); + java::lang::Class *klass = NULL; + int i = 2; + try + { + // skip until this class + while ((klass = t->classAt (i)) != getClass()) + i++; + // skip the stackentries of this class + while ((klass = t->classAt (i)) == getClass() || klass == NULL) + i++; + } + catch (::java::lang::ArrayIndexOutOfBoundsException *e) + { + // FIXME: RuntimeError + } + + java::lang::StackTraceElement *e + = new java::lang::StackTraceElement + (JvNewStringUTF (""), 0, + klass->getName(), t->methodAt(i), false); + + return e; +}