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