[cp-patches] [generics] Patch: RFC: import jsr166
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
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