You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@harmony.apache.org by "Alex Astapchuk (JIRA)" <ji...@apache.org> on 2006/10/09 16:41:19 UTC

[jira] Created: (HARMONY-1785) [drlvm][.jet] wb4c - write barriers for C/C++-based GC

[drlvm][.jet] wb4c - write barriers for C/C++-based GC
------------------------------------------------------

                 Key: HARMONY-1785
                 URL: http://issues.apache.org/jira/browse/HARMONY-1785
             Project: Harmony
          Issue Type: New Feature
          Components: DRLVM
            Reporter: Alex Astapchuk
         Attachments: jet_wb4c.patch

Attached is implementation of write barriers for C/C++ based GCs (WB4C) in Jitrino.JET.

Currently, the GC's function gc_heap_slot_write_ref (file vm\gc\src\gc_for_vm.cpp) 
is used as write barrier helper.

WB4C is off by default. To turn it on pass 'wb4c=true' option to .jet. Please refer to 
PMF docs for details on how the arguments passing is working currently.

Normally, if you're using .jet-only mode (java -Xem:jet), the complete command line is

java -Xem:jet -Djit.JET.arg.wb4c=true Hello

Note: by default, the static fields writes (PUTSTATIC opcode) are *NOT* reported. 
This is due to specifics of DRLVM where the static fields lies outside of the managed heap.
To force the reporting of static fields pass 'wb4c.skip_statics=false' (only works 
together with wb4c=true):

java -Xem:jet -Djit.JET.arg.wb4c=true -Djit.JET.arg.wb4c.skip_statics=false Hello
(Note: current implementaion of gc_heap_slot_write_ref() will raise assert() in this case).

This patch also prepares some stuff for write barriers for Java (wb4j) but the complete 
implementaion of wb4j will be supplied later.


-- 
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

        

[jira] Commented: (HARMONY-1785) [drlvm][.jet] wb4c - write barriers for C/C++-based GC

