equal
deleted
inserted
replaced
77 assert_test_pattern(h_obj, "monitor"); |
77 assert_test_pattern(h_obj, "monitor"); |
78 } |
78 } |
79 }; |
79 }; |
80 |
80 |
81 |
81 |
82 TEST_VM(markOopDesc, printing) { |
82 TEST_VM(markWord, printing) { |
83 JavaThread* THREAD = JavaThread::current(); |
83 JavaThread* THREAD = JavaThread::current(); |
84 ThreadInVMfromNative invm(THREAD); |
84 ThreadInVMfromNative invm(THREAD); |
85 ResourceMark rm(THREAD); |
85 ResourceMark rm(THREAD); |
86 |
86 |
87 oop obj = SystemDictionary::Byte_klass()->allocate_instance(THREAD); |
87 oop obj = SystemDictionary::Byte_klass()->allocate_instance(THREAD); |
96 assert_test_pattern(h_obj, "is_biased"); |
96 assert_test_pattern(h_obj, "is_biased"); |
97 |
97 |
98 // Lock using biased locking. |
98 // Lock using biased locking. |
99 BasicObjectLock lock; |
99 BasicObjectLock lock; |
100 lock.set_obj(obj); |
100 lock.set_obj(obj); |
101 markOop mark = obj->mark()->incr_bias_epoch(); |
101 markWord prototype_header = obj->klass()->prototype_header(); |
102 obj->set_mark(mark); |
102 markWord mark = obj->mark(); |
103 ObjectSynchronizer::fast_enter(h_obj, lock.lock(), true, THREAD); |
103 markWord biased_mark = markWord::encode((JavaThread*) THREAD, mark.age(), prototype_header.bias_epoch()); |
104 // Look for the biased_locker in markOop, not prototype_header. |
104 obj->set_mark(biased_mark); |
|
105 // Look for the biased_locker in markWord, not prototype_header. |
105 #ifdef _LP64 |
106 #ifdef _LP64 |
106 assert_not_test_pattern(h_obj, "mark(is_biased biased_locker=0x0000000000000000"); |
107 assert_not_test_pattern(h_obj, "mark(is_biased biased_locker=0x0000000000000000"); |
107 #else |
108 #else |
108 assert_not_test_pattern(h_obj, "mark(is_biased biased_locker=0x00000000"); |
109 assert_not_test_pattern(h_obj, "mark(is_biased biased_locker=0x00000000"); |
109 #endif |
110 #endif |