aboutsummaryrefslogtreecommitdiff
path: root/libjava/java/lang
diff options
context:
space:
mode:
Diffstat (limited to 'libjava/java/lang')
-rw-r--r--libjava/java/lang/Character.java2
-rw-r--r--libjava/java/lang/Class$1.h24
-rw-r--r--libjava/java/lang/Class.java22
-rw-r--r--libjava/java/lang/Enum.h3
-rw-r--r--libjava/java/lang/SecurityContext.h23
-rw-r--r--libjava/java/lang/System.h14
-rw-r--r--libjava/java/lang/System.java22
-rw-r--r--libjava/java/lang/management/LockInfo.h26
-rw-r--r--libjava/java/lang/management/ManagementFactory$ManagementInvocationHandler.h38
-rw-r--r--libjava/java/lang/management/ManagementFactory.h2
-rw-r--r--libjava/java/lang/management/MonitorInfo.h39
-rw-r--r--libjava/java/lang/management/OperatingSystemMXBean.h1
-rw-r--r--libjava/java/lang/management/ThreadInfo.h10
-rw-r--r--libjava/java/lang/management/ThreadMXBean.h5
14 files changed, 206 insertions, 25 deletions
diff --git a/libjava/java/lang/Character.java b/libjava/java/lang/Character.java
index 0cc9d3c..2edf72e 100644
--- a/libjava/java/lang/Character.java
+++ b/libjava/java/lang/Character.java
@@ -163,7 +163,7 @@ public final class Character implements Serializable, Comparable<Character>
private final String canonicalName;
/** Enumeration for the <code>forName()</code> method */
- private enum NameType { CANONICAL, NO_SPACES, CONSTANT; };
+ private enum NameType { CANONICAL, NO_SPACES, CONSTANT; }
/**
* Constructor for strictly defined blocks.
diff --git a/libjava/java/lang/Class$1.h b/libjava/java/lang/Class$1.h
new file mode 100644
index 0000000..4f68936
--- /dev/null
+++ b/libjava/java/lang/Class$1.h
@@ -0,0 +1,24 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __java_lang_Class$1__
+#define __java_lang_Class$1__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+
+class java::lang::Class$1 : public ::java::lang::Object
+{
+
+public: // actually package-private
+ Class$1(::java::lang::reflect::AccessibleObject *);
+public:
+ ::java::lang::Object * run();
+private:
+ ::java::lang::reflect::AccessibleObject * __attribute__((aligned(__alignof__( ::java::lang::Object)))) val$obj;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __java_lang_Class$1__
diff --git a/libjava/java/lang/Class.java b/libjava/java/lang/Class.java
index b0151db..6780517 100644
--- a/libjava/java/lang/Class.java
+++ b/libjava/java/lang/Class.java
@@ -51,6 +51,8 @@ import java.lang.reflect.Method;
import java.lang.reflect.Type;
import java.lang.reflect.TypeVariable;
import java.net.URL;
+import java.security.AccessController;
+import java.security.PrivilegedAction;
import java.security.ProtectionDomain;
import java.util.ArrayList;
import java.util.Arrays;
@@ -60,6 +62,7 @@ import java.util.Collection;
import java.lang.reflect.AnnotatedElement;
import java.lang.annotation.Annotation;
import java.lang.annotation.Inherited;
+import java.lang.reflect.AccessibleObject;
/**
* A Class represents a Java type. There will never be multiple Class
@@ -1004,7 +1007,9 @@ public final class Class<T>
{
try
{
- return (T[]) getMethod("values").invoke(null);
+ Method m = getMethod("values");
+ setAccessible(m);
+ return (T[]) m.invoke(null);
}
catch (NoSuchMethodException exception)
{
@@ -1402,4 +1407,19 @@ public final class Class<T>
* @since 1.5
*/
public native boolean isMemberClass();
+
+ /**
+ * Utility method for use by classes in this package.
+ */
+ static void setAccessible(final AccessibleObject obj)
+ {
+ AccessController.doPrivileged(new PrivilegedAction()
+ {
+ public Object run()
+ {
+ obj.setAccessible(true);
+ return null;
+ }
+ });
+ }
}
diff --git a/libjava/java/lang/Enum.h b/libjava/java/lang/Enum.h
index a75f276..15ccb16 100644
--- a/libjava/java/lang/Enum.h
+++ b/libjava/java/lang/Enum.h
@@ -25,6 +25,9 @@ public:
virtual ::java::lang::String * name();
virtual jint ordinal();
virtual ::java::lang::Class * getDeclaringClass();
+public: // actually protected
+ virtual void finalize();
+public:
virtual jint compareTo(::java::lang::Object *);
private:
static const jlong serialVersionUID = -4300926546619394005LL;
diff --git a/libjava/java/lang/SecurityContext.h b/libjava/java/lang/SecurityContext.h
deleted file mode 100644
index e7b0e59..0000000
--- a/libjava/java/lang/SecurityContext.h
+++ /dev/null
@@ -1,23 +0,0 @@
-
-// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
-
-#ifndef __java_lang_SecurityContext__
-#define __java_lang_SecurityContext__
-
-#pragma interface
-
-#include <java/lang/Object.h>
-#include <gcj/array.h>
-
-
-class java::lang::SecurityContext : public ::java::lang::Object
-{
-
-public: // actually package-private
- SecurityContext(JArray< ::java::lang::Class * > *);
- JArray< ::java::lang::Class * > * __attribute__((aligned(__alignof__( ::java::lang::Object)))) classes;
-public:
- static ::java::lang::Class class$;
-};
-
-#endif // __java_lang_SecurityContext__
diff --git a/libjava/java/lang/System.h b/libjava/java/lang/System.h
index 5a75967..8a67628 100644
--- a/libjava/java/lang/System.h
+++ b/libjava/java/lang/System.h
@@ -7,6 +7,19 @@
#pragma interface
#include <java/lang/Object.h>
+extern "Java"
+{
+ namespace java
+ {
+ namespace nio
+ {
+ namespace channels
+ {
+ class Channel;
+ }
+ }
+ }
+}
class java::lang::System : public ::java::lang::Object
{
@@ -44,6 +57,7 @@ private:
public: // actually package-private
static ::java::lang::String * getenv0(::java::lang::String *);
public:
+ static ::java::nio::channels::Channel * inheritedChannel();
static ::java::io::InputStream * in;
static ::java::io::PrintStream * out;
static ::java::io::PrintStream * err;
diff --git a/libjava/java/lang/System.java b/libjava/java/lang/System.java
index b516a51..ecfad25 100644
--- a/libjava/java/lang/System.java
+++ b/libjava/java/lang/System.java
@@ -46,8 +46,11 @@ import java.io.BufferedOutputStream;
import java.io.FileDescriptor;
import java.io.FileInputStream;
import java.io.FileOutputStream;
+import java.io.IOException;
import java.io.InputStream;
import java.io.PrintStream;
+import java.nio.channels.Channel;
+import java.nio.channels.spi.SelectorProvider;
import java.util.AbstractCollection;
import java.util.ArrayList;
import java.util.Collection;
@@ -649,6 +652,25 @@ public final class System
*/
static native String getenv0(String name);
+ /**
+ * Returns the inherited channel of the VM.
+ *
+ * This wraps the inheritedChannel() call of the system's default
+ * {@link SelectorProvider}.
+ *
+ * @return the inherited channel of the VM
+ *
+ * @throws IOException If an I/O error occurs
+ * @throws SecurityException If an installed security manager denies access
+ * to RuntimePermission("inheritedChannel")
+ *
+ * @since 1.5
+ */
+ public static Channel inheritedChannel()
+ throws IOException
+ {
+ return SelectorProvider.provider().inheritedChannel();
+ }
/**
* This is a specialised <code>Collection</code>, providing
diff --git a/libjava/java/lang/management/LockInfo.h b/libjava/java/lang/management/LockInfo.h
new file mode 100644
index 0000000..ec42917
--- /dev/null
+++ b/libjava/java/lang/management/LockInfo.h
@@ -0,0 +1,26 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __java_lang_management_LockInfo__
+#define __java_lang_management_LockInfo__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+
+class java::lang::management::LockInfo : public ::java::lang::Object
+{
+
+public:
+ LockInfo(::java::lang::String *, jint);
+ virtual ::java::lang::String * getClassName();
+ virtual jint getIdentityHashCode();
+ virtual ::java::lang::String * toString();
+private:
+ ::java::lang::String * __attribute__((aligned(__alignof__( ::java::lang::Object)))) className;
+ jint identityHashCode;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __java_lang_management_LockInfo__
diff --git a/libjava/java/lang/management/ManagementFactory$ManagementInvocationHandler.h b/libjava/java/lang/management/ManagementFactory$ManagementInvocationHandler.h
new file mode 100644
index 0000000..33603be
--- /dev/null
+++ b/libjava/java/lang/management/ManagementFactory$ManagementInvocationHandler.h
@@ -0,0 +1,38 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __java_lang_management_ManagementFactory$ManagementInvocationHandler__
+#define __java_lang_management_ManagementFactory$ManagementInvocationHandler__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+ namespace javax
+ {
+ namespace management
+ {
+ class MBeanServerConnection;
+ class ObjectName;
+ }
+ }
+}
+
+class java::lang::management::ManagementFactory$ManagementInvocationHandler : public ::java::lang::Object
+{
+
+public:
+ ManagementFactory$ManagementInvocationHandler(::javax::management::MBeanServerConnection *, ::javax::management::ObjectName *);
+ virtual ::java::lang::Object * invoke(::java::lang::Object *, ::java::lang::reflect::Method *, JArray< ::java::lang::Object * > *);
+private:
+ ::java::lang::Object * translate(::java::lang::Object *, ::java::lang::reflect::Method *);
+ ::javax::management::MBeanServerConnection * __attribute__((aligned(__alignof__( ::java::lang::Object)))) conn;
+ ::javax::management::ObjectName * bean;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __java_lang_management_ManagementFactory$ManagementInvocationHandler__
diff --git a/libjava/java/lang/management/ManagementFactory.h b/libjava/java/lang/management/ManagementFactory.h
index a315333..c518093 100644
--- a/libjava/java/lang/management/ManagementFactory.h
+++ b/libjava/java/lang/management/ManagementFactory.h
@@ -14,6 +14,7 @@ extern "Java"
namespace management
{
class MBeanServer;
+ class MBeanServerConnection;
}
}
}
@@ -33,6 +34,7 @@ public:
static ::java::util::List * getMemoryManagerMXBeans();
static ::java::util::List * getGarbageCollectorMXBeans();
static ::javax::management::MBeanServer * getPlatformMBeanServer();
+ static ::java::lang::Object * newPlatformMXBeanProxy(::javax::management::MBeanServerConnection *, ::java::lang::String *, ::java::lang::Class *);
static ::java::lang::String * CLASS_LOADING_MXBEAN_NAME;
static ::java::lang::String * COMPILATION_MXBEAN_NAME;
static ::java::lang::String * GARBAGE_COLLECTOR_MXBEAN_DOMAIN_TYPE;
diff --git a/libjava/java/lang/management/MonitorInfo.h b/libjava/java/lang/management/MonitorInfo.h
new file mode 100644
index 0000000..6d2a0f0
--- /dev/null
+++ b/libjava/java/lang/management/MonitorInfo.h
@@ -0,0 +1,39 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __java_lang_management_MonitorInfo__
+#define __java_lang_management_MonitorInfo__
+
+#pragma interface
+
+#include <java/lang/management/LockInfo.h>
+extern "Java"
+{
+ namespace javax
+ {
+ namespace management
+ {
+ namespace openmbean
+ {
+ class CompositeData;
+ }
+ }
+ }
+}
+
+class java::lang::management::MonitorInfo : public ::java::lang::management::LockInfo
+{
+
+public:
+ MonitorInfo(::java::lang::String *, jint, jint, ::java::lang::StackTraceElement *);
+ static ::java::lang::management::MonitorInfo * from(::javax::management::openmbean::CompositeData *);
+ virtual jint getLockedStackDepth();
+ virtual ::java::lang::StackTraceElement * getLockedStackFrame();
+private:
+ jint __attribute__((aligned(__alignof__( ::java::lang::management::LockInfo)))) stackDepth;
+ ::java::lang::StackTraceElement * stackFrame;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __java_lang_management_MonitorInfo__
diff --git a/libjava/java/lang/management/OperatingSystemMXBean.h b/libjava/java/lang/management/OperatingSystemMXBean.h
index adb562c..bbf3707 100644
--- a/libjava/java/lang/management/OperatingSystemMXBean.h
+++ b/libjava/java/lang/management/OperatingSystemMXBean.h
@@ -15,6 +15,7 @@ public:
virtual ::java::lang::String * getArch() = 0;
virtual jint getAvailableProcessors() = 0;
virtual ::java::lang::String * getName() = 0;
+ virtual jdouble getSystemLoadAverage() = 0;
virtual ::java::lang::String * getVersion() = 0;
static ::java::lang::Class class$;
} __attribute__ ((java_interface));
diff --git a/libjava/java/lang/management/ThreadInfo.h b/libjava/java/lang/management/ThreadInfo.h
index a06b99c..c3902b3 100644
--- a/libjava/java/lang/management/ThreadInfo.h
+++ b/libjava/java/lang/management/ThreadInfo.h
@@ -29,13 +29,19 @@ class java::lang::management::ThreadInfo : public ::java::lang::Object
{
ThreadInfo(::java::lang::Thread *, jlong, jlong, ::java::lang::Object *, ::java::lang::Thread *, jlong, jlong, jboolean, jboolean, JArray< ::java::lang::StackTraceElement * > *);
+ ThreadInfo(::java::lang::Thread *, jlong, jlong, ::java::lang::Object *, ::java::lang::Thread *, jlong, jlong, jboolean, jboolean, JArray< ::java::lang::StackTraceElement * > *, JArray< ::java::lang::management::MonitorInfo * > *, JArray< ::java::lang::management::LockInfo * > *);
ThreadInfo(jlong, ::java::lang::String *, ::java::lang::Thread$State *, jlong, jlong, ::java::lang::String *, jlong, ::java::lang::String *, jlong, jlong, jboolean, jboolean, JArray< ::java::lang::StackTraceElement * > *);
+ ThreadInfo(jlong, ::java::lang::String *, ::java::lang::Thread$State *, jlong, jlong, ::java::lang::String *, jlong, ::java::lang::String *, jlong, jlong, jboolean, jboolean, JArray< ::java::lang::StackTraceElement * > *, JArray< ::java::lang::management::MonitorInfo * > *, JArray< ::java::lang::management::LockInfo * > *);
public: // actually package-private
static void checkAttribute(::javax::management::openmbean::CompositeType *, ::java::lang::String *, ::javax::management::openmbean::OpenType *);
+ static ::javax::management::openmbean::CompositeType * getStackTraceType();
public:
static ::java::lang::management::ThreadInfo * from(::javax::management::openmbean::CompositeData *);
virtual jlong getBlockedCount();
virtual jlong getBlockedTime();
+ virtual JArray< ::java::lang::management::MonitorInfo * > * getLockedMonitors();
+ virtual JArray< ::java::lang::management::LockInfo * > * getLockedSynchronizers();
+ virtual ::java::lang::management::LockInfo * getLockInfo();
virtual ::java::lang::String * getLockName();
virtual jlong getLockOwnerId();
virtual ::java::lang::String * getLockOwnerName();
@@ -49,6 +55,7 @@ public:
virtual jboolean isSuspended();
virtual ::java::lang::String * toString();
private:
+ jboolean isThreadBlocked();
jlong __attribute__((aligned(__alignof__( ::java::lang::Object)))) threadId;
::java::lang::String * threadName;
::java::lang::Thread$State * threadState;
@@ -62,7 +69,10 @@ private:
jboolean isInNative__;
jboolean isSuspended__;
JArray< ::java::lang::StackTraceElement * > * trace;
+ JArray< ::java::lang::management::MonitorInfo * > * lockedMonitors;
+ JArray< ::java::lang::management::LockInfo * > * lockedSynchronizers;
static ::java::lang::management::ThreadMXBean * bean;
+ static ::javax::management::openmbean::CompositeType * seType;
public:
static ::java::lang::Class class$;
};
diff --git a/libjava/java/lang/management/ThreadMXBean.h b/libjava/java/lang/management/ThreadMXBean.h
index a160b08..a1d4636 100644
--- a/libjava/java/lang/management/ThreadMXBean.h
+++ b/libjava/java/lang/management/ThreadMXBean.h
@@ -14,6 +14,8 @@ class java::lang::management::ThreadMXBean : public ::java::lang::Object
{
public:
+ virtual JArray< ::java::lang::management::ThreadInfo * > * dumpAllThreads(jboolean, jboolean) = 0;
+ virtual JArray< jlong > * findDeadlockedThreads() = 0;
virtual JArray< jlong > * findMonitorDeadlockedThreads() = 0;
virtual JArray< jlong > * getAllThreadIds() = 0;
virtual jlong getCurrentThreadCpuTime() = 0;
@@ -24,11 +26,14 @@ public:
virtual jlong getThreadCpuTime(jlong) = 0;
virtual ::java::lang::management::ThreadInfo * getThreadInfo(jlong) = 0;
virtual JArray< ::java::lang::management::ThreadInfo * > * getThreadInfo(JArray< jlong > *) = 0;
+ virtual JArray< ::java::lang::management::ThreadInfo * > * getThreadInfo(JArray< jlong > *, jboolean, jboolean) = 0;
virtual ::java::lang::management::ThreadInfo * getThreadInfo(jlong, jint) = 0;
virtual JArray< ::java::lang::management::ThreadInfo * > * getThreadInfo(JArray< jlong > *, jint) = 0;
virtual jlong getThreadUserTime(jlong) = 0;
virtual jlong getTotalStartedThreadCount() = 0;
virtual jboolean isCurrentThreadCpuTimeSupported() = 0;
+ virtual jboolean isObjectMonitorUsageSupported() = 0;
+ virtual jboolean isSynchronizerUsageSupported() = 0;
virtual jboolean isThreadContentionMonitoringEnabled() = 0;
virtual jboolean isThreadContentionMonitoringSupported() = 0;
virtual jboolean isThreadCpuTimeEnabled() = 0;