[kaffe] CVS kaffe (robilad): cleaned up VM interfaces

Kaffe CVS cvs-commits at kaffe.org
Sat Aug 19 15:02:46 PDT 2006


PatchSet 7387 
Date: 2006/08/19 21:48:45
Author: robilad
Branch: HEAD
Tag: (none) 
Log:
cleaned up VM interfaces

2006-08-19  Dalibor Topic  <robilad at kaffe.org>

        * libraries/javalib/vmspecific/gnu/classpath/jdwp/VMFrame.java,
        libraries/javalib/vmspecific/gnu/classpath/jdwp/VMIdManager.java,
        libraries/javalib/vmspecific/gnu/classpath/jdwp/VMMethod.java,
        libraries/javalib/vmspecific/gnu/classpath/jdwp/VMVirtualMachine.java,
        libraries/javalib/vmspecific/gnu/inet/finger/package.html,
        libraries/javalib/vmspecific/gnu/inet/gopher/package.html,
        libraries/javalib/vmspecific/gnu/inet/imap/package.html,
        libraries/javalib/vmspecific/gnu/inet/nntp/package.html,
        libraries/javalib/vmspecific/gnu/inet/pop3/package.html,
        libraries/javalib/vmspecific/gnu/inet/smtp/package.html,
        libraries/javalib/vmspecific/gnu/java/lang/VMInstrumentationImpl.java,
        libraries/javalib/vmspecific/gnu/java/lang/management/VMClassLoadingMXBeanImpl.java,
        libraries/javalib/vmspecific/gnu/java/lang/management/VMCompilationMXBeanImpl.java,
        libraries/javalib/vmspecific/gnu/java/lang/management/VMGarbageCollectorMXBeanImpl.java,
        libraries/javalib/vmspecific/gnu/java/lang/management/VMMemoryMXBeanImpl.java,
        libraries/javalib/vmspecific/gnu/java/lang/management/VMMemoryManagerMXBeanImpl.java,
        libraries/javalib/vmspecific/gnu/java/lang/management/VMMemoryPoolMXBeanImpl.java,
        libraries/javalib/vmspecific/gnu/java/lang/management/VMRuntimeMXBeanImpl.java,
        libraries/javalib/vmspecific/gnu/java/lang/management/VMThreadMXBeanImpl.java,
        libraries/javalib/vmspecific/gnu/java/nio/VMChannel.java,
        libraries/javalib/vmspecific/gnu/java/nio/VMPipe.java,
        libraries/javalib/vmspecific/gnu/java/nio/VMSelector.java,
        libraries/javalib/vmspecific/java/io/VMFile.java,
        libraries/javalib/vmspecific/java/io/VMObjectInputStream.java,
        libraries/javalib/vmspecific/java/io/VMObjectStreamClass.java,
        libraries/javalib/vmspecific/java/lang/VMClass.java,
        libraries/javalib/vmspecific/java/lang/VMCompiler.java,
        libraries/javalib/vmspecific/java/lang/VMDouble.java,
        libraries/javalib/vmspecific/java/lang/VMFloat.java,
        libraries/javalib/vmspecific/java/lang/VMMath.java,
        libraries/javalib/vmspecific/java/lang/VMObject.java,
        libraries/javalib/vmspecific/java/lang/management/VMManagementFactory.java,
        libraries/javalib/vmspecific/java/lang/reflect/VMProxy.java,
        libraries/javalib/vmspecific/java/net/VMNetworkInterface.java,
        libraries/javalib/vmspecific/java/nio/VMDirectByteBuffer.java,
        libraries/javalib/vmspecific/java/nio/channels/VMChannels.java:
        Removed.

        * libraries/javalib/vmspecific/Makefile.am: Removed unimplemented and duplicate
        VM interfaces.

