comparison src/share/vm/c1x/c1x_VMEntries.cpp @ 1449:8cfe3537a0d3

Pointer verification stub. Two loose oop fixes in C1X C++ part. Logging which methods have been compiled.
author Thomas Wuerthinger <wuerthinger@ssw.jku.at>
date Thu, 11 Nov 2010 14:09:37 +0100
parents a7b84a5e16c6
children 9b22e3e5df8e
comparison
equal deleted inserted replaced
1445:a7b84a5e16c6 1449:8cfe3537a0d3
367 #ifdef _WIN64 367 #ifdef _WIN64
368 set_boolean(env, config, "windowsOs", true); 368 set_boolean(env, config, "windowsOs", true);
369 #else 369 #else
370 set_boolean(env, config, "windowsOs", false); 370 set_boolean(env, config, "windowsOs", false);
371 #endif 371 #endif
372 set_boolean(env, config, "verifyPointers", VerifyOops);
372 set_int(env, config, "codeEntryAlignment", CodeEntryAlignment); 373 set_int(env, config, "codeEntryAlignment", CodeEntryAlignment);
373 set_int(env, config, "vmPageSize", os::vm_page_size()); 374 set_int(env, config, "vmPageSize", os::vm_page_size());
374 set_int(env, config, "stackShadowPages", StackShadowPages); 375 set_int(env, config, "stackShadowPages", StackShadowPages);
375 set_int(env, config, "hubOffset", oopDesc::klass_offset_in_bytes()); 376 set_int(env, config, "hubOffset", oopDesc::klass_offset_in_bytes());
376 set_int(env, config, "arrayLengthOffset", arrayOopDesc::length_offset_in_bytes()); 377 set_int(env, config, "arrayLengthOffset", arrayOopDesc::length_offset_in_bytes());
383 set_int(env, config, "threadExceptionPcOffset", in_bytes(JavaThread::exception_pc_offset())); 384 set_int(env, config, "threadExceptionPcOffset", in_bytes(JavaThread::exception_pc_offset()));
384 set_int(env, config, "threadMultiNewArrayStorage", in_bytes(JavaThread::c1x_multinewarray_storage_offset())); 385 set_int(env, config, "threadMultiNewArrayStorage", in_bytes(JavaThread::c1x_multinewarray_storage_offset()));
385 386
386 set_long(env, config, "debugStub", VmIds::addStub((address)warning)); 387 set_long(env, config, "debugStub", VmIds::addStub((address)warning));
387 set_long(env, config, "instanceofStub", VmIds::addStub(Runtime1::entry_for(Runtime1::slow_subtype_check_id))); 388 set_long(env, config, "instanceofStub", VmIds::addStub(Runtime1::entry_for(Runtime1::slow_subtype_check_id)));
389 set_long(env, config, "verifyPointerStub", VmIds::addStub(Runtime1::entry_for(Runtime1::c1x_verify_pointer_id)));
388 set_long(env, config, "newInstanceStub", VmIds::addStub(Runtime1::entry_for(Runtime1::fast_new_instance_init_check_id))); 390 set_long(env, config, "newInstanceStub", VmIds::addStub(Runtime1::entry_for(Runtime1::fast_new_instance_init_check_id)));
389 set_long(env, config, "unresolvedNewInstanceStub", VmIds::addStub(Runtime1::entry_for(Runtime1::new_instance_id))); 391 set_long(env, config, "unresolvedNewInstanceStub", VmIds::addStub(Runtime1::entry_for(Runtime1::new_instance_id)));
390 set_long(env, config, "newTypeArrayStub", VmIds::addStub(Runtime1::entry_for(Runtime1::new_type_array_id))); 392 set_long(env, config, "newTypeArrayStub", VmIds::addStub(Runtime1::entry_for(Runtime1::new_type_array_id)));
391 set_long(env, config, "newObjectArrayStub", VmIds::addStub(Runtime1::entry_for(Runtime1::new_object_array_id))); 393 set_long(env, config, "newObjectArrayStub", VmIds::addStub(Runtime1::entry_for(Runtime1::new_object_array_id)));
392 set_long(env, config, "newMultiArrayStub", VmIds::addStub(Runtime1::entry_for(Runtime1::new_multi_array_id))); 394 set_long(env, config, "newMultiArrayStub", VmIds::addStub(Runtime1::entry_for(Runtime1::new_multi_array_id)));
437 return config; 439 return config;
438 } 440 }
439 441
440 // public void installMethod(HotSpotTargetMethod targetMethod); 442 // public void installMethod(HotSpotTargetMethod targetMethod);
441 JNIEXPORT void JNICALL Java_com_sun_hotspot_c1x_VMEntries_installMethod(JNIEnv *jniEnv, jobject, jobject targetMethod) { 443 JNIEXPORT void JNICALL Java_com_sun_hotspot_c1x_VMEntries_installMethod(JNIEnv *jniEnv, jobject, jobject targetMethod) {
444 VM_ENTRY_MARK;
442 CodeInstaller installer(JNIHandles::resolve(targetMethod)); 445 CodeInstaller installer(JNIHandles::resolve(targetMethod));
443 } 446 }
444 447
445 // public HotSpotProxy installStub(HotSpotTargetMethod targetMethod, String name); 448 // public HotSpotProxy installStub(HotSpotTargetMethod targetMethod, String name);
446 JNIEXPORT jlong JNICALL Java_com_sun_hotspot_c1x_VMEntries_installStub(JNIEnv *jniEnv, jobject, jobject targetMethod) { 449 JNIEXPORT jlong JNICALL Java_com_sun_hotspot_c1x_VMEntries_installStub(JNIEnv *jniEnv, jobject, jobject targetMethod) {
450 VM_ENTRY_MARK;
447 jlong id; 451 jlong id;
448 CodeInstaller installer(JNIHandles::resolve(targetMethod), id); 452 CodeInstaller installer(JNIHandles::resolve(targetMethod), id);
449 return id; 453 return id;
450 } 454 }
451 455