You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@harmony.apache.org by "Ronald Servant (JIRA)" <ji...@apache.org> on 2007/05/15 22:54:17 UTC

[jira] Updated: (HARMONY-3563) modify VMI to hide internal VM data structures exposed by getZipCachePool() VMI function

     [ https://issues.apache.org/jira/browse/HARMONY-3563?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Ronald Servant updated HARMONY-3563:
------------------------------------

    Attachment: harmony_zip_api_may152007_a.txt

This updated patch (harmony_zip_api_may152007_a.txt) provides an implementation for a new zip api in the VMI.

To enable the new api add -Dhy.zip.api=true  to the ant command line.

> modify VMI to hide internal VM data structures exposed by getZipCachePool() VMI function
> ----------------------------------------------------------------------------------------
>
>                 Key: HARMONY-3563
>                 URL: https://issues.apache.org/jira/browse/HARMONY-3563
>             Project: Harmony
>          Issue Type: Improvement
>          Components: Classlib
>            Reporter: Ronald Servant
>         Assigned To: Mark Hindess
>         Attachments: harmony_zip_api_may152007_a.txt, zipvmi_03042007_patch.txt
>
>
> When the VMI was orginially created the function getZipCachePool() was added.
> This function allows the classlib and the VM to share the same cache of open zip files. Providing a performance improvement when handling zip files.
> This function, getZipCachePool(), returns a pointer to a HyZipCachePool.   This structure is not an opaque structure, it is fully defined and visible.  
> struct HyZipCachePool
> {
>   HyPool *pool;
>   HyZipCache *desiredCache;
>   I_64 zipTimeStamp;
>   char const *zipFileName;
>   IDATA zipFileNameLength;
>   IDATA zipFileSize;
>   MUTEX mutex;
> };
> If a VM uses any of these structures internally for anything other than the HyZipCachePool implementation, then the VM can never change the shape of those structures.  If it does, it will result in a runtime crash or compile time error, depending on how the VM is built and deployed.
> Two prime examples of structures that may be changed by the internal implementation of the VM are HyPool and MUTEX.

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