Re: [rvm-research] [rvm-core] Regarding MMTK

Rifat Shahriyar <[email protected]>
Newsgroups gmane.comp.java.jikes.rvm.devel
Message-ID <[email protected]>
Hello,
I believe you are using reference counting (RC). RC in Jikes RVM don't 
use any extra word to store the reference count, rather it uses 4 bits 
from the available byte to store the count. That is why 
/GC_HEADER_WORDS_REQUIRED/ are set to 0. If you need extra words then 
you need to update /GC_HEADER_WORDS_REQUIRED/. After that you can read 
the words with appropriate offsets. For example,

public static final Offset RC1_HEADER_OFFSET = 
VM.objectModel.GC_HEADER_OFFSET()  // /offset for the first extra word/
object.toAddress().prepareWord(RC1_HEADER_OFFSET) // /atomically read 
the word/
object.toAddress().loadWord(RC1_HEADER_OFFSET) // /non-atomic read/
object.toAddress().attempt(oldValue, newValue, RC1_HEADER_OFFSET) // 
/atomically write the word//with prepare//
/object.toAddress().store(value, RC1_HEADER_OFFSET) // /non-atomic write/

For the next word you need to use the following offset to read/write
public static final Offset RC2_HEADER_OFFSET = 
RC1_HEADER_OFFSET.plus(BYTES_IN_WORD)  // /offset for the next extra word/


Regards
-
Rifat

On 19/11/2013 10:27 pm, Hari Krishnan wrote:
> Hi,
>
> I have a question about MMTK. I want my GC Header to be 4 words size. 
> I see the change in the size of each object allocation that 4 words 
> are allocated for GC Header but I cannot mutate those words. The 
> method prepareavailableword() , readavailableword(), 
> writeavailableword() works only  on one word in GCHeader. How do I 
> read and write this 4 word sized GC Header?
>
> Cheers,
> Hari Krishnan
>
>
> ------------------------------------------------------------------------------
> Shape the Mobile Experience: Free Subscription
> Software experts and developers: Be at the forefront of tech innovation.
> Intel(R) Software Adrenaline delivers strategic insight and game-changing
> conversations that shape the rapidly evolving mobile landscape. Sign up now.
> http://pubads.g.doubleclick.net/gampad/clk?id=63431311&iu=/4140/ostg.clktrk
>
>
> _______________________________________________
> Jikesrvm-core mailing list
> [email protected]
> https://lists.sourceforge.net/lists/listinfo/jikesrvm-core

------------------------------------------------------------------------------
Shape the Mobile Experience: Free Subscription
Software experts and developers: Be at the forefront of tech innovation.
Intel(R) Software Adrenaline delivers strategic insight and game-changing 
conversations that shape the rapidly evolving mobile landscape. Sign up now. 
http://pubads.g.doubleclick.net/gampad/clk?id=63431311&iu=/4140/ostg.clktrk

_______________________________________________
Jikesrvm-researchers mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/jikesrvm-researchers
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.