From: Hari K. <hk...@ti...> - 2013-11-19 16:27:37
|
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 |
From: Rifat S. <rif...@an...> - 2013-11-19 17:25:32
|
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 > Jik...@li... > https://lists.sourceforge.net/lists/listinfo/jikesrvm-core |