equal
deleted
inserted
replaced
4028 generate_slow_guard(test_unlocked, slow_region); |
4028 generate_slow_guard(test_unlocked, slow_region); |
4029 |
4029 |
4030 // Get the hash value and check to see that it has been properly assigned. |
4030 // Get the hash value and check to see that it has been properly assigned. |
4031 // We depend on hash_mask being at most 32 bits and avoid the use of |
4031 // We depend on hash_mask being at most 32 bits and avoid the use of |
4032 // hash_mask_in_place because it could be larger than 32 bits in a 64-bit |
4032 // hash_mask_in_place because it could be larger than 32 bits in a 64-bit |
4033 // vm: see markOop.hpp. |
4033 // vm: see markWord.hpp. |
4034 Node *hash_mask = _gvn.intcon(markWord::hash_mask); |
4034 Node *hash_mask = _gvn.intcon(markWord::hash_mask); |
4035 Node *hash_shift = _gvn.intcon(markWord::hash_shift); |
4035 Node *hash_shift = _gvn.intcon(markWord::hash_shift); |
4036 Node *hshifted_header= _gvn.transform(new URShiftXNode(header, hash_shift)); |
4036 Node *hshifted_header= _gvn.transform(new URShiftXNode(header, hash_shift)); |
4037 // This hack lets the hash bits live anywhere in the mark object now, as long |
4037 // This hack lets the hash bits live anywhere in the mark object now, as long |
4038 // as the shift drops the relevant bits into the low 32 bits. Note that |
4038 // as the shift drops the relevant bits into the low 32 bits. Note that |