< prev index next >

src/share/vm/prims/whitebox.cpp

Print this page

        

*** 1026,1046 **** struct CodeBlobStub { CodeBlobStub(const CodeBlob* blob) : name(os::strdup(blob->name())), size(blob->size()), ! blob_type(WhiteBox::get_blob_type(blob)) { } ~CodeBlobStub() { os::free((void*) name); } const char* const name; ! const int size; ! const int blob_type; }; static jobjectArray codeBlob2objectArray(JavaThread* thread, JNIEnv* env, CodeBlobStub* cb) { jclass clazz = env->FindClass(vmSymbols::java_lang_Object()->as_C_string()); CHECK_JNI_EXCEPTION_(env, NULL); ! jobjectArray result = env->NewObjectArray(3, clazz, NULL); jstring name = env->NewStringUTF(cb->name); CHECK_JNI_EXCEPTION_(env, NULL); env->SetObjectArrayElement(result, 0, name); --- 1026,1048 ---- struct CodeBlobStub { CodeBlobStub(const CodeBlob* blob) : name(os::strdup(blob->name())), size(blob->size()), ! blob_type(WhiteBox::get_blob_type(blob)), ! address((jlong) blob) { } ~CodeBlobStub() { os::free((void*) name); } const char* const name; ! const jint size; ! const jint blob_type; ! const jlong address; }; static jobjectArray codeBlob2objectArray(JavaThread* thread, JNIEnv* env, CodeBlobStub* cb) { jclass clazz = env->FindClass(vmSymbols::java_lang_Object()->as_C_string()); CHECK_JNI_EXCEPTION_(env, NULL); ! jobjectArray result = env->NewObjectArray(4, clazz, NULL); jstring name = env->NewStringUTF(cb->name); CHECK_JNI_EXCEPTION_(env, NULL); env->SetObjectArrayElement(result, 0, name);
*** 1050,1059 **** --- 1052,1065 ---- obj = integerBox(thread, env, cb->blob_type); CHECK_JNI_EXCEPTION_(env, NULL); env->SetObjectArrayElement(result, 2, obj); + obj = longBox(thread, env, cb->address); + CHECK_JNI_EXCEPTION_(env, NULL); + env->SetObjectArrayElement(result, 3, obj); + return result; } WB_ENTRY(jobjectArray, WB_GetNMethod(JNIEnv* env, jobject o, jobject method, jboolean is_osr)) ResourceMark rm(THREAD);
*** 1090,1102 **** jobject id = integerBox(thread, env, code->compile_id()); CHECK_JNI_EXCEPTION_(env, NULL); env->SetObjectArrayElement(result, 3, id); ! jobject address = longBox(thread, env, (jlong) code); CHECK_JNI_EXCEPTION_(env, NULL); ! env->SetObjectArrayElement(result, 4, address); return result; WB_END CodeBlob* WhiteBox::allocate_code_blob(int size, int blob_type) { --- 1096,1108 ---- jobject id = integerBox(thread, env, code->compile_id()); CHECK_JNI_EXCEPTION_(env, NULL); env->SetObjectArrayElement(result, 3, id); ! jobject entry_point = longBox(thread, env, (jlong) code->entry_point()); CHECK_JNI_EXCEPTION_(env, NULL); ! env->SetObjectArrayElement(result, 4, entry_point); return result; WB_END CodeBlob* WhiteBox::allocate_code_blob(int size, int blob_type) {
< prev index next >