On Thu, 3 Nov 2022 11:39:51 GMT, Coleen Phillimore <[email protected]> wrote:

>> src/hotspot/share/prims/jvmtiTagMapTable.cpp line 116:
>> 
>>> 114: 
>>> 115: JvmtiTagMapEntry* JvmtiTagMapTable::find(oop obj) {
>>> 116:   if (obj->has_no_hash()) {
>> 
>> This new function you added checks if the markWord has a hashCode. If there 
>> is a displaced markWord, then it very well might be that there is a 
>> hashCode, but it is in the displaced markWord - either in a stack lock or an 
>> ObjectMonitor. Bailing here does not seem correct, as it might actually be 
>> in the table even if there is no hashCode in the markWord. Is this an 
>> optimization?
>
> It is an optimization.  I don't think we want to create an identity hash for 
> all oops just for lookup.  Is there a better way to find if an oop hashCode?

I was hoping there was just a bit but you're right.  I renamed it to 
fast_no_hash_check() and only return true if the object is unlocked and added a 
comment.

-------------

PR: https://git.openjdk.org/jdk/pull/10938

Reply via email to