src/cpu/sparc/vm/interpreter_sparc.cpp
Index Unified diffs Context diffs Sdiffs Wdiffs Patch New Old Previous File Next File 6849984 Sdiff src/cpu/sparc/vm

src/cpu/sparc/vm/interpreter_sparc.cpp

Print this page


   1 /*
   2  * Copyright 1997-2009 Sun Microsystems, Inc.  All Rights Reserved.
   3  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
   4  *
   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
   7  * published by the Free Software Foundation.
   8  *
   9  * This code is distributed in the hope that it will be useful, but WITHOUT
  10  * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
  11  * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
  12  * version 2 for more details (a copy is included in the LICENSE file that
  13  * accompanied this code).
  14  *
  15  * You should have received a copy of the GNU General Public License version
  16  * 2 along with this work; if not, write to the Free Software Foundation,
  17  * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
  18  *
  19  * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
  20  * CA 95054 USA or visit www.sun.com if you need additional information or
  21  * have any questions.
  22  *


 377     case Interpreter::empty                  : entry_point = ((InterpreterGenerator*)this)->generate_empty_entry();        break;
 378     case Interpreter::accessor               : entry_point = ((InterpreterGenerator*)this)->generate_accessor_entry();     break;
 379     case Interpreter::abstract               : entry_point = ((InterpreterGenerator*)this)->generate_abstract_entry();     break;
 380     case Interpreter::method_handle          : entry_point = ((InterpreterGenerator*)this)->generate_method_handle_entry(); break;
 381     case Interpreter::java_lang_math_sin     :                                                                             break;
 382     case Interpreter::java_lang_math_cos     :                                                                             break;
 383     case Interpreter::java_lang_math_tan     :                                                                             break;
 384     case Interpreter::java_lang_math_sqrt    :                                                                             break;
 385     case Interpreter::java_lang_math_abs     :                                                                             break;
 386     case Interpreter::java_lang_math_log     :                                                                             break;
 387     case Interpreter::java_lang_math_log10   :                                                                             break;
 388     default                                  : ShouldNotReachHere();                                                       break;
 389   }
 390 
 391   if (entry_point) return entry_point;
 392 
 393   return ((InterpreterGenerator*)this)->generate_normal_entry(synchronized);
 394 }
 395 
 396 





 397 // This method tells the deoptimizer how big an interpreted frame must be:
 398 int AbstractInterpreter::size_activation(methodOop method,
 399                                          int tempcount,
 400                                          int popframe_extra_args,
 401                                          int moncount,
 402                                          int callee_param_count,
 403                                          int callee_locals,
 404                                          bool is_top_frame) {
 405   return layout_activation(method,
 406                            tempcount,
 407                            popframe_extra_args,
 408                            moncount,
 409                            callee_param_count,
 410                            callee_locals,
 411                            (frame*)NULL,
 412                            (frame*)NULL,
 413                            is_top_frame);
 414 }
 415 
 416 void Deoptimization::unwind_callee_save_values(frame* f, vframeArray* vframe_array) {
   1 /*
   2  * Copyright 1997-2010 Sun Microsystems, Inc.  All Rights Reserved.
   3  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
   4  *
   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
   7  * published by the Free Software Foundation.
   8  *
   9  * This code is distributed in the hope that it will be useful, but WITHOUT
  10  * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
  11  * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
  12  * version 2 for more details (a copy is included in the LICENSE file that
  13  * accompanied this code).
  14  *
  15  * You should have received a copy of the GNU General Public License version
  16  * 2 along with this work; if not, write to the Free Software Foundation,
  17  * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
  18  *
  19  * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
  20  * CA 95054 USA or visit www.sun.com if you need additional information or
  21  * have any questions.
  22  *


 377     case Interpreter::empty                  : entry_point = ((InterpreterGenerator*)this)->generate_empty_entry();        break;
 378     case Interpreter::accessor               : entry_point = ((InterpreterGenerator*)this)->generate_accessor_entry();     break;
 379     case Interpreter::abstract               : entry_point = ((InterpreterGenerator*)this)->generate_abstract_entry();     break;
 380     case Interpreter::method_handle          : entry_point = ((InterpreterGenerator*)this)->generate_method_handle_entry(); break;
 381     case Interpreter::java_lang_math_sin     :                                                                             break;
 382     case Interpreter::java_lang_math_cos     :                                                                             break;
 383     case Interpreter::java_lang_math_tan     :                                                                             break;
 384     case Interpreter::java_lang_math_sqrt    :                                                                             break;
 385     case Interpreter::java_lang_math_abs     :                                                                             break;
 386     case Interpreter::java_lang_math_log     :                                                                             break;
 387     case Interpreter::java_lang_math_log10   :                                                                             break;
 388     default                                  : ShouldNotReachHere();                                                       break;
 389   }
 390 
 391   if (entry_point) return entry_point;
 392 
 393   return ((InterpreterGenerator*)this)->generate_normal_entry(synchronized);
 394 }
 395 
 396 
 397 bool AbstractInterpreter::can_be_compiled(methodHandle m) {
 398   // No special entry points that preclude compilation
 399   return true;
 400 }
 401 
 402 // This method tells the deoptimizer how big an interpreted frame must be:
 403 int AbstractInterpreter::size_activation(methodOop method,
 404                                          int tempcount,
 405                                          int popframe_extra_args,
 406                                          int moncount,
 407                                          int callee_param_count,
 408                                          int callee_locals,
 409                                          bool is_top_frame) {
 410   return layout_activation(method,
 411                            tempcount,
 412                            popframe_extra_args,
 413                            moncount,
 414                            callee_param_count,
 415                            callee_locals,
 416                            (frame*)NULL,
 417                            (frame*)NULL,
 418                            is_top_frame);
 419 }
 420 
 421 void Deoptimization::unwind_callee_save_values(frame* f, vframeArray* vframe_array) {
src/cpu/sparc/vm/interpreter_sparc.cpp
Index Unified diffs Context diffs Sdiffs Wdiffs Patch New Old Previous File Next File