329 guarantee_property( |
329 guarantee_property( |
330 length >= 1, "Illegal constant pool size %u in class file %s", |
330 length >= 1, "Illegal constant pool size %u in class file %s", |
331 length, CHECK_(nullHandle)); |
331 length, CHECK_(nullHandle)); |
332 constantPoolOop constant_pool = |
332 constantPoolOop constant_pool = |
333 oopFactory::new_constantPool(length, |
333 oopFactory::new_constantPool(length, |
334 methodOopDesc::IsSafeConc, |
334 oopDesc::IsSafeConc, |
335 CHECK_(nullHandle)); |
335 CHECK_(nullHandle)); |
336 constantPoolHandle cp (THREAD, constant_pool); |
336 constantPoolHandle cp (THREAD, constant_pool); |
337 |
337 |
338 cp->set_partially_loaded(); // Enables heap verify to work on partial constantPoolOops |
338 cp->set_partially_loaded(); // Enables heap verify to work on partial constantPoolOops |
339 ConstantPoolCleaner cp_in_error(cp); // set constant pool to be cleaned up. |
339 ConstantPoolCleaner cp_in_error(cp); // set constant pool to be cleaned up. |
1927 guarantee_property(access_flags.is_native() || access_flags.is_abstract() || parsed_code_attribute, |
1927 guarantee_property(access_flags.is_native() || access_flags.is_abstract() || parsed_code_attribute, |
1928 "Absent Code attribute in method that is not native or abstract in class file %s", CHECK_(nullHandle)); |
1928 "Absent Code attribute in method that is not native or abstract in class file %s", CHECK_(nullHandle)); |
1929 } |
1929 } |
1930 |
1930 |
1931 // All sizing information for a methodOop is finally available, now create it |
1931 // All sizing information for a methodOop is finally available, now create it |
1932 methodOop m_oop = oopFactory::new_method( |
1932 methodOop m_oop = oopFactory::new_method(code_length, access_flags, linenumber_table_length, |
1933 code_length, access_flags, linenumber_table_length, |
1933 total_lvt_length, checked_exceptions_length, |
1934 total_lvt_length, checked_exceptions_length, |
1934 oopDesc::IsSafeConc, CHECK_(nullHandle)); |
1935 methodOopDesc::IsSafeConc, CHECK_(nullHandle)); |
|
1936 methodHandle m (THREAD, m_oop); |
1935 methodHandle m (THREAD, m_oop); |
1937 |
1936 |
1938 ClassLoadingService::add_class_method_size(m_oop->size()*HeapWordSize); |
1937 ClassLoadingService::add_class_method_size(m_oop->size()*HeapWordSize); |
1939 |
1938 |
1940 // Fill in information from fixed part (access_flags already set) |
1939 // Fill in information from fixed part (access_flags already set) |