mirror of
https://github.com/openjdk/jdk.git
synced 2025-08-26 06:14:49 +02:00
6692899: CMS: many vm.parallel_class_loading tests fail with assert "missing Printezis mark"
The CMS concurrent precleaning and concurrent marking phases should work around classes that are undergoing redefinition. Reviewed-by: ysr, dcubed
This commit is contained in:
parent
3474623106
commit
c2ff9781c7
18 changed files with 161 additions and 19 deletions
|
@ -232,7 +232,9 @@ constantPoolHandle ClassFileParser::parse_constant_pool(TRAPS) {
|
|||
length >= 1, "Illegal constant pool size %u in class file %s",
|
||||
length, CHECK_(nullHandle));
|
||||
constantPoolOop constant_pool =
|
||||
oopFactory::new_constantPool(length, CHECK_(nullHandle));
|
||||
oopFactory::new_constantPool(length,
|
||||
methodOopDesc::IsSafeConc,
|
||||
CHECK_(nullHandle));
|
||||
constantPoolHandle cp (THREAD, constant_pool);
|
||||
|
||||
cp->set_partially_loaded(); // Enables heap verify to work on partial constantPoolOops
|
||||
|
@ -1675,7 +1677,8 @@ methodHandle ClassFileParser::parse_method(constantPoolHandle cp, bool is_interf
|
|||
// All sizing information for a methodOop is finally available, now create it
|
||||
methodOop m_oop = oopFactory::new_method(
|
||||
code_length, access_flags, linenumber_table_length,
|
||||
total_lvt_length, checked_exceptions_length, CHECK_(nullHandle));
|
||||
total_lvt_length, checked_exceptions_length,
|
||||
methodOopDesc::IsSafeConc, CHECK_(nullHandle));
|
||||
methodHandle m (THREAD, m_oop);
|
||||
|
||||
ClassLoadingService::add_class_method_size(m_oop->size()*HeapWordSize);
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue