harmony-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Regis <xu.re...@gmail.com>
Subject Re: call for review: (HARMONY-6257) [classlib][luni] - Optimize OSMemory.get/setByteArray
Date Thu, 09 Jul 2009 10:24:27 GMT
Regis wrote:
> Regis Xu (JIRA) wrote:
>>      [ 
>> https://issues.apache.org/jira/browse/HARMONY-6257?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel

>> ]
>>
>> Regis Xu updated HARMONY-6257:
>> ------------------------------
>>
>>     Attachment: HARMONY-6257.diff
>>
>>> [classlib][luni] - Optimize OSMemory.get/setByteArray
>>> -----------------------------------------------------
>>>
>>>                 Key: HARMONY-6257
>>>                 URL: https://issues.apache.org/jira/browse/HARMONY-6257
>>>             Project: Harmony
>>>          Issue Type: Improvement
>>>          Components: Classlib
>>>    Affects Versions: 5.0M10
>>>            Reporter: Regis Xu
>>>         Attachments: HARMONY-6257.diff
>>>
>>>
>>> in getByteArray, use SetByteArrayRegion to avoid memory copy from 
>>> java to native
>>> in setByteArray, Get/ReleasePrimitiveArrayCritical instead of 
>>> GetByteArrayElements/ReleaseByteArrayElements to avoid memory copy.
>>
> 
> I just found in OSMemory.c, get/setByteArray do some unnecessary memory 
> copies between Java and native.
> 
> In getByteArray, GetByteArrayElements copy data from java to native, and 
> then ReleaseByteArrayElements do the reverse, I think using 
> SetByteArrayRegion is enough.
> 
> In setByteArray, I found JNI calls 
> GetPrimitiveArrayCritical/ReleasePrimitiveArrayCritical could get a 
> pointer to the primitive array without any copy, but seems they has some 
> side effects (on GC?), I don't have much confidence that they can apply 
> here. I hope some one can give some advices about this patch. Thanks.
> 

The patch passed all luni and nio tests, if no one objected, I'd like to commit it.

-- 
Best Regards,
Regis.

Mime
View raw message