Mercurial > hg > graal-compiler
comparison src/share/vm/c1x/c1x_Compiler.cpp @ 2055:99ad52189524
Refactorings to get towards less CRI overhead.
author | Thomas Wuerthinger <wuerthinger@ssw.jku.at> |
---|---|
date | Thu, 13 Jan 2011 17:45:17 +0100 |
parents | cf75612bdaa5 |
children | 9569fdf936ff |
comparison
equal
deleted
inserted
replaced
2054:3c0a889a176b | 2055:99ad52189524 |
---|---|
141 if (klass->c1x_mirror() != NULL) { | 141 if (klass->c1x_mirror() != NULL) { |
142 return klass->c1x_mirror(); | 142 return klass->c1x_mirror(); |
143 } | 143 } |
144 | 144 |
145 instanceKlass::cast(HotSpotTypeResolved::klass())->initialize(CHECK_NULL); | 145 instanceKlass::cast(HotSpotTypeResolved::klass())->initialize(CHECK_NULL); |
146 oop obj = instanceKlass::cast(HotSpotTypeResolved::klass())->allocate_instance(CHECK_NULL); | 146 Handle obj = instanceKlass::cast(HotSpotTypeResolved::klass())->allocate_instance(CHECK_NULL); |
147 assert(obj != NULL, "must succeed in allocating instance"); | 147 assert(obj() != NULL, "must succeed in allocating instance"); |
148 | |
149 | |
150 if (klass->oop_is_instance()) { | |
151 instanceKlass* ik = (instanceKlass*)klass()->klass_part(); | |
152 Handle full_name = java_lang_String::create_from_str(ik->signature_name(), CHECK_NULL); | |
153 HotSpotType::set_name(obj, full_name()); | |
154 } else { | |
155 HotSpotType::set_name(obj, name()); | |
156 } | |
148 | 157 |
149 HotSpotTypeResolved::set_javaMirror(obj, klass->java_mirror()); | 158 HotSpotTypeResolved::set_javaMirror(obj, klass->java_mirror()); |
150 HotSpotTypeResolved::set_name(obj, name()); | 159 HotSpotTypeResolved::set_simpleName(obj, name()); |
151 HotSpotTypeResolved::set_accessFlags(obj, klass->access_flags().as_int()); | 160 HotSpotTypeResolved::set_accessFlags(obj, klass->access_flags().as_int()); |
152 HotSpotTypeResolved::set_isInterface(obj, klass->is_interface()); | 161 HotSpotTypeResolved::set_isInterface(obj, klass->is_interface()); |
153 HotSpotTypeResolved::set_isInstanceClass(obj, klass->oop_is_instance()); | 162 HotSpotTypeResolved::set_isInstanceClass(obj, klass->oop_is_instance()); |
154 | 163 |
155 if (klass->oop_is_javaArray()) { | 164 if (klass->oop_is_javaArray()) { |
165 | 174 |
166 // TODO replace these with correct values | 175 // TODO replace these with correct values |
167 HotSpotTypeResolved::set_hasSubclass(obj, false); | 176 HotSpotTypeResolved::set_hasSubclass(obj, false); |
168 HotSpotTypeResolved::set_hasFinalizableSubclass(obj, false); | 177 HotSpotTypeResolved::set_hasFinalizableSubclass(obj, false); |
169 | 178 |
170 klass->set_c1x_mirror(obj); | 179 klass->set_c1x_mirror(obj()); |
171 | 180 |
172 return obj; | 181 return obj(); |
173 } | 182 } |
174 | 183 |
175 BasicType C1XCompiler::kindToBasicType(jchar ch) { | 184 BasicType C1XCompiler::kindToBasicType(jchar ch) { |
176 switch(ch) { | 185 switch(ch) { |
177 case 'z': return T_BOOLEAN; | 186 case 'z': return T_BOOLEAN; |