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

Reply via email to