< prev index next >

src/hotspot/cpu/x86/templateTable_x86.cpp

Print this page

        

*** 4762,4771 **** --- 4762,4782 ---- Register rtop = LP64_ONLY(c_rarg3) NOT_LP64(rcx); Register rbot = LP64_ONLY(c_rarg2) NOT_LP64(rbx); Register rmon = LP64_ONLY(c_rarg1) NOT_LP64(rdx); + if (EnableValhalla) { + Label is_not_value; + + __ test_oop_is_not_value(rax, rmon, is_not_value); + __ call_VM(noreg, CAST_FROM_FN_PTR(address, + InterpreterRuntime::throw_illegal_monitor_state_exception)); + __ should_not_reach_here(); + + __ bind(is_not_value); + + } // initialize entry pointer __ xorl(rmon, rmon); // points to free slot or NULL // find a free slot in the monitor block (result in rmon) {
< prev index next >