[Mono-dev] Building mono runtime in VS2003
Brock Reeve
Brock.Reeve at ni.com
Wed Dec 12 17:14:55 EST 2007
Ok. I did something very similiar. The only difference appears to be the
_ReadBarrier. _ReadBarrier appears to work (it compiles and links). I
haven't tried it at runtime yet. Does it not work at runtime?
#if _MSC_VER < 1400 //VS2003
extern void _ReadWriteBarrier();
extern void _ReadBarrier();
extern void _WriteBarrier();
#pragma intrinsic(_ReadWriteBarrier)
#pragma intrinsic(_WriteBarrier)
#else
#include <intrin.h>
#endif
static inline void mono_memory_barrier (void)
{
_ReadWriteBarrier ();
}
static inline void mono_memory_read_barrier (void)
{
_ReadBarrier ();
}
static inline void mono_memory_write_barrier (void)
{
_WriteBarrier ();
}
"Aras Pranckevicius" <aras at unity3d.com>
Sent by: mono-devel-list-bounces at lists.ximian.com
12/12/2007 03:55 PM
To
mono-devel-list at lists.ximian.com
cc
Subject
Re: [Mono-dev] Building mono runtime in VS2003
> I have worked through most issues (eglib and libgc are
> building) but one has got me. In mono-membar.h (libmono) it is looking
for
> intrin.h which does not ship with VS2003.
Here's what we do:
#if _MSC_VER >= 1400
#include <intrin.h> /* VS2005 */
#else
void _ReadWriteBarrier();
#pragma intrinsic(_ReadWriteBarrier)
void _WriteBarrier();
#pragma intrinsic(_WriteBarrier)
#endif
And then change mono_memory_read_barrier to:
#if _MSC_VER >= 1400
_ReadBarrier ();
#else
_ReadWriteBarrier(); /* VS2003 does not have _ReadBarrier intrinsic */
#endif
VS2003 does not seem to have ReadBarrier, so instead do a full
read&write barrier. Which can be a bit more expensive, but oh well.
--
Aras Pranckevicius
work: http://unity3d.com
home: http://aras-p.info
_______________________________________________
Mono-devel-list mailing list
Mono-devel-list at lists.ximian.com
http://lists.ximian.com/mailman/listinfo/mono-devel-list
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.ximian.com/pipermail/mono-devel-list/attachments/20071212/0b3c0216/attachment.html
More information about the Mono-devel-list
mailing list