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