comparison src/share/vm/graal/graalRuntime.cpp @ 21473:923c37b10fb4

compute compiled bytecodes using method inlining recording instead of a DebugMetric remove complex initialization of DebugMetrics and DebugTimers to implement -XX:+CITime and -XX:+CITimeEach
author Doug Simon <doug.simon@oracle.com>
date Sun, 24 May 2015 00:21:20 +0200
parents 93dc70e47fb0
children fad971028755 1da7aef31a08
comparison
equal deleted inserted replaced
21472:c190ed6b84bf 21473:923c37b10fb4
723 // private static void CompilerToVMImpl.init() 723 // private static void CompilerToVMImpl.init()
724 JVM_ENTRY(void, JVM_InitializeGraalNatives(JNIEnv *env, jclass c2vmClass)) 724 JVM_ENTRY(void, JVM_InitializeGraalNatives(JNIEnv *env, jclass c2vmClass))
725 GraalRuntime::initialize_natives(env, c2vmClass); 725 GraalRuntime::initialize_natives(env, c2vmClass);
726 JVM_END 726 JVM_END
727 727
728 // private static boolean HotSpotOptions.parseVMOptions() 728 // private static void HotSpotOptions.parseVMOptions()
729 JVM_ENTRY(jboolean, JVM_ParseGraalOptions(JNIEnv *env, jclass c)) 729 JVM_ENTRY(void, JVM_ParseGraalOptions(JNIEnv *env, jclass c))
730 HandleMark hm; 730 HandleMark hm;
731 KlassHandle hotSpotOptionsClass(THREAD, java_lang_Class::as_Klass(JNIHandles::resolve_non_null(c))); 731 KlassHandle hotSpotOptionsClass(THREAD, java_lang_Class::as_Klass(JNIHandles::resolve_non_null(c)));
732 bool result = GraalRuntime::parse_arguments(hotSpotOptionsClass, CHECK_false); 732 GraalRuntime::parse_arguments(hotSpotOptionsClass, CHECK);
733 return result;
734 JVM_END 733 JVM_END
735 734
736 735
737 void GraalRuntime::ensure_graal_class_loader_is_initialized() { 736 void GraalRuntime::ensure_graal_class_loader_is_initialized() {
738 // This initialization code is guarded by a static pointer to the Factory class. 737 // This initialization code is guarded by a static pointer to the Factory class.
801 return JNI_ERR; 800 return JNI_ERR;
802 } 801 }
803 return JNI_OK; 802 return JNI_OK;
804 } 803 }
805 804
806 bool GraalRuntime::parse_arguments(KlassHandle hotSpotOptionsClass, TRAPS) { 805 void GraalRuntime::parse_arguments(KlassHandle hotSpotOptionsClass, TRAPS) {
807 ResourceMark rm(THREAD); 806 ResourceMark rm(THREAD);
808 807
809 // Process option overrides from graal.options first 808 // Process option overrides from graal.options first
810 parse_graal_options_file(hotSpotOptionsClass, CHECK_false); 809 parse_graal_options_file(hotSpotOptionsClass, CHECK);
811 810
812 // Now process options on the command line 811 // Now process options on the command line
813 int numOptions = Arguments::num_graal_args(); 812 int numOptions = Arguments::num_graal_args();
814 for (int i = 0; i < numOptions; i++) { 813 for (int i = 0; i < numOptions; i++) {
815 char* arg = Arguments::graal_args_array()[i]; 814 char* arg = Arguments::graal_args_array()[i];
816 parse_argument(hotSpotOptionsClass, arg, CHECK_false); 815 parse_argument(hotSpotOptionsClass, arg, CHECK);
817 } 816 }
818 return CITime || CITimeEach;
819 } 817 }
820 818
821 void GraalRuntime::check_required_value(const char* name, size_t name_len, const char* value, TRAPS) { 819 void GraalRuntime::check_required_value(const char* name, size_t name_len, const char* value, TRAPS) {
822 if (value == NULL) { 820 if (value == NULL) {
823 char buf[200]; 821 char buf[200];