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());