Success! (Precisely)
Craig Black
craigblack2 at cox.net
Fri Oct 30 20:01:52 PDT 2009
"dsimcha" <dsimcha at yahoo.com> wrote in message
news:hcfu9t$9dp$1 at digitalmars.com...
> == Quote from Craig Black (craigblack2 at cox.net)'s article
>> "dsimcha" <dsimcha at yahoo.com> wrote in message
>> news:hcdsbq$4i9$1 at digitalmars.com...
>> > After a few evenings of serious hacking, I've integrated precise heap
>> > scanning
>> > into the GC.
>> Awesome! Thank you so much for doing this. Does the GC have knowledge
>> of
>> pointers on both the stack as well as the heap?
>
> No. Precise stack and static data segment scanning would be an order of
> magnitude
> harder to implement because it would require going deep into compiler
> hacking.
> Precise heap scanning, to the extent that I can get the mask information
> to the GC
> somehow, can be implemented by just hacking the runtime.
>
>> > 3. new only takes RTTI. It is not a template. Unless RTTI gets
>> > bitmasks
>> > in
>> > the format I created (which I'll document once I clean things up and
>> > release,
>> > but has only deviated slightly from what I had talked about here),
>> > stuff
>> > allocated using it won't be able to take advantage of precise heap
>> > scanning.
>> > The default bitmask, if none is provided, uses good (bad) old-fashioned
>> > conservative scanning unless the entire block has no pointers, in which
>> > case
>> > it isn't scanned. This means that we have all the more incentive to
>> > replace
>> > new with a template of some kind.
>> I'm surprised nobody commented on this. Andrei said Walter decided that
>> new
>> shouldn't be a template. But it seems like a good idea to me. Templated
>> new has received positive feedback from the community, and here is
>> another
>> advantage of templated new.
>> -Craig
>
> What's the rationale for not templating new? IMHO it makes a lot of sense
> b/c
> then you have access to all the compile time features of the language
> while
> new'ing stuff, such as the ability to generate bitmasks.
You would have to ask Walter. The only downside I see is the extra
exclaimation point, but perhaps he has another reason.
-Craig
More information about the Digitalmars-d
mailing list