src/share/vm/runtime/vframeArray.cpp

changeset 1690
e3a4305c6bc3
parent 1338
15bbd3f505c0
child 1730
3cf667df43ef
equal deleted inserted replaced
1689:4ee1c645110e 1690:e3a4305c6bc3
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 }

mercurial