Sorry for showing you rubbish earlier, I'm just experimenting with it. This (sqInt* tempPtr = 0x111EB8D4; ) is simply because I can easily put keep my eye on the same address, see if its value changed. I haven't worry about calling the primitive twice, because for now I will always get error after I use addGCRoots().
My purpose for now, is to learn what can I do with addGCRoots(), how do I use it correctly.
Earlier on, I need a way to keep GC from touching my object. That is why I need to learn addGCRoots().