< prev index next >

src/hotspot/share/c1/c1_LIRAssembler.hpp

Print this page

        

*** 29,38 **** --- 29,39 ---- #include "ci/ciMethodData.hpp" #include "oops/methodData.hpp" #include "utilities/macros.hpp" class Compilation; + class CompiledEntrySignature; class ScopeValue; class BarrierSet; class LIR_Assembler: public CompilationResourceObj { private:
*** 46,55 **** --- 47,57 ---- Instruction* _pending_non_safepoint; int _pending_non_safepoint_offset; Label _unwind_handler_entry; + Label _verified_value_entry; #ifdef ASSERT BlockList _branch_target_blocks; void check_no_unbound_labels(); #endif
*** 90,106 **** void metadata2reg(Metadata* o, Register reg); void klass2reg_with_patching(Register reg, CodeEmitInfo* info); void emit_stubs(CodeStubList* stub_list); // addresses Address as_Address(LIR_Address* addr); Address as_Address_lo(LIR_Address* addr); Address as_Address_hi(LIR_Address* addr); // debug information ! void add_call_info(int pc_offset, CodeEmitInfo* cinfo); void add_debug_info_for_branch(CodeEmitInfo* info); void add_debug_info_for_div0(int pc_offset, CodeEmitInfo* cinfo); void add_debug_info_for_div0_here(CodeEmitInfo* info); ImplicitNullCheckStub* add_debug_info_for_null_check(int pc_offset, CodeEmitInfo* cinfo); ImplicitNullCheckStub* add_debug_info_for_null_check_here(CodeEmitInfo* info); --- 92,112 ---- void metadata2reg(Metadata* o, Register reg); void klass2reg_with_patching(Register reg, CodeEmitInfo* info); void emit_stubs(CodeStubList* stub_list); + bool needs_stack_repair() const { + return compilation()->needs_stack_repair(); + } + // addresses Address as_Address(LIR_Address* addr); Address as_Address_lo(LIR_Address* addr); Address as_Address_hi(LIR_Address* addr); // debug information ! void add_call_info(int pc_offset, CodeEmitInfo* cinfo, bool maybe_return_as_fields = false); void add_debug_info_for_branch(CodeEmitInfo* info); void add_debug_info_for_div0(int pc_offset, CodeEmitInfo* cinfo); void add_debug_info_for_div0_here(CodeEmitInfo* info); ImplicitNullCheckStub* add_debug_info_for_null_check(int pc_offset, CodeEmitInfo* cinfo); ImplicitNullCheckStub* add_debug_info_for_null_check_here(CodeEmitInfo* info);
*** 199,216 **** --- 205,228 ---- void emit_updatecrc32(LIR_OpUpdateCRC32* op); void emit_opConvert(LIR_OpConvert* op); void emit_alloc_obj(LIR_OpAllocObj* op); void emit_alloc_array(LIR_OpAllocArray* op); void emit_opTypeCheck(LIR_OpTypeCheck* op); + void emit_opFlattenedArrayCheck(LIR_OpFlattenedArrayCheck* op); + void emit_opNullFreeArrayCheck(LIR_OpNullFreeArrayCheck* op); + void emit_opSubstitutabilityCheck(LIR_OpSubstitutabilityCheck* op); void emit_typecheck_helper(LIR_OpTypeCheck *op, Label* success, Label* failure, Label* obj_is_null); void emit_compare_and_swap(LIR_OpCompareAndSwap* op); void emit_lock(LIR_OpLock* op); void emit_call(LIR_OpJavaCall* op); void emit_rtcall(LIR_OpRTCall* op); void emit_profile_call(LIR_OpProfileCall* op); void emit_profile_type(LIR_OpProfileType* op); void emit_delay(LIR_OpDelay* op); + void emit_std_entries(); + int emit_std_entry(CodeOffsets::Entries entry, const CompiledEntrySignature* ces); + void add_scalarized_entry_info(int call_offset); void arith_op(LIR_Code code, LIR_Opr left, LIR_Opr right, LIR_Opr dest, CodeEmitInfo* info, bool pop_fpu_stack); void arithmetic_idiv(LIR_Code code, LIR_Opr left, LIR_Opr right, LIR_Opr temp, LIR_Opr result, CodeEmitInfo* info); void intrinsic_op(LIR_Code code, LIR_Opr value, LIR_Opr unused, LIR_Opr dest, LIR_Op* op); #ifdef ASSERT
*** 228,237 **** --- 240,250 ---- void cmove(LIR_Condition code, LIR_Opr left, LIR_Opr right, LIR_Opr result, BasicType type); void call( LIR_OpJavaCall* op, relocInfo::relocType rtype); void ic_call( LIR_OpJavaCall* op); void vtable_call( LIR_OpJavaCall* op); + int store_value_type_fields_to_buf(ciValueKlass* vk); void osr_entry(); void build_frame();
< prev index next >