equal
deleted
inserted
replaced
1 /* |
1 /* |
2 * Copyright 1997-2009 Sun Microsystems, Inc. All Rights Reserved. |
2 * Copyright 1997-2010 Sun Microsystems, Inc. All Rights Reserved. |
3 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. |
3 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. |
4 * |
4 * |
5 * This code is free software; you can redistribute it and/or modify it |
5 * This code is free software; you can redistribute it and/or modify it |
6 * under the terms of the GNU General Public License version 2 only, as |
6 * under the terms of the GNU General Public License version 2 only, as |
7 * published by the Free Software Foundation. |
7 * published by the Free Software Foundation. |
184 "shouldn't get exception during monitorenter");) |
184 "shouldn't get exception during monitorenter");) |
185 |
185 |
186 int popframe_preserved_args_size_in_bytes = 0; |
186 int popframe_preserved_args_size_in_bytes = 0; |
187 int popframe_preserved_args_size_in_words = 0; |
187 int popframe_preserved_args_size_in_words = 0; |
188 if (is_top_frame) { |
188 if (is_top_frame) { |
189 JvmtiThreadState *state = thread->jvmti_thread_state(); |
189 JvmtiThreadState *state = thread->jvmti_thread_state(); |
190 if (JvmtiExport::can_pop_frame() && |
190 if (JvmtiExport::can_pop_frame() && |
191 (thread->has_pending_popframe() || thread->popframe_forcing_deopt_reexecution())) { |
191 (thread->has_pending_popframe() || thread->popframe_forcing_deopt_reexecution())) { |
192 if (thread->has_pending_popframe()) { |
192 if (thread->has_pending_popframe()) { |
193 // Pop top frame after deoptimization |
193 // Pop top frame after deoptimization |
194 #ifndef CC_INTERP |
194 #ifndef CC_INTERP |
379 tty->print_cr("[%d Interpreted Frame]", ++unpack_counter); |
379 tty->print_cr("[%d Interpreted Frame]", ++unpack_counter); |
380 iframe()->print_on(tty); |
380 iframe()->print_on(tty); |
381 RegisterMap map(thread); |
381 RegisterMap map(thread); |
382 vframe* f = vframe::new_vframe(iframe(), &map, thread); |
382 vframe* f = vframe::new_vframe(iframe(), &map, thread); |
383 f->print(); |
383 f->print(); |
384 iframe()->interpreter_frame_print_on(tty); |
|
385 |
384 |
386 tty->print_cr("locals size %d", locals()->size()); |
385 tty->print_cr("locals size %d", locals()->size()); |
387 tty->print_cr("expression size %d", expressions()->size()); |
386 tty->print_cr("expression size %d", expressions()->size()); |
388 |
387 |
389 method()->print_value(); |
388 method()->print_value(); |
580 element(index)->print(st); |
579 element(index)->print(st); |
581 } |
580 } |
582 } |
581 } |
583 |
582 |
584 void vframeArrayElement::print(outputStream* st) { |
583 void vframeArrayElement::print(outputStream* st) { |
585 st->print_cr(" - interpreter_frame -> sp: ", INTPTR_FORMAT, iframe()->sp()); |
584 st->print_cr(" - interpreter_frame -> sp: " INTPTR_FORMAT, iframe()->sp()); |
586 } |
585 } |
587 |
586 |
588 void vframeArray::print_value_on(outputStream* st) const { |
587 void vframeArray::print_value_on(outputStream* st) const { |
589 st->print_cr("vframeArray [%d] ", frames()); |
588 st->print_cr("vframeArray [%d] ", frames()); |
590 } |
589 } |