Consider following program:
static Object x;
static Object y;
static void Main() {
x = null;
x = null;
x = null;
x = null;
y = new Object();
y = y;
y = y;
y = y;
}
Without optimizations, you will get the behavior you are seeing. An
optimizing compiler or JIT can eliminate the redundant stores.
-Jan
-----Original Message-----
From: Discussion of the Rotor Shared Source CLI implementation
[mailto:[EMAIL PROTECTED] On Behalf Of Gajah Mada
Sent: Tuesday, November 02, 2004 2:37 PM
To: [EMAIL PROTECTED]
Subject: Re: [DOTNET-ROTOR] Write Barrier
If we add printf("overwrites %08x with %08x\n", *dst, ref);" to the
JIT_CheckedWriteBarrier function, some lines in the trace look like:
overwrites 00B7FD1C with 00B7FD1C /* the *des is equal to ref */
overwrites 00000000 with 00000000 /* bunch of these */
Why do we need to update null with null?
The logged application is a HelloWorld program.
Help?
Gajah Mada
===================================
This list is hosted by DevelopMentor(r) http://www.develop.com
ASP.NET courses you may be interested in:
Guerrilla.NET
November 29 - December 03, 204, in London, UK
December 06-10, 2004, in Los Angeles
http://www.develop.com/courses/gdotnetls
Essential .NET: building applications and components with CSharp
November 29 - December 03, 2004, in Los Angeles
http://www.develop.com/courses/edotnet
View archives and manage your subscription(s) at
http://discuss.develop.com
===================================
This list is hosted by DevelopMentor� http://www.develop.com
ASP.NET courses you may be interested in:
Guerrilla.NET
November 29 - December 03, 204, in London, UK
December 06-10, 2004, in Los Angeles
http://www.develop.com/courses/gdotnetls
Essential .NET: building applications and components with CSharp
November 29 - December 03, 2004, in Los Angeles
http://www.develop.com/courses/edotnet
View archives and manage your subscription(s) at http://discuss.develop.com