Members: 
	ChangeLog:1.4889->1.4890 
	libraries/javalib/vmspecific/Makefile.am:1.1->1.2 
	libraries/javalib/vmspecific/Makefile.in:1.1->1.2 
	libraries/javalib/vmspecific/gnu/classpath/jdwp/VMFrame.java:1.2->1.3(DEAD) 
	libraries/javalib/vmspecific/gnu/classpath/jdwp/VMIdManager.java:1.1->1.2(DEAD) 
	libraries/javalib/vmspecific/gnu/classpath/jdwp/VMMethod.java:1.1->1.2(DEAD) 
	libraries/javalib/vmspecific/gnu/classpath/jdwp/VMVirtualMachine.java:1.2->1.3(DEAD) 
	libraries/javalib/vmspecific/gnu/inet/finger/package.html:1.1->1.2(DEAD) 
	libraries/javalib/vmspecific/gnu/inet/gopher/package.html:1.1->1.2(DEAD) 
	libraries/javalib/vmspecific/gnu/inet/imap/package.html:1.1->1.2(DEAD) 
	libraries/javalib/vmspecific/gnu/inet/nntp/package.html:1.1->1.2(DEAD) 
	libraries/javalib/vmspecific/gnu/inet/pop3/package.html:1.1->1.2(DEAD) 
	libraries/javalib/vmspecific/gnu/inet/smtp/package.html:1.1->1.2(DEAD) 
	libraries/javalib/vmspecific/gnu/java/lang/VMInstrumentationImpl.java:1.1->1.2(DEAD) 
	libraries/javalib/vmspecific/gnu/java/lang/management/VMClassLoadingMXBeanImpl.java:1.1->1.2(DEAD) 
	libraries/javalib/vmspecific/gnu/java/lang/management/VMCompilationMXBeanImpl.java:1.1->1.2(DEAD) 
	libraries/javalib/vmspecific/gnu/java/lang/management/VMGarbageCollectorMXBeanImpl.java:1.1->1.2(DEAD) 
	libraries/javalib/vmspecific/gnu/java/lang/management/VMMemoryMXBeanImpl.java:1.1->1.2(DEAD) 
	libraries/javalib/vmspecific/gnu/java/lang/management/VMMemoryManagerMXBeanImpl.java:1.1->1.2(DEAD) 
	libraries/javalib/vmspecific/gnu/java/lang/management/VMMemoryPoolMXBeanImpl.java:1.1->1.2(DEAD) 
	libraries/javalib/vmspecific/gnu/java/lang/management/VMRuntimeMXBeanImpl.java:1.1->1.2(DEAD) 
	libraries/javalib/vmspecific/gnu/java/lang/management/VMThreadMXBeanImpl.java:1.1->1.2(DEAD) 
	libraries/javalib/vmspecific/gnu/java/nio/VMChannel.java:1.1->1.2(DEAD) 
	libraries/javalib/vmspecific/gnu/java/nio/VMPipe.java:1.2->1.3(DEAD) 
	libraries/javalib/vmspecific/gnu/java/nio/VMSelector.java:1.1->1.2(DEAD) 
	libraries/javalib/vmspecific/java/io/VMFile.java:1.2->1.3(DEAD) 
	libraries/javalib/vmspecific/java/io/VMObjectInputStream.java:1.1->1.2(DEAD) 
	libraries/javalib/vmspecific/java/io/VMObjectStreamClass.java:1.1->1.2(DEAD) 
	libraries/javalib/vmspecific/java/lang/VMClass.java:1.3->1.4(DEAD) 
	libraries/javalib/vmspecific/java/lang/VMCompiler.java:1.1->1.2(DEAD) 
	libraries/javalib/vmspecific/java/lang/VMDouble.java:1.1->1.2(DEAD) 
	libraries/javalib/vmspecific/java/lang/VMFloat.java:1.1->1.2(DEAD) 
	libraries/javalib/vmspecific/java/lang/VMMath.java:1.1->1.2(DEAD) 
	libraries/javalib/vmspecific/java/lang/VMObject.java:1.1->1.2(DEAD) 
	libraries/javalib/vmspecific/java/lang/management/VMManagementFactory.java:1.1->1.2(DEAD) 
	libraries/javalib/vmspecific/java/lang/reflect/VMProxy.java:1.1->1.2(DEAD) 
	libraries/javalib/vmspecific/java/net/VMNetworkInterface.java:1.1->1.2(DEAD) 
	libraries/javalib/vmspecific/java/nio/VMDirectByteBuffer.java:1.1->1.2(DEAD) 
	libraries/javalib/vmspecific/java/nio/channels/VMChannels.java:1.1->1.2(DEAD) 

Index: kaffe/ChangeLog
diff -u kaffe/ChangeLog:1.4889 kaffe/ChangeLog:1.4890
--- kaffe/ChangeLog:1.4889	Mon Aug 14 01:05:47 2006
+++ kaffe/ChangeLog	Sat Aug 19 21:48:45 2006
@@ -1,3 +1,46 @@
+2006-08-19  Dalibor Topic  <robilad at kaffe.org>
+
+	* libraries/javalib/vmspecific/gnu/classpath/jdwp/VMFrame.java,
+	libraries/javalib/vmspecific/gnu/classpath/jdwp/VMIdManager.java,
+	libraries/javalib/vmspecific/gnu/classpath/jdwp/VMMethod.java,
+	libraries/javalib/vmspecific/gnu/classpath/jdwp/VMVirtualMachine.java,
+	libraries/javalib/vmspecific/gnu/inet/finger/package.html,
+	libraries/javalib/vmspecific/gnu/inet/gopher/package.html,
+	libraries/javalib/vmspecific/gnu/inet/imap/package.html,
+	libraries/javalib/vmspecific/gnu/inet/nntp/package.html,
+	libraries/javalib/vmspecific/gnu/inet/pop3/package.html,
+	libraries/javalib/vmspecific/gnu/inet/smtp/package.html,
+	libraries/javalib/vmspecific/gnu/java/lang/VMInstrumentationImpl.java,
+	libraries/javalib/vmspecific/gnu/java/lang/management/VMClassLoadingMXBeanImpl.java,
+	libraries/javalib/vmspecific/gnu/java/lang/management/VMCompilationMXBeanImpl.java,
+	libraries/javalib/vmspecific/gnu/java/lang/management/VMGarbageCollectorMXBeanImpl.java,
+	libraries/javalib/vmspecific/gnu/java/lang/management/VMMemoryMXBeanImpl.java,
+	libraries/javalib/vmspecific/gnu/java/lang/management/VMMemoryManagerMXBeanImpl.java,
+	libraries/javalib/vmspecific/gnu/java/lang/management/VMMemoryPoolMXBeanImpl.java,
+	libraries/javalib/vmspecific/gnu/java/lang/management/VMRuntimeMXBeanImpl.java,
+	libraries/javalib/vmspecific/gnu/java/lang/management/VMThreadMXBeanImpl.java,
+	libraries/javalib/vmspecific/gnu/java/nio/VMChannel.java,
+	libraries/javalib/vmspecific/gnu/java/nio/VMPipe.java,
+	libraries/javalib/vmspecific/gnu/java/nio/VMSelector.java,
+	libraries/javalib/vmspecific/java/io/VMFile.java,
+	libraries/javalib/vmspecific/java/io/VMObjectInputStream.java,
+	libraries/javalib/vmspecific/java/io/VMObjectStreamClass.java,
+	libraries/javalib/vmspecific/java/lang/VMClass.java,
+	libraries/javalib/vmspecific/java/lang/VMCompiler.java,
+	libraries/javalib/vmspecific/java/lang/VMDouble.java,
+	libraries/javalib/vmspecific/java/lang/VMFloat.java,
+	libraries/javalib/vmspecific/java/lang/VMMath.java,
+	libraries/javalib/vmspecific/java/lang/VMObject.java,
+	libraries/javalib/vmspecific/java/lang/management/VMManagementFactory.java,
+	libraries/javalib/vmspecific/java/lang/reflect/VMProxy.java,
+	libraries/javalib/vmspecific/java/net/VMNetworkInterface.java,
+	libraries/javalib/vmspecific/java/nio/VMDirectByteBuffer.java,
+	libraries/javalib/vmspecific/java/nio/channels/VMChannels.java:
+	Removed.
+
+	* libraries/javalib/vmspecific/Makefile.am: Removed unimplemented and duplicate 
+	VM interfaces.
+
 2006-08-13  Kurt Miller <kurt at intricatesoftware.com>
 
 	* configure.ac: Include sys/param.h when testing for 
