src/cpu/x86/vm/cppInterpreter_x86.cpp

changeset 1063
7bb995fbd3c0
parent 1014
0fbdb4381b99
parent 1057
56aae7be60d4
child 1145
e5b0439ef4ae
     1.1 --- a/src/cpu/x86/vm/cppInterpreter_x86.cpp	Mon Mar 09 13:34:00 2009 -0700
     1.2 +++ b/src/cpu/x86/vm/cppInterpreter_x86.cpp	Thu Mar 12 18:16:36 2009 -0700
     1.3 @@ -513,7 +513,7 @@
     1.4      // compute full expression stack limit
     1.5  
     1.6      const Address size_of_stack    (rbx, methodOopDesc::max_stack_offset());
     1.7 -    __ load_unsigned_word(rdx, size_of_stack);                            // get size of expression stack in words
     1.8 +    __ load_unsigned_short(rdx, size_of_stack);                           // get size of expression stack in words
     1.9      __ negptr(rdx);                                                       // so we can subtract in next step
    1.10      // Allocate expression stack
    1.11      __ lea(rsp, Address(rsp, rdx, Address::times_ptr));
    1.12 @@ -523,7 +523,7 @@
    1.13  #ifdef _LP64
    1.14    // Make sure stack is properly aligned and sized for the abi
    1.15    __ subptr(rsp, frame::arg_reg_save_area_bytes); // windows
    1.16 -  __ andptr(rsp, -16); // must be 16 byte boundry (see amd64 ABI)
    1.17 +  __ andptr(rsp, -16); // must be 16 byte boundary (see amd64 ABI)
    1.18  #endif // _LP64
    1.19  
    1.20  
    1.21 @@ -659,7 +659,7 @@
    1.22      // Always give one monitor to allow us to start interp if sync method.
    1.23      // Any additional monitors need a check when moving the expression stack
    1.24      const int one_monitor = frame::interpreter_frame_monitor_size() * wordSize;
    1.25 -  __ load_unsigned_word(rax, size_of_stack);                            // get size of expression stack in words
    1.26 +  __ load_unsigned_short(rax, size_of_stack);                           // get size of expression stack in words
    1.27    __ lea(rax, Address(noreg, rax, Interpreter::stackElementScale(), one_monitor));
    1.28    __ lea(rax, Address(rax, rdx, Interpreter::stackElementScale(), overhead_size));
    1.29  
    1.30 @@ -863,13 +863,13 @@
    1.31      __ bind(notByte);
    1.32      __ cmpl(rdx, stos);
    1.33      __ jcc(Assembler::notEqual, notShort);
    1.34 -    __ load_signed_word(rax, field_address);
    1.35 +    __ load_signed_short(rax, field_address);
    1.36      __ jmp(xreturn_path);
    1.37  
    1.38      __ bind(notShort);
    1.39      __ cmpl(rdx, ctos);
    1.40      __ jcc(Assembler::notEqual, notChar);
    1.41 -    __ load_unsigned_word(rax, field_address);
    1.42 +    __ load_unsigned_short(rax, field_address);
    1.43      __ jmp(xreturn_path);
    1.44  
    1.45      __ bind(notChar);
    1.46 @@ -937,7 +937,7 @@
    1.47    const Register locals = rdi;
    1.48  
    1.49    // get parameter size (always needed)
    1.50 -  __ load_unsigned_word(rcx, size_of_parameters);
    1.51 +  __ load_unsigned_short(rcx, size_of_parameters);
    1.52  
    1.53    // rbx: methodOop
    1.54    // rcx: size of parameters
    1.55 @@ -970,7 +970,7 @@
    1.56  #ifdef _LP64
    1.57      // duplicate the alignment rsp got after setting stack_base
    1.58      __ subptr(rax, frame::arg_reg_save_area_bytes); // windows
    1.59 -    __ andptr(rax, -16); // must be 16 byte boundry (see amd64 ABI)
    1.60 +    __ andptr(rax, -16); // must be 16 byte boundary (see amd64 ABI)
    1.61  #endif // _LP64
    1.62      __ cmpptr(rax, rsp);
    1.63      __ jcc(Assembler::equal, L);
    1.64 @@ -1062,12 +1062,12 @@
    1.65    // allocate space for parameters
    1.66    __ movptr(method, STATE(_method));
    1.67    __ verify_oop(method);
    1.68 -  __ load_unsigned_word(t, Address(method, methodOopDesc::size_of_parameters_offset()));
    1.69 +  __ load_unsigned_short(t, Address(method, methodOopDesc::size_of_parameters_offset()));
    1.70    __ shll(t, 2);
    1.71  #ifdef _LP64
    1.72    __ subptr(rsp, t);
    1.73    __ subptr(rsp, frame::arg_reg_save_area_bytes); // windows
    1.74 -  __ andptr(rsp, -16); // must be 16 byte boundry (see amd64 ABI)
    1.75 +  __ andptr(rsp, -16); // must be 16 byte boundary (see amd64 ABI)
    1.76  #else
    1.77    __ addptr(t, 2*wordSize);     // allocate two more slots for JNIEnv and possible mirror
    1.78    __ subptr(rsp, t);
    1.79 @@ -1659,11 +1659,11 @@
    1.80    // const Address monitor(rbp, frame::interpreter_frame_initial_sp_offset * wordSize - (int)sizeof(BasicObjectLock));
    1.81  
    1.82    // get parameter size (always needed)
    1.83 -  __ load_unsigned_word(rcx, size_of_parameters);
    1.84 +  __ load_unsigned_short(rcx, size_of_parameters);
    1.85  
    1.86    // rbx: methodOop
    1.87    // rcx: size of parameters
    1.88 -  __ load_unsigned_word(rdx, size_of_locals);                      // get size of locals in words
    1.89 +  __ load_unsigned_short(rdx, size_of_locals);                     // get size of locals in words
    1.90  
    1.91    __ subptr(rdx, rcx);                                             // rdx = no. of additional locals
    1.92  
    1.93 @@ -1949,7 +1949,7 @@
    1.94    __ movptr(rbx, STATE(_result._to_call._callee));
    1.95  
    1.96    // callee left args on top of expression stack, remove them
    1.97 -  __ load_unsigned_word(rcx, Address(rbx, methodOopDesc::size_of_parameters_offset()));
    1.98 +  __ load_unsigned_short(rcx, Address(rbx, methodOopDesc::size_of_parameters_offset()));
    1.99    __ lea(rsp, Address(rsp, rcx, Address::times_ptr));
   1.100  
   1.101    __ movl(rcx, Address(rbx, methodOopDesc::result_index_offset()));
   1.102 @@ -2119,7 +2119,7 @@
   1.103    // Make it look like call_stub calling conventions
   1.104  
   1.105    // Get (potential) receiver
   1.106 -  __ load_unsigned_word(rcx, size_of_parameters);                     // get size of parameters in words
   1.107 +  __ load_unsigned_short(rcx, size_of_parameters);                   // get size of parameters in words
   1.108  
   1.109    ExternalAddress recursive(CAST_FROM_FN_PTR(address, RecursiveInterpreterActivation));
   1.110    __ pushptr(recursive.addr());                                      // make it look good in the debugger

mercurial