Path: blob/master/runtime/jcl/common/jclglob.h
6000 views
/*******************************************************************************1* Copyright (c) 1998, 2020 IBM Corp. and others2*3* This program and the accompanying materials are made available under4* the terms of the Eclipse Public License 2.0 which accompanies this5* distribution and is available at https://www.eclipse.org/legal/epl-2.0/6* or the Apache License, Version 2.0 which accompanies this distribution and7* is available at https://www.apache.org/licenses/LICENSE-2.0.8*9* This Source Code may also be made available under the following10* Secondary Licenses when the conditions for such availability set11* forth in the Eclipse Public License, v. 2.0 are satisfied: GNU12* General Public License, version 2 with the GNU Classpath13* Exception [1] and GNU General Public License, version 2 with the14* OpenJDK Assembly Exception [2].15*16* [1] https://www.gnu.org/software/classpath/license.html17* [2] http://openjdk.java.net/legal/assembly-exception.html18*19* SPDX-License-Identifier: EPL-2.0 OR Apache-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 OR LicenseRef-GPL-2.0 WITH Assembly-exception20*******************************************************************************/21#ifndef jclglob_h22#define jclglob_h2324#include "jcl.h"25#include "j9vmls.h"2627#include "jcltrace.h"2829#ifdef __cplusplus30extern "C" {31#endif3233extern void *JCL_ID_CACHE;3435typedef struct JniIDCache {3637jfieldID FID_java_lang_ClassLoader_vmRef;3839jmethodID MID_com_ibm_lang_management_GarbageCollectorMXBeanImpl_getName;4041jmethodID MID_java_lang_reflect_Parameter_init;4243jclass CLS_java_lang_String;44jclass CLS_java_lang_reflect_Parameter;4546#ifdef J9VM_OPT_SHARED_CLASSES47jclass CLS_com_ibm_oti_shared_SharedClassCacheInfo;48jmethodID MID_com_ibm_oti_shared_SharedClassCacheInfo_init;49jclass CLS_java_util_ArrayList;50jmethodID MID_java_util_ArrayList_add;51#endif5253traceDotCGlobalMemory traceGlobals;5455jclass CLS_openj9_management_internal_ThreadInfoBase;56jclass CLS_openj9_management_internal_MonitorInfoBase;57jclass CLS_openj9_management_internal_LockInfoBase;58jmethodID MID_openj9_management_internal_ThreadInfoBase_init_nolocks;59jmethodID MID_openj9_management_internal_ThreadInfoBase_init;60jmethodID MID_openj9_management_internal_MonitorInfoBase_init;61jmethodID MID_openj9_management_internal_LockInfoBase_init;62jclass CLS_java_lang_StackTraceElement;63jmethodID MID_java_lang_StackTraceElement_isNativeMethod;6465jmethodID MID_java_lang_ClassLoader_findLoadedClass;6667jclass CLS_sun_reflect_ConstantPool;68jfieldID FID_sun_reflect_ConstantPool_constantPoolOop;6970jmethodID MID_java_lang_Class_getName;7172jclass CLS_com_ibm_lang_management_ProcessorUsage;73jmethodID MID_com_ibm_lang_management_ProcessorUsage_init;74jmethodID MID_com_ibm_lang_management_ProcessorUsage_updateValues;7576jclass CLS_com_ibm_lang_management_MemoryUsage;77jmethodID MID_com_ibm_lang_management_MemoryUsage_updateValues;7879jclass CLS_java_com_ibm_virtualization_management_GuestOSProcessorUsage;80jmethodID MID_java_com_ibm_virtualization_management_GuestOSProcessorUsage_updateValues;81jclass CLS_java_com_ibm_virtualization_management_GuestOSMemoryUsage;82jmethodID MID_java_com_ibm_virtualization_management_GuestOSMemoryUsage_updateValues;83jmethodID MID_com_ibm_jvm_Stats_setFields;8485jclass CLS_java_lang_AnonymousClassLoader;86jmethodID MID_java_lang_AnonymousClassLoader_init;8788jclass CLS_java_security_AccessController;89jmethodID MID_java_security_AccessController_checkPermission;9091jclass CLS_java_com_ibm_lang_management_JvmCpuMonitorInfo;92jmethodID MID_java_com_ibm_lang_management_JvmCpuMonitorInfo_updateValues;9394jclass CLS_java_net_URL;95jmethodID MID_java_net_URL_getPath;96jmethodID MID_java_net_URL_getProtocol;9798jmethodID MID_com_ibm_lang_management_internal_ExtendedGarbageCollectorMXBeanImpl_buildGcInfo;99100jmethodID MID_java_lang_StackWalker_walkWrapperImpl;101102} JniIDCache;103104105#define JCL_CACHE_GET(env,x) \106(((JniIDCache*) J9VMLS_GET((env), JCL_ID_CACHE))->x)107108#define JCL_CACHE_SET(env,x,v) \109(((JniIDCache*) J9VMLS_GET((env), JCL_ID_CACHE))->x = (v))110111#define jclmem_allocate_memory(env, byteAmount) \112j9mem_allocate_memory(byteAmount, J9MEM_CATEGORY_VM_JCL)113114#define jclmem_free_memory(env, buf) \115j9mem_free_memory(buf)116117#ifdef __cplusplus118}119#endif120121#endif /* jclglob_h */122123124125