harmony-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Jesse Wilson (JIRA)" <j...@apache.org>
Subject [jira] Created: (HARMONY-6346) Several archive bugfixes and optimizations
Date Sat, 03 Oct 2009 00:32:23 GMT
Several archive bugfixes and optimizations

                 Key: HARMONY-6346
                 URL: https://issues.apache.org/jira/browse/HARMONY-6346
             Project: Harmony
          Issue Type: Improvement
          Components: Classlib
         Environment: SVN Revision: 820775
            Reporter: Jesse Wilson
            Priority: Minor
         Attachments: archive_from_android.patch

The attached patch includes several miscellaneous bugfixes, optimizations and simplifications
that we created for Android's copy of the archive module.  Here's an overview of what's changed:

  Removes a bogus magic number check. Previously I submitted a patch to get this check to
work; but the whole premise is flawed. To demonstrate, attempt to inflate data that was deflated
using non-default settings.

InflaterInputStream, ZipInputStream, GZIPInputStream
  These now make sure that available() returns 0 when the end of the stream is reached. Previously
available() could return 1 even if read() was guaranteed to return -1.

  Slight performance fix: cast from long to int only once

  Verifies the entry when the last byte is returned. This is similar to the available() problem
in ZipInputStream etc.
  Move getMetaEntriesImpl() from native to Java.

  Limit the amount of memory used while reading files. Previously we would create arbitrarily
large buffers.
  Move several methods from native to Java.

  Keep resource bundles in memory with soft references
  Use the system classloader always.

  New tests to demonstrate problems above, recovery on broken manifests, verification of empty

Note that there are some problems with the patch, so it should not be applied! I will to upload
an improved patch early next week. I figured I'd let everyone preview the patch in its current
state; the problems are minor and include removing dead code and fixing tests with invalid

This message is automatically generated by JIRA.
You can reply to this email to add a comment to the issue online.

View raw message