16 * 2 along with this work; if not, write to the Free Software Foundation,
17 * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
18 *
19 * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
20 * or visit www.oracle.com if you need additional information or have any
21 * questions.
22 *
23 */
24
25 #include "precompiled.hpp"
26 #include "oops/markOop.hpp"
27 #ifdef TARGET_OS_FAMILY_linux
28 # include "thread_linux.inline.hpp"
29 #endif
30 #ifdef TARGET_OS_FAMILY_solaris
31 # include "thread_solaris.inline.hpp"
32 #endif
33 #ifdef TARGET_OS_FAMILY_windows
34 # include "thread_windows.inline.hpp"
35 #endif
36
37
38 void markOopDesc::print_on(outputStream* st) const {
39 if (is_locked()) {
40 st->print("locked(0x%lx)->", value());
41 markOop(*(markOop*)value())->print_on(st);
42 } else {
43 assert(is_unlocked() || has_bias_pattern(), "just checking");
44 st->print("mark(");
45 if (has_bias_pattern()) st->print("biased,");
46 st->print("hash %#lx,", hash());
47 st->print("age %d)", age());
48 }
49 }
50
51
52 // Give advice about whether the oop that contains this markOop
53 // should be cached or not.
54 bool markOopDesc::should_not_be_cached() const {
55 // the cast is because decode_pointer() isn't marked const
|
16 * 2 along with this work; if not, write to the Free Software Foundation,
17 * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
18 *
19 * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
20 * or visit www.oracle.com if you need additional information or have any
21 * questions.
22 *
23 */
24
25 #include "precompiled.hpp"
26 #include "oops/markOop.hpp"
27 #ifdef TARGET_OS_FAMILY_linux
28 # include "thread_linux.inline.hpp"
29 #endif
30 #ifdef TARGET_OS_FAMILY_solaris
31 # include "thread_solaris.inline.hpp"
32 #endif
33 #ifdef TARGET_OS_FAMILY_windows
34 # include "thread_windows.inline.hpp"
35 #endif
36 #ifdef TARGET_OS_FAMILY_bsd
37 # include "thread_bsd.inline.hpp"
38 #endif
39
40
41 void markOopDesc::print_on(outputStream* st) const {
42 if (is_locked()) {
43 st->print("locked(0x%lx)->", value());
44 markOop(*(markOop*)value())->print_on(st);
45 } else {
46 assert(is_unlocked() || has_bias_pattern(), "just checking");
47 st->print("mark(");
48 if (has_bias_pattern()) st->print("biased,");
49 st->print("hash %#lx,", hash());
50 st->print("age %d)", age());
51 }
52 }
53
54
55 // Give advice about whether the oop that contains this markOop
56 // should be cached or not.
57 bool markOopDesc::should_not_be_cached() const {
58 // the cast is because decode_pointer() isn't marked const
|