[Vm-dev] off-topic garbage

Bert Freudenberg bert at freudenbergs.de
Sun Dec 14 11:15:05 UTC 2014


On 13.12.2014, at 23:52, David T. Lewis <lewis at mail.msen.com> wrote:
> 
> 
> On Sat, Dec 13, 2014 at 12:00:43PM -0800, Eliot Miranda wrote:
>> 
>> Hi All,
>> 
>>    I'm debugging the 64-bit variant of the Spur GC, having got the real
>> 64-bit Spur Stack VM to start-up and progress to the first GC (albeit with
>> the border of a window displayed in the wrong colour).
> 
> Congratulations!

+1

>> In doing so I
>> looked at the list of to-be-collected objects at the first full GC in the
>> simulator.  I'll list them here.  What are they you wonder?  These are the
>> objects that are unreachable in a snapshotted image that has been converted
>> to 64-bits.  So they're objects that I suspect are always reclaimed on the
>> first GC.  They're the objects comprising the screen menu that was opened
>> to save and quit the image.  Here's ones I printed out to investigate:
>> 
> 
> Interesting catch. It makes sense when you think about it, but I never would
> have thought about it.
> 
> Dave

I was utterly fascinated to see this when I got the GC working in SqueakJS. Below is the stats for the first GC after loading a mini.image (with 3 opened windows).

This is reasonable, it's < 10 KB. The 3.5 MB in Morphic are a bit much (I'll write another message).

- Bert -

