RFR (S): 8024922: PPC64 (part 116): Extend adlc to generate fields into nodes.
Vladimir Kozlov
vladimir.kozlov at oracle.com
Thu Sep 19 10:25:03 PDT 2013
Could you explain why you need _load_ic_*_node fields
CallDynamicJavaDirect mach node? I am trying to understand if there is
an other, already existing, way to do that. I am fine with these changes
but I need to know why.
Thanks,
Vladimir
On 9/19/13 8:44 AM, Lindenmaier, Goetz wrote:
> Hi,
>
> We extended adlc by a feature that allows to specify fields of
>
> MachNodes.
>
> http://cr.openjdk.java.net/~goetz/webrevs/8024922-adlcFields/
>
> This is implemented according to the ins_xxx() functionality that
>
> allows to specify functions returning constants. If you specify
>
> an ins_field_xxx(tp) in an instruct specification, a field _xxx
>
> with type tp is added to the node.
>
> You can see a usage of this feature in the ppc.ad file:
>
> http://hg.openjdk.java.net/ppc-aix-port/jdk8/hotspot/file/e6d09cebf92d/src/cpu/ppc/vm/ppc.ad
>
> E.g., on line 12928 you find the specification of _load_ic_hi_node:
>
> 12928 instruct CallDynamicJavaDirect__2(method meth) %{
>
> 12924 match(CallDynamicJava); // To get all the data fields we
> need ...
>
> 12925 effect(USE meth);
>
> 12926 predicate(false); // ... but never match.
>
> 12927
>
> 12928 ins_field_load_ic_hi_node(exLoadConL_hiNode*);
>
> which is used on line 5098:
>
> 5098 {
>
> 5099 CallDynamicJavaDirect__2Node *m1 =
> (CallDynamicJavaDirect__2Node *)call;
>
> 5100 m1->_load_ic_hi_node = exLoadConLNodes_IC._large_hi;
>
> 5101 m1->_load_ic_node = exLoadConLNodes_IC._small;
>
> 5102 }
>
> As with other ins_ attributes, a general declaration of the attribute is
> needed, see
>
> line 6565:
>
> 6565 ins_attrib ins_field_load_ic_hi_node(0);
>
> In adlc, we just had to change the output of nodes. Parsing of the ad file
>
> is not affected.
>
> This change only affects adlc. There should be no effects on the Oracle
>
> platforms, except if a closed platform happens to specify an attribute
>
> with the name prefix ins_field_.
>
> Please review and test this change.
>
> Best regards,
>
> Goetz.
>
More information about the ppc-aix-port-dev
mailing list