hotspot/src/cpu/sparc/vm/interp_masm_sparc.cpp
changeset 46620 750c6edff33b
parent 46461 7155d5ff2d07
child 46625 edefffab74e2
equal deleted inserted replaced
46619:a3919f5e8d2b 46620:750c6edff33b
    63   // faster.
    63   // faster.
    64   Label skip_move;
    64   Label skip_move;
    65   br(Assembler::negative, true, Assembler::pt, skip_move);
    65   br(Assembler::negative, true, Assembler::pt, skip_move);
    66   delayed()->mov(G0, delta);
    66   delayed()->mov(G0, delta);
    67   bind(skip_move);
    67   bind(skip_move);
    68   round_to(delta, WordsPerLong);       // make multiple of 2 (SP must be 2-word aligned)
    68   align_up(delta, WordsPerLong);       // make multiple of 2 (SP must be 2-word aligned)
    69   sll(delta, LogBytesPerWord, delta);  // extra space for locals in bytes
    69   sll(delta, LogBytesPerWord, delta);  // extra space for locals in bytes
    70 }
    70 }
    71 
    71 
    72 // Dispatch code executed in the prolog of a bytecode which does not do it's
    72 // Dispatch code executed in the prolog of a bytecode which does not do it's
    73 // own dispatch. The dispatch address is computed and placed in IdispatchAddress
    73 // own dispatch. The dispatch address is computed and placed in IdispatchAddress
  2307 }
  2307 }
  2308 
  2308 
  2309 
  2309 
  2310 int InterpreterMacroAssembler::top_most_monitor_byte_offset() {
  2310 int InterpreterMacroAssembler::top_most_monitor_byte_offset() {
  2311   const jint delta = frame::interpreter_frame_monitor_size() * wordSize;
  2311   const jint delta = frame::interpreter_frame_monitor_size() * wordSize;
  2312   int rounded_vm_local_words = ::round_to(frame::interpreter_frame_vm_local_words, WordsPerLong);
  2312   int rounded_vm_local_words = align_up((int)frame::interpreter_frame_vm_local_words, WordsPerLong);
  2313   return ((-rounded_vm_local_words * wordSize) - delta ) + STACK_BIAS;
  2313   return ((-rounded_vm_local_words * wordSize) - delta ) + STACK_BIAS;
  2314 }
  2314 }
  2315 
  2315 
  2316 
  2316 
  2317 Address InterpreterMacroAssembler::top_most_monitor() {
  2317 Address InterpreterMacroAssembler::top_most_monitor() {