1579 if ( ShowMessageBoxOnError ) {
1580 JavaThread* thread = JavaThread::current();
1581 JavaThreadState saved_state = thread->thread_state();
1582 thread->set_thread_state(_thread_in_vm);
1583 {
1584 // In order to get locks work, we need to fake a in_VM state
1585 ttyLocker ttyl;
1586 ::tty->print_cr("EXECUTION STOPPED: %s\n", msg);
1587 if (CountBytecodes || TraceBytecodes || StopInterpreterAt) {
1588 BytecodeCounter::print();
1589 }
1590 if (os::message_box(msg, "Execution stopped, print registers?"))
1591 regs->print(::tty);
1592 }
1593 BREAKPOINT;
1594 ThreadStateTransition::transition(JavaThread::current(), _thread_in_vm, saved_state);
1595 }
1596 else {
1597 ::tty->print_cr("=============== DEBUG MESSAGE: %s ================\n", msg);
1598 }
1599 assert(false, err_msg("DEBUG MESSAGE: %s", msg));
1600 }
1601
1602
1603 void MacroAssembler::calc_mem_param_words(Register Rparam_words, Register Rresult) {
1604 subcc( Rparam_words, Argument::n_register_parameters, Rresult); // how many mem words?
1605 Label no_extras;
1606 br( negative, true, pt, no_extras ); // if neg, clear reg
1607 delayed()->set(0, Rresult); // annuled, so only if taken
1608 bind( no_extras );
1609 }
1610
1611
1612 void MacroAssembler::calc_frame_size(Register Rextra_words, Register Rresult) {
1613 #ifdef _LP64
1614 add(Rextra_words, frame::memory_parameter_word_sp_offset, Rresult);
1615 #else
1616 add(Rextra_words, frame::memory_parameter_word_sp_offset + 1, Rresult);
1617 #endif
1618 bclr(1, Rresult);
1619 sll(Rresult, LogBytesPerWord, Rresult); // Rresult has total frame bytes
|
1579 if ( ShowMessageBoxOnError ) {
1580 JavaThread* thread = JavaThread::current();
1581 JavaThreadState saved_state = thread->thread_state();
1582 thread->set_thread_state(_thread_in_vm);
1583 {
1584 // In order to get locks work, we need to fake a in_VM state
1585 ttyLocker ttyl;
1586 ::tty->print_cr("EXECUTION STOPPED: %s\n", msg);
1587 if (CountBytecodes || TraceBytecodes || StopInterpreterAt) {
1588 BytecodeCounter::print();
1589 }
1590 if (os::message_box(msg, "Execution stopped, print registers?"))
1591 regs->print(::tty);
1592 }
1593 BREAKPOINT;
1594 ThreadStateTransition::transition(JavaThread::current(), _thread_in_vm, saved_state);
1595 }
1596 else {
1597 ::tty->print_cr("=============== DEBUG MESSAGE: %s ================\n", msg);
1598 }
1599 assert(false, "DEBUG MESSAGE: %s", msg);
1600 }
1601
1602
1603 void MacroAssembler::calc_mem_param_words(Register Rparam_words, Register Rresult) {
1604 subcc( Rparam_words, Argument::n_register_parameters, Rresult); // how many mem words?
1605 Label no_extras;
1606 br( negative, true, pt, no_extras ); // if neg, clear reg
1607 delayed()->set(0, Rresult); // annuled, so only if taken
1608 bind( no_extras );
1609 }
1610
1611
1612 void MacroAssembler::calc_frame_size(Register Rextra_words, Register Rresult) {
1613 #ifdef _LP64
1614 add(Rextra_words, frame::memory_parameter_word_sp_offset, Rresult);
1615 #else
1616 add(Rextra_words, frame::memory_parameter_word_sp_offset + 1, Rresult);
1617 #endif
1618 bclr(1, Rresult);
1619 sll(Rresult, LogBytesPerWord, Rresult); // Rresult has total frame bytes
|