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