Andrew John Hughes wrote:
On 18/08/2008, Ian Rogers <[EMAIL PROTECTED]> wrote:
Thanks Andrew,

 Andrew John Hughes wrote:

On 18/08/2008, Ian Rogers <[EMAIL PROTECTED]> wrote:


Hi,

 currently there are 3 patches waiting to go into GNU Classpath from
 Jikes RVM:



Note that 0.98 is very imminent i.e. I'd like it to be released this
week and most of it has already been merged to GCJ.



 1) Thread Local improvements:
 http://jira.codehaus.org/browse/RVM-185

http://jikesrvm.svn.sourceforge.net/viewvc/jikesrvm/rvmroot/trunk/build/components/patches/classpath-cvs.RVM-185.patch?revision=13369&view=markup
 I believe this is stalled waiting for Daniel's FSF paper work. This
 patch would be a big performance win for many VMs.



The assignment is still pending.  The last e-mail I have is Daniel's
assignment form on 11th June.  I've pinged to see what's going on.


 Great! Getting this into 0.98 would be a real feature.


I hope your luck's in then and the assignment has been done... :)

 2) ZipEntry improvements:
 http://jira.codehaus.org/browse/RVM-392

http://jikesrvm.svn.sourceforge.net/viewvc/jikesrvm/rvmroot/trunk/build/components/patches/classpath-cvs.RVM-392.patch?revision=14005&view=markup
 This patch cleans up the use of Calendar in ZipEntry and avoids
 unnecessary bouncing between UNIX and DOS time formats. Possible
 bootstrap issues were raised by Tom Tromey, so the patch is still
 pending. Here's the e-mail thread:

http://www.nabble.com/RFC%3A-tweaks-to-java.util.zip.ZipEntry-to15289313.html#a15289313

I'm sceptical about committing this one for 0.98 if there may be
issues.  I assume the gain is it not using a synchronized method to
initialise the Calendar?  Have you considered the initialization on
demand holder idiom instead?


http://en.wikipedia.org/wiki/Initialization_on_demand_holder_idiom
It's also mentioned in the JSR166 book by Doug Lea et. al.  I can see
why initialising Calendar as a prerequisite for zip support might
cause a lot of problems and I don't think we have time to test it well
enough for this release.


 Sorry, this change is a bit more involved than initialization on demand.
Basically the normal use for a ZipEntry is for reading. In the current code
to read an entry we must also convert the date (that is in DOS form in a
ZIP) into a canonical unix time form, hence the requirement for a Calendar
(and boot strap problems if the Calendar is in the zip). The main point of
the patch is that we only really need the canonical time if we are writing
the ZipEntry or if someone is querying it, in such a circumstance calling
Calendar.getInstance() is fine and any caching can be done there.

 The patch is necessary for Jikes RVM as it avoids a boot strap issue (we
don't need a Calendar to be in the boot image before we start reading a
zip). I *really* don't want Calendars in Jikes RVM's boot image as I have to
hand code conversion code between the different JDK and Classpath formats,
hence initialization on demand is definitely not a solution.

 This patch is a good thing in my opinion and hasn't caused any issues for
Jikes RVM, I would like to see it included in 0.98. It will help other VMs
with the same bootstrap issue.


Your discussion made no sense at first, until I realised you were
linking to your first attempt at a patch. The real one is completely
different:

  
http://www.nabble.com/Re%3A-RFC%3A-tweaks-to-java.util.zip.ZipEntry-p15331002.html

and now your comments make sense... ;) Have you tested with any other VMs?

Sorry about that, it's the same thread just at the end rather than the initial patch. What are these other VMs you speak of ;-) Can I apply it and see if something somewhere falls over then fix it, rather than pre-emptively finding things out about VMs I don't use.

 3) AIX build fix:
 http://jira.codehaus.org/browse/RVM-526

http://jikesrvm.svn.sourceforge.net/viewvc/jikesrvm/rvmroot/trunk/build/components/patches/classpath-cvs.RVM-526.patch?revision=14551&view=markup
 This is a small patch that fixes a problem for builds on AIX, I believe
 it would be safe to commit it.



I think I've seen this before.  Seems fine.  Can you forward it for
discussion on cp-patches?


 Maybe Dave can, he's assigned the issue to himself.


The patch seems trivial enough, just breaking the process up
presumably due to resource constraints on AIX.  But I don't think it
has been posted to the Classpath list at all so far.

Posted.

 Thanks,

 Ian






Reply via email to