[8u20, 9] RFR(S): 8011646 : SEGV in compiled code with loop predication

Albert albert.noll at oracle.com
Wed May 28 21:53:30 UTC 2014


Vladimir, Roland, thanks for looking at this.

Best,
Albert
On 05/28/2014 11:40 PM, Vladimir Kozlov wrote:
> On 5/28/14 1:42 PM, Roland Westrelin wrote:
>>> http://cr.openjdk.java.net/~anoll/8011646/webrev.00/
>>
>> That looks good to me.
>>
>> Is anything changed in those lines?
>
> It is only 'Node *' to 'Node* ' change. 'udiffs' show that cleanly.
>
Yes, I just put the '*' uniformly to the left side.

> Vladimir
>
>>
>> 4046   Node* lock_mask      = 
>> _gvn.MakeConX(markOopDesc::biased_lock_mask_in_place);
>> 4047   Node* lmasked_header = _gvn.transform(new (C) AndXNode(header, 
>> lock_mask));
>> 4048   Node* unlocked_val   = 
>> _gvn.MakeConX(markOopDesc::unlocked_value);
>> 4049   Node* chk_unlocked   = _gvn.transform(new (C) CmpXNode( 
>> lmasked_header, unlocked_val));
>> 4050   Node* test_unlocked  = _gvn.transform(new (C) BoolNode( 
>> chk_unlocked, BoolTest::ne));
>>
>> 4058   Node* hash_mask      = _gvn.intcon(markOopDesc::hash_mask);
>> 4059   Node* hash_shift     = _gvn.intcon(markOopDesc::hash_shift);
>> 4060   Node* hshifted_header= _gvn.transform(new (C) 
>> URShiftXNode(header, hash_shift));
>>
>> 4066   Node* hash_val       = _gvn.transform(new (C) 
>> AndINode(hshifted_header, hash_mask));
>>
>> 4068   Node* no_hash_val    = _gvn.intcon(markOopDesc::no_hash);
>> 4069   Node* chk_assigned   = _gvn.transform(new (C) CmpINode( 
>> hash_val, no_hash_val));
>> 4070   Node* test_assigned  = _gvn.transform(new (C) BoolNode( 
>> chk_assigned, BoolTest::eq));
>>
>> Roland.
>>



More information about the hotspot-compiler-dev mailing list