equal
deleted
inserted
replaced
37 // the GC cycle. The runtime structures that reference the oop must test |
37 // the GC cycle. The runtime structures that reference the oop must test |
38 // if the value is NULL. If it is NULL, it has been cleaned out by GC. |
38 // if the value is NULL. If it is NULL, it has been cleaned out by GC. |
39 // This is the vm version of jweak but has different GC lifetimes and policies, |
39 // This is the vm version of jweak but has different GC lifetimes and policies, |
40 // depending on the type. |
40 // depending on the type. |
41 |
41 |
42 enum WeakHandleType { vm_class_loader_data, vm_string_table_data }; |
42 enum WeakHandleType { vm_class_loader_data, vm_string_table_data, vm_resolved_method_table_data }; |
43 |
43 |
44 template <WeakHandleType T> |
44 template <WeakHandleType T> |
45 class WeakHandle { |
45 class WeakHandle { |
46 public: |
46 public: |
47 private: |
47 private: |
62 |
62 |
63 void print() const; |
63 void print() const; |
64 void print_on(outputStream* st) const; |
64 void print_on(outputStream* st) const; |
65 }; |
65 }; |
66 |
66 |
67 typedef WeakHandle<vm_class_loader_data> ClassLoaderWeakHandle; |
|
68 |
|
69 #endif // SHARE_OOPS_WEAKHANDLE_HPP |
67 #endif // SHARE_OOPS_WEAKHANDLE_HPP |