< prev index next >
test/hotspot/gtest/oops/test_markWord.cpp
Print this page
rev 59376 : 8153224.v2.10.patch merged with 8153224.v2.11.patch.
@@ -1,7 +1,7 @@
/*
- * Copyright (c) 2019, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2019, 2020, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
* under the terms of the GNU General Public License version 2 only, as
* published by the Free Software Foundation.
@@ -119,10 +119,14 @@
}
// This is no longer biased, because ObjectLocker revokes the bias.
assert_test_pattern(h_obj, "is_neutral no_hash");
+ // Hash the object then print it.
+ intx hash = h_obj->identity_hash();
+ assert_test_pattern(h_obj, "is_neutral hash=0x");
+
// Wait gets the lock inflated.
{
ObjectLocker ol(h_obj, THREAD);
Semaphore done(0);
@@ -133,16 +137,20 @@
ol.wait(THREAD);
assert_test_pattern(h_obj, "monitor");
done.wait_with_safepoint_check(THREAD); // wait till the thread is done.
}
+ if (!AsyncDeflateIdleMonitors) {
+ // With AsyncDeflateIdleMonitors, the collect() call below
+ // does not guarantee monitor deflation.
// Make the object older. Not all GCs use this field.
Universe::heap()->collect(GCCause::_java_lang_system_gc);
if (UseParallelGC) {
assert_test_pattern(h_obj, "is_neutral no_hash age 1");
}
// Hash the object then print it.
intx hash = h_obj->identity_hash();
assert_test_pattern(h_obj, "is_neutral hash=0x");
+ }
}
#endif // PRODUCT
< prev index next >