1.1 --- a/src/share/vm/ci/ciInstanceKlass.cpp Fri Aug 31 16:39:35 2012 -0700 1.2 +++ b/src/share/vm/ci/ciInstanceKlass.cpp Sat Sep 01 13:25:18 2012 -0400 1.3 @@ -36,8 +36,8 @@ 1.4 1.5 // ciInstanceKlass 1.6 // 1.7 -// This class represents a klassOop in the HotSpot virtual machine 1.8 -// whose Klass part in an instanceKlass. 1.9 +// This class represents a Klass* in the HotSpot virtual machine 1.10 +// whose Klass part in an InstanceKlass. 1.11 1.12 // ------------------------------------------------------------------ 1.13 // ciInstanceKlass::ciInstanceKlass 1.14 @@ -48,7 +48,7 @@ 1.15 { 1.16 assert(get_Klass()->oop_is_instance(), "wrong type"); 1.17 assert(get_instanceKlass()->is_loaded(), "must be at least loaded"); 1.18 - instanceKlass* ik = get_instanceKlass(); 1.19 + InstanceKlass* ik = get_instanceKlass(); 1.20 1.21 AccessFlags access_flags = ik->access_flags(); 1.22 _flags = ciFlags(access_flags); 1.23 @@ -92,10 +92,10 @@ 1.24 // Version for unloaded classes: 1.25 ciInstanceKlass::ciInstanceKlass(ciSymbol* name, 1.26 jobject loader, jobject protection_domain) 1.27 - : ciKlass(name, ciInstanceKlassKlass::make()) 1.28 + : ciKlass(name, T_OBJECT) 1.29 { 1.30 assert(name->byte_at(0) != '[', "not an instance klass"); 1.31 - _init_state = (instanceKlass::ClassState)0; 1.32 + _init_state = (InstanceKlass::ClassState)0; 1.33 _nonstatic_field_size = -1; 1.34 _has_nonstatic_fields = false; 1.35 _nonstatic_fields = NULL; 1.36 @@ -113,7 +113,7 @@ 1.37 // ciInstanceKlass::compute_shared_is_initialized 1.38 void ciInstanceKlass::compute_shared_init_state() { 1.39 GUARDED_VM_ENTRY( 1.40 - instanceKlass* ik = get_instanceKlass(); 1.41 + InstanceKlass* ik = get_instanceKlass(); 1.42 _init_state = ik->init_state(); 1.43 ) 1.44 } 1.45 @@ -122,7 +122,7 @@ 1.46 // ciInstanceKlass::compute_shared_has_subklass 1.47 bool ciInstanceKlass::compute_shared_has_subklass() { 1.48 GUARDED_VM_ENTRY( 1.49 - instanceKlass* ik = get_instanceKlass(); 1.50 + InstanceKlass* ik = get_instanceKlass(); 1.51 _has_subklass = ik->subklass() != NULL; 1.52 return _has_subklass; 1.53 ) 1.54 @@ -205,7 +205,7 @@ 1.55 // ciInstanceKlass::is_java_lang_Object 1.56 // 1.57 // Is this klass java.lang.Object? 1.58 -bool ciInstanceKlass::is_java_lang_Object() { 1.59 +bool ciInstanceKlass::is_java_lang_Object() const { 1.60 return equals(CURRENT_ENV->Object_klass()); 1.61 } 1.62 1.63 @@ -292,8 +292,8 @@ 1.64 assert(is_loaded(), "must be loaded"); 1.65 if (_super == NULL && !is_java_lang_Object()) { 1.66 GUARDED_VM_ENTRY( 1.67 - klassOop super_klass = get_instanceKlass()->super(); 1.68 - _super = CURRENT_ENV->get_object(super_klass)->as_instance_klass(); 1.69 + Klass* super_klass = get_instanceKlass()->super(); 1.70 + _super = CURRENT_ENV->get_instance_klass(super_klass); 1.71 ) 1.72 } 1.73 return _super; 1.74 @@ -321,13 +321,13 @@ 1.75 if (!is_abstract()) return NULL; // Only applies to abstract classes. 1.76 if (!has_subklass()) return NULL; // Must have at least one subklass. 1.77 VM_ENTRY_MARK; 1.78 - instanceKlass* ik = get_instanceKlass(); 1.79 + InstanceKlass* ik = get_instanceKlass(); 1.80 Klass* up = ik->up_cast_abstract(); 1.81 - assert(up->oop_is_instance(), "must be instanceKlass"); 1.82 + assert(up->oop_is_instance(), "must be InstanceKlass"); 1.83 if (ik == up) { 1.84 return NULL; 1.85 } 1.86 - return CURRENT_THREAD_ENV->get_object(up->as_klassOop())->as_instance_klass(); 1.87 + return CURRENT_THREAD_ENV->get_instance_klass(up); 1.88 } 1.89 1.90 // ------------------------------------------------------------------ 1.91 @@ -354,7 +354,7 @@ 1.92 return NULL; 1.93 } 1.94 VM_ENTRY_MARK; 1.95 - instanceKlass* k = get_instanceKlass(); 1.96 + InstanceKlass* k = get_instanceKlass(); 1.97 fieldDescriptor fd; 1.98 if (!k->find_field_from_offset(field_offset, is_static, &fd)) { 1.99 return NULL; 1.100 @@ -367,9 +367,9 @@ 1.101 // ciInstanceKlass::get_field_by_name 1.102 ciField* ciInstanceKlass::get_field_by_name(ciSymbol* name, ciSymbol* signature, bool is_static) { 1.103 VM_ENTRY_MARK; 1.104 - instanceKlass* k = get_instanceKlass(); 1.105 + InstanceKlass* k = get_instanceKlass(); 1.106 fieldDescriptor fd; 1.107 - klassOop def = k->find_field(name->get_symbol(), signature->get_symbol(), is_static, &fd); 1.108 + Klass* def = k->find_field(name->get_symbol(), signature->get_symbol(), is_static, &fd); 1.109 if (def == NULL) { 1.110 return NULL; 1.111 } 1.112 @@ -397,7 +397,7 @@ 1.113 if (_non_static_fields == NULL) { 1.114 VM_ENTRY_MARK; 1.115 ciEnv* curEnv = ciEnv::current(); 1.116 - instanceKlass* ik = get_instanceKlass(); 1.117 + InstanceKlass* ik = get_instanceKlass(); 1.118 int max_n_fields = ik->java_fields_count(); 1.119 1.120 Arena* arena = curEnv->arena(); 1.121 @@ -473,7 +473,7 @@ 1.122 Arena* arena = CURRENT_ENV->arena(); 1.123 int flen = 0; 1.124 GrowableArray<ciField*>* fields = NULL; 1.125 - instanceKlass* k = get_instanceKlass(); 1.126 + InstanceKlass* k = get_instanceKlass(); 1.127 for (JavaFieldStream fs(k); !fs.done(); fs.next()) { 1.128 if (fs.access_flags().is_static()) continue; 1.129 flen += 1; 1.130 @@ -494,7 +494,7 @@ 1.131 for (JavaFieldStream fs(k); !fs.done(); fs.next()) { 1.132 if (fs.access_flags().is_static()) continue; 1.133 fieldDescriptor fd; 1.134 - fd.initialize(k->as_klassOop(), fs.index()); 1.135 + fd.initialize(k, fs.index()); 1.136 ciField* field = new (arena) ciField(&fd); 1.137 fields->append(field); 1.138 } 1.139 @@ -508,14 +508,14 @@ 1.140 // Find a method in this klass. 1.141 ciMethod* ciInstanceKlass::find_method(ciSymbol* name, ciSymbol* signature) { 1.142 VM_ENTRY_MARK; 1.143 - instanceKlass* k = get_instanceKlass(); 1.144 + InstanceKlass* k = get_instanceKlass(); 1.145 Symbol* name_sym = name->get_symbol(); 1.146 Symbol* sig_sym= signature->get_symbol(); 1.147 1.148 - methodOop m = k->find_method(name_sym, sig_sym); 1.149 + Method* m = k->find_method(name_sym, sig_sym); 1.150 if (m == NULL) return NULL; 1.151 1.152 - return CURRENT_THREAD_ENV->get_object(m)->as_method(); 1.153 + return CURRENT_THREAD_ENV->get_method(m); 1.154 } 1.155 1.156 // ------------------------------------------------------------------ 1.157 @@ -535,7 +535,7 @@ 1.158 // Report an implementor of this interface. 1.159 // Note that there are various races here, since my copy 1.160 // of _nof_implementors might be out of date with respect 1.161 -// to results returned by instanceKlass::implementor. 1.162 +// to results returned by InstanceKlass::implementor. 1.163 // This is OK, since any dependencies we decide to assert 1.164 // will be checked later under the Compile_lock. 1.165 ciInstanceKlass* ciInstanceKlass::implementor() { 1.166 @@ -544,13 +544,13 @@ 1.167 // Go into the VM to fetch the implementor. 1.168 { 1.169 VM_ENTRY_MARK; 1.170 - klassOop k = get_instanceKlass()->implementor(); 1.171 + Klass* k = get_instanceKlass()->implementor(); 1.172 if (k != NULL) { 1.173 - if (k == get_instanceKlass()->as_klassOop()) { 1.174 + if (k == get_instanceKlass()) { 1.175 // More than one implementors. Use 'this' in this case. 1.176 impl = this; 1.177 } else { 1.178 - impl = CURRENT_THREAD_ENV->get_object(k)->as_instance_klass(); 1.179 + impl = CURRENT_THREAD_ENV->get_instance_klass(k); 1.180 } 1.181 } 1.182 }