hotspot/src/share/vm/opto/parse3.cpp
changeset 10265 4c869854aebd
parent 10028 035159a868a1
child 10510 ab626d1bdf53
--- a/hotspot/src/share/vm/opto/parse3.cpp	Thu Aug 11 12:08:11 2011 -0700
+++ b/hotspot/src/share/vm/opto/parse3.cpp	Tue Aug 16 04:14:05 2011 -0700
@@ -100,6 +100,14 @@
     }
   }
 
+  // Deoptimize on putfield writes to CallSite.target
+  if (!is_get && field->is_call_site_target()) {
+    uncommon_trap(Deoptimization::Reason_unhandled,
+                  Deoptimization::Action_reinterpret,
+                  NULL, "put to CallSite.target field");
+    return;
+  }
+
   assert(field->will_link(method()->holder(), bc()), "getfield: typeflow responsibility");
 
   // Note:  We do not check for an unloaded field type here any more.