comparison src/share/vm/jvmci/jvmciRuntime.cpp @ 21633:9966b358bc2b

Services: don't throw exceptions or print warnings when there are no implementations for a non-required service
author Gilles Duboscq <gilles.m.duboscq@oracle.com>
date Mon, 01 Jun 2015 15:14:20 +0200
parents ca3c6538bcec
children 431b127fc0d1
comparison
equal deleted inserted replaced
21632:abcb811659e0 21633:9966b358bc2b
1203 size_t path_len = strlen(home) + strlen("/lib/jvmci/services/") + strlen(serviceName) + 1; 1203 size_t path_len = strlen(home) + strlen("/lib/jvmci/services/") + strlen(serviceName) + 1;
1204 char* path = NEW_RESOURCE_ARRAY_IN_THREAD(THREAD, char, path_len); 1204 char* path = NEW_RESOURCE_ARRAY_IN_THREAD(THREAD, char, path_len);
1205 char sep = os::file_separator()[0]; 1205 char sep = os::file_separator()[0];
1206 sprintf(path, "%s%clib%cjvmci%cservices%c%s", home, sep, sep, sep, sep, serviceName); 1206 sprintf(path, "%s%clib%cjvmci%cservices%c%s", home, sep, sep, sep, sep, serviceName);
1207 ServiceParseClosure closure; 1207 ServiceParseClosure closure;
1208 parse_lines(path, &closure, true); // TODO(gd) cache parsing results? 1208 parse_lines(path, &closure, false);
1209 1209
1210 GrowableArray<char*>* implNames = closure.implNames(); 1210 GrowableArray<char*>* implNames = closure.implNames();
1211 objArrayOop servicesOop = oopFactory::new_objArray(serviceKlass(), implNames->length(), CHECK_(objArrayHandle())); 1211 objArrayOop servicesOop = oopFactory::new_objArray(serviceKlass(), implNames->length(), CHECK_(objArrayHandle()));
1212 objArrayHandle services(THREAD, servicesOop); 1212 objArrayHandle services(THREAD, servicesOop);
1213 for (int i = 0; i < implNames->length(); ++i) { 1213 for (int i = 0; i < implNames->length(); ++i) {