equal
deleted
inserted
replaced
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 |