hotspot/src/share/vm/runtime/frame.cpp
changeset 23482 40418dd505d1
parent 22929 cb114f3238ef
child 24424 2658d7834c6e
equal deleted inserted replaced
23481:181afce33fe9 23482:40418dd505d1
   529 
   529 
   530 jint frame::interpreter_frame_expression_stack_size() const {
   530 jint frame::interpreter_frame_expression_stack_size() const {
   531   // Number of elements on the interpreter expression stack
   531   // Number of elements on the interpreter expression stack
   532   // Callers should span by stackElementWords
   532   // Callers should span by stackElementWords
   533   int element_size = Interpreter::stackElementWords;
   533   int element_size = Interpreter::stackElementWords;
       
   534   size_t stack_size = 0;
   534   if (frame::interpreter_frame_expression_stack_direction() < 0) {
   535   if (frame::interpreter_frame_expression_stack_direction() < 0) {
   535     return (interpreter_frame_expression_stack() -
   536     stack_size = (interpreter_frame_expression_stack() -
   536             interpreter_frame_tos_address() + 1)/element_size;
   537                   interpreter_frame_tos_address() + 1)/element_size;
   537   } else {
   538   } else {
   538     return (interpreter_frame_tos_address() -
   539     stack_size = (interpreter_frame_tos_address() -
   539             interpreter_frame_expression_stack() + 1)/element_size;
   540                   interpreter_frame_expression_stack() + 1)/element_size;
   540   }
   541   }
       
   542   assert( stack_size <= (size_t)max_jint, "stack size too big");
       
   543   return ((jint)stack_size);
   541 }
   544 }
   542 
   545 
   543 
   546 
   544 // (frame::interpreter_frame_sender_sp accessor is in frame_<arch>.cpp)
   547 // (frame::interpreter_frame_sender_sp accessor is in frame_<arch>.cpp)
   545 
   548