webrev to enable arraycopy support in hsail backend

Doug Simon doug.simon at oracle.com
Tue Jun 10 21:45:31 UTC 2014


Good advice. As I integrated Tom’s changes I made changes to some of the comments following this suggestion.

-Doug

On Jun 10, 2014, at 11:42 PM, Christian Thalinger <christian.thalinger at oracle.com> wrote:

> That looks good.  Can I suggest to use full sentences with punctuation in comments?  Otherwise it might look odd on a reformat.
> 
> On Jun 10, 2014, at 12:58 PM, Deneau, Tom <tom.deneau at amd.com> wrote:
> 
>> Christian --
>> 
>> A new version addressing your comments is available in
>> 
>> http://cr.openjdk.java.net/~tdeneau/graal-webrevs/webrev-hsail-arraycopy-support-v2
>> 
>> -- Tom
>> 
>> 
>> 
>> From: Christian Thalinger [mailto:christian.thalinger at oracle.com] 
>> Sent: Tuesday, June 10, 2014 12:27 PM
>> To: Deneau, Tom
>> Cc: graal-dev at openjdk.java.net
>> Subject: Re: webrev to enable arraycopy support in hsail backend
>> 
>> graal/com.oracle.graal.hotspot.hsail/src/com/oracle/graal/hotspot/hsail/HSAILHotSpotReplacementsImpl.java
>> 
>> 
>> +        // Register the special arraycopy snippet handling
>> +        // This basically ignores the sense of the CallArrayCopy flag
>> +        // and always directs to the snippets from UnsafeArrayCopyNode
>> 
>> Can you change this and other comments to multi-line comments?  Otherwise it looks good.
>> 
>> A general question:  HSAIL has a lot of tests.  Is there any way to make them common tests so that they are executed on CPUs and GPUs?
>> 
>> On Jun 10, 2014, at 7:47 AM, Deneau, Tom <tom.deneau at amd.com> wrote:
>> 
>> 
>> I placed a small webrev up at
>> http://cr.openjdk.java.net/~tdeneau/graal-webrevs/webrev-hsail-arraycopy-support/webrev/
>> 
>> The purpose is to allow System.arraycopy (or at least most flavors of it) to be used in hsail kernels.  Note that even if kernels do not use it directly, System.arrayCopy is used in many JDK routines, for example Stringbuilder.append(), ArrayList.get, etc.  One flavor that is not supported yet is for example an Object array copy where the destination is a superclass of the source.
>> 
>> The changes to HSAILHotSpotReplacementsImpl.java is just a way to take the non-foreign-call path (which hsail kernels cannot handle) regardless of the sense of the global flag CallArrayCopy (default true).
>> 
>> The rest of the webrev is either new specific arraycopy tests, or enabling of some tests that were previously ignored because they needed arraycopy support.
>> 
>> -- Tom



More information about the graal-dev mailing list