RFR(XS): 8149973: Optimize object alignment check in debug builds.

Dmitry Dmitriev dmitry.dmitriev at oracle.com
Wed Mar 2 16:58:19 UTC 2016


Coleen, thank you!

Dmitry

On 02.03.2016 19:32, Coleen Phillimore wrote:
> Dmitry,
> That change looks nice!
> Coleen
>
> On 3/2/16 11:03 AM, Dmitry Dmitriev wrote:
>> Hello Coleen,
>>
>> I implement refactoring which removes repeating of '&' expression.
>> In g1OopClosures.inline.hpp and g1RemSet.inline.hpp I removed 
>> extracting of oopDesc* from oop and added call to check_obj_alignment 
>> instead.
>> Updated webrev.01: 
>> http://cr.openjdk.java.net/~ddmitriev/8149973/webrev.01/ 
>> <http://cr.openjdk.java.net/%7Eddmitriev/8149973/webrev.01/>
>> Testing: jprt, hotspot_all & vm.quick(still in progress, no new 
>> failures).
>>
>> Thanks,
>> Dmitry
>>
>>
>> On 24.02.2016 15:35, Coleen Phillimore wrote:
>>>
>>> From
>>> http://cr.openjdk.java.net/~ddmitriev/8149973/webrev.00/src/share/vm/gc/g1/g1OopClosures.inline.hpp.udiff.html 
>>>
>>> http://cr.openjdk.java.net/~ddmitriev/8149973/webrev.00/src/share/vm/gc/g1/g1RemSet.inline.hpp.udiff.html 
>>>
>>>
>>> Can you just call
>>>
>>>    assert(check_obj_alignment(o), "not oop aligned");
>>>
>>> rather than repeating the & expression?   The check_obj_alignment is 
>>> inlined.
>>>
>>> Coleen
>>>
>>> On 2/24/16 5:42 AM, Dmitry Dmitriev wrote:
>>>> Hello,
>>>>
>>>> Please, review small optimization to the object alignment check in 
>>>> the debug builds. In this fix I replace division by 
>>>> MinObjAlignmentInBytes to bitwise AND operation with 
>>>> MinObjAlignmentInBytesMask, because MinObjAlignmentInBytes is a 
>>>> power of two. Suggested construction already used in 
>>>> MacroAssembler, e.g. 
>>>> hotspot/src/cpu/x86/vm/c1_MacroAssembler_x86.cpp).
>>>>
>>>> JBS: https://bugs.openjdk.java.net/browse/JDK-8149973
>>>> webrev.00: http://cr.openjdk.java.net/~ddmitriev/8149973/webrev.00/ 
>>>> <http://cr.openjdk.java.net/%7Eddmitriev/8149973/webrev.00/>
>>>> Testing: jprt, hotspot_all
>>>>
>>>> Thanks,
>>>> Dmitry
>>>
>>
>



More information about the hotspot-dev mailing list