@@ -199,24 +199,27 @@ Handle CDSProtectionDomain::get_shared_jar_manifest(int shared_path_index, TRAPS
199199Handle CDSProtectionDomain::get_shared_jar_url (int shared_path_index, TRAPS) {
200200 Handle url_h;
201201 if (shared_jar_url (shared_path_index) == nullptr ) {
202- JavaValue result (T_OBJECT);
203202 const char * path = FileMapInfo::shared_path_name (shared_path_index);
204- Handle path_string = java_lang_String::create_from_str (path, CHECK_ (url_h));
205- Klass* classLoaders_klass =
206- vmClasses::jdk_internal_loader_ClassLoaders_klass ();
207- JavaCalls::call_static (&result, classLoaders_klass,
208- vmSymbols::toFileURL_name (),
209- vmSymbols::toFileURL_signature (),
210- path_string, CHECK_ (url_h));
211-
212- atomic_set_shared_jar_url (shared_path_index, result.get_oop ());
203+ oop result_oop = to_file_URL (path, url_h, CHECK_ (url_h));
204+ atomic_set_shared_jar_url (shared_path_index, result_oop);
213205 }
214206
215207 url_h = Handle (THREAD, shared_jar_url (shared_path_index));
216208 assert (url_h.not_null (), " sanity" );
217209 return url_h;
218210}
219211
212+ oop CDSProtectionDomain::to_file_URL (const char * path, Handle url_h, TRAPS) {
213+ JavaValue result (T_OBJECT);
214+ Handle path_string = java_lang_String::create_from_str (path, CHECK_NULL);
215+ JavaCalls::call_static (&result,
216+ vmClasses::jdk_internal_loader_ClassLoaders_klass (),
217+ vmSymbols::toFileURL_name (),
218+ vmSymbols::toFileURL_signature (),
219+ path_string, CHECK_NULL);
220+ return result.get_oop ();
221+ }
222+
220223// Get the ProtectionDomain associated with the CodeSource from the classloader.
221224Handle CDSProtectionDomain::get_protection_domain_from_classloader (Handle class_loader,
222225 Handle url, TRAPS) {
0 commit comments