< prev index next >

src/hotspot/share/oops/valueKlass.cpp

Print this page

        

*** 91,101 **** } instanceOop ValueKlass::allocate_instance(TRAPS) { int size = size_helper(); // Query before forming handle. ! return (instanceOop)CollectedHeap::obj_allocate(this, size, CHECK_NULL); } instanceOop ValueKlass::allocate_buffered_or_heap_instance(bool* in_heap, TRAPS) { assert(THREAD->is_Java_thread(), "Only Java threads can call this method"); --- 91,103 ---- } instanceOop ValueKlass::allocate_instance(TRAPS) { int size = size_helper(); // Query before forming handle. ! instanceOop oop = (instanceOop)CollectedHeap::obj_allocate(this, size, CHECK_NULL); ! assert(oop->mark()->is_always_locked(), "Unlocked value type"); ! return oop; } instanceOop ValueKlass::allocate_buffered_or_heap_instance(bool* in_heap, TRAPS) { assert(THREAD->is_Java_thread(), "Only Java threads can call this method");
*** 616,620 **** --- 618,632 ---- f->do_oop(p); } } } } + + void ValueKlass::verify_on(outputStream* st) { + InstanceKlass::verify_on(st); + guarantee(prototype_header()->is_always_locked(), "Prototype header is not always locked"); + } + + void ValueKlass::oop_verify_on(oop obj, outputStream* st) { + InstanceKlass::oop_verify_on(obj, st); + guarantee(obj->mark()->is_always_locked(), "Header is not always locked"); + }
< prev index next >