src/cpu/x86/vm/cppInterpreter_x86.cpp

changeset 4037
da91efe96a93
parent 3969
1d7922586cf6
child 4052
75f33eecc1b3
     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

mercurial