Mercurial > hg > graal-compiler
comparison src/share/vm/c1x/c1x_VMEntries.cpp @ 2182:9569fdf936ff
Made merge compile.
author | Thomas Wuerthinger <wuerthinger@ssw.jku.at> |
---|---|
date | Wed, 16 Feb 2011 14:21:52 +0100 |
parents | c0b1d6a44a02 |
children | 999f8086cc4f |
comparison
equal
deleted
inserted
replaced
2181:d25d4ca69222 | 2182:9569fdf936ff |
---|---|
152 | 152 |
153 // public RiType RiSignature_lookupType(String returnType, HotSpotTypeResolved accessingClass); | 153 // public RiType RiSignature_lookupType(String returnType, HotSpotTypeResolved accessingClass); |
154 JNIEXPORT jobject JNICALL Java_com_sun_hotspot_c1x_VMEntries_RiSignature_1lookupType(JNIEnv *env, jobject, jstring jname, jobject accessingClass) { | 154 JNIEXPORT jobject JNICALL Java_com_sun_hotspot_c1x_VMEntries_RiSignature_1lookupType(JNIEnv *env, jobject, jstring jname, jobject accessingClass) { |
155 VM_ENTRY_MARK; | 155 VM_ENTRY_MARK; |
156 | 156 |
157 symbolOop nameSymbol = VmIds::toSymbol(jname); | 157 Symbol* nameSymbol = VmIds::toSymbol(jname); |
158 Handle name = JNIHandles::resolve(jname); | 158 Handle name = JNIHandles::resolve(jname); |
159 | 159 |
160 oop result; | 160 oop result; |
161 if (nameSymbol == vmSymbols::int_signature()) { | 161 if (nameSymbol == vmSymbols::int_signature()) { |
162 result = VMExits::createRiTypePrimitive((int) T_INT, THREAD); | 162 result = VMExits::createRiTypePrimitive((int) T_INT, THREAD); |
259 if (cimethod->is_loaded()) { | 259 if (cimethod->is_loaded()) { |
260 methodOop method = (methodOop) cimethod->get_oop(); | 260 methodOop method = (methodOop) cimethod->get_oop(); |
261 Handle name = VmIds::toString<Handle>(method->name(), CHECK_NULL); | 261 Handle name = VmIds::toString<Handle>(method->name(), CHECK_NULL); |
262 return JNIHandles::make_local(THREAD, VMExits::createRiMethodResolved(VmIds::add<methodOop>(method), name, THREAD)); | 262 return JNIHandles::make_local(THREAD, VMExits::createRiMethodResolved(VmIds::add<methodOop>(method), name, THREAD)); |
263 } else { | 263 } else { |
264 Handle name = VmIds::toString<Handle>((symbolOop) cimethod->name()->get_oop(), CHECK_NULL); | 264 Handle name = VmIds::toString<Handle>(cimethod->name()->get_symbol(), CHECK_NULL); |
265 Handle signature = VmIds::toString<Handle>((symbolOop) cimethod->signature()->as_symbol()->get_oop(), CHECK_NULL); | 265 Handle signature = VmIds::toString<Handle>(cimethod->signature()->as_symbol()->get_symbol(), CHECK_NULL); |
266 Handle holder = C1XCompiler::get_RiType(cimethod->holder(), cp->klass(), THREAD); | 266 Handle holder = C1XCompiler::get_RiType(cimethod->holder(), cp->klass(), THREAD); |
267 return JNIHandles::make_local(THREAD, VMExits::createRiMethodUnresolved(name, signature, holder, THREAD)); | 267 return JNIHandles::make_local(THREAD, VMExits::createRiMethodUnresolved(name, signature, holder, THREAD)); |
268 } | 268 } |
269 } | 269 } |
270 | 270 |
361 JNIEXPORT jobject JNICALL Java_com_sun_hotspot_c1x_VMEntries_RiType_3resolveMethodImpl(JNIEnv *, jobject, jobject resolved_type, jstring name, jstring signature) { | 361 JNIEXPORT jobject JNICALL Java_com_sun_hotspot_c1x_VMEntries_RiType_3resolveMethodImpl(JNIEnv *, jobject, jobject resolved_type, jstring name, jstring signature) { |
362 VM_ENTRY_MARK; | 362 VM_ENTRY_MARK; |
363 | 363 |
364 assert(JNIHandles::resolve(resolved_type) != NULL, ""); | 364 assert(JNIHandles::resolve(resolved_type) != NULL, ""); |
365 klassOop klass = java_lang_Class::as_klassOop(HotSpotTypeResolved::javaMirror(resolved_type)); | 365 klassOop klass = java_lang_Class::as_klassOop(HotSpotTypeResolved::javaMirror(resolved_type)); |
366 symbolOop name_symbol = VmIds::toSymbol(name); | 366 Symbol* name_symbol = VmIds::toSymbol(name); |
367 symbolOop signature_symbol = VmIds::toSymbol(signature); | 367 Symbol* signature_symbol = VmIds::toSymbol(signature); |
368 methodOop method = klass->klass_part()->lookup_method(name_symbol, signature_symbol); | 368 methodOop method = klass->klass_part()->lookup_method(name_symbol, signature_symbol); |
369 if (method == NULL) { | 369 if (method == NULL) { |
370 if (TraceC1X >= 3) { | 370 if (TraceC1X >= 3) { |
371 ResourceMark rm; | 371 ResourceMark rm; |
372 tty->print_cr("Could not resolve method %s %s on klass %d", name_symbol->as_C_string(), signature_symbol->as_C_string(), klass->klass_part()->name()->as_C_string()); | 372 tty->print_cr("Could not resolve method %s %s on klass %d", name_symbol->as_C_string(), signature_symbol->as_C_string(), klass->klass_part()->name()->as_C_string()); |