< prev index next >

src/share/vm/prims/whitebox.cpp

Print this page




1450 
1451   oop class_loader_oop = JNIHandles::resolve(class_loader);
1452   ClassLoaderData* cld = class_loader_oop != NULL
1453       ? java_lang_ClassLoader::loader_data(class_loader_oop)
1454       : ClassLoaderData::the_null_class_loader_data();
1455 
1456   void* metadata = MetadataFactory::new_writeable_array<u1>(cld, WhiteBox::array_bytes_to_length((size_t)size), thread);
1457 
1458   return (jlong)(uintptr_t)metadata;
1459 WB_END
1460 
1461 WB_ENTRY(void, WB_FreeMetaspace(JNIEnv* env, jobject wb, jobject class_loader, jlong addr, jlong size))
1462   oop class_loader_oop = JNIHandles::resolve(class_loader);
1463   ClassLoaderData* cld = class_loader_oop != NULL
1464       ? java_lang_ClassLoader::loader_data(class_loader_oop)
1465       : ClassLoaderData::the_null_class_loader_data();
1466 
1467   MetadataFactory::free_array(cld, (Array<u1>*)(uintptr_t)addr);
1468 WB_END
1469 
1470 WB_ENTRY(void, WB_DefineModule(JNIEnv* env, jobject o, jobject module, jstring version, jstring location,
1471                                 jobjectArray packages))
1472   ResourceMark rm(THREAD);
1473 
1474   objArrayOop packages_oop = objArrayOop(JNIHandles::resolve(packages));
1475   objArrayHandle packages_h(THREAD, packages_oop);
1476   int num_packages = (packages_h == NULL ? 0 : packages_h->length());
1477 
1478   char** pkgs = NULL;
1479   if (num_packages > 0) {
1480     pkgs = NEW_RESOURCE_ARRAY_IN_THREAD(THREAD, char*, num_packages);
1481     for (int x = 0; x < num_packages; x++) {
1482       oop pkg_str = packages_h->obj_at(x);
1483       if (pkg_str == NULL || !pkg_str->is_a(SystemDictionary::String_klass())) {
1484         THROW_MSG(vmSymbols::java_lang_IllegalArgumentException(),
1485                   err_msg("Bad package name"));
1486       }
1487       pkgs[x] = java_lang_String::as_utf8_string(pkg_str);
1488     }
1489   }
1490   Modules::define_module(module, version, location, (const char* const*)pkgs, num_packages, CHECK);
1491 WB_END
1492 
1493 WB_ENTRY(void, WB_AddModuleExports(JNIEnv* env, jobject o, jobject from_module, jstring package, jobject to_module))
1494   ResourceMark rm(THREAD);
1495   char* package_name = NULL;
1496   if (package != NULL) {
1497       package_name = java_lang_String::as_utf8_string(JNIHandles::resolve_non_null(package));
1498   }
1499   Modules::add_module_exports_qualified(from_module, package_name, to_module, CHECK);
1500 WB_END
1501 
1502 WB_ENTRY(void, WB_AddModuleExportsToAllUnnamed(JNIEnv* env, jobject o, jclass module, jstring package))
1503   ResourceMark rm(THREAD);
1504   char* package_name = NULL;
1505   if (package != NULL) {
1506       package_name = java_lang_String::as_utf8_string(JNIHandles::resolve_non_null(package));
1507   }
1508   Modules::add_module_exports_to_all_unnamed(module, package_name, CHECK);
1509 WB_END
1510 


