On Jan 18, 2008 3:46 PM, Aleksey Shipilev <[EMAIL PROTECTED]> wrote: > Hi, Xiao Feng, Gregory, > > I believe that current implementation of WB support for arraycopy is > good in case of unknown GC design. It would hit WB for every element > in the array, and then maintain compatibility across different GC > implementations, right?
Actually it's impossible to have a single design compatible for different GCs while keeping good performance. It is easy to have more flexibilities by adding an interface to query GC about what kind of write barriers are needed. But let's leave this cleanup work to some day in future. Thanks, xiaofeng > I'm also thinking of specialized write barrier helper for arrays, > which would exploit your design but keep VM/JIT unaware of the > details. > > Gregory, I have modified the patch to cover your concern, does it fits well? > > Thanks, > Aleksey. > > > On Jan 18, 2008 9:47 AM, Xiao-Feng Li <[EMAIL PROTECTED]> wrote: > > On Jan 18, 2008 2:30 PM, George Timoshenko (JIRA) <[EMAIL PROTECTED]> wrote: > > > > > > [ > > > https://issues.apache.org/jira/browse/HARMONY-5399?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12560243#action_12560243 > > > ] > > > > > > George Timoshenko commented on HARMONY-5399: > > > -------------------------------------------- > > > > > > I have one consern. > > > > > > By the modification of "arraycopyOptimizable" you turn of the both > > > > > > genArrayCopy and > > > genArrayCopyRepMove > > > > > > optimizations of the arrays of Object types. > > > > > > BUT the first one, genArrayCopy, does not use REP instruction. It > > > generates a copying loop so it can work with WB. > > > > > > For array write, it's ok to have only one WB for the whole object. In > > my current generational GC design, I use WB actually for object > > remembering rather than slot remembering. So one WB for the whole > > arraycopy is enough. > > > > (Well, write barrier support in DRLVM needs cleanup thenafter.) > > > > Thanks, > > xiaofeng > > > > > > > > > > > [drlvm][jit] Enabling arraycopy optimization for primitive types when > > > > write barriers are enabled > > > > ------------------------------------------------------------------------------------------------ > > > > > > > > Key: HARMONY-5399 > > > > URL: https://issues.apache.org/jira/browse/HARMONY-5399 > > > > Project: Harmony > > > > Issue Type: Improvement > > > > Environment: All > > > > Reporter: Aleksey Shipilev > > > > Attachments: WB-2.patch, WB-3.patch, WB-4.patch > > > > > > > > > > > > JIT arraycopy optimization is disabled automatically when WB are > > > > enabled. Attached patch re-enables arraycopy optimization for arrays of > > > > primitive types, which shouldn't interfere with WB activity. > > > > > > -- > > > This message is automatically generated by JIRA. > > > - > > > You can reply to this email to add a comment to the issue online. > > > > > > > > > > > > > > -- > > http://xiao-feng.blogspot.com > > > -- http://xiao-feng.blogspot.com