Index: kaffe/libraries/javalib/vmspecific/Makefile.am
diff -u kaffe/libraries/javalib/vmspecific/Makefile.am:1.1 kaffe/libraries/javalib/vmspecific/Makefile.am:1.2
--- kaffe/libraries/javalib/vmspecific/Makefile.am:1.1	Sun Aug 13 01:47:09 2006
+++ kaffe/libraries/javalib/vmspecific/Makefile.am	Sat Aug 19 21:48:48 2006
@@ -29,40 +29,14 @@
 vminterfacedir = $(FAKE)
 
 dist_vminterface_JAVA = \
-	gnu/classpath/jdwp/VMFrame.java \
-	gnu/classpath/jdwp/VMIdManager.java \
-	gnu/classpath/jdwp/VMMethod.java \
-	gnu/classpath/jdwp/VMVirtualMachine.java \
 	gnu/classpath/VMStackWalker.java \
 	gnu/classpath/VMSystemProperties.java \
-	gnu/java/lang/management/VMClassLoadingMXBeanImpl.java \
-	gnu/java/lang/management/VMCompilationMXBeanImpl.java \
-	gnu/java/lang/management/VMGarbageCollectorMXBeanImpl.java \
-	gnu/java/lang/management/VMMemoryMXBeanImpl.java \
-	gnu/java/lang/management/VMMemoryManagerMXBeanImpl.java \
-	gnu/java/lang/management/VMMemoryPoolMXBeanImpl.java \
-	gnu/java/lang/management/VMRuntimeMXBeanImpl.java \
-	gnu/java/lang/management/VMThreadMXBeanImpl.java \
-	gnu/java/lang/VMInstrumentationImpl.java \
 	gnu/java/net/InetAddressImpl.java \
 	gnu/java/net/PlainDatagramSocketImpl.java \
 	gnu/java/net/PlainSocketImpl.java \
 	gnu/java/net/SysInetAddressImpl.java \
-	gnu/java/nio/VMChannel.java \
-	gnu/java/nio/VMPipe.java \
-	gnu/java/nio/VMSelector.java \
-	java/io/VMFile.java \
-	java/io/VMObjectInputStream.java \
-	java/io/VMObjectStreamClass.java \
-	java/lang/management/VMManagementFactory.java \
 	java/lang/Runtime.java \
-	java/lang/VMClass.java \
 	java/lang/VMClassLoader.java \
-	java/lang/VMCompiler.java \
-	java/lang/VMDouble.java \
-	java/lang/VMFloat.java \
-	java/lang/VMMath.java \
-	java/lang/VMObject.java \
 	java/lang/VMProcess.java \
 	java/lang/VMRuntime.java \
 	java/lang/VMString.java \
@@ -74,13 +48,9 @@
 	java/lang/reflect/Field.java \
 	java/lang/reflect/Method.java \
 	java/lang/reflect/VMArray.java \
-	java/lang/reflect/VMProxy.java \
 	java/net/InetAddress.java \
 	java/net/VMInetAddress.java \
-	java/net/VMNetworkInterface.java \
 	java/net/VMURLConnection.java \
-	java/nio/channels/VMChannels.java \
-	java/nio/VMDirectByteBuffer.java \
 	java/security/VMAccessController.java \
 	java/security/VMSecureRandom.java \
 	java/util/VMTimeZone.java \
Index: kaffe/libraries/javalib/vmspecific/Makefile.in
diff -u kaffe/libraries/javalib/vmspecific/Makefile.in:1.1 kaffe/libraries/javalib/vmspecific/Makefile.in:1.2
--- kaffe/libraries/javalib/vmspecific/Makefile.in:1.1	Sun Aug 13 01:47:09 2006
+++ kaffe/libraries/javalib/vmspecific/Makefile.in	Sat Aug 19 21:48:48 2006
@@ -364,40 +364,14 @@
 FAKE = fakeinstall
 vminterfacedir = $(FAKE)
 dist_vminterface_JAVA = \
