< prev index next >

src/hotspot/cpu/s390/s390.ad

Print this page

        

*** 865,891 **** size_t framesize = C->frame_size_in_bytes(); size_t bangsize = C->bang_size_in_bytes(); assert(framesize % wordSize == 0, "must preserve wordSize alignment"); - if (C->clinit_barrier_on_entry()) { - assert(!C->method()->holder()->is_not_initialized(), "initialization should have been started"); - - Label L_skip_barrier; - Register klass = Z_R1_scratch; - - // Notify OOP recorder (don't need the relocation) - AddressLiteral md = __ constant_metadata_address(C->method()->holder()->constant_encoding()); - __ load_const_optimized(klass, md.value()); - __ clinit_barrier(klass, Z_thread, &L_skip_barrier /*L_fast_path*/); - - __ load_const_optimized(klass, SharedRuntime::get_handle_wrong_method_stub()); - __ z_br(klass); - - __ bind(L_skip_barrier); - } - // Calls to C2R adapters often do not accept exceptional returns. // We require that their callers must bang for them. But be // careful, because some VM calls (such as call site linkage) can // use several kilobytes of stack. But the stack safety zone should // account for that. See bugs 4446381, 4468289, 4497237. --- 865,874 ----
< prev index next >