Oh now I understand - you want to do a compile time calculation of the
address of the object containing the memory location because you don't
have access to auxiliary data structures which would allow you to map a
heap address to the address of the containing object. I think it would
be possible(not easy) to generate code which would call
writebarrier(objbase, value) at runtime, but it would impossible to make
the actual call at the runtime. You would have to track the 'this'
pointer from which the pointer to the field is generated and use it
instead of the field address. For stfld, ldfld instructions it should be
quite manageable since they take a 'this' pointer. For stind and stsfld
it will be more difficult. 

Vladimir

This posting is provided "AS IS" with no warranties, and confers no
rights.

  

-----Original Message-----
From: Discussion of the Rotor Shared Source CLI implementation
[mailto:[EMAIL PROTECTED] On Behalf Of Archana
Sent: Monday, January 12, 2004 10:57 PM
To: [EMAIL PROTECTED]
Subject: Re: [DOTNET-ROTOR] the write barrier

On Mon, 12 Jan 2004, Vladimir Fedorov wrote:

> I assume by dirty, you mean flip the bit in the card table
corresponding
> to the memory location in which a potential cross-generational pointer
> is being stored.
Correct.

> Also when you refer to base I assume you mean the start
> of the object containing the memory location.
Yes. thats exactly what i was referring to

> In this case you don't
> need to do anything, GC will scan the whole object to update the
> potential cross generational pointers even if the objects spans
multiple
> cards some of which are not flipped. The brick table is used to found
> the start of the first object outside the card that has been flipped.
The reason i am trying to fit in my own GC that requires the
writebarrier(objbase, value) due to the algorithm functionality. and
finding the object base at runtime would be too costly. Is there any
way to do this in compile time?

>
> Regards,
> Archana
>

===================================
This list is hosted by DevelopMentor(r)  http://www.develop.com
NEW! ASP.NET courses you may be interested in:

2 Days of ASP.NET, 29 Sept 2003, in Redmond
http://www.develop.com/courses/2daspdotnet

Guerrilla ASP.NET, 13 Oct 2003, in Boston
http://www.develop.com/courses/gaspdotnet

View archives and manage your subscription(s) at
http://discuss.develop.com

===================================
This list is hosted by DevelopMentorŪ  http://www.develop.com
NEW! ASP.NET courses you may be interested in:

2 Days of ASP.NET, 29 Sept 2003, in Redmond
http://www.develop.com/courses/2daspdotnet

Guerrilla ASP.NET, 13 Oct 2003, in Boston
http://www.develop.com/courses/gaspdotnet

View archives and manage your subscription(s) at http://discuss.develop.com

Reply via email to