Type Aware GC Questions
Sean Kelly
sean at f4.ca
Mon Jan 29 11:30:44 PST 2007
Craig Black wrote:
> "Walter Bright" <newshound at digitalmars.com> wrote in message
> news:ephqje$1eje$2 at digitaldaemon.com...
>> Craig Black wrote:
>>> I was wondering, just how smart is the compiler now? If I define a class
>>> that doesn't have any pointers, then will the compiler know that it
>>> doesn't
>>> have pointers?
>> Yes.
>>
>>> If I only have one pointer in my class, will the GC only
>>> scan that location?
>> No, it'll scan the whole class. All it has is a bit that says "might have
>> pointers" or "has no pointers".
>
> If I have such a class, is there something I can do to inform the GC not to
> scan a certain portiion of memory?
Phobos:
import std.gc;
MyClass c = new MyClass;
hasNoPointers( c );
Tango:
import Tango.core.Memory;
MyClass c = new MyClass;
gc.setAttr( c, GC.BlkAttr.NO_SCAN );
But this still only works for the entire memory block, not a subrange.
Sean
More information about the Digitalmars-d
mailing list