Nevar pievienot vairāk kā 25 tēmas Tēmai ir jāsākas ar burtu vai ciparu, tā var saturēt domu zīmes ('-') un var būt līdz 35 simboliem gara.

jvmti-getLoadedClasses-java8.patch 958B

12345678910111213141516171819
  1. diff --git a/src/share/vm/prims/jvmtiGetLoadedClasses.cpp b/src/share/vm/prims/jvmtiGetLoadedClasses.cpp
  2. index 70aede5..381868b 100644
  3. --- a/src/share/vm/prims/jvmtiGetLoadedClasses.cpp
  4. +++ b/src/share/vm/prims/jvmtiGetLoadedClasses.cpp
  5. @@ -42,7 +42,13 @@
  6. void do_klass(Klass* k) {
  7. // Collect all jclasses
  8. - _classStack.push((jclass) _env->jni_reference(k->java_mirror()));
  9. + // DCEVM : LoadedClassesClosure in dcevm7 iterates over classes from SystemDictionary therefore the class "k" is always
  10. + // the new version (SystemDictionary stores only new versions). But the LoadedClassesClosure's functionality was
  11. + // changed in java8 where jvmtiLoadedClasses collects all classes from all classloaders, therefore we
  12. + // must use new versions only.
  13. + if (k->new_version()==NULL) {
  14. + _classStack.push((jclass) _env->jni_reference(k->java_mirror()));
  15. + }
  16. }
  17. int extract(jclass* result_list) {