[8u20, 9] RFR(S): 8011646 : SEGV in compiled code with loop predication
Vladimir Kozlov
vladimir.kozlov at oracle.com
Wed May 28 21:40:33 UTC 2014
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.
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