removing 1 96 96 a MethodContext
removing 2 192 96 a MethodContext
removing 3 288 96 a MethodContext
removing 4 384 96 a BlockContext
removing 5 480 96 a BlockContext
removing 6 508 28 a Process
removing 7 528 20 a Semaphore
removing 8 624 96 a MethodContext
removing 9 720 96 a MethodContext
removing 10 816 96 a MethodContext
removing 11 912 96 a MethodContext
removing 12 932 20 a Semaphore
removing 13 1028 96 a BlockContext
removing 14 1124 96 a BlockContext
removing 15 1152 28 a Process
removing 16 1248 96 a MethodContext
removing 17 1344 96 a BlockContext
removing 18 1440 96 a BlockContext
removing 19 1468 28 a Process
removing 20 1488 20 '/SqueakJS'
removing 21 1500 12 an UnixFileDirectory
removing 22 1512 12 an Array
removing 23 1524 12 0 at 0 corner: 800 at 600
removing 24 1536 12 800 at 600
removing 25 1548 12 0 at 0
removing 26 1560 12 0 at 0
removing 27 1572 12 800 at 600
removing 28 1584 12 0 at 0 corner: 800 at 600
removing 29 1596 12 285 at 424
removing 30 1608 12 350 at 439
removing 31 1620 12 285 at 424 corner: 350 at 439
removing 32 1632 12 285 at 424 corner: 350 at 439
removing 33 1644 12 350 at 439
removing 34 1656 12 224 at 3
removing 35 1668 12 404 at 18
removing 36 1680 12 224 at 3 corner: 404 at 18
removing 37 1692 12 224 at 3 corner: 404 at 18
removing 38 1704 12 404 at 18
removing 39 1716 12 138 at 20 corner: 491 at 580
removing 40 1728 12 491 at 580
removing 41 1740 12 102 at 110 corner: 327 at 126
removing 42 1752 12 327 at 126
removing 43 1848 96 a MethodContext
removing 44 1860 12 100 at 20 corner: 10099 at 72
removing 45 1872 12 10099 at 72
removing 46 1884 12 339 at 20 corner: 10338 at 189
removing 47 1896 12 10338 at 189
removing 48 1908 12 102 at 139 corner: 686 at 4795
removing 49 1920 12 686 at 4795
removing 50 1932 12 364 at 3
removing 51 1944 12 425 at 18
removing 52 1956 12 364 at 3 corner: 425 at 18
removing 53 1968 12 364 at 3 corner: 425 at 18
removing 54 1980 12 425 at 18
removing 55 1992 12 792 at 782
removing 56 2004 12 208 at -274 corner: 792 at 782
removing 57 2016 12 475 at 73
removing 58 2028 12 526 at 88
removing 59 2040 12 475 at 73 corner: 526 at 88
removing 60 2052 12 475 at 73 corner: 526 at 88
removing 61 2064 12 526 at 88
removing 62 2160 96 a MethodContext
removing 63 2256 96 a MethodContext
removing 64 2352 96 a MethodContext
removing 65 2448 96 a MethodContext
removing 66 2544 96 a MethodContext
removing 67 2640 96 a BlockContext
removing 68 2736 96 a BlockContext
removing 69 2764 28 a Process
removing 70 2776 12 40 at 302
removing 71 2872 96 a MethodContext
removing 72 2968 96 a MethodContext
removing 73 3072 104 'restore display
open...
windows...
changes...
help...
do...
save
save as...
save and quit
quit'
removing 74 3112 40 a SelectionMenu
removing 75 3124 12 40 at 294
removing 76 3136 12 129 at 418
removing 77 3164 28 a Quadrangle
removing 78 3260 96 a MethodContext
removing 79 3356 96 a MethodContext
removing 80 3368 12 42 at 368
removing 81 3380 12 127 at 380
removing 82 3392 12 42 at 368 corner: 127 at 380
removing 83 3448 56 '----SNAPSHOT----(28 November 2014 6:15:27 pm )'
removing 84 3476 28 ' priorSource: 21454'
removing 85 3488 12 25 at 441 corner: 609 at 553
removing 86 3500 12 609 at 553
removing 87 4864 1364 a ByteArray
removing 88 8716 3852 a Bitmap
removing 89 8728 12 0 at 0
removing 90 8740 12 240 at 120
removing 91 8752 12 0 at 0 corner: 240 at 120
tenuring 1 60012 60012 a Bitmap
tenuring 2 60024 12 0 at 0
tenuring 3 60036 12 800 at 600
tenuring 4 60048 12 0 at 0 corner: 800 at 600
tenuring 5 60144 96 a MethodContext
tenuring 6 60240 96 a MethodContext
tenuring 7 60336 96 a MethodContext
tenuring 8 60432 96 a BlockContext
tenuring 9 60528 96 a BlockContext
tenuring 10 60556 28 a Process
tenuring 11 60576 20 a Semaphore
tenuring 12 60672 96 a MethodContext
tenuring 13 60768 96 a MethodContext
tenuring 14 60864 96 a MethodContext
tenuring 15 60960 96 a MethodContext
tenuring 16 60980 20 a Semaphore
tenuring 17 61076 96 a BlockContext
tenuring 18 61172 96 a BlockContext
tenuring 19 61200 28 a Process
tenuring 20 61296 96 a MethodContext
tenuring 21 61392 96 a BlockContext
tenuring 22 61488 96 a BlockContext
tenuring 23 61516 28 a Process
tenuring 24 61536 20 '/SqueakJS'
tenuring 25 61548 12 an UnixFileDirectory
tenuring 26 61580 32 '/SqueakJS/mini.changes'
tenuring 27 61620 40 a StandardFileStream
tenuring 28 61628 8 an Array
tenuring 29 61652 24 '/mini.changes'
tenuring 30 61664 12 ' '
tenuring 31 61676 12 an Array
tenuring 32 61688 12 0 at 0 corner: 800 at 600
tenuring 33 61700 12 800 at 600
tenuring 34 61712 12 0 at 0
tenuring 35 61724 12 0 at 0
tenuring 36 61736 12 800 at 600
tenuring 37 61748 12 0 at 0 corner: 800 at 600
tenuring 38 61760 12 224 at 3
tenuring 39 61772 12 404 at 18
tenuring 40 61784 12 224 at 3 corner: 404 at 18
tenuring 41 61796 12 224 at 3 corner: 404 at 18
tenuring 42 61808 12 404 at 18
tenuring 43 61888 80 a StrikeFont
tenuring 44 61908 20 'NewYork12B'
tenuring 45 61936 28 a Form
tenuring 46 64288 2352 a Bitmap
tenuring 47 64300 12 1 at 1
tenuring 48 64316 16 a Dictionary
tenuring 49 64344 28 an Array
tenuring 50 64360 16 a Bitmap
tenuring 51 64372 12 1 at 1->a Bitmap
tenuring 52 64384 12 138 at 20 corner: 491 at 580
tenuring 53 64396 12 491 at 580
tenuring 54 66088 1692 a Bitmap
tenuring 55 66100 12 285 at 424
tenuring 56 66112 12 350 at 439
tenuring 57 66124 12 285 at 424 corner: 350 at 439
tenuring 58 66136 12 285 at 424 corner: 350 at 439
tenuring 59 66148 12 350 at 439
tenuring 60 66160 12 25 at 441 corner: 609 at 553
tenuring 61 66172 12 609 at 553
tenuring 62 66184 12 364 at 3
tenuring 63 66196 12 425 at 18
tenuring 64 66208 12 364 at 3 corner: 425 at 18
tenuring 65 66220 12 364 at 3 corner: 425 at 18
tenuring 66 66232 12 425 at 18
tenuring 67 66244 12 100 at 20 corner: 10099 at 72
tenuring 68 66256 12 10099 at 72
tenuring 69 66268 12 102 at 110 corner: 327 at 126
tenuring 70 66280 12 327 at 126
tenuring 71 66292 12 339 at 20 corner: 10338 at 189
tenuring 72 66304 12 10338 at 189
tenuring 73 66316 12 102 at 139 corner: 686 at 4795
tenuring 74 66328 12 686 at 4795
tenuring 75 66424 96 a MethodContext
tenuring 76 66520 96 a MethodContext
tenuring 77 66616 96 a BlockContext
tenuring 78 66712 96 a BlockContext
tenuring 79 66740 28 a Process
tenuring 80 66836 96 a MethodContext
tenuring 81 66848 12 208 at -274 corner: 792 at 782
tenuring 82 66860 12 792 at 782
tenuring 83 66872 12 475 at 73
tenuring 84 66884 12 526 at 88
tenuring 85 66896 12 475 at 73 corner: 526 at 88
tenuring 86 66908 12 475 at 73 corner: 526 at 88
tenuring 87 66920 12 526 at 88
tenuring 88 67016 96 a MethodContext
tenuring 89 67112 96 a MethodContext
tenuring 90 67208 96 a MethodContext
tenuring 91 67304 96 a MethodContext
tenuring 92 67400 96 a MethodContext
tenuring 93 67412 12 644 at 603
-------------- next part --------------
A non-text attachment was scrubbed...
Name: smime.p7s
Type: application/pkcs7-signature
Size: 4142 bytes
Desc: not available
Url : http://lists.squeakfoundation.org/pipermail/vm-dev/attachments/20141214/7fddc8f0/smime.bin


More information about the Vm-dev mailing list