4927 // Report error
4928 throwIllegalSignature("Method", name, signature, THREAD);
4929 return 0;
4930 }
4931
4932 int ClassFileParser::static_field_size() const {
4933 assert(_field_info != nullptr, "invariant");
4934 return _field_info->_static_field_size;
4935 }
4936
4937 int ClassFileParser::total_oop_map_count() const {
4938 assert(_field_info != nullptr, "invariant");
4939 return _field_info->oop_map_blocks->_nonstatic_oop_map_count;
4940 }
4941
4942 jint ClassFileParser::layout_size() const {
4943 assert(_field_info != nullptr, "invariant");
4944 return _field_info->_instance_size;
4945 }
4946
4947 static void check_methods_for_intrinsics(const InstanceKlass* ik,
4948 const Array<Method*>* methods) {
4949 assert(ik != nullptr, "invariant");
4950 assert(methods != nullptr, "invariant");
4951
4952 // Set up Method*::intrinsic_id as soon as we know the names of methods.
4953 // (We used to do this lazily, but now we query it in Rewriter,
4954 // which is eagerly done for every method, so we might as well do it now,
4955 // when everything is fresh in memory.)
4956 const vmSymbolID klass_id = Method::klass_id_for_intrinsics(ik);
4957
4958 if (klass_id != vmSymbolID::NO_SID) {
4959 for (int j = 0; j < methods->length(); ++j) {
4960 Method* method = methods->at(j);
4961 method->init_intrinsic_id(klass_id);
4962
4963 if (CheckIntrinsics) {
4964 // Check if an intrinsic is defined for method 'method',
4965 // but the method is not annotated with @IntrinsicCandidate.
4966 if (method->intrinsic_id() != vmIntrinsics::_none &&
|
4927 // Report error
4928 throwIllegalSignature("Method", name, signature, THREAD);
4929 return 0;
4930 }
4931
4932 int ClassFileParser::static_field_size() const {
4933 assert(_field_info != nullptr, "invariant");
4934 return _field_info->_static_field_size;
4935 }
4936
4937 int ClassFileParser::total_oop_map_count() const {
4938 assert(_field_info != nullptr, "invariant");
4939 return _field_info->oop_map_blocks->_nonstatic_oop_map_count;
4940 }
4941
4942 jint ClassFileParser::layout_size() const {
4943 assert(_field_info != nullptr, "invariant");
4944 return _field_info->_instance_size;
4945 }
4946
4947 int ClassFileParser::hash_offset() const {
4948 return _field_info->_hash_offset;
4949 }
4950
4951 static void check_methods_for_intrinsics(const InstanceKlass* ik,
4952 const Array<Method*>* methods) {
4953 assert(ik != nullptr, "invariant");
4954 assert(methods != nullptr, "invariant");
4955
4956 // Set up Method*::intrinsic_id as soon as we know the names of methods.
4957 // (We used to do this lazily, but now we query it in Rewriter,
4958 // which is eagerly done for every method, so we might as well do it now,
4959 // when everything is fresh in memory.)
4960 const vmSymbolID klass_id = Method::klass_id_for_intrinsics(ik);
4961
4962 if (klass_id != vmSymbolID::NO_SID) {
4963 for (int j = 0; j < methods->length(); ++j) {
4964 Method* method = methods->at(j);
4965 method->init_intrinsic_id(klass_id);
4966
4967 if (CheckIntrinsics) {
4968 // Check if an intrinsic is defined for method 'method',
4969 // but the method is not annotated with @IntrinsicCandidate.
4970 if (method->intrinsic_id() != vmIntrinsics::_none &&
|