aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorIvan Dubrov <idubrov@guidewire.com>2016-04-05 15:33:04 -0700
committerIvan Dubrov <idubrov@guidewire.com>2016-04-05 15:33:06 -0700
commit5d3ec9ec2a35d330c7d96a403e266b7793cc8d8d (patch)
tree734fa9b3e539529a490c9a3b7ecb5c01a9b72fac
parentd40f660e8cb13644e2eb0cd5b6ea01bce911bb00 (diff)
downloaddcevm-5d3ec9ec2a35d330c7d96a403e266b7793cc8d8d.tar.gz
dcevm-5d3ec9ec2a35d330c7d96a403e266b7793cc8d8d.zip
Do not clear f1 for now
Seems like f1 is still sometimes uses (in field scenario?) even though we zero bytecode, so it should be re-resolved.
-rw-r--r--.gitignore1
-rw-r--r--hotspot/.hg/patches/dont-clear-f1.patch27
-rw-r--r--hotspot/.hg/patches/series1
3 files changed, 29 insertions, 0 deletions
diff --git a/.gitignore b/.gitignore
index 91017085..90d0d869 100644
--- a/.gitignore
+++ b/.gitignore
@@ -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
index 00000000..8b6bd0d5
--- /dev/null
+++ b/hotspot/.hg/patches/dont-clear-f1.patch
@@ -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);
diff --git a/hotspot/.hg/patches/series b/hotspot/.hg/patches/series
index 958f9c5e..168fb267 100644
--- a/hotspot/.hg/patches/series
+++ b/hotspot/.hg/patches/series
@@ -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