hotspot/src/share/vm/prims/jvm.cpp
changeset 35185 31b4d3da482f
parent 34666 1c7168ea0034
child 35219 b9ef87beb87c
equal deleted inserted replaced
35180:298594487e08 35185:31b4d3da482f
  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