If that's the only change then it looks good to me...

                        ...jim

On 08/03/2016 02:58 AM, Laurent Bourgès wrote:
Jim & Phil,

I added the following class header in Byte/Int/Float ArrayCache classes
and removed the shell script:

/*
 * Note that the [BYTE/INT/FLOAT]ArrayCache files are nearly identical
except
 * for a few type and name differences. Typically, the
[BYTE]ArrayCache.java file
 * is edited manually and then [INT]ArrayCache.java and
[FLOAT]ArrayCache.java
 * files are generated with the following command lines:
 */
// % sed -e 's/(b\yte)[ ]*//g' -e 's/b\yte/int/g' -e 's/B\yte/Int/g' <
B\yteArrayCache.java > IntArrayCache.java
// % sed -e 's/(b\yte)[ ]*/(float) /g' -e 's/b\yte/float/g' -e
's/B\yte/Float/g' < B\yteArrayCache.java > FloatArrayCache.java

I tested the commands and it works well.

Here is the updated webrev:
http://cr.openjdk.java.net/~lbourges/marlin/marlin-8159638.2/

Cheers,
Laurent

2016-08-03 2:28 GMT+02:00 Jim Graham <[email protected]
<mailto:[email protected]>>:

    How about instead of the shell script we put a comment up at the top
    of the files (after the copyright header), with the appropriate
    command line?  Something like:

    /*
     * Note that the Byte/Int/Float files are nearly identical except
     * for a few type and name differences.  Typically, the Byte version
     * is edited manually and then the Int and Float versions are
     * generated with the following command lines:
     * % sed ... Float ...
     * % sed ... Int ...
     */

    The only issue is trying to word this in a way that prevents the
    "Byte" in this comment from being converted.  It gets even tricker
    when we have the strings being substituted appear in the command
    lines.  Perhaps escapes would avoid the issue?  And upper case?
    Something like this (but it looks kind of gross):

    /*
     * Note that the BYTE/INT/FLOAT files are nearly identical except
     * for a few type and name differences.  Typically, the BYTE version
     * is edited manually and then the INT and FLOAT versions are
     * generated with the following command lines:
     * % sed ... \b\y\t\e ... float ... \B\y\t\e ... Float ...
     * % sed ... \b\y\t\e ... int ... \B\y\t\e ... Int ...
     */

    A developer could either cut and paste the commands to a command
    line, or write their own shell script...

                            ...jim


    On 08/02/2016 03:34 PM, Philip Race wrote:

        I have not yet looked at everything but no issues except that
        I find checking in the shell script a bit weird.
        Not to mention its technically a "source file" so should have a
        license.

        -phil.

        On 8/2/16, 2:56 PM, Jim Graham wrote:

            Thanks Laurent,

            On 08/02/2016 05:57 AM, Laurent Bourgès wrote:

                Thanks for the tip, I made another webrev (for archive)
                that shows the
                proper diffs in ArrayCache / ArrayCacheConst:
                
http://cr.openjdk.java.net/~lbourges/marlin/marlin-8159638.1_bis/
                
<http://cr.openjdk.java.net/%7Elbourges/marlin/marlin-8159638.1_bis/>


            Thanks!

                    In Renderer.java, you create the alphaLine and
                blkFlags refs as
                    Clean, but then you always put them back using
                indices of (0, 0) so
                    they will never actually be cleaned - is there a
                reason you don't
                    just use a dirty ref there?

                Both alphaLine and blkFlags arrays must be zero-filled
                as these arrays
                are storing accumulated values:

                It is not possible to use a dirty reference in this case
                as both
                allocated and returned array may contain garbage data
                (from the
                IntArrayCache).


            D'oh!  I guess that was obvious.  I wasn't thinking of the
            fact that
            dirty caches can initially return a non-zero-filled array -
            the fact
            that they clean on "put" is only half of their zero guarantee...

                    Other than that question, I don't see any problems
                with the fix...

                Ready to go ?
                or I need another reviewer, phil ?


            Ready from my end.  Phil?

                        ...jim




--
--
Laurent Bourgès

Reply via email to