< prev index next >

src/share/vm/opto/graphKit.cpp

Print this page




1063       inputs   = declared_signature->arg_size_for_bc(code);
1064       int size = declared_signature->return_type()->size();
1065       depth = size - inputs;
1066     }
1067     break;
1068 
1069   case Bytecodes::_multianewarray:
1070     {
1071       ciBytecodeStream iter(method());
1072       iter.reset_to_bci(bci());
1073       iter.next();
1074       inputs = iter.get_dimensions();
1075       assert(rsize == 1, "");
1076       depth = rsize - inputs;
1077     }
1078     break;
1079 
1080   case Bytecodes::_vnew: {
1081     // vnew pops the values from the stack
1082     ciValueKlass* vk = method()->holder()->as_value_klass();
1083     inputs = vk->field_size();
1084     depth = rsize - inputs;
1085     break;
1086   }
1087 
1088   case Bytecodes::_ireturn:
1089   case Bytecodes::_lreturn:
1090   case Bytecodes::_freturn:
1091   case Bytecodes::_dreturn:
1092   case Bytecodes::_areturn:
1093   case Bytecodes::_vreturn:
1094     assert(rsize = -depth, "");
1095     inputs = rsize;
1096     break;
1097 
1098   case Bytecodes::_jsr:
1099   case Bytecodes::_jsr_w:
1100     inputs = 0;
1101     depth  = 1;                  // S.B. depth=1, not zero
1102     break;
1103 




1063       inputs   = declared_signature->arg_size_for_bc(code);
1064       int size = declared_signature->return_type()->size();
1065       depth = size - inputs;
1066     }
1067     break;
1068 
1069   case Bytecodes::_multianewarray:
1070     {
1071       ciBytecodeStream iter(method());
1072       iter.reset_to_bci(bci());
1073       iter.next();
1074       inputs = iter.get_dimensions();
1075       assert(rsize == 1, "");
1076       depth = rsize - inputs;
1077     }
1078     break;
1079 
1080   case Bytecodes::_vnew: {
1081     // vnew pops the values from the stack
1082     ciValueKlass* vk = method()->holder()->as_value_klass();
1083     inputs = vk->param_size();
1084     depth = rsize - inputs;
1085     break;
1086   }
1087 
1088   case Bytecodes::_ireturn:
1089   case Bytecodes::_lreturn:
1090   case Bytecodes::_freturn:
1091   case Bytecodes::_dreturn:
1092   case Bytecodes::_areturn:
1093   case Bytecodes::_vreturn:
1094     assert(rsize = -depth, "");
1095     inputs = rsize;
1096     break;
1097 
1098   case Bytecodes::_jsr:
1099   case Bytecodes::_jsr_w:
1100     inputs = 0;
1101     depth  = 1;                  // S.B. depth=1, not zero
1102     break;
1103 


< prev index next >