4869 // Report error
4870 throwIllegalSignature("Method", name, signature, THREAD);
4871 return 0;
4872 }
4873
4874 int ClassFileParser::static_field_size() const {
4875 assert(_field_info != nullptr, "invariant");
4876 return _field_info->_static_field_size;
4877 }
4878
4879 int ClassFileParser::total_oop_map_count() const {
4880 assert(_field_info != nullptr, "invariant");
4881 return _field_info->oop_map_blocks->_nonstatic_oop_map_count;
4882 }
4883
4884 jint ClassFileParser::layout_size() const {
4885 assert(_field_info != nullptr, "invariant");
4886 return _field_info->_instance_size;
4887 }
4888
4889 static void check_methods_for_intrinsics(const InstanceKlass* ik,
4890 const Array<Method*>* methods) {
4891 assert(ik != nullptr, "invariant");
4892 assert(methods != nullptr, "invariant");
4893
4894 // Set up Method*::intrinsic_id as soon as we know the names of methods.
4895 // (We used to do this lazily, but now we query it in Rewriter,
4896 // which is eagerly done for every method, so we might as well do it now,
4897 // when everything is fresh in memory.)
4898 const vmSymbolID klass_id = Method::klass_id_for_intrinsics(ik);
4899
4900 if (klass_id != vmSymbolID::NO_SID) {
4901 for (int j = 0; j < methods->length(); ++j) {
4902 Method* method = methods->at(j);
4903 method->init_intrinsic_id(klass_id);
4904
4905 if (CheckIntrinsics) {
4906 // Check if an intrinsic is defined for method 'method',
4907 // but the method is not annotated with @IntrinsicCandidate.
4908 if (method->intrinsic_id() != vmIntrinsics::_none &&
|
4869 // Report error
4870 throwIllegalSignature("Method", name, signature, THREAD);
4871 return 0;
4872 }
4873
4874 int ClassFileParser::static_field_size() const {
4875 assert(_field_info != nullptr, "invariant");
4876 return _field_info->_static_field_size;
4877 }
4878
4879 int ClassFileParser::total_oop_map_count() const {
4880 assert(_field_info != nullptr, "invariant");
4881 return _field_info->oop_map_blocks->_nonstatic_oop_map_count;
4882 }
4883
4884 jint ClassFileParser::layout_size() const {
4885 assert(_field_info != nullptr, "invariant");
4886 return _field_info->_instance_size;
4887 }
4888
4889 int ClassFileParser::hash_offset() const {
4890 return _field_info->_hash_offset;
4891 }
4892
4893 static void check_methods_for_intrinsics(const InstanceKlass* ik,
4894 const Array<Method*>* methods) {
4895 assert(ik != nullptr, "invariant");
4896 assert(methods != nullptr, "invariant");
4897
4898 // Set up Method*::intrinsic_id as soon as we know the names of methods.
4899 // (We used to do this lazily, but now we query it in Rewriter,
4900 // which is eagerly done for every method, so we might as well do it now,
4901 // when everything is fresh in memory.)
4902 const vmSymbolID klass_id = Method::klass_id_for_intrinsics(ik);
4903
4904 if (klass_id != vmSymbolID::NO_SID) {
4905 for (int j = 0; j < methods->length(); ++j) {
4906 Method* method = methods->at(j);
4907 method->init_intrinsic_id(klass_id);
4908
4909 if (CheckIntrinsics) {
4910 // Check if an intrinsic is defined for method 'method',
4911 // but the method is not annotated with @IntrinsicCandidate.
4912 if (method->intrinsic_id() != vmIntrinsics::_none &&
|