3721 // counter defined in runtimeService.cpp. |
3721 // counter defined in runtimeService.cpp. |
3722 info->is_attachable = AttachListener::is_attach_supported(); |
3722 info->is_attachable = AttachListener::is_attach_supported(); |
3723 } |
3723 } |
3724 JVM_END |
3724 JVM_END |
3725 |
3725 |
|
3726 // Returns an array of java.lang.String objects containing the input arguments to the VM. |
|
3727 JVM_ENTRY(jobjectArray, JVM_GetVmArguments(JNIEnv *env)) |
|
3728 ResourceMark rm(THREAD); |
|
3729 |
|
3730 if (Arguments::num_jvm_args() == 0 && Arguments::num_jvm_flags() == 0) { |
|
3731 return NULL; |
|
3732 } |
|
3733 |
|
3734 char** vm_flags = Arguments::jvm_flags_array(); |
|
3735 char** vm_args = Arguments::jvm_args_array(); |
|
3736 int num_flags = Arguments::num_jvm_flags(); |
|
3737 int num_args = Arguments::num_jvm_args(); |
|
3738 |
|
3739 instanceKlassHandle ik (THREAD, SystemDictionary::String_klass()); |
|
3740 objArrayOop r = oopFactory::new_objArray(ik(), num_args + num_flags, CHECK_NULL); |
|
3741 objArrayHandle result_h(THREAD, r); |
|
3742 |
|
3743 int index = 0; |
|
3744 for (int j = 0; j < num_flags; j++, index++) { |
|
3745 Handle h = java_lang_String::create_from_platform_dependent_str(vm_flags[j], CHECK_NULL); |
|
3746 result_h->obj_at_put(index, h()); |
|
3747 } |
|
3748 for (int i = 0; i < num_args; i++, index++) { |
|
3749 Handle h = java_lang_String::create_from_platform_dependent_str(vm_args[i], CHECK_NULL); |
|
3750 result_h->obj_at_put(index, h()); |
|
3751 } |
|
3752 return (jobjectArray) JNIHandles::make_local(env, result_h()); |
|
3753 JVM_END |
|
3754 |
3726 JVM_ENTRY_NO_ENV(jint, JVM_FindSignal(const char *name)) |
3755 JVM_ENTRY_NO_ENV(jint, JVM_FindSignal(const char *name)) |
3727 return os::get_signal_number(name); |
3756 return os::get_signal_number(name); |
3728 JVM_END |
3757 JVM_END |