>>>>> "Andrew" == Andrew John Hughes <gnu_andrew@xxxxxxxxxxxxxx> writes: Andrew> There are already a few changes on the branch, and I'm not Andrew> sure whether this is in sync with HEAD. We need to go through Andrew> the branch and check things like this. I thought Jeroen went through this a while back and either changed the branch or ported changes from the branch back to the trunk, to keep them in sync. Or am I misremembering this? Andrew> Are there actually any Andrew> changes that require signatures in the VM layer that won't Andrew> compile on HEAD? If not, then presumably they can be added to Andrew> HEAD as well. I think not right now, but I didn't look into every detail. But e.g. we can't add the annotation support to the trunk as it requires new things, like annotation interfaces. I made a list of all the 1.5 VM layer changes I could think of: - Thread changes Most can be back ported easily, I think. One API requires an enum I have like 1 method or something in my generics tree. - nanoTime Can be back ported I have a really dumb implementation in my generics tree - inherited channel Can be back ported - reflection code (not annotations) Can be back ported; I've got the patch - concurrency A pretty tricky API. Derived from Doug Lea's implementation, so at least for now we don't control it. This is going to give Jeroen fits I think :-) I've got this stubbed in my tree, waiting for some time to pretty it up and submit. This can't be back-ported, too much 1.5 stuff in there (probably much of it *could* be, by removing generics and hoping that covariant returns don't bite... but let's not). - annotations Requires 1.5 features - I think there are some new AWT features requiring peers, but I didn't look in depth All of these are going to break compatibility in our VM layer. It would be nice if we could agree on some general protocol for making changes here, since we're going to do it a few times... we definitely don't want to do this all at once, as the patch would be enormous. Tom