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