< prev index next >

src/hotspot/cpu/sparc/macroAssembler_sparc.cpp

Print this page




1394 
1395 
1396 void MacroAssembler::untested(const char* what) {
1397   // We must be able to turn interactive prompting off
1398   // in order to run automated test scripts on the VM
1399   // Use the flag ShowMessageBoxOnError
1400 
1401   const char* b = NULL;
1402   {
1403     ResourceMark rm;
1404     stringStream ss;
1405     ss.print("untested: %s", what);
1406     b = code_string(ss.as_string());
1407   }
1408   if (ShowMessageBoxOnError) { STOP(b); }
1409   else                       { warn(b); }
1410 }
1411 
1412 
1413 void MacroAssembler::unimplemented(const char* what) {
1414   char* b = new char[1024];
1415   jio_snprintf(b, 1024, "unimplemented: %s", what);
1416   stop(b);





1417 }
1418 
1419 
1420 void MacroAssembler::stop_subroutine() {
1421   RegistersForDebugging::save_registers(this);
1422 
1423   // for the sake of the debugger, stick a PC on the current frame
1424   // (this assumes that the caller has performed an extra "save")
1425   mov(I7, L7);
1426   add(O7, -7 * BytesPerInt, I7);
1427 
1428   save_frame(); // one more save to free up another O7 register
1429   mov(I0, O1); // addr of reg save area
1430 
1431   // We expect pointer to message in I1. Caller must set it up in O1
1432   mov(I1, O0); // get msg
1433   call (CAST_FROM_FN_PTR(address, MacroAssembler::debug), relocInfo::runtime_call_type);
1434   delayed()->nop();
1435 
1436   restore();




1394 
1395 
1396 void MacroAssembler::untested(const char* what) {
1397   // We must be able to turn interactive prompting off
1398   // in order to run automated test scripts on the VM
1399   // Use the flag ShowMessageBoxOnError
1400 
1401   const char* b = NULL;
1402   {
1403     ResourceMark rm;
1404     stringStream ss;
1405     ss.print("untested: %s", what);
1406     b = code_string(ss.as_string());
1407   }
1408   if (ShowMessageBoxOnError) { STOP(b); }
1409   else                       { warn(b); }
1410 }
1411 
1412 
1413 void MacroAssembler::unimplemented(const char* what) {
1414   const char* buf = NULL;
1415   {
1416     ResourceMark rm;
1417     stringStream ss;
1418     ss.print("unimplemented: %s", what);
1419     buf = code_string(ss.as_string());
1420   }
1421   stop(buf);
1422 }
1423 
1424 
1425 void MacroAssembler::stop_subroutine() {
1426   RegistersForDebugging::save_registers(this);
1427 
1428   // for the sake of the debugger, stick a PC on the current frame
1429   // (this assumes that the caller has performed an extra "save")
1430   mov(I7, L7);
1431   add(O7, -7 * BytesPerInt, I7);
1432 
1433   save_frame(); // one more save to free up another O7 register
1434   mov(I0, O1); // addr of reg save area
1435 
1436   // We expect pointer to message in I1. Caller must set it up in O1
1437   mov(I1, O0); // get msg
1438   call (CAST_FROM_FN_PTR(address, MacroAssembler::debug), relocInfo::runtime_call_type);
1439   delayed()->nop();
1440 
1441   restore();


< prev index next >