25 #include "precompiled.hpp" |
25 #include "precompiled.hpp" |
26 #include "ci/ciMethod.hpp" |
26 #include "ci/ciMethod.hpp" |
27 #include "interpreter/interpreter.hpp" |
27 #include "interpreter/interpreter.hpp" |
28 #include "runtime/frame.inline.hpp" |
28 #include "runtime/frame.inline.hpp" |
29 |
29 |
30 #ifndef CC_INTERP |
30 // Size of interpreter code. Increase if too small. Interpreter will |
|
31 // fail with a guarantee ("not enough space for interpreter generation"); |
|
32 // if too small. |
|
33 // Run with +PrintInterpreter to get the VM to print out the size. |
|
34 // Max size with JVMTI |
|
35 #ifdef AMD64 |
|
36 int TemplateInterpreter::InterpreterCodeSize = 256 * 1024; |
|
37 #else |
|
38 int TemplateInterpreter::InterpreterCodeSize = 224 * 1024; |
|
39 #endif // AMD64 |
31 |
40 |
32 // asm based interpreter deoptimization helpers |
41 // asm based interpreter deoptimization helpers |
33 int AbstractInterpreter::size_activation(int max_stack, |
42 int AbstractInterpreter::size_activation(int max_stack, |
34 int temps, |
43 int temps, |
35 int extra_args, |
44 int extra_args, |
36 int monitors, |
45 int monitors, |
37 int callee_params, |
46 int callee_params, |
38 int callee_locals, |
47 int callee_locals, |
39 bool is_top_frame) { |
48 bool is_top_frame) { |
40 // Note: This calculation must exactly parallel the frame setup |
49 // Note: This calculation must exactly parallel the frame setup |
41 // in InterpreterGenerator::generate_fixed_frame. |
50 // in TemplateInterpreterGenerator::generate_fixed_frame. |
42 |
51 |
43 // fixed size of an interpreter frame: |
52 // fixed size of an interpreter frame: |
44 int overhead = frame::sender_sp_offset - |
53 int overhead = frame::sender_sp_offset - |
45 frame::interpreter_frame_initial_sp_offset; |
54 frame::interpreter_frame_initial_sp_offset; |
46 // Our locals were accounted for by the caller (or last_frame_adjust |
55 // Our locals were accounted for by the caller (or last_frame_adjust |