Garbage collector collects live objects

Ruslan Mullakhmetov via Digitalmars-d-learn digitalmars-d-learn at puremagic.com
Tue Dec 9 12:24:18 PST 2014


On Tuesday, 9 December 2014 at 19:56:30 UTC, Steven Schveighoffer 
wrote:
> On 12/9/14 12:40 PM, Ruslan Mullakhmetov wrote:
>> On Tuesday, 9 December 2014 at 16:13:25 UTC, Dicebot wrote:
>> i checked attributes for GC block holding this array:
>>
>> FINALIZE NO_SCAN NO_MOVE APPENDABLE NO_INTERIOR
>>
> That does not sound right at all. No block should ever have 
> both FINALIZE (reserved for objects only) and APPENDABLE 
> (reserved for arrays only).
>
>> also i found that block size is quite small
>>
>> <pre>
>>                 array: [100A2FD00, 100A2F700, 100A33B80, 
>> 100A33500,
>> 100A3FE80, 100A3F980, 100A3F400, 100A72600, 100A7DF80, 
>> 100A7DA80,
>> 100A7D500]
>>         array ptr: 100A72580 root: 100A72580:128 attr: 
>> FINALIZE NO_SCAN
>> NO_MOVE APPENDABLE NO_INTERIOR
>>         [100985A00] keys: [1] as: 1 au: 100A2FD00
>>         [100985A00] keys: [1] as: 1 au: 100A2F700
>>         [100985A00] keys: [1] as: 1 au: 100A33B80
>> </pre>
>>
>> array holds 11 64bit pointers but it's block size is only 128 
>> bytes < 11
>> * 64 = 704 bytes. what's wrong with this arithmetics?
>>
>
> I think there is something you are missing, or something is 
> very corrupt. Can you show the code that prints this?
>
> -Steve

here the piece of code i used to output this value

http://pastebin.com/cQf9Nghp

StreamIndex is ubyte
AccessUnit is some class


More information about the Digitalmars-d-learn mailing list