--- 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.