You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@harmony.apache.org by "YangBin (JIRA)" <ji...@apache.org> on 2007/12/26 15:36:43 UTC

[jira] Created: (HARMONY-5351) write barrier problem

write barrier problem
---------------------

                 Key: HARMONY-5351
                 URL: https://issues.apache.org/jira/browse/HARMONY-5351
             Project: Harmony
          Issue Type: Bug
         Environment: Intel(R) Pentium(R) 4 CPU 3.00GHz
Mem: 1GB
DISK: 10GB
            Reporter: YangBin


   I am trying to implement a "root write barrier" that can dynamically trace root object in regs, stack. 
   The "gen_gc_mark_local" in cg.cpp may be generate the GC map, but when I add the root write barrier in there, the root value is zero.
   I use gdb to trace jit, i find that "gen_write_barrier" is not compiled in the native code. When I omitted the following code in cg_instr.cpp:gen_write_barrier:
    if (!doGenWB4J && !doGenWB4C) {
        return;
    }
   the Harmony crash.

  If I don't misunderstand,  write barrier in current Harmony  may be not right.
   
   Would you like to give me some opinion about above problem?
   I'm looking forwards to your letters.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


Re: [jira] Created: (HARMONY-5351) write barrier problem

Posted by Xiao-Feng Li <xi...@gmail.com>.
On Dec 26, 2007 10:36 PM, YangBin (JIRA) <ji...@apache.org> wrote:
> write barrier problem
> ---------------------
>
>                  Key: HARMONY-5351
>                  URL: https://issues.apache.org/jira/browse/HARMONY-5351
>              Project: Harmony
>           Issue Type: Bug
>          Environment: Intel(R) Pentium(R) 4 CPU 3.00GHz
> Mem: 1GB
> DISK: 10GB
>             Reporter: YangBin
>
>
>    I am trying to implement a "root write barrier" that can dynamically trace root object in regs, stack.
>    The "gen_gc_mark_local" in cg.cpp may be generate the GC map, but when I add the root write barrier in there, the root value is zero.
>    I use gdb to trace jit, i find that "gen_write_barrier" is not compiled in the native code. When I omitted the following code in cg_instr.cpp:gen_write_barrier:
>     if (!doGenWB4J && !doGenWB4C) {
>         return;
>     }
>    the Harmony crash.
>
>   If I don't misunderstand,  write barrier in current Harmony  may be not right.
>
>    Would you like to give me some opinion about above problem?
>    I'm looking forwards to your letters.
>
> --
> This message is automatically generated by JIRA.
> -
> You can reply to this email to add a comment to the issue online.
>
>


Bin, could you explain what you mean by "root write barrier"? Do you
mean to always record and update the rootset dynamically in jitted
code so that GC doesn't need to enumerate rootset for a collection? If
that's what you mean, the current write barrier is not designed for
that purpose. It's only for object field write barrier.

-- 
http://xiao-feng.blogspot.com

[jira] Commented: (HARMONY-5351) write barrier problem

Posted by "Xiao-Feng Li (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/HARMONY-5351?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_12554422 ] 

Xiao-Feng Li commented on HARMONY-5351:
---------------------------------------



Bin, could you explain what you mean by "root write barrier"? Do you
mean to always record and update the rootset dynamically in jitted
code so that GC doesn't need to enumerate rootset for a collection? If
that's what you mean, the current write barrier is not designed for
that purpose. It's only for object field write barrier.

-- 
http://xiao-feng.blogspot.com


> write barrier problem
> ---------------------
>
>                 Key: HARMONY-5351
>                 URL: https://issues.apache.org/jira/browse/HARMONY-5351
>             Project: Harmony
>          Issue Type: Bug
>         Environment: Intel(R) Pentium(R) 4 CPU 3.00GHz
> Mem: 1GB
> DISK: 10GB
>            Reporter: YangBin
>
>    I am trying to implement a "root write barrier" that can dynamically trace root object in regs, stack. 
>    The "gen_gc_mark_local" in cg.cpp may be generate the GC map, but when I add the root write barrier in there, the root value is zero.
>    I use gdb to trace jit, i find that "gen_write_barrier" is not compiled in the native code. When I omitted the following code in cg_instr.cpp:gen_write_barrier:
>     if (!doGenWB4J && !doGenWB4C) {
>         return;
>     }
>    the Harmony crash.
>   If I don't misunderstand,  write barrier in current Harmony  may be not right.
>    
>    Would you like to give me some opinion about above problem?
>    I'm looking forwards to your letters.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Commented: (HARMONY-5351) write barrier problem

Posted by "YangBin (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/HARMONY-5351?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_12554425 ] 

YangBin commented on HARMONY-5351:
----------------------------------

Dear Xiao-Feng Li,
    "stop the world" to trace the root set may cause the mutator pause a long time. Most papers don't discuss this problem, some papers describes an special compiler to compile java file. This method cause the class file more complex, depends on special compiler and JVM.
    I try to dynamically trace root set in JVM (interprete and jet). In this condition, the mutator and gc can completely concurrent execute.
    I still don't implement root_write_barrier in Jet mode. 
    Would you like to give me some suggestions?
    Thank you very much.

------------------				 
YangBin (杨彬)
2007-12-26

-------------------------------------------------------------
发件人:Xiao-Feng Li (JIRA)
发送日期:2007-12-26 23:06:38
收件人:yangbin@nlsde.buaa.edu.cn
抄送:
主题:[jira] Commented: (HARMONY-5351) write barrier problem


    [ https://issues.apache.org/jira/browse/HARMONY-5351?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_12554422 ] 

Xiao-Feng Li commented on HARMONY-5351:
---------------------------------------



Bin, could you explain what you mean by "root write barrier"? Do you
mean to always record and update the rootset dynamically in jitted
code so that GC doesn't need to enumerate rootset for a collection? If
that's what you mean, the current write barrier is not designed for
that purpose. It's only for object field write barrier.

-- 
http://xiao-feng.blogspot.com



-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.



> write barrier problem
> ---------------------
>
>                 Key: HARMONY-5351
>                 URL: https://issues.apache.org/jira/browse/HARMONY-5351
>             Project: Harmony
>          Issue Type: Bug
>         Environment: Intel(R) Pentium(R) 4 CPU 3.00GHz
> Mem: 1GB
> DISK: 10GB
>            Reporter: YangBin
>
>    I am trying to implement a "root write barrier" that can dynamically trace root object in regs, stack. 
>    The "gen_gc_mark_local" in cg.cpp may be generate the GC map, but when I add the root write barrier in there, the root value is zero.
>    I use gdb to trace jit, i find that "gen_write_barrier" is not compiled in the native code. When I omitted the following code in cg_instr.cpp:gen_write_barrier:
>     if (!doGenWB4J && !doGenWB4C) {
>         return;
>     }
>    the Harmony crash.
>   If I don't misunderstand,  write barrier in current Harmony  may be not right.
>    
>    Would you like to give me some opinion about above problem?
>    I'm looking forwards to your letters.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.