src/cpu/sparc/vm/interpreter_sparc.cpp

Print this page
rev 2237 : [mq]: initial-intrinsification-changes


 390   // determine code generation flags
 391   bool synchronized = false;
 392   address entry_point = NULL;
 393 
 394   switch (kind) {
 395     case Interpreter::zerolocals             :                                                                             break;
 396     case Interpreter::zerolocals_synchronized: synchronized = true;                                                        break;
 397     case Interpreter::native                 : entry_point = ((InterpreterGenerator*)this)->generate_native_entry(false);  break;
 398     case Interpreter::native_synchronized    : entry_point = ((InterpreterGenerator*)this)->generate_native_entry(true);   break;
 399     case Interpreter::empty                  : entry_point = ((InterpreterGenerator*)this)->generate_empty_entry();        break;
 400     case Interpreter::accessor               : entry_point = ((InterpreterGenerator*)this)->generate_accessor_entry();     break;
 401     case Interpreter::abstract               : entry_point = ((InterpreterGenerator*)this)->generate_abstract_entry();     break;
 402     case Interpreter::method_handle          : entry_point = ((InterpreterGenerator*)this)->generate_method_handle_entry(); break;
 403     case Interpreter::java_lang_math_sin     :                                                                             break;
 404     case Interpreter::java_lang_math_cos     :                                                                             break;
 405     case Interpreter::java_lang_math_tan     :                                                                             break;
 406     case Interpreter::java_lang_math_sqrt    :                                                                             break;
 407     case Interpreter::java_lang_math_abs     :                                                                             break;
 408     case Interpreter::java_lang_math_log     :                                                                             break;
 409     case Interpreter::java_lang_math_log10   :                                                                             break;


 410     default                                  : ShouldNotReachHere();                                                       break;
 411   }
 412 
 413   if (entry_point) return entry_point;
 414 
 415   return ((InterpreterGenerator*)this)->generate_normal_entry(synchronized);
 416 }
 417 
 418 
 419 bool AbstractInterpreter::can_be_compiled(methodHandle m) {
 420   // No special entry points that preclude compilation
 421   return true;
 422 }
 423 
 424 // This method tells the deoptimizer how big an interpreted frame must be:
 425 int AbstractInterpreter::size_activation(methodOop method,
 426                                          int tempcount,
 427                                          int popframe_extra_args,
 428                                          int moncount,
 429                                          int callee_param_count,




 390   // determine code generation flags
 391   bool synchronized = false;
 392   address entry_point = NULL;
 393 
 394   switch (kind) {
 395     case Interpreter::zerolocals             :                                                                             break;
 396     case Interpreter::zerolocals_synchronized: synchronized = true;                                                        break;
 397     case Interpreter::native                 : entry_point = ((InterpreterGenerator*)this)->generate_native_entry(false);  break;
 398     case Interpreter::native_synchronized    : entry_point = ((InterpreterGenerator*)this)->generate_native_entry(true);   break;
 399     case Interpreter::empty                  : entry_point = ((InterpreterGenerator*)this)->generate_empty_entry();        break;
 400     case Interpreter::accessor               : entry_point = ((InterpreterGenerator*)this)->generate_accessor_entry();     break;
 401     case Interpreter::abstract               : entry_point = ((InterpreterGenerator*)this)->generate_abstract_entry();     break;
 402     case Interpreter::method_handle          : entry_point = ((InterpreterGenerator*)this)->generate_method_handle_entry(); break;
 403     case Interpreter::java_lang_math_sin     :                                                                             break;
 404     case Interpreter::java_lang_math_cos     :                                                                             break;
 405     case Interpreter::java_lang_math_tan     :                                                                             break;
 406     case Interpreter::java_lang_math_sqrt    :                                                                             break;
 407     case Interpreter::java_lang_math_abs     :                                                                             break;
 408     case Interpreter::java_lang_math_log     :                                                                             break;
 409     case Interpreter::java_lang_math_log10   :                                                                             break;
 410     case Interpreter::java_lang_ref_reference_get
 411                                              : entry_point = ((InterpreterGenerator*)this)->generate_Reference_get_entry(); break;
 412     default                                  : ShouldNotReachHere();                                                       break;
 413   }
 414 
 415   if (entry_point) return entry_point;
 416 
 417   return ((InterpreterGenerator*)this)->generate_normal_entry(synchronized);
 418 }
 419 
 420 
 421 bool AbstractInterpreter::can_be_compiled(methodHandle m) {
 422   // No special entry points that preclude compilation
 423   return true;
 424 }
 425 
 426 // This method tells the deoptimizer how big an interpreted frame must be:
 427 int AbstractInterpreter::size_activation(methodOop method,
 428                                          int tempcount,
 429                                          int popframe_extra_args,
 430                                          int moncount,
 431                                          int callee_param_count,