hotspot/src/share/vm/c1/c1_LIRGenerator.cpp
changeset 33105 294e48b4f704
parent 33096 d38227d62ef4
child 34160 3240e478a30e
child 33589 7cbd1b2c139b
equal deleted inserted replaced
33104:a7c0f60a1294 33105:294e48b4f704
   918 }
   918 }
   919 
   919 
   920 
   920 
   921 LIR_Opr LIRGenerator::force_to_spill(LIR_Opr value, BasicType t) {
   921 LIR_Opr LIRGenerator::force_to_spill(LIR_Opr value, BasicType t) {
   922   assert(type2size[t] == type2size[value->type()],
   922   assert(type2size[t] == type2size[value->type()],
   923          err_msg_res("size mismatch: t=%s, value->type()=%s", type2name(t), type2name(value->type())));
   923          "size mismatch: t=%s, value->type()=%s", type2name(t), type2name(value->type()));
   924   if (!value->is_register()) {
   924   if (!value->is_register()) {
   925     // force into a register
   925     // force into a register
   926     LIR_Opr r = new_register(value->type());
   926     LIR_Opr r = new_register(value->type());
   927     __ move(value, r);
   927     __ move(value, r);
   928     value = r;
   928     value = r;
  2830 }
  2830 }
  2831 
  2831 
  2832 
  2832 
  2833 void LIRGenerator::invoke_load_arguments(Invoke* x, LIRItemList* args, const LIR_OprList* arg_list) {
  2833 void LIRGenerator::invoke_load_arguments(Invoke* x, LIRItemList* args, const LIR_OprList* arg_list) {
  2834   assert(args->length() == arg_list->length(),
  2834   assert(args->length() == arg_list->length(),
  2835          err_msg_res("args=%d, arg_list=%d", args->length(), arg_list->length()));
  2835          "args=%d, arg_list=%d", args->length(), arg_list->length());
  2836   for (int i = x->has_receiver() ? 1 : 0; i < args->length(); i++) {
  2836   for (int i = x->has_receiver() ? 1 : 0; i < args->length(); i++) {
  2837     LIRItem* param = args->at(i);
  2837     LIRItem* param = args->at(i);
  2838     LIR_Opr loc = arg_list->at(i);
  2838     LIR_Opr loc = arg_list->at(i);
  2839     if (loc->is_register()) {
  2839     if (loc->is_register()) {
  2840       param->load_item_force(loc);
  2840       param->load_item_force(loc);
  2974                       SharedRuntime::get_resolve_static_call_stub(),
  2974                       SharedRuntime::get_resolve_static_call_stub(),
  2975                       arg_list, info);
  2975                       arg_list, info);
  2976       break;
  2976       break;
  2977     }
  2977     }
  2978     default:
  2978     default:
  2979       fatal(err_msg("unexpected bytecode: %s", Bytecodes::name(x->code())));
  2979       fatal("unexpected bytecode: %s", Bytecodes::name(x->code()));
  2980       break;
  2980       break;
  2981   }
  2981   }
  2982 
  2982 
  2983   // JSR 292
  2983   // JSR 292
  2984   // Restore the SP after MethodHandle call sites, if needed.
  2984   // Restore the SP after MethodHandle call sites, if needed.