comparison src/share/vm/memory/oopFactory.hpp @ 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 a61af66fc99e
children 9a25e0c45327
comparison
equal deleted inserted replaced
517:e9be0e04635a 518:0af8b0718fc9
79 } 79 }
80 static symbolHandle new_symbol_handle(char* name, TRAPS) { return new_symbol_handle(name, (int)strlen(name), CHECK_(symbolHandle())); } 80 static symbolHandle new_symbol_handle(char* name, TRAPS) { return new_symbol_handle(name, (int)strlen(name), CHECK_(symbolHandle())); }
81 static symbolHandle new_symbol_handle(const char* name, TRAPS) { return new_symbol_handle(name, (int)strlen(name), CHECK_(symbolHandle())); } 81 static symbolHandle new_symbol_handle(const char* name, TRAPS) { return new_symbol_handle(name, (int)strlen(name), CHECK_(symbolHandle())); }
82 82
83 // Constant pools 83 // Constant pools
84 static constantPoolOop new_constantPool (int length, TRAPS); 84 static constantPoolOop new_constantPool (int length,
85 bool is_conc_safe,
86 TRAPS);
85 static constantPoolCacheOop new_constantPoolCache(int length, TRAPS); 87 static constantPoolCacheOop new_constantPoolCache(int length, TRAPS);
86 88
87 // Instance classes 89 // Instance classes
88 static klassOop new_instanceKlass(int vtable_len, int itable_len, int static_field_size, 90 static klassOop new_instanceKlass(int vtable_len, int itable_len, int static_field_size,
89 int nonstatic_oop_map_size, ReferenceType rt, TRAPS); 91 int nonstatic_oop_map_size, ReferenceType rt, TRAPS);
91 // Methods 93 // Methods
92 private: 94 private:
93 static constMethodOop new_constMethod(int byte_code_size, 95 static constMethodOop new_constMethod(int byte_code_size,
94 int compressed_line_number_size, 96 int compressed_line_number_size,
95 int localvariable_table_length, 97 int localvariable_table_length,
96 int checked_exceptions_length, TRAPS); 98 int checked_exceptions_length,
99 bool is_conc_safe,
100 TRAPS);
97 public: 101 public:
98 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); 102 // Set is_conc_safe for methods which cannot safely be
103 // processed by concurrent GC even after the return of
104 // the method.
105 static methodOop new_method(int byte_code_size,
106 AccessFlags access_flags,
107 int compressed_line_number_size,
108 int localvariable_table_length,
109 int checked_exceptions_length,
110 bool is_conc_safe,
111 TRAPS);
99 112
100 // Method Data containers 113 // Method Data containers
101 static methodDataOop new_methodData(methodHandle method, TRAPS); 114 static methodDataOop new_methodData(methodHandle method, TRAPS);
102 115
103 // System object arrays 116 // System object arrays