1942      CC"(Ljava/lang/ClassLoader;J)J",                 (void*)&WB_AllocateMetaspace },
1943   {CC"freeMetaspace",
1944      CC"(Ljava/lang/ClassLoader;JJ)V",                (void*)&WB_FreeMetaspace },
1945   {CC"incMetaspaceCapacityUntilGC", CC"(J)J",         (void*)&WB_IncMetaspaceCapacityUntilGC },
1946   {CC"metaspaceCapacityUntilGC", CC"()J",             (void*)&WB_MetaspaceCapacityUntilGC },
1947   {CC"metaspaceShouldConcurrentCollect", CC"()Z",     (void*)&WB_MetaspaceShouldConcurrentCollect },
1948   {CC"getCPUFeatures",     CC"()Ljava/lang/String;",  (void*)&WB_GetCPUFeatures     },
1949   {CC"getNMethod0",         CC"(Ljava/lang/reflect/Executable;Z)[Ljava/lang/Object;",
1950                                                       (void*)&WB_GetNMethod         },
1951   {CC"forceNMethodSweep",  CC"()V",                   (void*)&WB_ForceNMethodSweep  },
1952   {CC"allocateCodeBlob",   CC"(II)J",                 (void*)&WB_AllocateCodeBlob   },
1953   {CC"freeCodeBlob",       CC"(J)V",                  (void*)&WB_FreeCodeBlob       },
1954   {CC"getCodeHeapEntries", CC"(I)[Ljava/lang/Object;",(void*)&WB_GetCodeHeapEntries },
1955   {CC"getCompilationActivityMode",
1956                            CC"()I",                   (void*)&WB_GetCompilationActivityMode},
1957   {CC"getMethodData0",     CC"(Ljava/lang/reflect/Executable;)J",
1958                                                       (void*)&WB_GetMethodData      },
1959   {CC"getCodeBlob",        CC"(J)[Ljava/lang/Object;",(void*)&WB_GetCodeBlob        },
1960   {CC"getThreadStackSize", CC"()J",                   (void*)&WB_GetThreadStackSize },
1961   {CC"getThreadRemainingStackSize", CC"()J",          (void*)&WB_GetThreadRemainingStackSize },
1962   {CC"DefineModule",       CC"(Ljava/lang/Object;Ljava/lang/String;Ljava/lang/String;[Ljava/lang/Object;)V",
1963                                                       (void*)&WB_DefineModule },
1964   {CC"AddModuleExports",   CC"(Ljava/lang/Object;Ljava/lang/String;Ljava/lang/Object;)V",
1965                                                       (void*)&WB_AddModuleExports },
1966   {CC"AddReadsModule",     CC"(Ljava/lang/Object;Ljava/lang/Object;)V",
1967                                                       (void*)&WB_AddReadsModule },
1968   {CC"AddModulePackage",   CC"(Ljava/lang/Object;Ljava/lang/String;)V",
1969                                                       (void*)&WB_AddModulePackage },
1970   {CC"AddModuleExportsToAllUnnamed", CC"(Ljava/lang/Object;Ljava/lang/String;)V",
1971                                                       (void*)&WB_AddModuleExportsToAllUnnamed },
1972   {CC"AddModuleExportsToAll", CC"(Ljava/lang/Object;Ljava/lang/String;)V",
1973                                                       (void*)&WB_AddModuleExportsToAll },
1974   {CC"assertMatchingSafepointCalls", CC"(ZZ)V",       (void*)&WB_AssertMatchingSafepointCalls },
1975   {CC"isMonitorInflated0", CC"(Ljava/lang/Object;)Z", (void*)&WB_IsMonitorInflated  },
1976   {CC"forceSafepoint",     CC"()V",                   (void*)&WB_ForceSafepoint     },
1977   {CC"getConstantPool0",   CC"(Ljava/lang/Class;)J",  (void*)&WB_GetConstantPool    },
1978   {CC"getConstantPoolCacheIndexTag0", CC"()I",  (void*)&WB_GetConstantPoolCacheIndexTag},
1979   {CC"getConstantPoolCacheLength0", CC"(Ljava/lang/Class;)I",  (void*)&WB_GetConstantPoolCacheLength},
1980   {CC"remapInstructionOperandFromCPCache0",
1981       CC"(Ljava/lang/Class;I)I",                      (void*)&WB_ConstantPoolRemapInstructionOperandFromCache},
1982   {CC"encodeConstantPoolIndyIndex0",




1450 
1451   oop class_loader_oop = JNIHandles::resolve(class_loader);
1452   ClassLoaderData* cld = class_loader_oop != NULL
1453       ? java_lang_ClassLoader::loader_data(class_loader_oop)
1454       : ClassLoaderData::the_null_class_loader_data();
1455 
1456   void* metadata = MetadataFactory::new_writeable_array<u1>(cld, WhiteBox::array_bytes_to_length((size_t)size), thread);
1457 
1458   return (jlong)(uintptr_t)metadata;
1459 WB_END
1460 
1461 WB_ENTRY(void, WB_FreeMetaspace(JNIEnv* env, jobject wb, jobject class_loader, jlong addr, jlong size))
1462   oop class_loader_oop = JNIHandles::resolve(class_loader);
1463   ClassLoaderData* cld = class_loader_oop != NULL
1464       ? java_lang_ClassLoader::loader_data(class_loader_oop)
1465       : ClassLoaderData::the_null_class_loader_data();
1466 
1467   MetadataFactory::free_array(cld, (Array<u1>*)(uintptr_t)addr);
1468 WB_END
1469 
1470 WB_ENTRY(void, WB_DefineModule(JNIEnv* env, jobject o, jobject module, jboolean is_open,
1471                                 jstring version, jstring location, jobjectArray packages))
1472   ResourceMark rm(THREAD);
1473 
1474   objArrayOop packages_oop = objArrayOop(JNIHandles::resolve(packages));
1475   objArrayHandle packages_h(THREAD, packages_oop);
1476   int num_packages = (packages_h == NULL ? 0 : packages_h->length());
1477 
1478   char** pkgs = NULL;
1479   if (num_packages > 0) {
1480     pkgs = NEW_RESOURCE_ARRAY_IN_THREAD(THREAD, char*, num_packages);
1481     for (int x = 0; x < num_packages; x++) {
1482       oop pkg_str = packages_h->obj_at(x);
1483       if (pkg_str == NULL || !pkg_str->is_a(SystemDictionary::String_klass())) {
1484         THROW_MSG(vmSymbols::java_lang_IllegalArgumentException(),
1485                   err_msg("Bad package name"));
1486       }
1487       pkgs[x] = java_lang_String::as_utf8_string(pkg_str);
1488     }
1489   }
1490   Modules::define_module(module, is_open, version, location, (const char* const*)pkgs, num_packages, CHECK);
1491 WB_END
1492 
1493 WB_ENTRY(void, WB_AddModuleExports(JNIEnv* env, jobject o, jobject from_module, jstring package, jobject to_module))
1494   ResourceMark rm(THREAD);
1495   char* package_name = NULL;
1496   if (package != NULL) {
1497       package_name = java_lang_String::as_utf8_string(JNIHandles::resolve_non_null(package));
1498   }
1499   Modules::add_module_exports_qualified(from_module, package_name, to_module, CHECK);
1500 WB_END
1501 
1502 WB_ENTRY(void, WB_AddModuleExportsToAllUnnamed(JNIEnv* env, jobject o, jclass module, jstring package))
1503   ResourceMark rm(THREAD);
1504   char* package_name = NULL;
1505   if (package != NULL) {
1506       package_name = java_lang_String::as_utf8_string(JNIHandles::resolve_non_null(package));
1507   }
1508   Modules::add_module_exports_to_all_unnamed(module, package_name, CHECK);
1509 WB_END
1510 


1942      CC"(Ljava/lang/ClassLoader;J)J",                 (void*)&WB_AllocateMetaspace },
1943   {CC"freeMetaspace",
1944      CC"(Ljava/lang/ClassLoader;JJ)V",                (void*)&WB_FreeMetaspace },
1945   {CC"incMetaspaceCapacityUntilGC", CC"(J)J",         (void*)&WB_IncMetaspaceCapacityUntilGC },
1946   {CC"metaspaceCapacityUntilGC", CC"()J",             (void*)&WB_MetaspaceCapacityUntilGC },
1947   {CC"metaspaceShouldConcurrentCollect", CC"()Z",     (void*)&WB_MetaspaceShouldConcurrentCollect },
1948   {CC"getCPUFeatures",     CC"()Ljava/lang/String;",  (void*)&WB_GetCPUFeatures     },
1949   {CC"getNMethod0",         CC"(Ljava/lang/reflect/Executable;Z)[Ljava/lang/Object;",
1950                                                       (void*)&WB_GetNMethod         },
1951   {CC"forceNMethodSweep",  CC"()V",                   (void*)&WB_ForceNMethodSweep  },
1952   {CC"allocateCodeBlob",   CC"(II)J",                 (void*)&WB_AllocateCodeBlob   },
1953   {CC"freeCodeBlob",       CC"(J)V",                  (void*)&WB_FreeCodeBlob       },
1954   {CC"getCodeHeapEntries", CC"(I)[Ljava/lang/Object;",(void*)&WB_GetCodeHeapEntries },
1955   {CC"getCompilationActivityMode",
1956                            CC"()I",                   (void*)&WB_GetCompilationActivityMode},
1957   {CC"getMethodData0",     CC"(Ljava/lang/reflect/Executable;)J",
1958                                                       (void*)&WB_GetMethodData      },
1959   {CC"getCodeBlob",        CC"(J)[Ljava/lang/Object;",(void*)&WB_GetCodeBlob        },
1960   {CC"getThreadStackSize", CC"()J",                   (void*)&WB_GetThreadStackSize },
1961   {CC"getThreadRemainingStackSize", CC"()J",          (void*)&WB_GetThreadRemainingStackSize },
1962   {CC"DefineModule",       CC"(Ljava/lang/Object;ZLjava/lang/String;Ljava/lang/String;[Ljava/lang/Object;)V",
1963                                                       (void*)&WB_DefineModule },
1964   {CC"AddModuleExports",   CC"(Ljava/lang/Object;Ljava/lang/String;Ljava/lang/Object;)V",
1965                                                       (void*)&WB_AddModuleExports },
1966   {CC"AddReadsModule",     CC"(Ljava/lang/Object;Ljava/lang/Object;)V",
1967                                                       (void*)&WB_AddReadsModule },
1968   {CC"AddModulePackage",   CC"(Ljava/lang/Object;Ljava/lang/String;)V",
1969                                                       (void*)&WB_AddModulePackage },
1970   {CC"AddModuleExportsToAllUnnamed", CC"(Ljava/lang/Object;Ljava/lang/String;)V",
1971                                                       (void*)&WB_AddModuleExportsToAllUnnamed },
1972   {CC"AddModuleExportsToAll", CC"(Ljava/lang/Object;Ljava/lang/String;)V",
1973                                                       (void*)&WB_AddModuleExportsToAll },
1974   {CC"assertMatchingSafepointCalls", CC"(ZZ)V",       (void*)&WB_AssertMatchingSafepointCalls },
1975   {CC"isMonitorInflated0", CC"(Ljava/lang/Object;)Z", (void*)&WB_IsMonitorInflated  },
1976   {CC"forceSafepoint",     CC"()V",                   (void*)&WB_ForceSafepoint     },
1977   {CC"getConstantPool0",   CC"(Ljava/lang/Class;)J",  (void*)&WB_GetConstantPool    },
1978   {CC"getConstantPoolCacheIndexTag0", CC"()I",  (void*)&WB_GetConstantPoolCacheIndexTag},
1979   {CC"getConstantPoolCacheLength0", CC"(Ljava/lang/Class;)I",  (void*)&WB_GetConstantPoolCacheLength},
1980   {CC"remapInstructionOperandFromCPCache0",
1981       CC"(Ljava/lang/Class;I)I",                      (void*)&WB_ConstantPoolRemapInstructionOperandFromCache},
1982   {CC"encodeConstantPoolIndyIndex0",


< prev index next >