diff src/share/vm/opto/parse3.cpp @ 3852:fdb992d83a87

7071653: JSR 292: call site change notification should be pushed not pulled Reviewed-by: kvn, never, bdelsart
author twisti
date Tue, 16 Aug 2011 04:14:05 -0700
parents 263247c478c5
children aa67216400d3
line wrap: on
line diff
--- a/src/share/vm/opto/parse3.cpp	Thu Aug 11 12:08:11 2011 -0700
+++ b/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.