mirror of
https://github.com/openjdk/jdk.git
synced 2025-09-20 11:04:34 +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
|
@ -81,7 +81,9 @@ class oopFactory: AllStatic {
|
|||
static symbolHandle new_symbol_handle(const char* name, TRAPS) { return new_symbol_handle(name, (int)strlen(name), CHECK_(symbolHandle())); }
|
||||
|
||||
// Constant pools
|
||||
static constantPoolOop new_constantPool (int length, TRAPS);
|
||||
static constantPoolOop new_constantPool (int length,
|
||||
bool is_conc_safe,
|
||||
TRAPS);
|
||||
static constantPoolCacheOop new_constantPoolCache(int length, TRAPS);
|
||||
|
||||
// Instance classes
|
||||
|
@ -93,9 +95,20 @@ private:
|
|||
static constMethodOop new_constMethod(int byte_code_size,
|
||||
int compressed_line_number_size,
|
||||
int localvariable_table_length,
|
||||
int checked_exceptions_length, TRAPS);
|
||||
int checked_exceptions_length,
|
||||
bool is_conc_safe,
|
||||
TRAPS);
|
||||
public:
|
||||
static methodOop new_method(int byte_code_size, AccessFlags access_flags, int compressed_line_number_size, int localvariable_table_length, int checked_exceptions_length, TRAPS);
|
||||
// Set is_conc_safe for methods which cannot safely be
|
||||
// processed by concurrent GC even after the return of
|
||||
// the method.
|
||||
static methodOop new_method(int byte_code_size,
|
||||
AccessFlags access_flags,
|
||||
int compressed_line_number_size,
|
||||
int localvariable_table_length,
|
||||
int checked_exceptions_length,
|
||||
bool is_conc_safe,
|
||||
TRAPS);
|
||||
|
||||
// Method Data containers
|
||||
static methodDataOop new_methodData(methodHandle method, TRAPS);
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue