Mercurial > hg > truffle
comparison src/share/vm/classfile/classFileParser.cpp @ 518:0af8b0718fc9
6692899: CMS: many vm.parallel_class_loading tests fail with assert "missing Printezis mark"
Summary: The CMS concurrent precleaning and concurrent marking phases should work around classes that are undergoing redefinition.
Reviewed-by: ysr, dcubed
author | jmasa |
---|---|
date | Sun, 11 Jan 2009 16:58:24 -0800 |
parents | 7a018855d2f0 |
children | 0fbdb4381b99 |
comparison
equal
deleted
inserted
replaced
517:e9be0e04635a | 518:0af8b0718fc9 |
---|---|
230 u2 length = cfs->get_u2_fast(); | 230 u2 length = cfs->get_u2_fast(); |
231 guarantee_property( | 231 guarantee_property( |
232 length >= 1, "Illegal constant pool size %u in class file %s", | 232 length >= 1, "Illegal constant pool size %u in class file %s", |
233 length, CHECK_(nullHandle)); | 233 length, CHECK_(nullHandle)); |
234 constantPoolOop constant_pool = | 234 constantPoolOop constant_pool = |
235 oopFactory::new_constantPool(length, CHECK_(nullHandle)); | 235 oopFactory::new_constantPool(length, |
236 methodOopDesc::IsSafeConc, | |
237 CHECK_(nullHandle)); | |
236 constantPoolHandle cp (THREAD, constant_pool); | 238 constantPoolHandle cp (THREAD, constant_pool); |
237 | 239 |
238 cp->set_partially_loaded(); // Enables heap verify to work on partial constantPoolOops | 240 cp->set_partially_loaded(); // Enables heap verify to work on partial constantPoolOops |
239 | 241 |
240 // parsing constant pool entries | 242 // parsing constant pool entries |
1673 } | 1675 } |
1674 | 1676 |
1675 // All sizing information for a methodOop is finally available, now create it | 1677 // All sizing information for a methodOop is finally available, now create it |
1676 methodOop m_oop = oopFactory::new_method( | 1678 methodOop m_oop = oopFactory::new_method( |
1677 code_length, access_flags, linenumber_table_length, | 1679 code_length, access_flags, linenumber_table_length, |
1678 total_lvt_length, checked_exceptions_length, CHECK_(nullHandle)); | 1680 total_lvt_length, checked_exceptions_length, |
1681 methodOopDesc::IsSafeConc, CHECK_(nullHandle)); | |
1679 methodHandle m (THREAD, m_oop); | 1682 methodHandle m (THREAD, m_oop); |
1680 | 1683 |
1681 ClassLoadingService::add_class_method_size(m_oop->size()*HeapWordSize); | 1684 ClassLoadingService::add_class_method_size(m_oop->size()*HeapWordSize); |
1682 | 1685 |
1683 // Fill in information from fixed part (access_flags already set) | 1686 // Fill in information from fixed part (access_flags already set) |