Mercurial > hg > release > heapstats-2.1
changeset 167:365f5563c84b
Bug 2978: [JDK 9] Add CMSGC hook for JDK 9
author | Yasumasa Suenaga <yasuenag@gmail.com> |
---|---|
date | Thu, 02 Jun 2016 22:23:35 +0900 |
parents | 6872a12a8688 |
children | ce4c68bbea97 |
files | agent/src/heapstats-engines/overrideFunc.S agent/src/heapstats-engines/overrider.cpp |
diffstat | 2 files changed, 36 insertions(+), 2 deletions(-) [+] |
line wrap: on
line diff
--- a/agent/src/heapstats-engines/overrideFunc.S Thu Jun 02 22:23:26 2016 +0900 +++ b/agent/src/heapstats-engines/overrideFunc.S Thu Jun 02 22:23:35 2016 +0900 @@ -254,6 +254,19 @@ /* InstanceClassLoaderKlass::oop_pc_follow_contents(oopDesc*, ParCompactionManager*) */ OVERRIDE_DEFINE(parOld_jdk9, 4, 2) +/* For JDK 9 ParNew GC hook */ + +/* InstanceKlass::oop_oop_iterate_v(oopDesc*, ExtendedOopClosure*) */ +OVERRIDE_DEFINE(cms_new_jdk9, 0, 2) +/* ObjArrayKlass::oop_oop_iterate_v(oopDesc*, ExtendedOopClosure*) */ +OVERRIDE_DEFINE(cms_new_jdk9, 1, 2) +/* TypeArrayKlass::oop_oop_iterate_v(oopDesc*, ExtendedOopClosure*) */ +OVERRIDE_DEFINE(cms_new_jdk9, 2, 2) +/* InstanceRefKlass::oop_oop_iterate_v(oopDesc*, ExtendedOopClosure*) */ +OVERRIDE_DEFINE(cms_new_jdk9, 3, 2) +/* InstanceClassLoaderKlass::oop_oop_iterate_v(oopDesc*, ExtendedOopClosure*) */ +OVERRIDE_DEFINE(cms_new_jdk9, 4, 2) + #ifdef AVOID__i686 /* Restore definition. */
--- a/agent/src/heapstats-engines/overrider.cpp Thu Jun 02 22:23:26 2016 +0900 +++ b/agent/src/heapstats-engines/overrider.cpp Thu Jun 02 22:23:35 2016 +0900 @@ -74,6 +74,7 @@ */ DEFINE_OVERRIDE_FUNC_4(cms_new); DEFINE_OVERRIDE_FUNC_5(cms_new_6964458); +DEFINE_OVERRIDE_FUNC_5(cms_new_jdk9); /*! * \brief Override function for heap object on G1GC. @@ -401,13 +402,33 @@ HOOK_FUNC_END}; /*! + * \brief Pointer of hook information on CMSGC for JDK 9. + */ +THookFunctionInfo jdk9_cms_new_hook[] = { + HOOK_FUNC(cms_new_jdk9, 0, "_ZTV13InstanceKlass", + "_ZN13InstanceKlass17oop_oop_iterate_vEP7oopDescP18ExtendedOopClosure", + &callbackForIterate), + HOOK_FUNC(cms_new_jdk9, 1, "_ZTV13ObjArrayKlass", + "_ZN13ObjArrayKlass17oop_oop_iterate_vEP7oopDescP18ExtendedOopClosure", + &callbackForIterate), + HOOK_FUNC( + cms_new_jdk9, 2, "_ZTV14TypeArrayKlass", + "_ZN14TypeArrayKlass17oop_oop_iterate_vEP7oopDescP18ExtendedOopClosure", + &callbackForIterate), + HOOK_FUNC(cms_new_jdk9, 3, "_ZTV16InstanceRefKlass", + "_ZN16InstanceRefKlass17oop_oop_iterate_vEP7oopDescP18ExtendedOopClosure", + &callbackForIterate), + HOOK_FUNC(cms_new_jdk9, 4, "_ZTV24InstanceClassLoaderKlass", + "_ZN24InstanceClassLoaderKlass17oop_oop_iterate_vEP7oopDescP18ExtendedOopClosure", + &callbackForIterate), + HOOK_FUNC_END}; + +/*! * \brief Pointers of hook information on CMSGC for several CRs.<br> * These CRs have no impact on CMSGC, so refer to the last. */ #define CR8027746_cms_new_hook CR8000213_cms_new_hook #define CR8049421_cms_new_hook CR8000213_cms_new_hook -/* TODO: We have to define valid hook for JDK 9 */ -#define jdk9_cms_new_hook CR8049421_cms_new_hook /*! * \brief Pointer of hook information on CMSGC.