comparison src/share/vm/oops/arrayKlass.hpp @ 11096:71180a6e5080

7133260: AllocationProfiler uses space in metadata and doesn't seem to do anything useful. Summary: Remove -Xaprof and Klass::_alloc_count & ArrayKlass::_alloc_size. Reviewed-by: stefank, coleenp
author jiangli
date Wed, 03 Jul 2013 17:26:59 -0400
parents e0c9a1d29eb4
children 48314d596a04 096a7e12d63f
comparison
equal deleted inserted replaced
11065:cedf20e2a655 11096:71180a6e5080
37 private: 37 private:
38 int _dimension; // This is n'th-dimensional array. 38 int _dimension; // This is n'th-dimensional array.
39 Klass* volatile _higher_dimension; // Refers the (n+1)'th-dimensional array (if present). 39 Klass* volatile _higher_dimension; // Refers the (n+1)'th-dimensional array (if present).
40 Klass* volatile _lower_dimension; // Refers the (n-1)'th-dimensional array (if present). 40 Klass* volatile _lower_dimension; // Refers the (n-1)'th-dimensional array (if present).
41 int _vtable_len; // size of vtable for this klass 41 int _vtable_len; // size of vtable for this klass
42 juint _alloc_size; // allocation profiling support
43 oop _component_mirror; // component type, as a java/lang/Class 42 oop _component_mirror; // component type, as a java/lang/Class
44 43
45 protected: 44 protected:
46 // Constructors 45 // Constructors
47 // The constructor with the Symbol argument does the real array 46 // The constructor with the Symbol argument does the real array
62 Klass** adr_higher_dimension() { return (Klass**)&this->_higher_dimension;} 61 Klass** adr_higher_dimension() { return (Klass**)&this->_higher_dimension;}
63 62
64 Klass* lower_dimension() const { return _lower_dimension; } 63 Klass* lower_dimension() const { return _lower_dimension; }
65 void set_lower_dimension(Klass* k) { _lower_dimension = k; } 64 void set_lower_dimension(Klass* k) { _lower_dimension = k; }
66 Klass** adr_lower_dimension() { return (Klass**)&this->_lower_dimension;} 65 Klass** adr_lower_dimension() { return (Klass**)&this->_lower_dimension;}
67
68 // Allocation profiling support
69 juint alloc_size() const { return _alloc_size; }
70 void set_alloc_size(juint n) { _alloc_size = n; }
71 66
72 // offset of first element, including any padding for the sake of alignment 67 // offset of first element, including any padding for the sake of alignment
73 int array_header_in_bytes() const { return layout_helper_header_size(layout_helper()); } 68 int array_header_in_bytes() const { return layout_helper_header_size(layout_helper()); }
74 int log2_element_size() const { return layout_helper_log2_element_size(layout_helper()); } 69 int log2_element_size() const { return layout_helper_log2_element_size(layout_helper()); }
75 // type of elements (T_OBJECT for both oop arrays and array-arrays) 70 // type of elements (T_OBJECT for both oop arrays and array-arrays)
124 119
125 public: 120 public:
126 // Iterators 121 // Iterators
127 void array_klasses_do(void f(Klass* k)); 122 void array_klasses_do(void f(Klass* k));
128 void array_klasses_do(void f(Klass* k, TRAPS), TRAPS); 123 void array_klasses_do(void f(Klass* k, TRAPS), TRAPS);
129 void with_array_klasses_do(void f(Klass* k));
130 124
131 // GC support 125 // GC support
132 virtual void oops_do(OopClosure* cl); 126 virtual void oops_do(OopClosure* cl);
133 127
134 // Return a handle. 128 // Return a handle.