< prev index next >

src/hotspot/share/prims/jvmtiEnv.cpp

Print this page
rev 58870 : 8242452: During module definition, move conversion of packages from native to VM
8242290: Pointless verification in get_package_entry_by_name
Reviewed-by: lfoltan, alanb, iklam


 197   // Module functions
 198   //
 199 
 200 // module_count_ptr - pre-checked for NULL
 201 // modules_ptr - pre-checked for NULL
 202 jvmtiError
 203 JvmtiEnv::GetAllModules(jint* module_count_ptr, jobject** modules_ptr) {
 204     JvmtiModuleClosure jmc;
 205 
 206     return jmc.get_all_modules(this, module_count_ptr, modules_ptr);
 207 } /* end GetAllModules */
 208 
 209 
 210 // class_loader - NULL is a valid value, must be pre-checked
 211 // package_name - pre-checked for NULL
 212 // module_ptr - pre-checked for NULL
 213 jvmtiError
 214 JvmtiEnv::GetNamedModule(jobject class_loader, const char* package_name, jobject* module_ptr) {
 215   JavaThread* THREAD = JavaThread::current(); // pass to macros
 216   ResourceMark rm(THREAD);
 217 
 218   Handle h_loader (THREAD, JNIHandles::resolve(class_loader));
 219   // Check that loader is a subclass of java.lang.ClassLoader.
 220   if (h_loader.not_null() && !java_lang_ClassLoader::is_subclass(h_loader->klass())) {
 221     return JVMTI_ERROR_ILLEGAL_ARGUMENT;
 222   }
 223   jobject module = Modules::get_named_module(h_loader, package_name, THREAD);
 224   if (HAS_PENDING_EXCEPTION) {
 225     CLEAR_PENDING_EXCEPTION;
 226     return JVMTI_ERROR_INTERNAL; // unexpected exception
 227   }
 228   *module_ptr = module;
 229   return JVMTI_ERROR_NONE;
 230 } /* end GetNamedModule */
 231 
 232 
 233 // module - pre-checked for NULL
 234 // to_module - pre-checked for NULL
 235 jvmtiError
 236 JvmtiEnv::AddModuleReads(jobject module, jobject to_module) {
 237   JavaThread* THREAD = JavaThread::current();




 197   // Module functions
 198   //
 199 
 200 // module_count_ptr - pre-checked for NULL
 201 // modules_ptr - pre-checked for NULL
 202 jvmtiError
 203 JvmtiEnv::GetAllModules(jint* module_count_ptr, jobject** modules_ptr) {
 204     JvmtiModuleClosure jmc;
 205 
 206     return jmc.get_all_modules(this, module_count_ptr, modules_ptr);
 207 } /* end GetAllModules */
 208 
 209 
 210 // class_loader - NULL is a valid value, must be pre-checked
 211 // package_name - pre-checked for NULL
 212 // module_ptr - pre-checked for NULL
 213 jvmtiError
 214 JvmtiEnv::GetNamedModule(jobject class_loader, const char* package_name, jobject* module_ptr) {
 215   JavaThread* THREAD = JavaThread::current(); // pass to macros
 216   ResourceMark rm(THREAD);

 217   Handle h_loader (THREAD, JNIHandles::resolve(class_loader));
 218   // Check that loader is a subclass of java.lang.ClassLoader.
 219   if (h_loader.not_null() && !java_lang_ClassLoader::is_subclass(h_loader->klass())) {
 220     return JVMTI_ERROR_ILLEGAL_ARGUMENT;
 221   }
 222   jobject module = Modules::get_named_module(h_loader, package_name, THREAD);
 223   if (HAS_PENDING_EXCEPTION) {
 224     CLEAR_PENDING_EXCEPTION;
 225     return JVMTI_ERROR_INTERNAL; // unexpected exception
 226   }
 227   *module_ptr = module;
 228   return JVMTI_ERROR_NONE;
 229 } /* end GetNamedModule */
 230 
 231 
 232 // module - pre-checked for NULL
 233 // to_module - pre-checked for NULL
 234 jvmtiError
 235 JvmtiEnv::AddModuleReads(jobject module, jobject to_module) {
 236   JavaThread* THREAD = JavaThread::current();


< prev index next >