]> source.dussan.org Git - dcevm.git/commitdiff
Do not clear f1 for now
authorIvan Dubrov <idubrov@guidewire.com>
Tue, 5 Apr 2016 22:33:04 +0000 (15:33 -0700)
committerIvan Dubrov <idubrov@guidewire.com>
Tue, 5 Apr 2016 22:33:06 +0000 (15:33 -0700)
Seems like f1 is still sometimes uses (in field scenario?) even though we zero bytecode, so it should be re-resolved.

.gitignore
hotspot/.hg/patches/dont-clear-f1.patch [new file with mode: 0644]
hotspot/.hg/patches/series

index 91017085f7b1a092c8b2da38f1aeba99e614763f..90d0d869388ed567ee66d5fe339c381c0b2f2e9f 100644 (file)
@@ -13,3 +13,4 @@ build
 /replay_*.log
 /core
 /hotspot.log
+/logs
diff --git a/hotspot/.hg/patches/dont-clear-f1.patch b/hotspot/.hg/patches/dont-clear-f1.patch
new file mode 100644 (file)
index 0000000..8b6bd0d
--- /dev/null
@@ -0,0 +1,27 @@
+# HG changeset patch
+# Parent  6f6f329e829b021b30ff9d2b21c1308f6427af2f
+
+diff -r 6f6f329e829b -r f41a9c701b38 src/share/vm/oops/cpCache.cpp
+--- a/src/share/vm/oops/cpCache.cpp    Tue Apr 05 11:28:40 2016 -0700
++++ b/src/share/vm/oops/cpCache.cpp    Tue Apr 05 15:31:55 2016 -0700
+@@ -537,7 +537,7 @@
+ // Clear cached entry, let it be re-resolved
+ void ConstantPoolCacheEntry::clear_entry() {
+   _indices = constant_pool_index();
+-  _f1 = NULL;
++  //_f1 = NULL;
+   if (!is_resolved_reference()) {
+     _f2 = 0;
+   }
+diff -r 6f6f329e829b -r f41a9c701b38 src/share/vm/oops/cpCache.hpp
+--- a/src/share/vm/oops/cpCache.hpp    Tue Apr 05 11:28:40 2016 -0700
++++ b/src/share/vm/oops/cpCache.hpp    Tue Apr 05 15:31:55 2016 -0700
+@@ -141,7 +141,7 @@
+   void set_bytecode_2(Bytecodes::Code code);
+   void set_f1(Metadata* f1) {
+     Metadata* existing_f1 = (Metadata*)_f1; // read once
+-    assert(existing_f1 == NULL || existing_f1 == f1, "illegal field change");
++    //assert(existing_f1 == NULL || existing_f1 == f1, "illegal field change");
+     _f1 = f1;
+   }
+   void release_set_f1(Metadata* f1);
index 958f9c5e7f68e508b6fc5d855bbabacaf6672b68..168fb267ae764562183449f77f4174027283371a 100644 (file)
@@ -50,5 +50,6 @@ light-jdk8u40-b25.patch #+light-jdk8u40-b25 #+light-jdk8u45-b14 #+light-jdk8u51-
 light-jdk8u66-b17.patch #+light-jdk8u66-b17 #+light-jdk8u74-b02
 light-jdk8u20-deopt-cp.patch #+light-jdk8u20-b22 #+light-jdk8u31-b13 #+light-jdk8u40-b25 #+light-jdk8u45-b14 #+light-jdk8u51-b16
 light-jdk8u66-b17-deopt-cp.patch #+light-jdk8u66-b17 #+light-jdk8u74-b02
+dont-clear-f1.patch #+light-jdk8u74-b02