review request (S): 7087453: PhaseChaitin::yank_if_dead() should handle MachTemp inputs
tom.rodriguez at oracle.com
Tue Sep 6 11:45:56 PDT 2011
On Sep 6, 2011, at 11:19 AM, Vladimir Kozlov wrote:
> So why this code can't handle more then one non TEMP inputs? Is it because the 'old' node should have only one non TEMP input (which I doubt) or yank_if_dead() code is not correct - can't process more inputs? If it is later we should fix the code.
In our current world, having a node with more than one non-temp input go dead indicates a bug since it shouldn't happen. It never needed to handle more than one input going dead because it was only ever dealing with MSCs or rematerializable constants. MachTemp inputs to constant were something I hadn't considered but they are easy to deal with. Someday that might change but I don't see any reason to make this code more flexible.
> Roland Westrelin wrote:
>> When PhaseChaitin::yank_if_dead() hits a node with MachTemp inputs it crashes the VM with assertion:
>> assert(old->req() <= 2, "can't handle more inputs");
>> It should be able to handle MachTemps as a special case by yanking them as well.
More information about the hotspot-compiler-dev