-	gnu/classpath/jdwp/VMFrame.java \
-	gnu/classpath/jdwp/VMIdManager.java \
-	gnu/classpath/jdwp/VMMethod.java \
-	gnu/classpath/jdwp/VMVirtualMachine.java \
 	gnu/classpath/VMStackWalker.java \
 	gnu/classpath/VMSystemProperties.java \
-	gnu/java/lang/management/VMClassLoadingMXBeanImpl.java \
-	gnu/java/lang/management/VMCompilationMXBeanImpl.java \
-	gnu/java/lang/management/VMGarbageCollectorMXBeanImpl.java \
-	gnu/java/lang/management/VMMemoryMXBeanImpl.java \
-	gnu/java/lang/management/VMMemoryManagerMXBeanImpl.java \
-	gnu/java/lang/management/VMMemoryPoolMXBeanImpl.java \
-	gnu/java/lang/management/VMRuntimeMXBeanImpl.java \
-	gnu/java/lang/management/VMThreadMXBeanImpl.java \
-	gnu/java/lang/VMInstrumentationImpl.java \
 	gnu/java/net/InetAddressImpl.java \
 	gnu/java/net/PlainDatagramSocketImpl.java \
 	gnu/java/net/PlainSocketImpl.java \
 	gnu/java/net/SysInetAddressImpl.java \
-	gnu/java/nio/VMChannel.java \
-	gnu/java/nio/VMPipe.java \
-	gnu/java/nio/VMSelector.java \
-	java/io/VMFile.java \
-	java/io/VMObjectInputStream.java \
-	java/io/VMObjectStreamClass.java \
-	java/lang/management/VMManagementFactory.java \
 	java/lang/Runtime.java \
-	java/lang/VMClass.java \
 	java/lang/VMClassLoader.java \
-	java/lang/VMCompiler.java \
-	java/lang/VMDouble.java \
-	java/lang/VMFloat.java \
-	java/lang/VMMath.java \
-	java/lang/VMObject.java \
 	java/lang/VMProcess.java \
 	java/lang/VMRuntime.java \
 	java/lang/VMString.java \
@@ -409,13 +383,9 @@
 	java/lang/reflect/Field.java \
 	java/lang/reflect/Method.java \
 	java/lang/reflect/VMArray.java \
-	java/lang/reflect/VMProxy.java \
 	java/net/InetAddress.java \
 	java/net/VMInetAddress.java \
-	java/net/VMNetworkInterface.java \
 	java/net/VMURLConnection.java \
-	java/nio/channels/VMChannels.java \
-	java/nio/VMDirectByteBuffer.java \
 	java/security/VMAccessController.java \
 	java/security/VMSecureRandom.java \
 	java/util/VMTimeZone.java \
@@ -531,7 +501,7 @@
 
 
 distdir: $(DISTFILES)
-	$(mkdir_p) $(distdir)/gnu/classpath $(distdir)/gnu/classpath/jdwp $(distdir)/gnu/java/lang $(distdir)/gnu/java/lang/management $(distdir)/gnu/java/net $(distdir)/gnu/java/nio $(distdir)/java/io $(distdir)/java/lang $(distdir)/java/lang/management $(distdir)/java/lang/ref $(distdir)/java/lang/reflect $(distdir)/java/net $(distdir)/java/nio $(distdir)/java/nio/channels $(distdir)/java/security $(distdir)/java/util $(distdir)/org/kaffe/jar $(distdir)/org/kaffe/management $(distdir)/org/kaffe/security $(distdir)/org/kaffe/security/provider $(distdir)/org/kaffe/util
+	$(mkdir_p) $(distdir)/gnu/classpath $(distdir)/gnu/java/net $(distdir)/java/lang $(distdir)/java/lang/ref $(distdir)/java/lang/reflect $(distdir)/java/net $(distdir)/java/security $(distdir)/java/util $(distdir)/org/kaffe/jar $(distdir)/org/kaffe/management $(distdir)/org/kaffe/security $(distdir)/org/kaffe/security/provider $(distdir)/org/kaffe/util
 	@srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \
 	topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \
 	list='$(DISTFILES)'; for file in $$list; do \
