hotspot/src/cpu/x86/vm/frame_x86.cpp
changeset 25714 87fa6860b5ae
parent 25468 5331df506290
child 26821 ce9f82507dc2
equal deleted inserted replaced
25713:e2ed3bec8c2c 25714:87fa6860b5ae
   535   int diff = (method->max_locals() - method->size_of_parameters()) *
   535   int diff = (method->max_locals() - method->size_of_parameters()) *
   536              Interpreter::stackElementWords;
   536              Interpreter::stackElementWords;
   537   return _fp == (fp - diff);
   537   return _fp == (fp - diff);
   538 }
   538 }
   539 
   539 
   540 void frame::pd_gc_epilog() {
       
   541   // nothing done here now
       
   542 }
       
   543 
       
   544 bool frame::is_interpreted_frame_valid(JavaThread* thread) const {
   540 bool frame::is_interpreted_frame_valid(JavaThread* thread) const {
   545 // QQQ
   541 // QQQ
   546 #ifdef CC_INTERP
   542 #ifdef CC_INTERP
   547 #else
   543 #else
   548   assert(is_interpreted_frame(), "Not an interpreted frame");
   544   assert(is_interpreted_frame(), "Not an interpreted frame");
   575 
   571 
   576   if (fp() - sp() > 1024 + m->max_stack()*Interpreter::stackElementSize) {
   572   if (fp() - sp() > 1024 + m->max_stack()*Interpreter::stackElementSize) {
   577     return false;
   573     return false;
   578   }
   574   }
   579 
   575 
   580   // validate bci/bcx
   576   // validate bci/bcp
   581 
   577 
   582   intptr_t  bcx    = interpreter_frame_bcx();
   578   address bcp = interpreter_frame_bcp();
   583   if (m->validate_bci_from_bcx(bcx) < 0) {
   579   if (m->validate_bci_from_bcp(bcp) < 0) {
   584     return false;
   580     return false;
   585   }
   581   }
   586 
   582 
   587   // validate ConstantPoolCache*
   583   // validate ConstantPoolCache*
   588   ConstantPoolCache* cp = *interpreter_frame_cache_addr();
   584   ConstantPoolCache* cp = *interpreter_frame_cache_addr();
   690   if (is_interpreted_frame()) {
   686   if (is_interpreted_frame()) {
   691 #ifndef CC_INTERP
   687 #ifndef CC_INTERP
   692     DESCRIBE_FP_OFFSET(interpreter_frame_sender_sp);
   688     DESCRIBE_FP_OFFSET(interpreter_frame_sender_sp);
   693     DESCRIBE_FP_OFFSET(interpreter_frame_last_sp);
   689     DESCRIBE_FP_OFFSET(interpreter_frame_last_sp);
   694     DESCRIBE_FP_OFFSET(interpreter_frame_method);
   690     DESCRIBE_FP_OFFSET(interpreter_frame_method);
   695     DESCRIBE_FP_OFFSET(interpreter_frame_mdx);
   691     DESCRIBE_FP_OFFSET(interpreter_frame_mdp);
   696     DESCRIBE_FP_OFFSET(interpreter_frame_cache);
   692     DESCRIBE_FP_OFFSET(interpreter_frame_cache);
   697     DESCRIBE_FP_OFFSET(interpreter_frame_locals);
   693     DESCRIBE_FP_OFFSET(interpreter_frame_locals);
   698     DESCRIBE_FP_OFFSET(interpreter_frame_bcx);
   694     DESCRIBE_FP_OFFSET(interpreter_frame_bcp);
   699     DESCRIBE_FP_OFFSET(interpreter_frame_initial_sp);
   695     DESCRIBE_FP_OFFSET(interpreter_frame_initial_sp);
   700 #endif
   696 #endif
   701   }
   697   }
   702 }
   698 }
   703 #endif
   699 #endif