1 /* |
1 /* |
2 * Copyright 1999-2007 Sun Microsystems, Inc. All Rights Reserved. |
2 * Copyright 1999-2010 Sun Microsystems, Inc. All Rights Reserved. |
3 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. |
3 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. |
4 * |
4 * |
5 * This code is free software; you can redistribute it and/or modify it |
5 * This code is free software; you can redistribute it and/or modify it |
6 * under the terms of the GNU General Public License version 2 only, as |
6 * under the terms of the GNU General Public License version 2 only, as |
7 * published by the Free Software Foundation. |
7 * published by the Free Software Foundation. |
68 int _osr_bci; |
68 int _osr_bci; |
69 IR* _hir; |
69 IR* _hir; |
70 int _max_spills; |
70 int _max_spills; |
71 FrameMap* _frame_map; |
71 FrameMap* _frame_map; |
72 C1_MacroAssembler* _masm; |
72 C1_MacroAssembler* _masm; |
73 bool _needs_debug_information; |
|
74 bool _has_exception_handlers; |
73 bool _has_exception_handlers; |
75 bool _has_fpu_code; |
74 bool _has_fpu_code; |
76 bool _has_unsafe_access; |
75 bool _has_unsafe_access; |
77 const char* _bailout_msg; |
76 const char* _bailout_msg; |
78 ExceptionInfoList* _exception_info_list; |
77 ExceptionInfoList* _exception_info_list; |
115 static Compilation* current_compilation() { return _compilation; } |
114 static Compilation* current_compilation() { return _compilation; } |
116 |
115 |
117 // accessors |
116 // accessors |
118 ciEnv* env() const { return _env; } |
117 ciEnv* env() const { return _env; } |
119 AbstractCompiler* compiler() const { return _compiler; } |
118 AbstractCompiler* compiler() const { return _compiler; } |
120 bool needs_debug_information() const { return _needs_debug_information; } |
|
121 bool has_exception_handlers() const { return _has_exception_handlers; } |
119 bool has_exception_handlers() const { return _has_exception_handlers; } |
122 bool has_fpu_code() const { return _has_fpu_code; } |
120 bool has_fpu_code() const { return _has_fpu_code; } |
123 bool has_unsafe_access() const { return _has_unsafe_access; } |
121 bool has_unsafe_access() const { return _has_unsafe_access; } |
124 ciMethod* method() const { return _method; } |
122 ciMethod* method() const { return _method; } |
125 int osr_bci() const { return _osr_bci; } |
123 int osr_bci() const { return _osr_bci; } |
130 CodeBuffer* code() { return &_code; } |
128 CodeBuffer* code() { return &_code; } |
131 C1_MacroAssembler* masm() const { return _masm; } |
129 C1_MacroAssembler* masm() const { return _masm; } |
132 CodeOffsets* offsets() { return &_offsets; } |
130 CodeOffsets* offsets() { return &_offsets; } |
133 |
131 |
134 // setters |
132 // setters |
135 void set_needs_debug_information(bool f) { _needs_debug_information = f; } |
|
136 void set_has_exception_handlers(bool f) { _has_exception_handlers = f; } |
133 void set_has_exception_handlers(bool f) { _has_exception_handlers = f; } |
137 void set_has_fpu_code(bool f) { _has_fpu_code = f; } |
134 void set_has_fpu_code(bool f) { _has_fpu_code = f; } |
138 void set_has_unsafe_access(bool f) { _has_unsafe_access = f; } |
135 void set_has_unsafe_access(bool f) { _has_unsafe_access = f; } |
139 // Add a set of exception handlers covering the given PC offset |
136 // Add a set of exception handlers covering the given PC offset |
140 void add_exception_handlers_for_pco(int pco, XHandlers* exception_handlers); |
137 void add_exception_handlers_for_pco(int pco, XHandlers* exception_handlers); |