src/hotspot/share/opto/parse3.cpp
changeset 59276 94a84abb873b
parent 58273 08a5148e7c4e
equal deleted inserted replaced
59275:a6e25566cb56 59276:94a84abb873b
    53     uncommon_trap(Deoptimization::Reason_unhandled,
    53     uncommon_trap(Deoptimization::Reason_unhandled,
    54                   Deoptimization::Action_none);
    54                   Deoptimization::Action_none);
    55     return;
    55     return;
    56   }
    56   }
    57 
    57 
    58   // Deoptimize on putfield writes to call site target field.
    58   // Deoptimize on putfield writes to call site target field outside of CallSite ctor.
    59   if (!is_get && field->is_call_site_target()) {
    59   if (!is_get && field->is_call_site_target() &&
       
    60       !(method()->holder() == field_holder && method()->is_object_initializer())) {
    60     uncommon_trap(Deoptimization::Reason_unhandled,
    61     uncommon_trap(Deoptimization::Reason_unhandled,
    61                   Deoptimization::Action_reinterpret,
    62                   Deoptimization::Action_reinterpret,
    62                   NULL, "put to call site target field");
    63                   NULL, "put to call site target field");
    63     return;
    64     return;
    64   }
    65   }