hotspot/src/share/vm/c1/c1_GraphBuilder.cpp
changeset 33633 8a83967eb351
parent 33628 09241459a8b8
child 34160 3240e478a30e
child 33638 ef49ed90010b
equal deleted inserted replaced
33632:038347770a9e 33633:8a83967eb351
  3087 
  3087 
  3088   // Set up locals for receiver
  3088   // Set up locals for receiver
  3089   int idx = 0;
  3089   int idx = 0;
  3090   if (!method()->is_static()) {
  3090   if (!method()->is_static()) {
  3091     // we should always see the receiver
  3091     // we should always see the receiver
  3092     state->store_local(idx, new Local(method()->holder(), objectType, idx));
  3092     state->store_local(idx, new Local(method()->holder(), objectType, idx, true));
  3093     idx = 1;
  3093     idx = 1;
  3094   }
  3094   }
  3095 
  3095 
  3096   // Set up locals for incoming arguments
  3096   // Set up locals for incoming arguments
  3097   ciSignature* sig = method()->signature();
  3097   ciSignature* sig = method()->signature();
  3099     ciType* type = sig->type_at(i);
  3099     ciType* type = sig->type_at(i);
  3100     BasicType basic_type = type->basic_type();
  3100     BasicType basic_type = type->basic_type();
  3101     // don't allow T_ARRAY to propagate into locals types
  3101     // don't allow T_ARRAY to propagate into locals types
  3102     if (basic_type == T_ARRAY) basic_type = T_OBJECT;
  3102     if (basic_type == T_ARRAY) basic_type = T_OBJECT;
  3103     ValueType* vt = as_ValueType(basic_type);
  3103     ValueType* vt = as_ValueType(basic_type);
  3104     state->store_local(idx, new Local(type, vt, idx));
  3104     state->store_local(idx, new Local(type, vt, idx, false));
  3105     idx += type->size();
  3105     idx += type->size();
  3106   }
  3106   }
  3107 
  3107 
  3108   // lock synchronized method
  3108   // lock synchronized method
  3109   if (method()->is_synchronized()) {
  3109   if (method()->is_synchronized()) {