Request for reviews (S): 6860599: Relax nodes limit check for Output phase
Tom Rodriguez
Thomas.Rodriguez at Sun.COM
Mon Jul 20 10:52:13 PDT 2009
If the intent is just to suppress the assert after a certain point in
code generation, why don't you just add a flag in the Compile for
that? Adding _node_limit and just doubling it seems arbitrary and
doesn't really capture intent.
tom
On Jul 20, 2009, at 9:32 AM, Vladimir Kozlov wrote:
> Christian,
>
> The only nodes limit check done in Output is in
> Node::verify_construction() and it is assert()
> which only works in debug mode.
> Did I understand your question correctly?
>
> Thanks,
> Vladimir
>
>
> Christian Thalinger wrote:
>> Vladimir Kozlov wrote:
>>> http://cr.openjdk.java.net/~kvn/6860599/webrev.00
>>>
>>> Fixed 6860599: Relax nodes limit check for Output phase
>>>
>>> Problem:
>>> I got several CTW cases when without EA C2 "gracefully"
>>> bailout compilation when nodes limit check failed during
>>> macro nodes expansion. And with EA it passed macro nodes
>>> expansion but crashed with ASSERT during Output phase.
>>> One byte MachNop nodes are used in debug mode for loops
>>> and calls alignment in Output phase. As result for a big
>>> method the node limit could be reached.
>>>
>>> Solution:
>>> Increase nodes limit (double) for Output phase.
>> What I don't understand with this patch is, it changes the node limit
>> but this is done for every output. It's not limited to e.g. debug
>> mode.
>> Is this what you indented?
>> -- Christian
More information about the hotspot-compiler-dev
mailing list