RFR: Implement better address lowering for AArch64
Doug Simon
doug.simon at oracle.com
Mon Apr 3 16:25:43 UTC 2017
>
> On 3 Apr 2017, at 17:37, Andrew Dinn <adinn at redhat.com> wrote:
>
> Hi Doug,
>
> Hmm, this is getting trickier.
>
> I looked at the option of subclassing HotSpotSuitesProvider to define
> this subclass hierarchy:
>
>
> AMD64HSSP -----\
> SPARCHHSSP -----+-- HSSP
> AArch64HSSP --/
>
> (n.b. HotSpotSuitesProvider and its prospective subclasses names have
> been abbreviated to <XXX>HSSP merely so I can fit the class hierarchy on
> the page -- I really intended the new classes to be
> AMD64HotSpotSuitesProvider, etc).
>
> Unfortunately, I found that there is a name clash with an existing class
> in the following hierarchy:
>
> AMD64HSSP -- AMD64SuitesProvider ----\
> SPARCSuitesProvider -----+-- DefaultSuitesProvider
> AArch64SuitesProvider ---/
>
> I can (sort of) see why the two AMD64 children in this latter hierarchy
> are distinguished -- each adds a phase to the LIR suites at a slightly
> different level of generality. However, the names belie the fact that
> this is happening in the DefaultSuitesProvider hierarchy rather than the
> HotSpotSuitesProvider hierarchy.
>
> I think these subclasses of DefaultSuitesProvider might have been named
> better as
>
> AMD64DefaultSuitesProvider
> SPARCDefaultSuitesProvider
> AArch64DefaultSuitesProvider
> AMD64HotSpotDefaultSuitesProvider
>
> or, better still, AMD64DefaultSuitesCreator etc since they are only
> needed to implement the interface SuitesCreator which is used to type
> the first argument to the constructor for HotSporSuitesProvider (n.b.
> use of the Creator names is going to require yet more revision of naming
> -- the rot set in for this whole hierarchy at the root of the class tree
> above these classes above DefaultSuitesProvider where its parent,
> SuitesProviderBase, implements SuitesCreator).
>
> Would it be best to rename these 4 classes to include the name Default
> as above? Or would you recommend some other naming scheme for the
> subclasses of HotSpotSuitesProvider I need to create?
Hmm, the existing hierarchies are indeed ripe for confusion! I think you're suggestion for AMD64DefaultSuitesCreator etc is the best to clean this up.
@Roland: I think you were involved with creation/evolution of the existing code. Does the *DefaultSuitesCreator clean up suggested by Andrew make sense to you?
Once we agree on the cleanup, I'm fine with it being done in the same PR.
-Doug
More information about the graal-dev
mailing list