1401 MetadataFactory::free_array(cld, (Array<u1>*)(uintptr_t)addr); |
1403 MetadataFactory::free_array(cld, (Array<u1>*)(uintptr_t)addr); |
1402 WB_END |
1404 WB_END |
1403 |
1405 |
1404 WB_ENTRY(void, WB_DefineModule(JNIEnv* env, jobject o, jobject module, jstring version, jstring location, |
1406 WB_ENTRY(void, WB_DefineModule(JNIEnv* env, jobject o, jobject module, jstring version, jstring location, |
1405 jobjectArray packages)) |
1407 jobjectArray packages)) |
1406 Modules::define_module(module, version, location, packages, CHECK); |
1408 ResourceMark rm(THREAD); |
|
1409 |
|
1410 objArrayOop packages_oop = objArrayOop(JNIHandles::resolve(packages)); |
|
1411 objArrayHandle packages_h(THREAD, packages_oop); |
|
1412 int num_packages = (packages_h == NULL ? 0 : packages_h->length()); |
|
1413 |
|
1414 char** pkgs = NULL; |
|
1415 if (num_packages > 0) { |
|
1416 pkgs = NEW_RESOURCE_ARRAY_IN_THREAD(THREAD, char*, num_packages); |
|
1417 for (int x = 0; x < num_packages; x++) { |
|
1418 oop pkg_str = packages_h->obj_at(x); |
|
1419 if (pkg_str == NULL || !pkg_str->is_a(SystemDictionary::String_klass())) { |
|
1420 THROW_MSG(vmSymbols::java_lang_IllegalArgumentException(), |
|
1421 err_msg("Bad package name")); |
|
1422 } |
|
1423 pkgs[x] = java_lang_String::as_utf8_string(pkg_str); |
|
1424 } |
|
1425 } |
|
1426 Modules::define_module(module, version, location, (const char* const*)pkgs, num_packages, CHECK); |
1407 WB_END |
1427 WB_END |
1408 |
1428 |
1409 WB_ENTRY(void, WB_AddModuleExports(JNIEnv* env, jobject o, jobject from_module, jstring package, jobject to_module)) |
1429 WB_ENTRY(void, WB_AddModuleExports(JNIEnv* env, jobject o, jobject from_module, jstring package, jobject to_module)) |
1410 Modules::add_module_exports_qualified(from_module, package, to_module, CHECK); |
1430 ResourceMark rm(THREAD); |
|
1431 char* package_name = NULL; |
|
1432 if (package != NULL) { |
|
1433 package_name = java_lang_String::as_utf8_string(JNIHandles::resolve_non_null(package)); |
|
1434 } |
|
1435 Modules::add_module_exports_qualified(from_module, package_name, to_module, CHECK); |
1411 WB_END |
1436 WB_END |
1412 |
1437 |
1413 WB_ENTRY(void, WB_AddModuleExportsToAllUnnamed(JNIEnv* env, jobject o, jclass module, jstring package)) |
1438 WB_ENTRY(void, WB_AddModuleExportsToAllUnnamed(JNIEnv* env, jobject o, jclass module, jstring package)) |
1414 Modules::add_module_exports_to_all_unnamed(module, package, CHECK); |
1439 ResourceMark rm(THREAD); |
|
1440 char* package_name = NULL; |
|
1441 if (package != NULL) { |
|
1442 package_name = java_lang_String::as_utf8_string(JNIHandles::resolve_non_null(package)); |
|
1443 } |
|
1444 Modules::add_module_exports_to_all_unnamed(module, package_name, CHECK); |
1415 WB_END |
1445 WB_END |
1416 |
1446 |
1417 WB_ENTRY(void, WB_AddModuleExportsToAll(JNIEnv* env, jobject o, jclass module, jstring package)) |
1447 WB_ENTRY(void, WB_AddModuleExportsToAll(JNIEnv* env, jobject o, jclass module, jstring package)) |
1418 Modules::add_module_exports(module, package, NULL, CHECK); |
1448 ResourceMark rm(THREAD); |
|
1449 char* package_name = NULL; |
|
1450 if (package != NULL) { |
|
1451 package_name = java_lang_String::as_utf8_string(JNIHandles::resolve_non_null(package)); |
|
1452 } |
|
1453 Modules::add_module_exports(module, package_name, NULL, CHECK); |
1419 WB_END |
1454 WB_END |
1420 |
1455 |
1421 WB_ENTRY(void, WB_AddReadsModule(JNIEnv* env, jobject o, jobject from_module, jobject source_module)) |
1456 WB_ENTRY(void, WB_AddReadsModule(JNIEnv* env, jobject o, jobject from_module, jobject source_module)) |
1422 Modules::add_reads_module(from_module, source_module, CHECK); |
1457 Modules::add_reads_module(from_module, source_module, CHECK); |
1423 WB_END |
1458 WB_END |
1424 |
1459 |
1425 WB_ENTRY(void, WB_AddModulePackage(JNIEnv* env, jobject o, jclass module, jstring package)) |
1460 WB_ENTRY(void, WB_AddModulePackage(JNIEnv* env, jobject o, jclass module, jstring package)) |
1426 Modules::add_module_package(module, package, CHECK); |
1461 ResourceMark rm(THREAD); |
|
1462 char* package_name = NULL; |
|
1463 if (package != NULL) { |
|
1464 package_name = java_lang_String::as_utf8_string(JNIHandles::resolve_non_null(package)); |
|
1465 } |
|
1466 Modules::add_module_package(module, package_name, CHECK); |
1427 WB_END |
1467 WB_END |
1428 |
1468 |
1429 WB_ENTRY(jobject, WB_GetModuleByPackageName(JNIEnv* env, jobject o, jobject loader, jstring package)) |
1469 WB_ENTRY(jobject, WB_GetModuleByPackageName(JNIEnv* env, jobject o, jobject loader, jstring package)) |
1430 return Modules::get_module_by_package_name(loader, package, THREAD); |
1470 ResourceMark rm(THREAD); |
|
1471 char* package_name = NULL; |
|
1472 if (package != NULL) { |
|
1473 package_name = java_lang_String::as_utf8_string(JNIHandles::resolve_non_null(package)); |
|
1474 } |
|
1475 return Modules::get_module_by_package_name(loader, package_name, THREAD); |
1431 WB_END |
1476 WB_END |
1432 |
1477 |
1433 WB_ENTRY(jlong, WB_IncMetaspaceCapacityUntilGC(JNIEnv* env, jobject wb, jlong inc)) |
1478 WB_ENTRY(jlong, WB_IncMetaspaceCapacityUntilGC(JNIEnv* env, jobject wb, jlong inc)) |
1434 if (inc < 0) { |
1479 if (inc < 0) { |
1435 THROW_MSG_0(vmSymbols::java_lang_IllegalArgumentException(), |
1480 THROW_MSG_0(vmSymbols::java_lang_IllegalArgumentException(), |