1.1 --- a/src/cpu/x86/vm/cppInterpreter_x86.cpp Fri Aug 31 16:39:35 2012 -0700 1.2 +++ b/src/cpu/x86/vm/cppInterpreter_x86.cpp Sat Sep 01 13:25:18 2012 -0400 1.3 @@ -30,8 +30,8 @@ 1.4 #include "interpreter/interpreterGenerator.hpp" 1.5 #include "interpreter/interpreterRuntime.hpp" 1.6 #include "oops/arrayOop.hpp" 1.7 -#include "oops/methodDataOop.hpp" 1.8 -#include "oops/methodOop.hpp" 1.9 +#include "oops/methodData.hpp" 1.10 +#include "oops/method.hpp" 1.11 #include "oops/oop.inline.hpp" 1.12 #include "prims/jvmtiExport.hpp" 1.13 #include "prims/jvmtiThreadState.hpp" 1.14 @@ -421,7 +421,7 @@ 1.15 // state == address of new interpreterState 1.16 // rsp == bottom of method's expression stack. 1.17 1.18 - const Address const_offset (rbx, methodOopDesc::const_offset()); 1.19 + const Address const_offset (rbx, Method::const_offset()); 1.20 1.21 1.22 // On entry sp is the sender's sp. This includes the space for the arguments 1.23 @@ -471,8 +471,8 @@ 1.24 __ get_thread(rax); // get vm's javathread* 1.25 __ movptr(STATE(_thread), rax); // state->_bcp = codes() 1.26 #endif // _LP64 1.27 - __ movptr(rdx, Address(rbx, methodOopDesc::const_offset())); // get constantMethodOop 1.28 - __ lea(rdx, Address(rdx, constMethodOopDesc::codes_offset())); // get code base 1.29 + __ movptr(rdx, Address(rbx, Method::const_offset())); // get constantMethodOop 1.30 + __ lea(rdx, Address(rdx, ConstMethod::codes_offset())); // get code base 1.31 if (native) { 1.32 __ movptr(STATE(_bcp), (int32_t)NULL_WORD); // state->_bcp = NULL 1.33 } else { 1.34 @@ -481,9 +481,9 @@ 1.35 __ xorptr(rdx, rdx); 1.36 __ movptr(STATE(_oop_temp), rdx); // state->_oop_temp = NULL (only really needed for native) 1.37 __ movptr(STATE(_mdx), rdx); // state->_mdx = NULL 1.38 - __ movptr(rdx, Address(rbx, methodOopDesc::const_offset())); 1.39 - __ movptr(rdx, Address(rdx, constMethodOopDesc::constants_offset())); 1.40 - __ movptr(rdx, Address(rdx, constantPoolOopDesc::cache_offset_in_bytes())); 1.41 + __ movptr(rdx, Address(rbx, Method::const_offset())); 1.42 + __ movptr(rdx, Address(rdx, ConstMethod::constants_offset())); 1.43 + __ movptr(rdx, Address(rdx, ConstantPool::cache_offset_in_bytes())); 1.44 __ movptr(STATE(_constants), rdx); // state->_constants = constants() 1.45 1.46 __ movptr(STATE(_method), rbx); // state->_method = method() 1.47 @@ -500,7 +500,7 @@ 1.48 // immediately. 1.49 1.50 // synchronize method 1.51 - const Address access_flags (rbx, methodOopDesc::access_flags_offset()); 1.52 + const Address access_flags (rbx, Method::access_flags_offset()); 1.53 const int entry_size = frame::interpreter_frame_monitor_size() * wordSize; 1.54 Label not_synced; 1.55 1.56 @@ -517,9 +517,9 @@ 1.57 __ testl(rax, JVM_ACC_STATIC); 1.58 __ movptr(rax, Address(locals, 0)); // get receiver (assume this is frequent case) 1.59 __ jcc(Assembler::zero, done); 1.60 - __ movptr(rax, Address(rbx, methodOopDesc::const_offset())); 1.61 - __ movptr(rax, Address(rax, constMethodOopDesc::constants_offset())); 1.62 - __ movptr(rax, Address(rax, constantPoolOopDesc::pool_holder_offset_in_bytes())); 1.63 + __ movptr(rax, Address(rbx, Method::const_offset())); 1.64 + __ movptr(rax, Address(rax, ConstMethod::constants_offset())); 1.65 + __ movptr(rax, Address(rax, ConstantPool::pool_holder_offset_in_bytes())); 1.66 __ movptr(rax, Address(rax, mirror_offset)); 1.67 __ bind(done); 1.68 // add space for monitor & lock 1.69 @@ -538,8 +538,8 @@ 1.70 1.71 // compute full expression stack limit 1.72 1.73 - const Address size_of_stack (rbx, methodOopDesc::max_stack_offset()); 1.74 - const int extra_stack = 0; //6815692//methodOopDesc::extra_stack_words(); 1.75 + const Address size_of_stack (rbx, Method::max_stack_offset()); 1.76 + const int extra_stack = 0; //6815692//Method::extra_stack_words(); 1.77 __ load_unsigned_short(rdx, size_of_stack); // get size of expression stack in words 1.78 __ negptr(rdx); // so we can subtract in next step 1.79 // Allocate expression stack 1.80 @@ -570,11 +570,11 @@ 1.81 // 1.82 void InterpreterGenerator::generate_counter_incr(Label* overflow, Label* profile_method, Label* profile_method_continue) { 1.83 1.84 - const Address invocation_counter(rbx, methodOopDesc::invocation_counter_offset() + InvocationCounter::counter_offset()); 1.85 - const Address backedge_counter (rbx, methodOopDesc::backedge_counter_offset() + InvocationCounter::counter_offset()); 1.86 - 1.87 - if (ProfileInterpreter) { // %%% Merge this into methodDataOop 1.88 - __ incrementl(Address(rbx,methodOopDesc::interpreter_invocation_counter_offset())); 1.89 + const Address invocation_counter(rbx, Method::invocation_counter_offset() + InvocationCounter::counter_offset()); 1.90 + const Address backedge_counter (rbx, Method::backedge_counter_offset() + InvocationCounter::counter_offset()); 1.91 + 1.92 + if (ProfileInterpreter) { // %%% Merge this into MethodData* 1.93 + __ incrementl(Address(rbx,Method::interpreter_invocation_counter_offset())); 1.94 } 1.95 // Update standard invocation counters 1.96 __ movl(rax, backedge_counter); // load backedge counter 1.97 @@ -611,7 +611,7 @@ 1.98 // C++ interpreter only 1.99 // rsi/r13 - previous interpreter state pointer 1.100 1.101 - const Address size_of_parameters(rbx, methodOopDesc::size_of_parameters_offset()); 1.102 + const Address size_of_parameters(rbx, Method::size_of_parameters_offset()); 1.103 1.104 // InterpreterRuntime::frequency_counter_overflow takes one argument 1.105 // indicating if the counter overflow occurs at a backwards branch (non-NULL bcp). 1.106 @@ -638,14 +638,14 @@ 1.107 // 1.108 // Asm interpreter 1.109 // rdx: number of additional locals this frame needs (what we must check) 1.110 - // rbx,: methodOop 1.111 + // rbx,: Method* 1.112 1.113 // C++ Interpreter 1.114 // rsi/r13: previous interpreter frame state object 1.115 // rdi: &locals[0] 1.116 // rcx: # of locals 1.117 // rdx: number of additional locals this frame needs (what we must check) 1.118 - // rbx: methodOop 1.119 + // rbx: Method* 1.120 1.121 // destroyed on exit 1.122 // rax, 1.123 @@ -682,11 +682,11 @@ 1.124 const Address stack_size(thread, Thread::stack_size_offset()); 1.125 1.126 // locals + overhead, in bytes 1.127 - const Address size_of_stack (rbx, methodOopDesc::max_stack_offset()); 1.128 + const Address size_of_stack (rbx, Method::max_stack_offset()); 1.129 // Always give one monitor to allow us to start interp if sync method. 1.130 // Any additional monitors need a check when moving the expression stack 1.131 const int one_monitor = frame::interpreter_frame_monitor_size() * wordSize; 1.132 - const int extra_stack = 0; //6815692//methodOopDesc::extra_stack_entries(); 1.133 + const int extra_stack = 0; //6815692//Method::extra_stack_entries(); 1.134 __ load_unsigned_short(rax, size_of_stack); // get size of expression stack in words 1.135 __ lea(rax, Address(noreg, rax, Interpreter::stackElementScale(), extra_stack + one_monitor)); 1.136 __ lea(rax, Address(rax, rdx, Interpreter::stackElementScale(), overhead_size)); 1.137 @@ -738,7 +738,7 @@ 1.138 } 1.139 1.140 // Find preallocated monitor and lock method (C++ interpreter) 1.141 -// rbx - methodOop 1.142 +// rbx - Method* 1.143 // 1.144 void InterpreterGenerator::lock_method(void) { 1.145 // assumes state == rsi/r13 == pointer to current interpreterState 1.146 @@ -746,7 +746,7 @@ 1.147 // 1.148 // synchronize method 1.149 const int entry_size = frame::interpreter_frame_monitor_size() * wordSize; 1.150 - const Address access_flags (rbx, methodOopDesc::access_flags_offset()); 1.151 + const Address access_flags (rbx, Method::access_flags_offset()); 1.152 1.153 const Register monitor = NOT_LP64(rdx) LP64_ONLY(c_rarg1); 1.154 1.155 @@ -771,9 +771,9 @@ 1.156 __ testl(rax, JVM_ACC_STATIC); 1.157 __ movptr(rax, Address(rdi, 0)); // get receiver (assume this is frequent case) 1.158 __ jcc(Assembler::zero, done); 1.159 - __ movptr(rax, Address(rbx, methodOopDesc::const_offset())); 1.160 - __ movptr(rax, Address(rax, constMethodOopDesc::constants_offset())); 1.161 - __ movptr(rax, Address(rax, constantPoolOopDesc::pool_holder_offset_in_bytes())); 1.162 + __ movptr(rax, Address(rbx, Method::const_offset())); 1.163 + __ movptr(rax, Address(rax, ConstMethod::constants_offset())); 1.164 + __ movptr(rax, Address(rax, ConstantPool::pool_holder_offset_in_bytes())); 1.165 __ movptr(rax, Address(rax, mirror_offset)); 1.166 __ bind(done); 1.167 } 1.168 @@ -793,7 +793,7 @@ 1.169 1.170 address InterpreterGenerator::generate_accessor_entry(void) { 1.171 1.172 - // rbx: methodOop 1.173 + // rbx: Method* 1.174 1.175 // rsi/r13: senderSP must preserved for slow path, set SP to it on fast path 1.176 1.177 @@ -825,14 +825,14 @@ 1.178 __ jcc(Assembler::zero, slow_path); 1.179 1.180 // read first instruction word and extract bytecode @ 1 and index @ 2 1.181 - __ movptr(rdx, Address(rbx, methodOopDesc::const_offset())); 1.182 - __ movptr(rdi, Address(rdx, constMethodOopDesc::constants_offset())); 1.183 - __ movl(rdx, Address(rdx, constMethodOopDesc::codes_offset())); 1.184 + __ movptr(rdx, Address(rbx, Method::const_offset())); 1.185 + __ movptr(rdi, Address(rdx, ConstMethod::constants_offset())); 1.186 + __ movl(rdx, Address(rdx, ConstMethod::codes_offset())); 1.187 // Shift codes right to get the index on the right. 1.188 // The bytecode fetched looks like <index><0xb4><0x2a> 1.189 __ shrl(rdx, 2*BitsPerByte); 1.190 __ shll(rdx, exact_log2(in_words(ConstantPoolCacheEntry::size()))); 1.191 - __ movptr(rdi, Address(rdi, constantPoolOopDesc::cache_offset_in_bytes())); 1.192 + __ movptr(rdi, Address(rdi, ConstantPool::cache_offset_in_bytes())); 1.193 1.194 // rax,: local 0 1.195 // rbx,: method 1.196 @@ -849,7 +849,7 @@ 1.197 __ movl(rcx, 1.198 Address(rdi, 1.199 rdx, 1.200 - Address::times_ptr, constantPoolCacheOopDesc::base_offset() + ConstantPoolCacheEntry::indices_offset())); 1.201 + Address::times_ptr, ConstantPoolCache::base_offset() + ConstantPoolCacheEntry::indices_offset())); 1.202 __ shrl(rcx, 2*BitsPerByte); 1.203 __ andl(rcx, 0xFF); 1.204 __ cmpl(rcx, Bytecodes::_getfield); 1.205 @@ -859,11 +859,11 @@ 1.206 __ movptr(rcx, 1.207 Address(rdi, 1.208 rdx, 1.209 - Address::times_ptr, constantPoolCacheOopDesc::base_offset() + ConstantPoolCacheEntry::f2_offset())); 1.210 + Address::times_ptr, ConstantPoolCache::base_offset() + ConstantPoolCacheEntry::f2_offset())); 1.211 __ movl(rdx, 1.212 Address(rdi, 1.213 rdx, 1.214 - Address::times_ptr, constantPoolCacheOopDesc::base_offset() + ConstantPoolCacheEntry::flags_offset())); 1.215 + Address::times_ptr, ConstantPoolCache::base_offset() + ConstantPoolCacheEntry::flags_offset())); 1.216 1.217 Label notByte, notShort, notChar; 1.218 const Address field_address (rax, rcx, Address::times_1); 1.219 @@ -970,17 +970,17 @@ 1.220 // determine code generation flags 1.221 bool inc_counter = UseCompiler || CountCompiledCalls; 1.222 1.223 - // rbx: methodOop 1.224 + // rbx: Method* 1.225 // rcx: receiver (unused) 1.226 // rsi/r13: previous interpreter state (if called from C++ interpreter) must preserve 1.227 // in any case. If called via c1/c2/call_stub rsi/r13 is junk (to use) but harmless 1.228 // to save/restore. 1.229 address entry_point = __ pc(); 1.230 1.231 - const Address size_of_parameters(rbx, methodOopDesc::size_of_parameters_offset()); 1.232 - const Address size_of_locals (rbx, methodOopDesc::size_of_locals_offset()); 1.233 - const Address invocation_counter(rbx, methodOopDesc::invocation_counter_offset() + InvocationCounter::counter_offset()); 1.234 - const Address access_flags (rbx, methodOopDesc::access_flags_offset()); 1.235 + const Address size_of_parameters(rbx, Method::size_of_parameters_offset()); 1.236 + const Address size_of_locals (rbx, Method::size_of_locals_offset()); 1.237 + const Address invocation_counter(rbx, Method::invocation_counter_offset() + InvocationCounter::counter_offset()); 1.238 + const Address access_flags (rbx, Method::access_flags_offset()); 1.239 1.240 // rsi/r13 == state/locals rdi == prevstate 1.241 const Register locals = rdi; 1.242 @@ -988,7 +988,7 @@ 1.243 // get parameter size (always needed) 1.244 __ load_unsigned_short(rcx, size_of_parameters); 1.245 1.246 - // rbx: methodOop 1.247 + // rbx: Method* 1.248 // rcx: size of parameters 1.249 __ pop(rax); // get return address 1.250 // for natives the size of locals is zero 1.251 @@ -1111,7 +1111,7 @@ 1.252 // allocate space for parameters 1.253 __ movptr(method, STATE(_method)); 1.254 __ verify_oop(method); 1.255 - __ load_unsigned_short(t, Address(method, methodOopDesc::size_of_parameters_offset())); 1.256 + __ load_unsigned_short(t, Address(method, Method::size_of_parameters_offset())); 1.257 __ shll(t, 2); 1.258 #ifdef _LP64 1.259 __ subptr(rsp, t); 1.260 @@ -1127,7 +1127,7 @@ 1.261 Label pending_exception_present; 1.262 1.263 { Label L; 1.264 - __ movptr(t, Address(method, methodOopDesc::signature_handler_offset())); 1.265 + __ movptr(t, Address(method, Method::signature_handler_offset())); 1.266 __ testptr(t, t); 1.267 __ jcc(Assembler::notZero, L); 1.268 __ call_VM(noreg, CAST_FROM_FN_PTR(address, InterpreterRuntime::prepare_native_call), method, false); 1.269 @@ -1135,7 +1135,7 @@ 1.270 __ cmpptr(Address(thread, Thread::pending_exception_offset()), (int32_t)NULL_WORD); 1.271 __ jcc(Assembler::notEqual, pending_exception_present); 1.272 __ verify_oop(method); 1.273 - __ movptr(t, Address(method, methodOopDesc::signature_handler_offset())); 1.274 + __ movptr(t, Address(method, Method::signature_handler_offset())); 1.275 __ bind(L); 1.276 } 1.277 #ifdef ASSERT 1.278 @@ -1171,26 +1171,26 @@ 1.279 1.280 // get native function entry point 1.281 { Label L; 1.282 - __ movptr(rax, Address(method, methodOopDesc::native_function_offset())); 1.283 + __ movptr(rax, Address(method, Method::native_function_offset())); 1.284 __ testptr(rax, rax); 1.285 __ jcc(Assembler::notZero, L); 1.286 __ call_VM(noreg, CAST_FROM_FN_PTR(address, InterpreterRuntime::prepare_native_call), method); 1.287 __ movptr(method, STATE(_method)); 1.288 __ verify_oop(method); 1.289 - __ movptr(rax, Address(method, methodOopDesc::native_function_offset())); 1.290 + __ movptr(rax, Address(method, Method::native_function_offset())); 1.291 __ bind(L); 1.292 } 1.293 1.294 // pass mirror handle if static call 1.295 { Label L; 1.296 const int mirror_offset = in_bytes(Klass::java_mirror_offset()); 1.297 - __ movl(t, Address(method, methodOopDesc::access_flags_offset())); 1.298 + __ movl(t, Address(method, Method::access_flags_offset())); 1.299 __ testl(t, JVM_ACC_STATIC); 1.300 __ jcc(Assembler::zero, L); 1.301 // get mirror 1.302 - __ movptr(t, Address(method, methodOopDesc:: const_offset())); 1.303 - __ movptr(t, Address(t, constMethodOopDesc::constants_offset())); 1.304 - __ movptr(t, Address(t, constantPoolOopDesc::pool_holder_offset_in_bytes())); 1.305 + __ movptr(t, Address(method, Method:: const_offset())); 1.306 + __ movptr(t, Address(t, ConstMethod::constants_offset())); 1.307 + __ movptr(t, Address(t, ConstantPool::pool_holder_offset_in_bytes())); 1.308 __ movptr(t, Address(t, mirror_offset)); 1.309 // copy mirror into activation object 1.310 __ movptr(STATE(_oop_temp), t); 1.311 @@ -1438,7 +1438,7 @@ 1.312 1.313 // do unlocking if necessary 1.314 { Label L; 1.315 - __ movl(t, Address(method, methodOopDesc::access_flags_offset())); 1.316 + __ movl(t, Address(method, Method::access_flags_offset())); 1.317 __ testl(t, JVM_ACC_SYNCHRONIZED); 1.318 __ jcc(Assembler::zero, L); 1.319 // the code below should be shared with interpreter macro assembler implementation 1.320 @@ -1634,7 +1634,7 @@ 1.321 // 1.322 // Arguments: 1.323 // 1.324 -// rbx: methodOop 1.325 +// rbx: Method* 1.326 // rcx: receiver - unused (retrieved from stack as needed) 1.327 // rsi/r13: previous frame manager state (NULL from the call_stub/c1/c2) 1.328 // 1.329 @@ -1657,7 +1657,7 @@ 1.330 1.331 address InterpreterGenerator::generate_normal_entry(bool synchronized) { 1.332 1.333 - // rbx: methodOop 1.334 + // rbx: Method* 1.335 // rsi/r13: sender sp 1.336 1.337 // Because we redispatch "recursive" interpreter entries thru this same entry point 1.338 @@ -1700,9 +1700,9 @@ 1.339 // save sender sp 1.340 __ push(rcx); 1.341 1.342 - const Address size_of_parameters(rbx, methodOopDesc::size_of_parameters_offset()); 1.343 - const Address size_of_locals (rbx, methodOopDesc::size_of_locals_offset()); 1.344 - const Address access_flags (rbx, methodOopDesc::access_flags_offset()); 1.345 + const Address size_of_parameters(rbx, Method::size_of_parameters_offset()); 1.346 + const Address size_of_locals (rbx, Method::size_of_locals_offset()); 1.347 + const Address access_flags (rbx, Method::access_flags_offset()); 1.348 1.349 // const Address monitor_block_top (rbp, frame::interpreter_frame_monitor_block_top_offset * wordSize); 1.350 // const Address monitor_block_bot (rbp, frame::interpreter_frame_initial_sp_offset * wordSize); 1.351 @@ -1711,7 +1711,7 @@ 1.352 // get parameter size (always needed) 1.353 __ load_unsigned_short(rcx, size_of_parameters); 1.354 1.355 - // rbx: methodOop 1.356 + // rbx: Method* 1.357 // rcx: size of parameters 1.358 __ load_unsigned_short(rdx, size_of_locals); // get size of locals in words 1.359 1.360 @@ -1927,7 +1927,7 @@ 1.361 if (UseSSE < 2) { 1.362 __ lea(state, Address(rbp, -(int)sizeof(BytecodeInterpreter))); 1.363 __ movptr(rbx, STATE(_result._to_call._callee)); // get method just executed 1.364 - __ movl(rcx, Address(rbx, methodOopDesc::result_index_offset())); 1.365 + __ movl(rcx, Address(rbx, Method::result_index_offset())); 1.366 __ cmpl(rcx, AbstractInterpreter::BasicType_as_index(T_FLOAT)); // Result stub address array index 1.367 __ jcc(Assembler::equal, do_float); 1.368 __ cmpl(rcx, AbstractInterpreter::BasicType_as_index(T_DOUBLE)); // Result stub address array index 1.369 @@ -1989,10 +1989,10 @@ 1.370 __ movptr(rbx, STATE(_result._to_call._callee)); 1.371 1.372 // callee left args on top of expression stack, remove them 1.373 - __ load_unsigned_short(rcx, Address(rbx, methodOopDesc::size_of_parameters_offset())); 1.374 + __ load_unsigned_short(rcx, Address(rbx, Method::size_of_parameters_offset())); 1.375 __ lea(rsp, Address(rsp, rcx, Address::times_ptr)); 1.376 1.377 - __ movl(rcx, Address(rbx, methodOopDesc::result_index_offset())); 1.378 + __ movl(rcx, Address(rbx, Method::result_index_offset())); 1.379 ExternalAddress tosca_to_stack((address)CppInterpreter::_tosca_to_stack); 1.380 // Address index(noreg, rax, Address::times_ptr); 1.381 __ movptr(rcx, ArrayAddress(tosca_to_stack, Address(noreg, rcx, Address::times_ptr))); 1.382 @@ -2019,7 +2019,7 @@ 1.383 1.384 __ movptr(rbx, STATE(_method)); // get method just executed 1.385 __ cmpptr(STATE(_prev_link), (int32_t)NULL_WORD); // returning from "recursive" interpreter call? 1.386 - __ movl(rax, Address(rbx, methodOopDesc::result_index_offset())); // get result type index 1.387 + __ movl(rax, Address(rbx, Method::result_index_offset())); // get result type index 1.388 __ jcc(Assembler::equal, return_to_initial_caller); // back to native code (call_stub/c1/c2) 1.389 1.390 // Copy result to callers java stack 1.391 @@ -2253,7 +2253,7 @@ 1.392 // Deoptimization helpers for C++ interpreter 1.393 1.394 // How much stack a method activation needs in words. 1.395 -int AbstractInterpreter::size_top_interpreter_activation(methodOop method) { 1.396 +int AbstractInterpreter::size_top_interpreter_activation(Method* method) { 1.397 1.398 const int stub_code = 4; // see generate_call_stub 1.399 // Save space for one monitor to get into the interpreted method in case 1.400 @@ -2267,9 +2267,9 @@ 1.401 const int overhead_size = sizeof(BytecodeInterpreter)/wordSize + 1.402 ( frame::sender_sp_offset - frame::link_offset) + 2; 1.403 1.404 - const int extra_stack = 0; //6815692//methodOopDesc::extra_stack_entries(); 1.405 + const int extra_stack = 0; //6815692//Method::extra_stack_entries(); 1.406 const int method_stack = (method->max_locals() + method->max_stack() + extra_stack) * 1.407 - Interpreter::stackElementWords(); 1.408 + Interpreter::stackElementWords; 1.409 return overhead_size + method_stack + stub_code; 1.410 } 1.411 1.412 @@ -2285,7 +2285,7 @@ 1.413 void BytecodeInterpreter::layout_interpreterState(interpreterState to_fill, 1.414 frame* caller, 1.415 frame* current, 1.416 - methodOop method, 1.417 + Method* method, 1.418 intptr_t* locals, 1.419 intptr_t* stack, 1.420 intptr_t* stack_base, 1.421 @@ -2333,7 +2333,7 @@ 1.422 // Need +1 here because stack_base points to the word just above the first expr stack entry 1.423 // and stack_limit is supposed to point to the word just below the last expr stack entry. 1.424 // See generate_compute_interpreter_state. 1.425 - int extra_stack = 0; //6815692//methodOopDesc::extra_stack_entries(); 1.426 + int extra_stack = 0; //6815692//Method::extra_stack_entries(); 1.427 to_fill->_stack_limit = stack_base - (method->max_stack() + extra_stack + 1); 1.428 to_fill->_monitor_base = (BasicObjectLock*) monitor_base; 1.429 1.430 @@ -2342,7 +2342,7 @@ 1.431 "Stack top out of range"); 1.432 } 1.433 1.434 -int AbstractInterpreter::layout_activation(methodOop method, 1.435 +int AbstractInterpreter::layout_activation(Method* method, 1.436 int tempcount, // 1.437 int popframe_extra_args, 1.438 int moncount, 1.439 @@ -2381,7 +2381,7 @@ 1.440 monitor_size); 1.441 1.442 // Now with full size expression stack 1.443 - int extra_stack = 0; //6815692//methodOopDesc::extra_stack_entries(); 1.444 + int extra_stack = 0; //6815692//Method::extra_stack_entries(); 1.445 int full_frame_size = short_frame_size + (method->max_stack() + extra_stack) * BytesPerWord; 1.446 1.447 // and now with only live portion of the expression stack