< prev index next >

src/share/vm/c1/c1_LIRAssembler.cpp

Print this page
rev 8979 : [mq]: vmerr_static


 445 
 446   // emit the static call stub stuff out of line
 447   emit_static_call_stub();
 448   CHECK_BAILOUT();
 449 
 450   switch (op->code()) {
 451   case lir_static_call:
 452   case lir_dynamic_call:
 453     call(op, relocInfo::static_call_type);
 454     break;
 455   case lir_optvirtual_call:
 456     call(op, relocInfo::opt_virtual_call_type);
 457     break;
 458   case lir_icvirtual_call:
 459     ic_call(op);
 460     break;
 461   case lir_virtual_call:
 462     vtable_call(op);
 463     break;
 464   default:
 465     fatal(err_msg_res("unexpected op code: %s", op->name()));
 466     break;
 467   }
 468 
 469   // JSR 292
 470   // Record if this method has MethodHandle invokes.
 471   if (op->is_method_handle_invoke()) {
 472     compilation()->set_has_method_handle_invokes(true);
 473   }
 474 
 475 #if defined(X86) && defined(TIERED)
 476   // C2 leave fpu stack dirty clean it
 477   if (UseSSE < 2) {
 478     int i;
 479     for ( i = 1; i <= 7 ; i++ ) {
 480       ffree(i);
 481     }
 482     if (!op->result_opr()->is_float_kind()) {
 483       ffree(0);
 484     }
 485   }




 445 
 446   // emit the static call stub stuff out of line
 447   emit_static_call_stub();
 448   CHECK_BAILOUT();
 449 
 450   switch (op->code()) {
 451   case lir_static_call:
 452   case lir_dynamic_call:
 453     call(op, relocInfo::static_call_type);
 454     break;
 455   case lir_optvirtual_call:
 456     call(op, relocInfo::opt_virtual_call_type);
 457     break;
 458   case lir_icvirtual_call:
 459     ic_call(op);
 460     break;
 461   case lir_virtual_call:
 462     vtable_call(op);
 463     break;
 464   default:
 465     fatal("unexpected op code: %s", op->name());
 466     break;
 467   }
 468 
 469   // JSR 292
 470   // Record if this method has MethodHandle invokes.
 471   if (op->is_method_handle_invoke()) {
 472     compilation()->set_has_method_handle_invokes(true);
 473   }
 474 
 475 #if defined(X86) && defined(TIERED)
 476   // C2 leave fpu stack dirty clean it
 477   if (UseSSE < 2) {
 478     int i;
 479     for ( i = 1; i <= 7 ; i++ ) {
 480       ffree(i);
 481     }
 482     if (!op->result_opr()->is_float_kind()) {
 483       ffree(0);
 484     }
 485   }


< prev index next >