diff options
author | Ivan Dubrov <dubrov.ivan@gmail.com> | 2016-12-03 08:28:43 -0800 |
---|---|---|
committer | GitHub <noreply@github.com> | 2016-12-03 08:28:43 -0800 |
commit | f3c4f71195c8d15d22930a4f81bd85f8a85078d9 (patch) | |
tree | 419bd09e3267f3c53ad738689de0a55323b508e7 /hotspot/.hg/patches/jvmti-getLoadedClasses-java8.patch | |
parent | ac5158687d53a96a7691baa8c0d382ff9e968fd5 (diff) | |
parent | f6d40077568ea7443e5202bb39062d468b1680d2 (diff) | |
download | dcevm-f3c4f71195c8d15d22930a4f81bd85f8a85078d9.tar.gz dcevm-f3c4f71195c8d15d22930a4f81bd85f8a85078d9.zip |
Merge pull request #114 from skybber/masterlight-jdk8u112+7
Fix problem with java8 breakpoints
Diffstat (limited to 'hotspot/.hg/patches/jvmti-getLoadedClasses-java8.patch')
-rw-r--r-- | hotspot/.hg/patches/jvmti-getLoadedClasses-java8.patch | 19 |
1 files changed, 19 insertions, 0 deletions
diff --git a/hotspot/.hg/patches/jvmti-getLoadedClasses-java8.patch b/hotspot/.hg/patches/jvmti-getLoadedClasses-java8.patch new file mode 100644 index 00000000..cde459da --- /dev/null +++ b/hotspot/.hg/patches/jvmti-getLoadedClasses-java8.patch @@ -0,0 +1,19 @@ +diff --git a/src/share/vm/prims/jvmtiGetLoadedClasses.cpp b/src/share/vm/prims/jvmtiGetLoadedClasses.cpp +index 70aede5..381868b 100644 +--- a/src/share/vm/prims/jvmtiGetLoadedClasses.cpp ++++ b/src/share/vm/prims/jvmtiGetLoadedClasses.cpp +@@ -42,7 +42,13 @@ + + void do_klass(Klass* k) { + // Collect all jclasses +- _classStack.push((jclass) _env->jni_reference(k->java_mirror())); ++ // DCEVM : LoadedClassesClosure in dcevm7 iterates over classes from SystemDictionary therefore the class "k" is always ++ // the new version (SystemDictionary stores only new versions). But the LoadedClassesClosure's functionality was ++ // changed in java8 where jvmtiLoadedClasses collects all classes from all classloaders, therefore we ++ // must use new versions only. ++ if (k->new_version()==NULL) { ++ _classStack.push((jclass) _env->jni_reference(k->java_mirror())); ++ } + } + + int extract(jclass* result_list) { |