Posted by "Geir Magnusson Jr (JIRA)" <ji...@apache.org>.
    [ http://issues.apache.org/jira/browse/HARMONY-1785?page=comments#action_12442754 ] 
            
Geir Magnusson Jr commented on HARMONY-1785:
--------------------------------------------

any progress?

> [drlvm][.jet] wb4c - write barriers for C/C++-based GC
> ------------------------------------------------------
>
>                 Key: HARMONY-1785
>                 URL: http://issues.apache.org/jira/browse/HARMONY-1785
>             Project: Harmony
>          Issue Type: New Feature
>          Components: DRLVM
>            Reporter: Alex Astapchuk
>         Assigned To: weldon washburn
>         Attachments: jet_wb4c.patch, jet_wb4c.patch
>
>
> Attached is implementation of write barriers for C/C++ based GCs (WB4C) in Jitrino.JET.
> Currently, the GC's function gc_heap_slot_write_ref (file vm\gc\src\gc_for_vm.cpp) 
> is used as write barrier helper.
> WB4C is off by default. To turn it on pass 'wb4c=true' option to .jet. Please refer to 
> PMF docs for details on how the arguments passing is working currently.
> Normally, if you're using .jet-only mode (java -Xem:jet), the complete command line is
> java -Xem:jet -Djit.JET.arg.wb4c=true Hello
> Note: by default, the static fields writes (PUTSTATIC opcode) are *NOT* reported. 
> This is due to specifics of DRLVM where the static fields lies outside of the managed heap.
> To force the reporting of static fields pass 'wb4c.skip_statics=false' (only works 
> together with wb4c=true):
> java -Xem:jet -Djit.JET.arg.wb4c=true -Djit.JET.arg.wb4c.skip_statics=false Hello
> (Note: current implementaion of gc_heap_slot_write_ref() will raise assert() in this case).
> This patch also prepares some stuff for write barriers for Java (wb4j) but the complete 
> implementaion of wb4j will be supplied later.

-- 
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

        

[jira] Commented: (HARMONY-1785) [drlvm][.jet] wb4c - write barriers for C/C++-based GC

Posted by "Mikhail Fursov (JIRA)" <ji...@apache.org>.
    [ http://issues.apache.org/jira/browse/HARMONY-1785?page=comments#action_12442845 ] 
            
Mikhail Fursov commented on HARMONY-1785:
-----------------------------------------

Vote to commit it. The WB4C patch is reported as working  from GC team, the WB4J could be tuned in a separate JIRA. It does not affect the stabilty.

> [drlvm][.jet] wb4c - write barriers for C/C++-based GC
> ------------------------------------------------------
>
>                 Key: HARMONY-1785
>                 URL: http://issues.apache.org/jira/browse/HARMONY-1785
>             Project: Harmony
>          Issue Type: New Feature
>          Components: DRLVM
>            Reporter: Alex Astapchuk
>         Assigned To: weldon washburn
>         Attachments: jet_wb4c.patch, jet_wb4c.patch
>
>
> Attached is implementation of write barriers for C/C++ based GCs (WB4C) in Jitrino.JET.
> Currently, the GC's function gc_heap_slot_write_ref (file vm\gc\src\gc_for_vm.cpp) 
> is used as write barrier helper.
> WB4C is off by default. To turn it on pass 'wb4c=true' option to .jet. Please refer to 
> PMF docs for details on how the arguments passing is working currently.
> Normally, if you're using .jet-only mode (java -Xem:jet), the complete command line is
> java -Xem:jet -Djit.JET.arg.wb4c=true Hello
> Note: by default, the static fields writes (PUTSTATIC opcode) are *NOT* reported. 
> This is due to specifics of DRLVM where the static fields lies outside of the managed heap.
> To force the reporting of static fields pass 'wb4c.skip_statics=false' (only works 
> together with wb4c=true):
> java -Xem:jet -Djit.JET.arg.wb4c=true -Djit.JET.arg.wb4c.skip_statics=false Hello
> (Note: current implementaion of gc_heap_slot_write_ref() will raise assert() in this case).
> This patch also prepares some stuff for write barriers for Java (wb4j) but the complete 
> implementaion of wb4j will be supplied later.

-- 
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

        

[jira] Closed: (HARMONY-1785) [drlvm][.jet] wb4c - write barriers for C/C++-based GC

Posted by "weldon washburn (JIRA)" <ji...@apache.org>.
     [ http://issues.apache.org/jira/browse/HARMONY-1785?page=all ]

weldon washburn closed HARMONY-1785.
------------------------------------

    Resolution: Fixed

smoke test runs on windowsXP and redhat w/ gcc 3.4.5

> [drlvm][.jet] wb4c - write barriers for C/C++-based GC
> ------------------------------------------------------
>
>                 Key: HARMONY-1785
>                 URL: http://issues.apache.org/jira/browse/HARMONY-1785
>             Project: Harmony
>          Issue Type: New Feature
>          Components: DRLVM
>            Reporter: Alex Astapchuk
>         Assigned To: weldon washburn
>         Attachments: jet_wb4c.patch, jet_wb4c.patch
>
>
> Attached is implementation of write barriers for C/C++ based GCs (WB4C) in Jitrino.JET.
> Currently, the GC's function gc_heap_slot_write_ref (file vm\gc\src\gc_for_vm.cpp) 
> is used as write barrier helper.
> WB4C is off by default. To turn it on pass 'wb4c=true' option to .jet. Please refer to 
> PMF docs for details on how the arguments passing is working currently.
> Normally, if you're using .jet-only mode (java -Xem:jet), the complete command line is
> java -Xem:jet -Djit.JET.arg.wb4c=true Hello
> Note: by default, the static fields writes (PUTSTATIC opcode) are *NOT* reported. 
> This is due to specifics of DRLVM where the static fields lies outside of the managed heap.
> To force the reporting of static fields pass 'wb4c.skip_statics=false' (only works 
> together with wb4c=true):
> java -Xem:jet -Djit.JET.arg.wb4c=true -Djit.JET.arg.wb4c.skip_statics=false Hello
> (Note: current implementaion of gc_heap_slot_write_ref() will raise assert() in this case).
> This patch also prepares some stuff for write barriers for Java (wb4j) but the complete 
> implementaion of wb4j will be supplied later.

-- 
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

        

[jira] Assigned: (HARMONY-1785) [drlvm][.jet] wb4c - write barriers for C/C++-based GC

Posted by "weldon washburn (JIRA)" <ji...@apache.org>.
     [ http://issues.apache.org/jira/browse/HARMONY-1785?page=all ]

weldon washburn reassigned HARMONY-1785:
----------------------------------------

    Assignee: weldon washburn

> [drlvm][.jet] wb4c - write barriers for C/C++-based GC
> ------------------------------------------------------
>
>                 Key: HARMONY-1785
>                 URL: http://issues.apache.org/jira/browse/HARMONY-1785
>             Project: Harmony
>          Issue Type: New Feature
>          Components: DRLVM
>            Reporter: Alex Astapchuk
>         Assigned To: weldon washburn
>         Attachments: jet_wb4c.patch
>
>
> Attached is implementation of write barriers for C/C++ based GCs (WB4C) in Jitrino.JET.
> Currently, the GC's function gc_heap_slot_write_ref (file vm\gc\src\gc_for_vm.cpp) 
> is used as write barrier helper.
> WB4C is off by default. To turn it on pass 'wb4c=true' option to .jet. Please refer to 
> PMF docs for details on how the arguments passing is working currently.
> Normally, if you're using .jet-only mode (java -Xem:jet), the complete command line is
> java -Xem:jet -Djit.JET.arg.wb4c=true Hello
> Note: by default, the static fields writes (PUTSTATIC opcode) are *NOT* reported. 
> This is due to specifics of DRLVM where the static fields lies outside of the managed heap.
> To force the reporting of static fields pass 'wb4c.skip_statics=false' (only works 
> together with wb4c=true):
> java -Xem:jet -Djit.JET.arg.wb4c=true -Djit.JET.arg.wb4c.skip_statics=false Hello
> (Note: current implementaion of gc_heap_slot_write_ref() will raise assert() in this case).
> This patch also prepares some stuff for write barriers for Java (wb4j) but the complete 
> implementaion of wb4j will be supplied later.

-- 
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

        

[jira] Updated: (HARMONY-1785) [drlvm][.jet] wb4c - write barriers for C/C++-based GC

Posted by "Alex Astapchuk (JIRA)" <ji...@apache.org>.
     [ http://issues.apache.org/jira/browse/HARMONY-1785?page=all ]

Alex Astapchuk updated HARMONY-1785:
------------------------------------

    Attachment: jet_wb4c.patch

Updated. 
Exactly the same as the previous patch, but made against the latest HEAD + compilation warning on Linux fixed (cast of pointer to int)


> [drlvm][.jet] wb4c - write barriers for C/C++-based GC
> ------------------------------------------------------
>
>                 Key: HARMONY-1785
>                 URL: http://issues.apache.org/jira/browse/HARMONY-1785
>             Project: Harmony
>          Issue Type: New Feature
>          Components: DRLVM
>            Reporter: Alex Astapchuk
>         Assigned To: weldon washburn
>         Attachments: jet_wb4c.patch, jet_wb4c.patch
>
>
> Attached is implementation of write barriers for C/C++ based GCs (WB4C) in Jitrino.JET.
> Currently, the GC's function gc_heap_slot_write_ref (file vm\gc\src\gc_for_vm.cpp) 
> is used as write barrier helper.
> WB4C is off by default. To turn it on pass 'wb4c=true' option to .jet. Please refer to 
> PMF docs for details on how the arguments passing is working currently.
> Normally, if you're using .jet-only mode (java -Xem:jet), the complete command line is
> java -Xem:jet -Djit.JET.arg.wb4c=true Hello
> Note: by default, the static fields writes (PUTSTATIC opcode) are *NOT* reported. 
> This is due to specifics of DRLVM where the static fields lies outside of the managed heap.
> To force the reporting of static fields pass 'wb4c.skip_statics=false' (only works 
> together with wb4c=true):
> java -Xem:jet -Djit.JET.arg.wb4c=true -Djit.JET.arg.wb4c.skip_statics=false Hello
> (Note: current implementaion of gc_heap_slot_write_ref() will raise assert() in this case).
> This patch also prepares some stuff for write barriers for Java (wb4j) but the complete 
> implementaion of wb4j will be supplied later.

-- 
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

        

[jira] Updated: (HARMONY-1785) [drlvm][.jet] wb4c - write barriers for C/C++-based GC

Posted by "Alex Astapchuk (JIRA)" <ji...@apache.org>.
     [ http://issues.apache.org/jira/browse/HARMONY-1785?page=all ]

Alex Astapchuk updated HARMONY-1785:
------------------------------------

    Attachment: jet_wb4c.patch

> [drlvm][.jet] wb4c - write barriers for C/C++-based GC
> ------------------------------------------------------
>
>                 Key: HARMONY-1785
>                 URL: http://issues.apache.org/jira/browse/HARMONY-1785
>             Project: Harmony
>          Issue Type: New Feature
>          Components: DRLVM
>            Reporter: Alex Astapchuk
>         Attachments: jet_wb4c.patch
>
>
> Attached is implementation of write barriers for C/C++ based GCs (WB4C) in Jitrino.JET.
> Currently, the GC's function gc_heap_slot_write_ref (file vm\gc\src\gc_for_vm.cpp) 
> is used as write barrier helper.
> WB4C is off by default. To turn it on pass 'wb4c=true' option to .jet. Please refer to 
> PMF docs for details on how the arguments passing is working currently.
> Normally, if you're using .jet-only mode (java -Xem:jet), the complete command line is
> java -Xem:jet -Djit.JET.arg.wb4c=true Hello
> Note: by default, the static fields writes (PUTSTATIC opcode) are *NOT* reported. 
> This is due to specifics of DRLVM where the static fields lies outside of the managed heap.
> To force the reporting of static fields pass 'wb4c.skip_statics=false' (only works 
> together with wb4c=true):
> java -Xem:jet -Djit.JET.arg.wb4c=true -Djit.JET.arg.wb4c.skip_statics=false Hello
> (Note: current implementaion of gc_heap_slot_write_ref() will raise assert() in this case).
> This patch also prepares some stuff for write barriers for Java (wb4j) but the complete 
> implementaion of wb4j will be supplied later.

-- 
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