equal
deleted
inserted
replaced
42 #include "utilities/stack.inline.hpp" |
42 #include "utilities/stack.inline.hpp" |
43 #if INCLUDE_ALL_GCS |
43 #if INCLUDE_ALL_GCS |
44 #include "gc/g1/g1SATBCardTableModRefBS.hpp" |
44 #include "gc/g1/g1SATBCardTableModRefBS.hpp" |
45 #endif // INCLUDE_ALL_GCS |
45 #endif // INCLUDE_ALL_GCS |
46 |
46 |
|
47 bool Klass::is_cloneable() const { |
|
48 return _access_flags.is_cloneable_fast() || |
|
49 is_subtype_of(SystemDictionary::Cloneable_klass()); |
|
50 } |
|
51 |
|
52 void Klass::set_is_cloneable() { |
|
53 if (name() != vmSymbols::java_lang_invoke_MemberName()) { |
|
54 _access_flags.set_is_cloneable_fast(); |
|
55 } else { |
|
56 assert(is_final(), "no subclasses allowed"); |
|
57 // MemberName cloning should not be intrinsified and always happen in JVM_Clone. |
|
58 } |
|
59 } |
|
60 |
47 void Klass::set_name(Symbol* n) { |
61 void Klass::set_name(Symbol* n) { |
48 _name = n; |
62 _name = n; |
49 if (_name != NULL) _name->increment_refcount(); |
63 if (_name != NULL) _name->increment_refcount(); |
50 } |
64 } |
51 |
65 |