155 default : ShouldNotReachHere();
156 }
157 assert(0 <= i && i < AbstractInterpreter::number_of_result_handlers,
158 "index out of bounds");
159 return i;
160 }
161 #endif // _LP64
162
163 // These should never be compiled since the interpreter will prefer
164 // the compiled version to the intrinsic version.
165 bool AbstractInterpreter::can_be_compiled(methodHandle m) {
166 switch (method_kind(m)) {
167 case Interpreter::java_lang_math_sin : // fall thru
168 case Interpreter::java_lang_math_cos : // fall thru
169 case Interpreter::java_lang_math_tan : // fall thru
170 case Interpreter::java_lang_math_abs : // fall thru
171 case Interpreter::java_lang_math_log : // fall thru
172 case Interpreter::java_lang_math_log10 : // fall thru
173 case Interpreter::java_lang_math_sqrt : // fall thru
174 case Interpreter::java_lang_math_pow : // fall thru
175 case Interpreter::java_lang_math_exp :
176 return false;
177 default:
178 return true;
179 }
180 }
181
182 // How much stack a method activation needs in words.
183 int AbstractInterpreter::size_top_interpreter_activation(Method* method) {
184 const int entry_size = frame::interpreter_frame_monitor_size();
185
186 // total overhead size: entry_size + (saved rbp thru expr stack
187 // bottom). be sure to change this if you add/subtract anything
188 // to/from the overhead area
189 const int overhead_size =
190 -(frame::interpreter_frame_initial_sp_offset) + entry_size;
191
192 #ifndef _LP64
193 const int stub_code = 4; // see generate_call_stub
194 #else
195 const int stub_code = frame::entry_frame_after_call_words;
|
155 default : ShouldNotReachHere();
156 }
157 assert(0 <= i && i < AbstractInterpreter::number_of_result_handlers,
158 "index out of bounds");
159 return i;
160 }
161 #endif // _LP64
162
163 // These should never be compiled since the interpreter will prefer
164 // the compiled version to the intrinsic version.
165 bool AbstractInterpreter::can_be_compiled(methodHandle m) {
166 switch (method_kind(m)) {
167 case Interpreter::java_lang_math_sin : // fall thru
168 case Interpreter::java_lang_math_cos : // fall thru
169 case Interpreter::java_lang_math_tan : // fall thru
170 case Interpreter::java_lang_math_abs : // fall thru
171 case Interpreter::java_lang_math_log : // fall thru
172 case Interpreter::java_lang_math_log10 : // fall thru
173 case Interpreter::java_lang_math_sqrt : // fall thru
174 case Interpreter::java_lang_math_pow : // fall thru
175 case Interpreter::java_lang_math_exp : // fall thru
176 case Interpreter::java_lang_math_fmaD : // fall thru
177 case Interpreter::java_lang_math_fmaF :
178 return false;
179 default:
180 return true;
181 }
182 }
183
184 // How much stack a method activation needs in words.
185 int AbstractInterpreter::size_top_interpreter_activation(Method* method) {
186 const int entry_size = frame::interpreter_frame_monitor_size();
187
188 // total overhead size: entry_size + (saved rbp thru expr stack
189 // bottom). be sure to change this if you add/subtract anything
190 // to/from the overhead area
191 const int overhead_size =
192 -(frame::interpreter_frame_initial_sp_offset) + entry_size;
193
194 #ifndef _LP64
195 const int stub_code = 4; // see generate_call_stub
196 #else
197 const int stub_code = frame::entry_frame_after_call_words;
|