18 *
19 * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
20 * or visit www.oracle.com if you need additional information or have any
21 * questions.
22 *
23 */
24
25 #ifndef SHARE_VM_CI_CITYPEARRAYKLASS_HPP
26 #define SHARE_VM_CI_CITYPEARRAYKLASS_HPP
27
28 #include "ci/ciArrayKlass.hpp"
29
30 // ciTypeArrayKlass
31 //
32 // This class represents a Klass* in the HotSpot virtual machine
33 // whose Klass part in a TypeArrayKlass.
34 class ciTypeArrayKlass : public ciArrayKlass {
35 CI_PACKAGE_ACCESS
36
37 protected:
38 ciTypeArrayKlass(KlassHandle h_k);
39
40 TypeArrayKlass* get_TypeArrayKlass() {
41 return (TypeArrayKlass*)get_Klass();
42 }
43
44 const char* type_string() { return "ciTypeArrayKlass"; }
45
46 // Helper method for make.
47 static ciTypeArrayKlass* make_impl(BasicType type);
48
49 public:
50 // The type of the array elements.
51 BasicType element_type() {
52 return Klass::layout_helper_element_type(layout_helper());
53 }
54
55 // What kind of ciObject is this?
56 bool is_type_array_klass() const { return true; }
57
58 // Make an array klass corresponding to the specified primitive type.
|
18 *
19 * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
20 * or visit www.oracle.com if you need additional information or have any
21 * questions.
22 *
23 */
24
25 #ifndef SHARE_VM_CI_CITYPEARRAYKLASS_HPP
26 #define SHARE_VM_CI_CITYPEARRAYKLASS_HPP
27
28 #include "ci/ciArrayKlass.hpp"
29
30 // ciTypeArrayKlass
31 //
32 // This class represents a Klass* in the HotSpot virtual machine
33 // whose Klass part in a TypeArrayKlass.
34 class ciTypeArrayKlass : public ciArrayKlass {
35 CI_PACKAGE_ACCESS
36
37 protected:
38 ciTypeArrayKlass(Klass* k);
39
40 TypeArrayKlass* get_TypeArrayKlass() {
41 return (TypeArrayKlass*)get_Klass();
42 }
43
44 const char* type_string() { return "ciTypeArrayKlass"; }
45
46 // Helper method for make.
47 static ciTypeArrayKlass* make_impl(BasicType type);
48
49 public:
50 // The type of the array elements.
51 BasicType element_type() {
52 return Klass::layout_helper_element_type(layout_helper());
53 }
54
55 // What kind of ciObject is this?
56 bool is_type_array_klass() const { return true; }
57
58 // Make an array klass corresponding to the specified primitive type.
|