Patch for misleading comment in src/share/vm/opto/node.cpp
Tom Rodriguez
Thomas.Rodriguez at Sun.COM
Tue Feb 24 10:43:44 PST 2009
On Feb 24, 2009, at 12:32 AM, Christian Thalinger wrote:
> On Mon, 2009-02-23 at 11:15 -0800, Peter B. Kessler wrote:
>> Peter B. Kessler wrote:
>>> This comment is so wrong as almost to qualify as malicious.
>>> Here's a
>>> patch that might help.
>>>
>>> src/share/vm/opto/node.cpp
>>>
>>> 971 // If you modify the 'this' pointer's inputs, you must use
>>> 'set_req' with
>>> 972 // def-use info. If you are making a new Node (either as
>>> the new root or
>>> 973 // some new internal piece) you must NOT use set_req with
>>> def-use info.
>>> 974 // You can make a new Node with either 'new' or 'clone'.
>>> In either case,
>>> 975 // def-use info is (correctly) not generated.
This piece isn't valid either. There's no separate du argument to any
of the set functions anymore.
tom
>>>
>>> 976 // Example: reshape "(X+3)+4" into "X+7":
>>> 977 // set_req(1,in(1)->in(1) /* grab X */, du /* must use
>>> DU on 'this' */);
>>> 978 // set_req(2,phase->intcon(7),du);
>>> 979 // return this;
>>> - 980 // Example: reshape "X*4" into "X<<1"
>>> - 981 // return new (C,3) LShiftINode( in(1), phase-
>>> >intcon(1) );
>>> + 980 // Example: reshape "X*4" into "X<<2"
>>> + 981 // return new (C,3) LShiftINode( in(1), phase-
>>> >intcon(2) );
>>> 982 //
>>> 983 // You must call 'phase->transform(X)' on any new Nodes X
>>> you make, except
>>> - 984 // for the returned root node. Example: reshape "X*31"
>>> with "(X<<5)-1".
>>> - 985 // Node *shift=phase->transform(new(C,
>>> 3)LShiftINode(in(1),phase->intcon(5)));
>>> - 986 // return new (C,3) AddINode(shift, phase->intcon(-1));
>>> + 984 // for the returned root node. Example: reshape "X*31"
>>> with "(X<<5)-X".
>>> + 985 // Node *shift=phase->transform(new(C,
>>> 3)LShiftINode(in(1),phase->intcon(5)));
>>> + 986 // return new (C,3) SubINode(shift, phase-
>>> >intcon(in(1)));
>>
>> This last line should probably be
>>
>> + 986 // return new (C,3) SubINode(shift, in(1));
>>
>> but I admit I'm a noob in this part of the code. (Which is why I
>> was reading the comments. :-)
>
> I'm not an expert either but it looks good. I'm adding this one to my
> typos-repository. Thanks!
>
> -- Christian
>
More information about the hotspot-compiler-dev
mailing list