comparison src/share/vm/c1/c1_Compilation.hpp @ 1691:4a665be40fd3

6975855: don't emit deopt MH handler in C1 if not required Summary: This CR implements the same for C1 as 6926782 for C2. Reviewed-by: never
author twisti
date Wed, 11 Aug 2010 01:17:27 -0700
parents 126ea7725993
children d5d065957597
comparison
equal deleted inserted replaced
1690:36519c19beeb 1691:4a665be40fd3
67 FrameMap* _frame_map; 67 FrameMap* _frame_map;
68 C1_MacroAssembler* _masm; 68 C1_MacroAssembler* _masm;
69 bool _has_exception_handlers; 69 bool _has_exception_handlers;
70 bool _has_fpu_code; 70 bool _has_fpu_code;
71 bool _has_unsafe_access; 71 bool _has_unsafe_access;
72 bool _has_method_handle_invokes; // True if this method has MethodHandle invokes.
72 const char* _bailout_msg; 73 const char* _bailout_msg;
73 ExceptionInfoList* _exception_info_list; 74 ExceptionInfoList* _exception_info_list;
74 ExceptionHandlerTable _exception_handler_table; 75 ExceptionHandlerTable _exception_handler_table;
75 ImplicitExceptionTable _implicit_exception_table; 76 ImplicitExceptionTable _implicit_exception_table;
76 LinearScan* _allocator; 77 LinearScan* _allocator;
145 // Add a set of exception handlers covering the given PC offset 146 // Add a set of exception handlers covering the given PC offset
146 void add_exception_handlers_for_pco(int pco, XHandlers* exception_handlers); 147 void add_exception_handlers_for_pco(int pco, XHandlers* exception_handlers);
147 // Statistics gathering 148 // Statistics gathering
148 void notice_inlined_method(ciMethod* method); 149 void notice_inlined_method(ciMethod* method);
149 150
151 // JSR 292
152 bool has_method_handle_invokes() const { return _has_method_handle_invokes; }
153 void set_has_method_handle_invokes(bool z) { _has_method_handle_invokes = z; }
154
150 DebugInformationRecorder* debug_info_recorder() const; // = _env->debug_info(); 155 DebugInformationRecorder* debug_info_recorder() const; // = _env->debug_info();
151 Dependencies* dependency_recorder() const; // = _env->dependencies() 156 Dependencies* dependency_recorder() const; // = _env->dependencies()
152 ImplicitExceptionTable* implicit_exception_table() { return &_implicit_exception_table; } 157 ImplicitExceptionTable* implicit_exception_table() { return &_implicit_exception_table; }
153 158
154 Instruction* current_instruction() const { return _current_instruction; } 159 Instruction* current_instruction() const { return _current_instruction; }