comparison src/share/vm/graal/graalCompilerToVM.cpp @ 5395:fc1943f18fef

fixed bug in returning array values from CompilerToVMImpl.executeCompiledMethodVarargs
author Doug Simon <doug.simon@oracle.com>
date Mon, 14 May 2012 21:51:32 +0200
parents b5cd7bc05695
children e1f45fcddb49
comparison
equal deleted inserted replaced
5394:afb983c25aa0 5395:fc1943f18fef
1045 } 1045 }
1046 JavaCalls::call(&result, mh, nm, &jca, CHECK_NULL); 1046 JavaCalls::call(&result, mh, nm, &jca, CHECK_NULL);
1047 1047
1048 if (jap.get_ret_type() == T_VOID) { 1048 if (jap.get_ret_type() == T_VOID) {
1049 return NULL; 1049 return NULL;
1050 } else if (jap.get_ret_type() == T_OBJECT) { 1050 } else if (jap.get_ret_type() == T_OBJECT || jap.get_ret_type() == T_ARRAY) {
1051 return JNIHandles::make_local((oop) result.get_jobject()); 1051 return JNIHandles::make_local((oop) result.get_jobject());
1052 } else { 1052 } else {
1053 oop o = java_lang_boxing_object::create(jap.get_ret_type(), (jvalue *) result.get_value_addr(), CHECK_NULL); 1053 oop o = java_lang_boxing_object::create(jap.get_ret_type(), (jvalue *) result.get_value_addr(), CHECK_NULL);
1054 return JNIHandles::make_local(o); 1054 return JNIHandles::make_local(o);
1055 } 1055 }