20 * or visit www.oracle.com if you need additional information or have any
21 * questions.
22 *
23 */
24
25 #include "precompiled.hpp"
26 #include "ci/ciArrayKlass.hpp"
27 #include "ci/ciObjArrayKlass.hpp"
28 #include "ci/ciTypeArrayKlass.hpp"
29 #include "ci/ciUtilities.hpp"
30
31 // ciArrayKlass
32 //
33 // This class represents a Klass* in the HotSpot virtual machine
34 // whose Klass part in an ArrayKlass.
35
36 // ------------------------------------------------------------------
37 // ciArrayKlass::ciArrayKlass
38 //
39 // Loaded array klass.
40 ciArrayKlass::ciArrayKlass(KlassHandle h_k) : ciKlass(h_k) {
41 assert(get_Klass()->is_array_klass(), "wrong type");
42 _dimension = get_ArrayKlass()->dimension();
43 }
44
45 // ------------------------------------------------------------------
46 // ciArrayKlass::ciArrayKlass
47 //
48 // Unloaded array klass.
49 ciArrayKlass::ciArrayKlass(ciSymbol* name, int dimension, BasicType bt)
50 : ciKlass(name, bt) {
51 _dimension = dimension;
52 }
53
54 // ------------------------------------------------------------------
55 // ciArrayKlass::element_type
56 //
57 // What type is obtained when this array is indexed once?
58 ciType* ciArrayKlass::element_type() {
59 if (is_type_array_klass()) {
60 return ciType::make(as_type_array_klass()->element_type());
|
20 * or visit www.oracle.com if you need additional information or have any
21 * questions.
22 *
23 */
24
25 #include "precompiled.hpp"
26 #include "ci/ciArrayKlass.hpp"
27 #include "ci/ciObjArrayKlass.hpp"
28 #include "ci/ciTypeArrayKlass.hpp"
29 #include "ci/ciUtilities.hpp"
30
31 // ciArrayKlass
32 //
33 // This class represents a Klass* in the HotSpot virtual machine
34 // whose Klass part in an ArrayKlass.
35
36 // ------------------------------------------------------------------
37 // ciArrayKlass::ciArrayKlass
38 //
39 // Loaded array klass.
40 ciArrayKlass::ciArrayKlass(Klass* k) : ciKlass(k) {
41 assert(get_Klass()->is_array_klass(), "wrong type");
42 _dimension = get_ArrayKlass()->dimension();
43 }
44
45 // ------------------------------------------------------------------
46 // ciArrayKlass::ciArrayKlass
47 //
48 // Unloaded array klass.
49 ciArrayKlass::ciArrayKlass(ciSymbol* name, int dimension, BasicType bt)
50 : ciKlass(name, bt) {
51 _dimension = dimension;
52 }
53
54 // ------------------------------------------------------------------
55 // ciArrayKlass::element_type
56 //
57 // What type is obtained when this array is indexed once?
58 ciType* ciArrayKlass::element_type() {
59 if (is_type_array_klass()) {
60 return ciType::make(as_type_array_klass()->element_type());
|