<html><head><meta http-equiv="content-type" content="text/html; charset=utf-8"></head><body dir="auto"><blockquote type="cite"><div dir="ltr"><p class="p1" style="margin: 0px; font-stretch: normal; line-height: normal;"><span class="s1">Hi Marcel,</span></p><p class="p2" style="margin: 0px; font-stretch: normal; line-height: normal; min-height: 20.3px;"><span class="s1"></span><br></p><p class="p1" style="margin: 0px; font-stretch: normal; line-height: normal;"><span class="s1">On May 20, 2020, at 9:53 AM, Marcel Taeumel <marcel.taeumel@hpi.de> wrote:</span></p><p class="p2" style="margin: 0px; font-stretch: normal; line-height: normal; min-height: 20.3px;"><span class="s1"></span><br></p><p class="p1" style="margin: 0px; font-stretch: normal; line-height: normal;"><span class="s1"></span></p><p class="p1" style="margin: 0px; font-stretch: normal; line-height: normal;"><span class="s1">Hi, all!</span></p><p class="p2" style="margin: 0px; font-stretch: normal; line-height: normal; min-height: 20.3px;"><span class="s1"></span><br></p><p class="p2" style="margin: 0px; font-stretch: normal; line-height: normal; min-height: 20.3px;"><span class="s1"></span><br></p><p class="p1" style="margin: 0px; font-stretch: normal; line-height: normal;"><span class="s1">How can I figure out, whether the handle of an external object -- if it is a byte array -- was fabricated in the image or whether it is actually something creating in the external library? For actual instances of ExternalAddress, it is obvious that those are meant to point to external memory. But what about instances of ByteArray being stored in the "handle" instVar?</span></p><p class="p2" style="margin: 0px; font-stretch: normal; line-height: normal; min-height: 20.3px;"><span class="s1"></span><br></p><p class="p1" style="margin: 0px; font-stretch: normal; line-height: normal;"><span class="s1">I tried Object >> #isPinned. :-D Did not work. I am looking at all the primitives in ByteArray.</span></p><p class="p2" style="margin: 0px; font-stretch: normal; line-height: normal; min-height: 20.3px;"><span class="s1"></span><br></p><p class="p1" style="margin: 0px; font-stretch: normal; line-height: normal;"><span class="s1">... is there actually a difference? Or are all byte arrays that I find in the image actually in the object memory?</span></p><p class="p3" style="margin: 0px 0px 4px; font-stretch: normal; font-size: 21px; line-height: normal; min-height: 25.1px;"><span class="s2" style="font-weight: bold;"></span><br></p><p class="p4" style="margin: 0px 0px 4px; font-stretch: normal; font-size: 21px; line-height: normal;"><span class="s2" style="font-weight: bold;">All objects you can find in the image are either in object memory or are immediates (SmallInteger, Character or SmallFloat64).</span></p><p class="p3" style="margin: 0px 0px 4px; font-stretch: normal; font-size: 21px; line-height: normal; min-height: 25.1px;"><span class="s2" style="font-weight: bold;"></span><br></p><p class="p4" style="margin: 0px 0px 4px; font-stretch: normal; font-size: 21px; line-height: normal;"><span class="s2" style="font-weight: bold;">Various objects can contain values that are pointers to external memory (ExternalAddress, Alien, ByteArray).</span></p><p class="p3" style="margin: 0px 0px 4px; font-stretch: normal; font-size: 21px; line-height: normal; min-height: 25.1px;"><span class="s2" style="font-weight: bold;"></span><br></p><p class="p4" style="margin: 0px 0px 4px; font-stretch: normal; font-size: 21px; line-height: normal;"><span class="s2" style="font-weight: bold;">A pinned object is merely an object that is in old space (and will have been moved there by a become: on pinning if it was in new space) and, because it has the pinned hit set, will not be moved by the old space compactor.  Note that an object being pinned will not prevent it from being garbage collected if it is unreferenced.</span></p><p class="p3" style="margin: 0px 0px 4px; font-stretch: normal; font-size: 21px; line-height: normal; min-height: 25.1px;"><span class="s2" style="font-weight: bold;"></span><br></p><p class="p4" style="margin: 0px 0px 4px; font-stretch: normal; font-size: 21px; line-height: normal;"><span class="s2" style="font-weight: bold;">Before I rabbit on irrelevantly can you say more about the issues you’re tackling?</span></p><p class="p3" style="margin: 0px 0px 4px; font-stretch: normal; font-size: 21px; line-height: normal; min-height: 25.1px;"><span class="s2" style="font-weight: bold;"></span><br></p><p class="p2" style="margin: 0px; font-stretch: normal; line-height: normal; min-height: 20.3px;"><span class="s1"></span><br></p><p class="p1" style="margin: 0px; font-stretch: normal; line-height: normal;"><span class="s1">Best,</span></p><p class="p1" style="margin: 0px; font-stretch: normal; line-height: normal;"><span class="s1">Marcel</span></p><p class="p3" style="margin: 0px 0px 4px; font-stretch: normal; font-size: 21px; line-height: normal; min-height: 25.1px;"><span class="s2" style="font-weight: bold;"></span><br></p><p class="p4" style="margin: 0px 0px 4px; font-stretch: normal; font-size: 21px; line-height: normal;"><span class="s2" style="font-weight: bold;">Cheers!</span></p><p class="p4" style="margin: 0px 0px 4px; font-stretch: normal; font-size: 21px; line-height: normal;"><span class="s2" style="font-weight: bold;">Eliot</span></p></div></blockquote></body></html>