1.1 --- a/src/share/vm/ci/ciType.cpp Fri Aug 31 16:39:35 2012 -0700 1.2 +++ b/src/share/vm/ci/ciType.cpp Sat Sep 01 13:25:18 2012 -0400 1.3 @@ -1,5 +1,5 @@ 1.4 /* 1.5 - * Copyright (c) 2000, 2010, Oracle and/or its affiliates. All rights reserved. 1.6 + * Copyright (c) 2000, 2012, Oracle and/or its affiliates. All rights reserved. 1.7 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 1.8 * 1.9 * This code is free software; you can redistribute it and/or modify it 1.10 @@ -23,6 +23,7 @@ 1.11 */ 1.12 1.13 #include "precompiled.hpp" 1.14 +#include "ci/ciEnv.hpp" 1.15 #include "ci/ciType.hpp" 1.16 #include "ci/ciUtilities.hpp" 1.17 #include "classfile/systemDictionary.hpp" 1.18 @@ -38,20 +39,15 @@ 1.19 // ------------------------------------------------------------------ 1.20 // ciType::ciType 1.21 // 1.22 -ciType::ciType(BasicType basic_type) : ciObject() { 1.23 +ciType::ciType(BasicType basic_type) : ciMetadata() { 1.24 assert(basic_type >= T_BOOLEAN && basic_type <= T_CONFLICT, "range check"); 1.25 - assert(basic_type != T_OBJECT && basic_type != T_ARRAY, "not a reference type"); 1.26 _basic_type = basic_type; 1.27 } 1.28 1.29 -ciType::ciType(KlassHandle k) : ciObject(k) { 1.30 +ciType::ciType(KlassHandle k) : ciMetadata(k()) { 1.31 _basic_type = Klass::cast(k())->oop_is_array() ? T_ARRAY : T_OBJECT; 1.32 } 1.33 1.34 -ciType::ciType(ciKlass* klass) : ciObject(klass) { 1.35 - _basic_type = klass->is_array_klass_klass() ? T_ARRAY : T_OBJECT; 1.36 -} 1.37 - 1.38 1.39 // ------------------------------------------------------------------ 1.40 // ciType::is_subtype_of 1.41 @@ -87,7 +83,7 @@ 1.42 // 1.43 ciInstance* ciType::java_mirror() { 1.44 VM_ENTRY_MARK; 1.45 - return CURRENT_THREAD_ENV->get_object(Universe::java_mirror(basic_type()))->as_instance(); 1.46 + return CURRENT_THREAD_ENV->get_instance(Universe::java_mirror(basic_type())); 1.47 } 1.48 1.49 // ------------------------------------------------------------------ 1.50 @@ -100,7 +96,7 @@ 1.51 if (basic_type() == T_VOID) return NULL; 1.52 1.53 VM_ENTRY_MARK; 1.54 - return CURRENT_THREAD_ENV->get_object(SystemDictionary::box_klass(basic_type()))->as_instance_klass(); 1.55 + return CURRENT_THREAD_ENV->get_instance_klass(SystemDictionary::box_klass(basic_type())); 1.56 } 1.57 1.58