comparison src/share/vm/jvmci/jvmciRuntime.cpp @ 21605:7a7cf422160b

replaced OptionsParsed with DebugInitializationPropertyProvider
author Doug Simon <doug.simon@oracle.com>
date Fri, 29 May 2015 17:23:14 +0200
parents 59c3f921e454
children 71b338926f2e
comparison
equal deleted inserted replaced
21604:93f282187d90 21605:7a7cf422160b
1043 SetOptionClosure closure(THREAD); 1043 SetOptionClosure closure(THREAD);
1044 options->for_each(&closure); 1044 options->for_each(&closure);
1045 if (closure.is_aborted()) { 1045 if (closure.is_aborted()) {
1046 vm_abort(false); 1046 vm_abort(false);
1047 } 1047 }
1048
1049 notify_options_set(THREAD);
1050 } 1048 }
1051 OptionValue* printFlags = options->get(PRINT_FLAGS_ARG); 1049 OptionValue* printFlags = options->get(PRINT_FLAGS_ARG);
1052 if (printFlags != NULL && printFlags->boolean_value) { 1050 if (printFlags != NULL && printFlags->boolean_value) {
1053 print_flags_helper(CHECK_ABORT); 1051 print_flags_helper(CHECK_ABORT);
1054 }
1055 }
1056
1057 void JVMCIRuntime::notify_options_set(TRAPS) {
1058 HandleMark hm(THREAD);
1059 TempNewSymbol optionsParsedName = SymbolTable::new_symbol("com/oracle/jvmci/runtime/OptionsParsed", CHECK_ABORT);
1060 KlassHandle optionsParsedClass = load_required_class(optionsParsedName);
1061 objArrayHandle impls = get_service_impls(optionsParsedClass, THREAD);
1062 int implsLen = impls->length();
1063 if (implsLen != 0) {
1064 for (int i = 0; i < implsLen; i++) {
1065 JavaValue result(T_VOID);
1066 JavaCallArguments args;
1067 args.push_oop(impls->obj_at(i));
1068 JavaCalls::call_interface(&result, optionsParsedClass, vmSymbols::run_method_name(), vmSymbols::void_method_signature(), &args, CHECK_ABORT);
1069 }
1070 } 1052 }
1071 } 1053 }
1072 1054
1073 void JVMCIRuntime::print_flags_helper(TRAPS) { 1055 void JVMCIRuntime::print_flags_helper(TRAPS) {
1074 // TODO(gd) write this in C++? 1056 // TODO(gd) write this in C++?