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