graalCodeInstaller questions, recording scopes, etc.

Doug Simon doug.simon at oracle.com
Thu Jan 2 10:02:15 PST 2014


On Dec 20, 2013, at 3:41 PM, Deneau, Tom <tom.deneau at amd.com> wrote:

> Closing the loop again, for my original questions, adding answers
> below that were relayed in the Skype call on Thursday...
> 
>> -----Original Message-----
>> From: Deneau, Tom
>> Sent: Monday, December 16, 2013 3:58 PM
>> To: graal-dev at openjdk.java.net
>> Subject: graalCodeInstaller questions, recording scopes, etc.
>> 

<snip>

>    * Our infopoints have byteCodePositions.  The ones that get
>>      "recorded" go thru record_scope which has all sorts of
>>      host-specific checking on the scope info.  For instance,
>>      get_hotspot_value will compare a register # with
>>      RegisterImpl::number_of_registers (which refers to the host) and
>>      if it is, assert that the type is FLOAT or DOUBLE.  None of this
>>      holds with HSAIL registers.  What is the best way to resolve
>>      this?
>> 
> 
> This issue will be handled by the virtualization of some of the calls
> in graalCodeInstaller that Doug will be implementing.

I made the CodeInstaller class subclassable and the ScopeValue creation methods virtual[1]. At some point, I imagine CompilerToGPU.generateKernel() will be expanded to incorporate (and obsolete) HotSpotCodeCacheProvider.addExternalMethod(). This means the code for generateKernel in graalCompilerToGPU.cpp can use a GPU specific subclass of CodeInstaller to create GPU ScopeValues.

-Doug

[1] http://hg.openjdk.java.net/graal/graal/rev/03bb0ee05409


More information about the graal-dev mailing list