1 /* |
1 /* |
2 * Copyright 2003-2009 Sun Microsystems, Inc. All Rights Reserved. |
2 * Copyright 2003-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. |
1454 |
1454 |
1455 return ((InterpreterGenerator*) this)-> |
1455 return ((InterpreterGenerator*) this)-> |
1456 generate_normal_entry(synchronized); |
1456 generate_normal_entry(synchronized); |
1457 } |
1457 } |
1458 |
1458 |
|
1459 // These should never be compiled since the interpreter will prefer |
|
1460 // the compiled version to the intrinsic version. |
|
1461 bool AbstractInterpreter::can_be_compiled(methodHandle m) { |
|
1462 switch (method_kind(m)) { |
|
1463 case Interpreter::java_lang_math_sin : // fall thru |
|
1464 case Interpreter::java_lang_math_cos : // fall thru |
|
1465 case Interpreter::java_lang_math_tan : // fall thru |
|
1466 case Interpreter::java_lang_math_abs : // fall thru |
|
1467 case Interpreter::java_lang_math_log : // fall thru |
|
1468 case Interpreter::java_lang_math_log10 : // fall thru |
|
1469 case Interpreter::java_lang_math_sqrt : |
|
1470 return false; |
|
1471 default: |
|
1472 return true; |
|
1473 } |
|
1474 } |
|
1475 |
1459 // How much stack a method activation needs in words. |
1476 // How much stack a method activation needs in words. |
1460 int AbstractInterpreter::size_top_interpreter_activation(methodOop method) { |
1477 int AbstractInterpreter::size_top_interpreter_activation(methodOop method) { |
1461 const int entry_size = frame::interpreter_frame_monitor_size(); |
1478 const int entry_size = frame::interpreter_frame_monitor_size(); |
1462 |
1479 |
1463 // total overhead size: entry_size + (saved rbp thru expr stack |
1480 // total overhead size: entry_size + (saved rbp thru expr stack |