comparison src/share/vm/oops/constMethodKlass.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 0fbdb4381b99
comparison
equal deleted inserted replaced
517:e9be0e04635a 518:0af8b0718fc9
30 juint _alloc_size; // allocation profiling support 30 juint _alloc_size; // allocation profiling support
31 public: 31 public:
32 // Testing 32 // Testing
33 bool oop_is_constMethod() const { return true; } 33 bool oop_is_constMethod() const { return true; }
34 virtual bool oop_is_parsable(oop obj) const; 34 virtual bool oop_is_parsable(oop obj) const;
35 virtual bool oop_is_conc_safe(oop obj) const;
36
35 37
36 // Allocation 38 // Allocation
37 DEFINE_ALLOCATE_PERMANENT(constMethodKlass); 39 DEFINE_ALLOCATE_PERMANENT(constMethodKlass);
38 constMethodOop allocate(int byte_code_size, int compressed_line_number_size, 40 constMethodOop allocate(int byte_code_size, int compressed_line_number_size,
39 int localvariable_table_length, 41 int localvariable_table_length,
40 int checked_exceptions_length, TRAPS); 42 int checked_exceptions_length,
43 bool is_conc_safe,
44 TRAPS);
41 static klassOop create_klass(TRAPS); 45 static klassOop create_klass(TRAPS);
42 46
43 // Sizing 47 // Sizing
44 int oop_size(oop obj) const; 48 int oop_size(oop obj) const;
45 int klass_oop_size() const { return object_size(); } 49 int klass_oop_size() const { return object_size(); }