Object* Java_java_lang_reflect_Array_createMultiArray(Env* env, Class* cls, Class* componentType, IntArray* dimensions) { const char* componentTypeDesc = rvmGetClassDescriptor(env, componentType); char* desc = rvmAllocateMemoryAtomic(env, strlen(componentTypeDesc) + dimensions->length + 1); memset(desc, '[', dimensions->length); strcat(desc, componentTypeDesc); Class* clazz = rvmFindClassByDescriptor(env, desc, componentType->classLoader); return (Object*) rvmNewMultiArray(env, dimensions->length, dimensions->values, clazz); }
Array* _bcNewMultiArray(Env* env, jint dims, jint* lengths, Class* arrayClass) { ENTER; Array* array = rvmNewMultiArray(env, dims, lengths, arrayClass); LEAVE(array); }