[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [cp-patches] [PATCH/JDWP] VMVirtualMachine, JdwpConstants, Jdwp
From: |
Mark Wielaard |
Subject: |
Re: [cp-patches] [PATCH/JDWP] VMVirtualMachine, JdwpConstants, Jdwp |
Date: |
Sun, 04 Sep 2005 20:43:54 +0200 |
Hi Keith,
On Fri, 2005-09-02 at 17:18 -0700, Keith Seitz wrote:
> While these are the last of the outstanding files, rest assured that
> both Jdwp.java and VMVirtualMachine.java are exceptionally likely to
> change (perhaps quite dramatically) in the coming weeks, as I begin
> checking in a gcj-specific implementation to utilize all this code.
>
> With this, classpath should now also build with jdwp code. At the
> maintainer's discretion, vm/reference/standard.omit and
> lib/standard.omit may both be changed to permit the inclusion of this code.
Great, thanks a lot.
One reason to enable the code is so people will use alternative
compilers which might pick up errors/warnings that the (ehe, liberal)
gcj might miss. jikes shocked on two errors in the code for which my
proposed fixes are as follows:
2005-09-04 Mark Wielaard <address@hidden>
* gnu/classpath/jdwp/event/filters/ClassMatchFilter.java
(matches): Remove InvalidClassException since it is never thrown.
* vm/reference/gnu/classpath/jdwp/VMIdManager.java
(newReferenceTypeId): Only return null when SoftReference is cleared,
don't catch InstantiationException or IllegalAccessException since
they are never thrown.
(Both cvs diff -w and normal cvs diff -u output attached)
What do you think?
That makes everything compile with jikes for me.
That said I think I keep it disabled for the snapshot release (0.18)
that I hope we will push out tomorrow (Monday). (You will be in good
company with the qt4 peers and new stax implementation.) And add a note
to the NEWS file that these technologies are not out-of-the-box ready,
but that people who are really interested should try them out and join
the mailinglist to follow the progress in CVS. As soon as we have
released 0.18 I want to enable the compilation of this code in CVS so
everybody can share and enjoy in the bug fixing.
Cheers,
Mark
Index: gnu/classpath/jdwp/event/filters/ClassMatchFilter.java
===================================================================
RCS file:
/cvsroot/classpath/classpath/gnu/classpath/jdwp/event/filters/ClassMatchFilter.java,v
retrieving revision 1.1
diff -u -w -r1.1 ClassMatchFilter.java
--- gnu/classpath/jdwp/event/filters/ClassMatchFilter.java 26 Aug 2005
21:52:28 -0000 1.1
+++ gnu/classpath/jdwp/event/filters/ClassMatchFilter.java 4 Sep 2005
18:40:44 -0000
@@ -95,8 +95,6 @@
Object type = event.getParameter (ReferenceTypeId.class);
if (type != null)
{
- try
- {
Class eventClass = (Class) type;
String name = eventClass.getName ();
@@ -109,12 +107,6 @@
}
else
return name.matches (_pattern);
- }
- catch (InvalidClassException ice)
- {
- // the class is no longer valid
- return false;
- }
}
return false;
Index: vm/reference/gnu/classpath/jdwp/VMIdManager.java
===================================================================
RCS file:
/cvsroot/classpath/classpath/vm/reference/gnu/classpath/jdwp/VMIdManager.java,v
retrieving revision 1.2
diff -u -w -r1.2 VMIdManager.java
--- vm/reference/gnu/classpath/jdwp/VMIdManager.java 25 Aug 2005 00:47:49
-0000 1.2
+++ vm/reference/gnu/classpath/jdwp/VMIdManager.java 4 Sep 2005 18:40:44
-0000
@@ -170,15 +170,16 @@
* 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 <code>null</code>
+ * @returns a suitable reference type id or null when the
+ * reference is cleared.
*/
public static ReferenceTypeId newReferenceTypeId (SoftReference ref)
{
- ReferenceTypeId id = null;
+ ReferenceTypeId id;
Class clazz = (Class) ref.get ();
+ if (clazz == null)
+ return null;
- try
- {
if (clazz.isArray ())
id = new ArrayReferenceTypeId ();
else if (clazz.isInterface ())
@@ -190,15 +191,6 @@
id.setId (++_lastRid);
}
return id;
- }
- catch (InstantiationException ie)
- {
- return null;
- }
- catch (IllegalAccessException iae)
- {
- return null;
- }
}
}
jdwp.patch
Description: Text Data
signature.asc
Description: This is a digitally signed message part