===================================================================
Checking out kaffe/libraries/javalib/vmspecific/gnu/classpath/jdwp/VMFrame.java
RCS:  /home/cvs/kaffe/kaffe/libraries/javalib/vmspecific/gnu/classpath/jdwp/Attic/VMFrame.java,v
VERS: 1.2
***************
--- kaffe/libraries/javalib/vmspecific/gnu/classpath/jdwp/VMFrame.java	Sat Aug 19 22:02:38 2006
+++ /dev/null	Sun Aug  4 19:57:58 2002
@@ -1,106 +0,0 @@
-/* VMFrame.java -- Reference implementation of VM hooks for JDWP Frame access.
-   Copyright (C) 2005, 2006 Free Software Foundation
-
-This file is part of GNU Classpath.
-
-GNU Classpath is free software; you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation; either version 2, or (at your option)
-any later version.
-
-GNU Classpath is distributed in the hope that it will be useful, but
-WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with GNU Classpath; see the file COPYING.  If not, write to the
-Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
-02110-1301 USA.
-
-Linking this library statically or dynamically with other modules is
-making a combined work based on this library.  Thus, the terms and
-conditions of the GNU General Public License cover the whole
-combination.
-
-As a special exception, the copyright holders of this library give you
-permission to link this library with independent modules to produce an
-executable, regardless of the license terms of these independent
-modules, and to copy and distribute the resulting executable under
-terms of your choice, provided that you also meet, for each linked
-terms of your choice, provided that you also meet, for each linked
-independent module, the terms and conditions of the license of that
-module.  An independent module is a module which is not derived from
-or based on this library.  If you modify this library, you may extend
-this exception to your version of the library, but you are not
-obligated to do so.  If you do not wish to do so, delete this
-exception statement from your version. */
-
-
-package gnu.classpath.jdwp;
-
-import gnu.classpath.jdwp.util.Location;
-
-/**
- * Reference implementation of VM hooks for JDWP Frame access.
- * 
- * @author aluchko 
- */
-
-public class VMFrame
-{
-  /**
-   * Returns the size of a frame ID over JDWP
-   */
-  public static final int SIZE = 8;
-
-  // The object this frame resides in
-  private Object obj;
-  
-  // The current location of this frame
-  private Location loc;
-  
-  // id of this frame
-  private long id;
-  
-  /**
-   * Gets the current location of the frame.
-   */
-  public Location getLocation()
-  {
-    return loc;
-  }
-
-  /**
-   * Returns the value of the variable in the given slot.
-   * 
-   * @param slot the slot containing the variable
-   */
-  public native Object getValue(int slot);
-
-  /**
-   * Assigns the given variable to the given value. 
-   * @param slot The slot which contains the variable
-   * @param value The value to assign the variable to
-   */
-  public native void setValue(int slot, Object value);
-
-  /**
-   * Get the object which is represented by 'this' in the context of the frame,
-   * returns null if the method is native or static.
-   */
-  public Object getObject()
-  {
-    return obj;
-  }
-
-  /**
-   * Get the frameID
-   * @return an id which is unique within the scope of the VM
-   */
-  public long getId()
-  {
-    return id;
-  }
-
-}
===================================================================
Checking out kaffe/libraries/javalib/vmspecific/gnu/classpath/jdwp/VMIdManager.java
RCS:  /home/cvs/kaffe/kaffe/libraries/javalib/vmspecific/gnu/classpath/jdwp/Attic/VMIdManager.java,v
VERS: 1.1
***************
--- kaffe/libraries/javalib/vmspecific/gnu/classpath/jdwp/VMIdManager.java	Sat Aug 19 22:02:39 2006
+++ /dev/null	Sun Aug  4 19:57:58 2002
@@ -1,427 +0,0 @@
-/* VMIdManager.java -- A reference/example implementation of a manager for
-   JDWP object/reference type IDs
-
-   Copyright (C) 2005 Free Software Foundation
-
-This file is part of GNU Classpath.
-
-GNU Classpath is free software; you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation; either version 2, or (at your option)
-any later version.
-
-GNU Classpath is distributed in the hope that it will be useful, but
-WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with GNU Classpath; see the file COPYING.  If not, write to the
-Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
-02110-1301 USA.
-
-Linking this library statically or dynamically with other modules is
-making a combined work based on this library.  Thus, the terms and
-conditions of the GNU General Public License cover the whole
-combination.
-
-As a special exception, the copyright holders of this library give you
-permission to link this library with independent modules to produce an
-executable, regardless of the license terms of these independent
-modules, and to copy and distribute the resulting executable under
-terms of your choice, provided that you also meet, for each linked
-terms of your choice, provided that you also meet, for each linked
-independent module, the terms and conditions of the license of that
-module.  An independent module is a module which is not derived from
-or based on this library.  If you modify this library, you may extend
-this exception to your version of the library, but you are not
-obligated to do so.  If you do not wish to do so, delete this
-exception statement from your version. */
-
-
-package gnu.classpath.jdwp;
-
-import gnu.classpath.jdwp.exception.InvalidClassException;
-import gnu.classpath.jdwp.exception.InvalidObjectException;
-import gnu.classpath.jdwp.id.*;
-
-import java.lang.ref.Reference;
-import java.lang.ref.ReferenceQueue;
-import java.lang.ref.SoftReference;
-import java.io.IOException;
-import java.nio.ByteBuffer;
-import java.util.HashMap;
-import java.util.Hashtable;
-import java.util.Iterator;
-
-/**
- * This class manages objects and referencetypes that are reported
- * to the debugger. All objects and referencetypes reported to the
- * debugger should go through this manager.
- *
- * A brief summary of what an <code>IdManager</code> must provide:
- *
- * <code>
- * public ObjectId getObjectId (Object theObject);
- * public ObjectId get (long id);
- * public ObjectId readObjectId (ByteBuffer bb);
- * public ReferenceTypeId getReferenceTypeId (Class clazz);
- * public ReferenceTypeId getReferenceType (long id);
- * public ReferenceTypeId readReferenceTypeId (ByteBuffer bb);
- * </code>
- *
- * See the javadoc on these methods later in this file for more
- * information on these functions.
- *
- * <b>NOTE:</b> All IDs handled by the ID manager (all object and reference
- * type IDs) are assumed to be of type <code>long</code>.
- *
- * @author Keith Seitz  (keiths at redhat.com)
- */
-public class VMIdManager
-{
-  // This factory generates ids for objects and types that may
-  // be sent to a debugger.
-  private static class IdFactory
-  {
-    // ID of last object / referencetype
-    private static Object _idLock = new Object ();
-    private static Object _ridLock = new Object ();
-    private static long _lastId = 0;
-    private static long _lastRid = 0;
-
-    // A list of all ID types
-    private static HashMap _idList = new HashMap ();
-
-    // Initialize the id list with known types
-    static
-    {
-      // ObjectId and ArrayId are special cases. See newObjectId.
-      _idList.put (ClassLoaderId.typeClass, ClassLoaderId.class);
-      _idList.put (ClassObjectId.typeClass, ClassObjectId.class);
-      //_idList.put (FieldId.typeClass, FieldId.class);
-      //_idList.put (FrameId.typeClass, FrameId.class);
-      //_idList.put (MethodId.typeClass, MethodId.class);
-      _idList.put (StringId.typeClass, StringId.class);
-      _idList.put (ThreadId.typeClass, ThreadId.class);
-      _idList.put (ThreadGroupId.typeClass, ThreadGroupId.class);
-    }
-
-    /**
-     * Returns a new id for the given object
-     *
-     * @param object  the object for which an id is desired
-     * @returns a suitable object id
-     */
-    public static ObjectId newObjectId (SoftReference obj)
-    {
-      ObjectId id = null;
-      Object object = obj.get ();
-
-      // Special case: arrays
-      if (object.getClass ().isArray ())
-	id = new ArrayId ();
-      else
-	{
-	  // Loop through all classes until we hit baseclass
-	  Class myClass;
-	  for (myClass = object.getClass (); myClass != null;
-	       myClass = myClass.getSuperclass ())
-	    {
-	      Class clz = (Class) _idList.get (myClass);
-	      if (clz != null)
-		{
-		  try
-		    {
-		      id = (ObjectId) clz.newInstance ();
-		      synchronized (_idLock)
-			{
-			  id.setId (++_lastId);
-			}
-		      id.setReference (obj);
-		      return id;
-		    }
-		  catch (InstantiationException ie)
-		    {
-		      // This really should not happen
-		      throw new RuntimeException ("cannot create new ID", ie);
-		    }
-		  catch (IllegalAccessException iae)
-		    {
-		      // This really should not happen
-		      throw new RuntimeException ("illegal access of ID", iae);
-		    }
-		}
-	    }
-
-	  /* getSuperclass returned null and no matching ID type found.
-	     So it must derive from Object. */
-	  id = new ObjectId ();
-	}
-
-      synchronized (_idLock)
-	{
-	  id.setId (++_lastId);
-	}
-      id.setReference (obj);
-      return id;
-    }
-
-    /**
-     * Returns a new reference type id for the given class
-     *
-     * @param clazz  the <code>Class</code> for which an id is desired
-     * @returns a suitable reference type id or null when the
-     * reference is cleared.
-     */
-    public static ReferenceTypeId newReferenceTypeId (SoftReference ref)
-    {
-      ReferenceTypeId id;
-      Class clazz = (Class) ref.get ();
-      if (clazz == null)
-	return null;
-
-      if (clazz.isArray ())
-	id = new ArrayReferenceTypeId ();
-      else if (clazz.isInterface ())
-	id = new InterfaceReferenceTypeId ();
-      else
-	id = new ClassReferenceTypeId ();
-      synchronized (_ridLock)
-	{
-	  id.setId (++_lastRid);
-	}
-      return id;
-    }
-  }
-
-  /**
-   * This class is a SoftReferenceIdentity type that is used by
-   * the ID manager.
-   */
-  class ReferenceKey extends SoftReference
-  {
-    // Hash code of referent
-    private int _hash;
-
-    /**
-     * Constructs a new <code>ReferenceKey</code> object
-     * with the given referent.
-     *
-     * <p>This constructor should only be used for object lookups
-     * by the backend.
-     *
-     * @param referent  the object to reference
-     */
-    public ReferenceKey (Object referent)
-    {
-      super (referent);
-      _hash = referent.hashCode ();
-    }
-    
-    /**
-     * Constructs a new <code>ReferenceKey</code> object
-     * with the given referent and reference queue.
-     *
-     * <p>The JDWP back-end stores a <code>ReferenceKey</code>
-     * with its corresponding <code>JdwpId</code>. This constructor
-     * is used by the back-end when adding new IDs to be managed.
-     *
-     * @param referent  the object to reference
-     * @param queue     the queue to which to report garbage collections
-     */
-    public ReferenceKey (Object referent, ReferenceQueue queue)
-    {
-      super (referent, queue);
-      _hash = referent.hashCode ();
-    }
-    
-    /**
-     * Returns the hash code of the referent.
-     * This seems hacky, but is required in order to use this class
-     * as a hash table key.
-     *
-     * @returns the hash code of the referent
-     */
-    public int hashCode ()
-    {
-      return _hash;
-    }
-
-    /**
-     * Comparator for keys
-     *
-     * This method can be used in two ways:
-     *
-     * <ol>
-     *    <li>For table lookups, where we want to compare referents</li>
-     *    <li>For clearing GCd objects, where we want to compare the actual
-     *        key object (not the referent)</li>
-     * </ol>
-     */
-    public boolean equals (Object obj)
-    {
-      if (obj instanceof ReferenceKey)
-	{
-	  ReferenceKey ref = (ReferenceKey) obj;
-	  
-	  /* First check if the two references are the same.
-	     If they are, that means we must be clearing GCd objects. */
-	  if (this == obj)
-	    return true;
-	  
-	  return (ref.get () == get ());
-	}
-      
-      return false;
-    }
-  }
-  
-  // instance of VMIdManager
-  private static VMIdManager _idm = new VMIdManager ();
-
-  // A reference queue for our objects
-  private ReferenceQueue _refQueue;
-
-  // Mapping of objects (ReferenceKey) to IDs (ObjectId)
-  private Hashtable _oidTable;
-
-  // Mapping of ID numbers (Long) to IDs (ObjectId)
-  private Hashtable _idTable;
-
-  /* Mapping of class (ReferenceKey) to IDs (ReferenceTypeId) for reference
-     types. Unlike other types, reference id types are NEVER released. */
-  private Hashtable _classTable;
-
-  // Mapping of ID numbers (Long) to reference type IDs (ReferenceTypeId)
-  private Hashtable _ridTable;
-
-  /**
-   * Gets the instance of VMIdManager, constructing a new one
-   * if none currently exists.
-   */
-  public static VMIdManager getDefault ()
-  {
-    return _idm;
-  }
-
-  // Constructs a new <code>IdManager</code>
-  private VMIdManager ()
-  {
-    _refQueue = new ReferenceQueue ();
-    _oidTable = new Hashtable (50);
-    _idTable = new Hashtable (50);
-    _classTable = new Hashtable (20);
-    _ridTable = new Hashtable (20);
-  }
-
-  // Updates the object ID table, removing IDs whose objects have
-  // been garbage collected.
-  private void _update ()
-  {
-    Reference ref;
-    while ((ref = _refQueue.poll ()) != null)
-      {
-	ObjectId id = (ObjectId) _oidTable.get (ref);
-	_oidTable.remove (ref);
-	_idTable.remove (new Long (id.getId ()));
-      }
-  }
-
-  /**
-   * Returns an id for the given object, adding it
-   * if it does not have an id.
-   *
-   * @param theObject  the object to get an ID/add
-   * @returns  the ID of the object
-   */
-  public ObjectId getObjectId (Object theObject)
-  {
-    ReferenceKey ref = new ReferenceKey (theObject, _refQueue);
-    ObjectId id = (ObjectId) _oidTable.get (ref);
-    if (id == null)
-      {
-	// update the tables -- this is an arbitrary place to put this
-	_update ();
-
-	// Object not found. Make new id for it
-	id = IdFactory.newObjectId (ref);
-	_oidTable.put (ref, id);
-	_idTable.put (new Long (id.getId ()), id);
-      }
-
-    return id;
-  }
-
-  /**
-   * Returns the <code>JdwpId</code> for a given ID. Unlike
-   * <code>getId</code>, it throws an exception if the ID is not
-   * known.
-   *
-   * @param id  the numerical ID of the desired <code>JdwpId</code>
-   * @throws InvalidObjectException if the ID is not found
-   */
-  public ObjectId get (long id)
-    throws InvalidObjectException
-  {
-    ObjectId oid = (ObjectId) _idTable.get (new Long (id));
-    if (oid == null)
-      throw new InvalidObjectException (id);
- 
-    return oid;
-  }
-
-  public ObjectId readObjectId (ByteBuffer bb)
-    throws InvalidObjectException
-  {
-    long id = bb.getLong ();
-    return get (id);
-  }
-
-  /**
-   * Gets the reference type id for the given class, creating
-   * a new one if it does not already have an id
-   *
-   * @param clazz  the class for which to get an ID
-   * @returns  the ID of the class
-   */
-  public ReferenceTypeId getReferenceTypeId (Class clazz)
-  {
-    ReferenceKey ref = new ReferenceKey (clazz);
-    ReferenceTypeId id = (ReferenceTypeId)_classTable.get (ref);
-    if (id == null)
-      {
-	// Object not found. Make new id for it
-	id = IdFactory.newReferenceTypeId (ref);
-	_classTable.put (ref, id);
-	_ridTable.put (new Long (id.getId ()), id);
-      }
-
-    return id;
-  }
-
-  /**
-   * Returns the <code>ReferenceTypeId</code> for a given ID. Unlike
-   * <code>getReferenceTypeId</code>, it throws an exception if the ID is not
-   * known.
-   *
-   * @param id  the numerical ID of the desired reference type
-   * @throws InvalidClassException if the ID is not found
-   */
-  public ReferenceTypeId getReferenceType (long id)
-    throws InvalidClassException
-  {
-    ReferenceTypeId rid = (ReferenceTypeId) _ridTable.get (new Long (id));
-    if (rid == null)
-      throw new InvalidClassException (id);
- 
-    return rid;
-  }
-
-  public ReferenceTypeId readReferenceTypeId (ByteBuffer bb)
-    throws InvalidClassException
-  {
-    long id = bb.getLong ();
-    return getReferenceType (id);
-  }
-}
===================================================================
Checking out kaffe/libraries/javalib/vmspecific/gnu/classpath/jdwp/VMMethod.java
RCS:  /home/cvs/kaffe/kaffe/libraries/javalib/vmspecific/gnu/classpath/jdwp/Attic/VMMethod.java,v
VERS: 1.1
***************
--- kaffe/libraries/javalib/vmspecific/gnu/classpath/jdwp/VMMethod.java	Sat Aug 19 22:02:39 2006
+++ /dev/null	Sun Aug  4 19:57:58 2002
@@ -1,178 +0,0 @@
-/* VMMethod.java -- a method in a virtual machine
-   Copyright (C) 2006 Free Software Foundation, Inc.
-
-This file is part of GNU Classpath.
-
-GNU Classpath is free software; you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation; either version 2, or (at your option)
-any later version.
-
-GNU Classpath is distributed in the hope that it will be useful, but
-WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with GNU Classpath; see the file COPYING.  If not, write to the
-Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
-02110-1301 USA.
-
-Linking this library statically or dynamically with other modules is
-making a combined work based on this library.  Thus, the terms and
-conditions of the GNU General Public License cover the whole
-combination.
-
-As a special exception, the copyright holders of this library give you
-permission to link this library with independent modules to produce an
-executable, regardless of the license terms of these independent
-modules, and to copy and distribute the resulting executable under
-terms of your choice, provided that you also meet, for each linked
-terms of your choice, provided that you also meet, for each linked
-independent module, the terms and conditions of the license of that
-module.  An independent module is a module which is not derived from
-or based on this library.  If you modify this library, you may extend
-this exception to your version of the library, but you are not
-obligated to do so.  If you do not wish to do so, delete this
-exception statement from your version. */
-
-
-package gnu.classpath.jdwp;
-
-import java.io.DataOutputStream;
-import java.io.IOException;
-import java.nio.ByteBuffer;
-
-import gnu.classpath.jdwp.exception.JdwpException;
-import gnu.classpath.jdwp.util.LineTable;
-import gnu.classpath.jdwp.util.VariableTable;
-
-/**
- * This class is really an amalgamation of two classes: one class
- * represents a virtual machine method and the other represents
- * the JDWP back-end's ID for the method.
- *
- * @author Keith Seitz  (keiths at redhat.com)
- */
-public class VMMethod
-{
-  /**
-   * Returns the size of a JDWP method ID
-   * @see gnu.classpath.jdwp.id.JdwpId#SIZE
-   */
-   public static final int SIZE = 8;
-
-  // The class in which this method is declared
-  private Class _class;
-
-  // The method's ID
-  private long _methodId;
-
-  /**
-   * Constructs a new VMMethod object. This constructor is protected
-   * so that only the factory methods of VMVirtualMachine can be used
-   * to create VMMethods.
-   *
-   * @param klass the method's containing class
-   * @param id    method identifier, e.g., jmethodID
-   * @see gnu.classpath.jdwp.VMVirtualMachine#getAllClassMethods
-   * @see gnu.classpath.jdwp.VMVirtualMachine#getClassMethod
-   */
-  protected VMMethod(Class klass, long id)
-  {
-    _class = klass;
-    _methodId = id;
-  }
-
-  /**
-   * Returns the internal method ID for this method
-   */
-  public long getId()
-  {
-    return _methodId;
-  }
-
-  /**
-   * Returns the method's declaring class
-   */
-  public Class getDeclaringClass()
-  {
-    return _class;
-  }
-
-  /**
-   * Returns the name of this method
-   */
-  public native String getName();
-
-  /**
-   * Returns the signature of this method
-   */
-  public native String getSignature();
-
-  /**
-   * Returns the method's modifier flags
-   */
-  public native int getModifiers();
-
-  /**
-   * "Returns line number information for the method, if present. The line
-   * table maps source line numbers to the initial code index of the line.
-   * The line table is ordered by code index (from lowest to highest). The
-   * line number information is constant unless a new class definition is
-   * installed using RedefineClasses."
-   *
-   * @return the line table
-   * @throws JdwpException
-   */
-  public native LineTable getLineTable()
-    throws JdwpException;
-
-  /**
-   * "Returns variable information for the method. The variable table
-   * includes arguments and locals declared within the method. For instance
-   * methods, the "this" reference is included in the table. Also, synthetic
-   * variables may be present."
-   *
-   * @return the variable table
-   * @throws JdwpException
-   */
-  public native VariableTable getVariableTable()
-    throws JdwpException;
-
-  /**
-   * Returns a string representation of this method (not
-   * required but nice for debugging).
-   */
-  public String toString()
-  {
-    return getDeclaringClass().getName() + "." + getName();
-  }
-
-  /**
-   * Writes the method's ID to the output stream
-   *
-   * @param ostream the output stream to which to write
-   * @throws IOException for any errors writing to the stream
-   * @see gnu.classpath.jdwp.id.JdwpId#write
-   */
-  public void writeId(DataOutputStream ostream)
-    throws IOException
-  {
-    ostream.writeLong(getId());
-  }
-
-  /**
-   * Returns a VMMethod from the ID in the byte buffer
-   *
-   * @param klass the method's declaring class
-   * @param bb    a ByteBuffer containing the method's ID
-   * @throws JdwpException for any errors creating the method
-   * @throws IOException for any errors reading from the buffer
-   */
-  public static VMMethod readId(Class klass, ByteBuffer bb)

*** Patch too long, truncated ***




More information about the kaffe mailing list