[cp-patches] [generics] Patch: RFC: import jsr166

Tom Tromey tromey at redhat.com
Thu Jun 15 18:48:49 UTC 2006

>>>>> "Mark" == Mark Wielaard <mark at klomp.org> writes:

>> This patch imports the jsr166 reference implementation.  This is
>> implements java.util.concurrency.

Mark> Nice. I'll write fsf legal to let them know how we are importing this
Mark> for the records. Please wait with the actual import till we get an ack
Mark> back.

We got the ack recently, so I am going to start the import today.

Mark> This seems nice except for that ignored null argument. Unfortunately I
Mark> don't have the code here (sitting in the train) to see how it is
Mark> actually used. Could you add an explicit check for ingnored == null so
Mark> we won't get a surprize later when someone does want to use it?

I will go one better and make the argument type in Unsafe an
unaccessible inner class.  That way if the argument, whatever it is,
ever is not null, we'll see a compile-time error during the import.

Mark> Also is
Mark> VMStackWalker the right place? This doesn't really seem runtime specific
Mark> or really optimizable beyond what you have written.

I am going to follow Jeroen's suggestion and not rename this.  So it
will be in sun.something instead.

>> * Import of the RI code (after running the sanitize script).
>> There are a couple minor hand-written changes as well, one to work
>> around an apparent ecj bug.
>> The upstream code goes in external/jsr166/

Mark> Where are these changes? They should be mentioned in the
Mark> external.jsr166/readme. Have you tried to submit them upstream? How do
Mark> we make sure they aren't lost on subsequent imports?

I will do a real cvs import and then apply these as patches.  I'll
also document this process.  I think they are probably bugs in the
version of ecj I happen to have.  I doubt upstream would be that

>> * Removal of our versions of some classes provided with the RI:
>> AbstractQueue and Queue.

Mark> How are these removed? This isn't done by the sanitize script.

I will cvs rm them.  We no longer need the versions I wrote in
Classpath, since the RI provides them.

>> Index: external/jsr166/readme

Mark> Missing g in [g]roup.

The 'readme' file comes from upstream, not from me.


More information about the Classpath-patches mailing list