You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@harmony.apache.org by "George Timoshenko (JIRA)" <ji...@apache.org> on 2006/11/21 07:20:03 UTC

[jira] Updated: (HARMONY-2247) System::arraycopy by 'rep move' instruction

     [ http://issues.apache.org/jira/browse/HARMONY-2247?page=all ]

George Timoshenko updated HARMONY-2247:
---------------------------------------

    Attachment: arraycopy_rep_move_SVN.diff

Here is the implementation of the improvement in Jitrino code.

The improvement is turned on by default. It is switchable by -Djit.arg.genArrayCopyRepMove.
For returning to the previous version (with the loop) one should use:

-Djit.arg.genArrayCopyRepMove=false -Djit.arg.genArrayCopy=true


Together with the patch from HARMONY-2223 it gives timings like these:

$IJ_SVN -Xem:opt -Djit.arg.genArrayCopyRepMove=false -Djit.arg.genArrayCopy=true -Xms1048M -Xmx1048M ArraycopyTest
. . . . . . . . . . . . . . . . . . . . . . . .
FINISHED
duration = 25890 millis

$IJ_SVN -Xem:opt -Djit.arg.genArrayCopyRepMove=true -Djit.arg.genArrayCopy=false -Xms1048M -Xmx1048M ArraycopyTest
. . . . . . . . . . . . . . . . . . . . . . . .
FINISHED
duration = 19651 millis




> System::arraycopy by 'rep move' instruction
> -------------------------------------------
>
>                 Key: HARMONY-2247
>                 URL: http://issues.apache.org/jira/browse/HARMONY-2247
>             Project: Harmony
>          Issue Type: Improvement
>          Components: DRLVM
>         Environment: ia32
>            Reporter: George Timoshenko
>         Attachments: arraycopy_rep_move_SVN.diff, ArraycopyTest.java
>
>
> Currenlty Jitrino::OPT instead of 'System::arraycopy' call generates a loop that copies arrays with respective checks.
> The improvements is in replacing the loop by 'rep move' instruction which is available on ia32.
> (This is possible as the instruction is now supported in Encoder. See the patch for HARMONY-2223)

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: http://issues.apache.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira