This commit is contained in:
Duncan Mak 2019-06-06 15:04:36 -04:00
Родитель 20749ff751
Коммит 8cccb8647c
383 изменённых файлов: 28652 добавлений и 0 удалений

Просмотреть файл

@ -0,0 +1,64 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
<HTML>
<HEAD>
<TITLE> [Mono-gc-list] Copying or Mark-Compact collector?
</TITLE>
<LINK REL="Index" HREF="index.html" >
<LINK REL="made" HREF="mailto:fdiaz%40igalia.com">
<META NAME="robots" CONTENT="index,nofollow">
<LINK REL="Next" HREF="000012.html">
</HEAD>
<BODY BGCOLOR="#ffffff">
<H1>[Mono-gc-list] Copying or Mark-Compact collector?
</H1>
<B>Fernando Diaz
</B>
<A HREF="mailto:fdiaz%40igalia.com"
TITLE="[Mono-gc-list] Copying or Mark-Compact collector?">fdiaz@igalia.com
</A><BR>
<I>12 Aug 2003 10:56:40 +0200</I>
<P><UL>
<LI> Next message: <A HREF="000012.html">[Mono-gc-list] Copying or Mark-Compact collector?
</A></li>
<LI> <B>Messages sorted by:</B>
<a href="date.html#11">[ date ]</a>
<a href="thread.html#11">[ thread ]</a>
<a href="subject.html#11">[ subject ]</a>
<a href="author.html#11">[ author ]</a>
</LI>
</UL>
<HR>
<!--beginarticle-->
<PRE>Hi guys!.
My research about a Garbage collector for Mono is advancing. Now is the
moment to choose between the classical algorithms. I think that the
better techniques are Copying and Mark-Compact. Since my point of view
their behavior are very similar. What do you think about?.
I would like you to write your opinions.
Regards.
--
Fernando Diaz &lt;<A HREF="mailto:fdiaz@igalia.com">fdiaz@igalia.com</A>&gt;
</PRE>
<!--endarticle-->
<HR>
<P><UL>
<!--threads-->
<LI> Next message: <A HREF="000012.html">[Mono-gc-list] Copying or Mark-Compact collector?
</A></li>
<LI> <B>Messages sorted by:</B>
<a href="date.html#11">[ date ]</a>
<a href="thread.html#11">[ thread ]</a>
<a href="subject.html#11">[ subject ]</a>
<a href="author.html#11">[ author ]</a>
</LI>
</UL>
</body></html>

Просмотреть файл

@ -0,0 +1,76 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
<HTML>
<HEAD>
<TITLE> [Mono-gc-list] Copying or Mark-Compact collector?
</TITLE>
<LINK REL="Index" HREF="index.html" >
<LINK REL="made" HREF="mailto:dick%40ximian.com">
<META NAME="robots" CONTENT="index,nofollow">
<LINK REL="Previous" HREF="000011.html">
<LINK REL="Next" HREF="000013.html">
</HEAD>
<BODY BGCOLOR="#ffffff">
<H1>[Mono-gc-list] Copying or Mark-Compact collector?
</H1>
<B>Dick Porter
</B>
<A HREF="mailto:dick%40ximian.com"
TITLE="[Mono-gc-list] Copying or Mark-Compact collector?">dick@ximian.com
</A><BR>
<I>12 Aug 2003 11:08:24 +0100</I>
<P><UL>
<LI> Previous message: <A HREF="000011.html">[Mono-gc-list] Copying or Mark-Compact collector?
</A></li>
<LI> Next message: <A HREF="000013.html">[Mono-gc-list] Copying or Mark-Compact collector?
</A></li>
<LI> <B>Messages sorted by:</B>
<a href="date.html#12">[ date ]</a>
<a href="thread.html#12">[ thread ]</a>
<a href="subject.html#12">[ subject ]</a>
<a href="author.html#12">[ author ]</a>
</LI>
</UL>
<HR>
<!--beginarticle-->
<PRE>On Tue, 2003-08-12 at 09:56, Fernando Diaz wrote:
&gt;<i> Hi guys!.
</I>&gt;<i>
</I>&gt;<i> My research about a Garbage collector for Mono is advancing. Now is the
</I>&gt;<i> moment to choose between the classical algorithms. I think that the
</I>&gt;<i> better techniques are Copying and Mark-Compact. Since my point of view
</I>&gt;<i> their behavior are very similar. What do you think about?.
</I>
Are you writing us a new gc?
Previously we've studied the ORP garbage collection libraries. We were
going to incorporate that code into mono, but it being c++ made that too
difficult without lots of rewriting. The ORP hackers were going to
reimplement in C, but we haven't heard from them since then, and we used
the Boehm libgc as an interim measure.
The ORP collector had several algorithms, but the most interesting one
from our point of view was the incremental copying one. As far as I
know, the gc in the ms runtime uses this technique too.
- Dick
</PRE>
<!--endarticle-->
<HR>
<P><UL>
<!--threads-->
<LI> Previous message: <A HREF="000011.html">[Mono-gc-list] Copying or Mark-Compact collector?
</A></li>
<LI> Next message: <A HREF="000013.html">[Mono-gc-list] Copying or Mark-Compact collector?
</A></li>
<LI> <B>Messages sorted by:</B>
<a href="date.html#12">[ date ]</a>
<a href="thread.html#12">[ thread ]</a>
<a href="subject.html#12">[ subject ]</a>
<a href="author.html#12">[ author ]</a>
</LI>
</UL>
</body></html>

Просмотреть файл

@ -0,0 +1,89 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
<HTML>
<HEAD>
<TITLE> [Mono-gc-list] Copying or Mark-Compact collector?
</TITLE>
<LINK REL="Index" HREF="index.html" >
<LINK REL="made" HREF="mailto:fdiaz%40igalia.com">
<META NAME="robots" CONTENT="index,nofollow">
<LINK REL="Previous" HREF="000012.html">
<LINK REL="Next" HREF="000016.html">
</HEAD>
<BODY BGCOLOR="#ffffff">
<H1>[Mono-gc-list] Copying or Mark-Compact collector?
</H1>
<B>Fernando Diaz
</B>
<A HREF="mailto:fdiaz%40igalia.com"
TITLE="[Mono-gc-list] Copying or Mark-Compact collector?">fdiaz@igalia.com
</A><BR>
<I>12 Aug 2003 12:38:30 +0200</I>
<P><UL>
<LI> Previous message: <A HREF="000012.html">[Mono-gc-list] Copying or Mark-Compact collector?
</A></li>
<LI> Next message: <A HREF="000016.html">[Mono-gc-list] Copying or Mark-Compact collector?
</A></li>
<LI> <B>Messages sorted by:</B>
<a href="date.html#13">[ date ]</a>
<a href="thread.html#13">[ thread ]</a>
<a href="subject.html#13">[ subject ]</a>
<a href="author.html#13">[ author ]</a>
</LI>
</UL>
<HR>
<!--beginarticle-->
<PRE>El mar, 12 de 08 de 2003 a las 12:08, Dick Porter escribi=F3:
&gt;<i>=20
</I>&gt;<i> Are you writing us a new gc?
</I>
I'm working at this.
&gt;<i> Previously we've studied the ORP garbage collection libraries. We were
</I>&gt;<i> going to incorporate that code into mono, but it being c++ made that too
</I>&gt;<i> difficult without lots of rewriting. The ORP hackers were going to
</I>&gt;<i> reimplement in C, but we haven't heard from them since then, and we used
</I>&gt;<i> the Boehm libgc as an interim measure.
</I>&gt;<i>=20
</I>
The Boehm it's a good GC but it is very conservative and i think that
has a lot of unnecessary things that make the system heavier,
&gt;<i> The ORP collector had several algorithms, but the most interesting one
</I>&gt;<i> from our point of view was the incremental copying one. As far as I
</I>&gt;<i> know, the gc in the ms runtime uses this technique too.
</I>
In the articles about the GC collector of ms:
<A HREF="http://msdn.microsoft.com/msdnmag/issues/1100/GCI/default.aspx">http://msdn.microsoft.com/msdnmag/issues/1100/GCI/default.aspx</A>
<A HREF="http://msdn.microsoft.com/msdnmag/issues/1200/GCI2/default.aspx">http://msdn.microsoft.com/msdnmag/issues/1200/GCI2/default.aspx</A>
i have read that de .NET GC is a generational Mark-Compact collector.
They say nothing about if it is incremental or non incremental.
Why do you want an incremental collector? I think that a non incremental
collector will be more simple and efficient that an incremental one.
Give me your opinion please.
Regards.
--=20
Fernando Diaz &lt;<A HREF="mailto:fdiaz@igalia.com">fdiaz@igalia.com</A>&gt;
</PRE>
<!--endarticle-->
<HR>
<P><UL>
<!--threads-->
<LI> Previous message: <A HREF="000012.html">[Mono-gc-list] Copying or Mark-Compact collector?
</A></li>
<LI> Next message: <A HREF="000016.html">[Mono-gc-list] Copying or Mark-Compact collector?
</A></li>
<LI> <B>Messages sorted by:</B>
<a href="date.html#13">[ date ]</a>
<a href="thread.html#13">[ thread ]</a>
<a href="subject.html#13">[ subject ]</a>
<a href="author.html#13">[ author ]</a>
</LI>
</UL>
</body></html>

Просмотреть файл

@ -0,0 +1,96 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
<HTML>
<HEAD>
<TITLE> [Mono-gc-list] My arguments
</TITLE>
<LINK REL="Index" HREF="index.html" >
<LINK REL="made" HREF="mailto:fdiaz%40igalia.com">
<META NAME="robots" CONTENT="index,nofollow">
<LINK REL="Previous" HREF="000016.html">
<LINK REL="Next" HREF="000015.html">
</HEAD>
<BODY BGCOLOR="#ffffff">
<H1>[Mono-gc-list] My arguments
</H1>
<B>Fernando Diaz
</B>
<A HREF="mailto:fdiaz%40igalia.com"
TITLE="[Mono-gc-list] My arguments">fdiaz@igalia.com
</A><BR>
<I>12 Aug 2003 13:21:33 +0200</I>
<P><UL>
<LI> Previous message: <A HREF="000016.html">[Mono-gc-list] Copying or Mark-Compact collector?
</A></li>
<LI> Next message: <A HREF="000015.html">[Mono-gc-list] My arguments
</A></li>
<LI> <B>Messages sorted by:</B>
<a href="date.html#14">[ date ]</a>
<a href="thread.html#14">[ thread ]</a>
<a href="subject.html#14">[ subject ]</a>
<a href="author.html#14">[ author ]</a>
</LI>
</UL>
<HR>
<!--beginarticle-->
<PRE>In the other mail i have suggested two algorithms for a future garbage
collector for Mono:
1) Mark-Compact
2) Copying Collection
I have been made an study about the different techniques for a garbage
collector for a month.=20
The classical algorithms are:
1) Mark-Sweep
2) Mark-Compact
3) Reference Counting
4) Copying Collection
5) Non-Copying Collection.
I think that Mono needs a collector that make the allocation process the
simpliest it could be, then i refused the Mark-Sweep and Non-Copying
Collection, because they have the problem of fragmentation what guide us
to a complex allocator.
The reference counting algorithm have the problem that it can clean
objects with cyclic references between them, and it has a beavy
algorithm.
With Mark-Compact we have a collector that provides us a fast and simply
allocation routine, and a good locality for cach=E9 and virtual memory.
The same as Mark-Compact ocurrs in Copying Collection. The problem with
them is that we need to rebuild the references to the objects after a
collection, because the objects will me moved from their original
location into the heap.
A generational adaptation of these algorithms would be good, it would
make them more efficient. But an incremental adaptation would make them
more complex and it would give them a few advantages.
What do you think about?.
Regards.
--=20
Fernando Diaz &lt;<A HREF="mailto:fdiaz@igalia.com">fdiaz@igalia.com</A>&gt;
</PRE>
<!--endarticle-->
<HR>
<P><UL>
<!--threads-->
<LI> Previous message: <A HREF="000016.html">[Mono-gc-list] Copying or Mark-Compact collector?
</A></li>
<LI> Next message: <A HREF="000015.html">[Mono-gc-list] My arguments
</A></li>
<LI> <B>Messages sorted by:</B>
<a href="date.html#14">[ date ]</a>
<a href="thread.html#14">[ thread ]</a>
<a href="subject.html#14">[ subject ]</a>
<a href="author.html#14">[ author ]</a>
</LI>
</UL>
</body></html>

Просмотреть файл

@ -0,0 +1,78 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
<HTML>
<HEAD>
<TITLE> [Mono-gc-list] My arguments
</TITLE>
<LINK REL="Index" HREF="index.html" >
<LINK REL="made" HREF="mailto:fjh%40cs.mu.OZ.AU">
<META NAME="robots" CONTENT="index,nofollow">
<LINK REL="Previous" HREF="000014.html">
<LINK REL="Next" HREF="000017.html">
</HEAD>
<BODY BGCOLOR="#ffffff">
<H1>[Mono-gc-list] My arguments
</H1>
<B>Fergus Henderson
</B>
<A HREF="mailto:fjh%40cs.mu.OZ.AU"
TITLE="[Mono-gc-list] My arguments">fjh@cs.mu.OZ.AU
</A><BR>
<I>Tue, 12 Aug 2003 22:53:21 +1000</I>
<P><UL>
<LI> Previous message: <A HREF="000014.html">[Mono-gc-list] My arguments
</A></li>
<LI> Next message: <A HREF="000017.html">[Mono-gc-list] My arguments
</A></li>
<LI> <B>Messages sorted by:</B>
<a href="date.html#15">[ date ]</a>
<a href="thread.html#15">[ thread ]</a>
<a href="subject.html#15">[ subject ]</a>
<a href="author.html#15">[ author ]</a>
</LI>
</UL>
<HR>
<!--beginarticle-->
<PRE>On 12-Aug-2003, Fernando Diaz &lt;<A HREF="mailto:fdiaz@igalia.com">fdiaz@igalia.com</A>&gt; wrote:
&gt;<i> In the other mail i have suggested two algorithms for a future garbage
</I>&gt;<i> collector for Mono:
</I>&gt;<i>
</I>&gt;<i> 1) Mark-Compact
</I>&gt;<i> 2) Copying Collection
</I>...
&gt;<i> A generational adaptation of these algorithms would be good, it would
</I>&gt;<i> make them more efficient.
</I>...
&gt;<i> What do you think about?.
</I>
If you go for copying collection, it may be worth considering the
Beltway approach, which is a generalization of ordinary and generational
copying collection -- see [1].
[1] &quot;Beltway: Getting Around Garbage Collection Gridlock&quot;,
Stephen M. Blackburn, Richard Jones, Kathryn S. McKinley, J Eliot B. Moss.
ACM SIGPLAN 2002 Conference on Programming Language Design and
Implementation, Berlin, June 2002.
--
Fergus Henderson &lt;<A HREF="mailto:fjh@cs.mu.oz.au">fjh@cs.mu.oz.au</A>&gt; | &quot;I have always known that the pursuit
The University of Melbourne | of excellence is a lethal habit&quot;
WWW: &lt;<A HREF="http://www.cs.mu.oz.au/~fjh">http://www.cs.mu.oz.au/~fjh</A>&gt; | -- the last words of T. S. Garp.
</PRE>
<!--endarticle-->
<HR>
<P><UL>
<!--threads-->
<LI> Previous message: <A HREF="000014.html">[Mono-gc-list] My arguments
</A></li>
<LI> Next message: <A HREF="000017.html">[Mono-gc-list] My arguments
</A></li>
<LI> <B>Messages sorted by:</B>
<a href="date.html#15">[ date ]</a>
<a href="thread.html#15">[ thread ]</a>
<a href="subject.html#15">[ subject ]</a>
<a href="author.html#15">[ author ]</a>
</LI>
</UL>
</body></html>

Просмотреть файл

@ -0,0 +1,128 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
<HTML>
<HEAD>
<TITLE> [Mono-gc-list] Copying or Mark-Compact collector?
</TITLE>
<LINK REL="Index" HREF="index.html" >
<LINK REL="made" HREF="mailto:jeske%40chat.net">
<META NAME="robots" CONTENT="index,nofollow">
<LINK REL="Previous" HREF="000013.html">
<LINK REL="Next" HREF="000014.html">
</HEAD>
<BODY BGCOLOR="#ffffff">
<H1>[Mono-gc-list] Copying or Mark-Compact collector?
</H1>
<B>David Jeske
</B>
<A HREF="mailto:jeske%40chat.net"
TITLE="[Mono-gc-list] Copying or Mark-Compact collector?">jeske@chat.net
</A><BR>
<I>Tue, 12 Aug 2003 13:01:27 -0700</I>
<P><UL>
<LI> Previous message: <A HREF="000013.html">[Mono-gc-list] Copying or Mark-Compact collector?
</A></li>
<LI> Next message: <A HREF="000014.html">[Mono-gc-list] My arguments
</A></li>
<LI> <B>Messages sorted by:</B>
<a href="date.html#16">[ date ]</a>
<a href="thread.html#16">[ thread ]</a>
<a href="subject.html#16">[ subject ]</a>
<a href="author.html#16">[ author ]</a>
</LI>
</UL>
<HR>
<!--beginarticle-->
<PRE>On Tue, Aug 12, 2003 at 10:56:40AM +0200, Fernando Diaz wrote:
&gt;<i> My research about a Garbage collector for Mono is advancing. Now is
</I>&gt;<i> the moment to choose between the classical algorithms.
</I>
I think we should be very careful about a common pitfall. Current
environments with GC almost all have unacceptable pauses for
interactive applications. This includes Java and MS.NET. Worse, since
CPU speed has increased far faster than memory speed, this situation
is getting worse not better.
<A HREF="http://mozart.chat.net/~jeske/Projects/PauseFreeGC/">http://mozart.chat.net/~jeske/Projects/PauseFreeGC/</A>
One of the biggest problems with modern collectors is that their work
is proportional to heap size, so when the heap gets big, their
throughput degrades. Furthermore, they almost always do 'stop the
world' collection of something, and pause the application.
&gt;<i> I think that the better techniques are Copying and
</I>&gt;<i> Mark-Compact. Since my point of view their behavior are very
</I>&gt;<i> similar. What do you think about?.
</I>
IMO, Copying/Compacting collectors are 'not good'. The performance
overhead required to use handles instead of pointers (like the JVM) or
to track down and update all pointers, in order to facilitate moving
objects, is very undesirable. Copying/Compacting collectors are
solving a problem which does not need to be solved, namely allocation
time and fragmentation. Most C/C++ applications are not suffering from
either of these. If mono had performance similar to C++ I would be
thrilled.
I think the contenders for a low-pause collector are:
1) tracing/copying generational and incremental - see OCaml, Modula3
2) tracing generational and fully concurrent
3) hybrid reference counting plus stack tracing plus
fully concurrent generational cycle finding - see Python and research
I'm particularly fond of #3, and here is why:
While referencing counting might seems like &quot;old technology&quot;, the most
popular automatic memory management systems are all reference
counted. This includes Visual Basic (&lt;=VB6), COM, Perl, Python,
PHP4. Reference counting is very effective because (a) it does not
pause, and (b) non-cyclic collection is not proportional to heap-size.
Reference counting is often criticised for having expensive
write-barriers (i.e. incrementing and decrementing counters). However,
read operations are far more important that write operations, so these
same criticisms should bar using handle-based copying collectors which
slow down all reads through handle dereferencing.
Reference counting normally imposes the constraint that the programmer
not introduce cycles. This is annoying, but at least it is possible to
write programs which do not pause. In most modern GC systems, avoiding
pauses entirely is not possible. Reference counting can fallback to a
tracing GC style cycle-finding to clean up cyclic garbage. IMO, it is
easier to make this cycle-finding incremental and non-pausing because
it is the secondary collection scheme. Programmers who cannot affort
the background cycle finder can just turn it off and write their
programs without cycles.
Using a hybrid scheme which traces the stack and registers allows the
most common operations (i.e. handling data in local variables and
arguments) to occur without doing the work of reference counting.
----
However, whatever collection system we choose to implement, the goal
should be to allow the user to tradeoff between worst-case pause times
and memory usage. Currently there are many applications which simply
can't be written in Java or C# because the worst-case pause times are
unacceptable.
--
David Jeske (N9LCA) + <A HREF="http://www.chat.net/~jeske/">http://www.chat.net/~jeske/</A> + <A HREF="mailto:jeske@chat.net">jeske@chat.net</A>
</PRE>
<!--endarticle-->
<HR>
<P><UL>
<!--threads-->
<LI> Previous message: <A HREF="000013.html">[Mono-gc-list] Copying or Mark-Compact collector?
</A></li>
<LI> Next message: <A HREF="000014.html">[Mono-gc-list] My arguments
</A></li>
<LI> <B>Messages sorted by:</B>
<a href="date.html#16">[ date ]</a>
<a href="thread.html#16">[ thread ]</a>
<a href="subject.html#16">[ subject ]</a>
<a href="author.html#16">[ author ]</a>
</LI>
</UL>
</body></html>

Просмотреть файл

@ -0,0 +1,112 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
<HTML>
<HEAD>
<TITLE> [Mono-gc-list] My arguments
</TITLE>
<LINK REL="Index" HREF="index.html" >
<LINK REL="made" HREF="mailto:jeske%40chat.net">
<META NAME="robots" CONTENT="index,nofollow">
<LINK REL="Previous" HREF="000015.html">
<LINK REL="Next" HREF="000018.html">
</HEAD>
<BODY BGCOLOR="#ffffff">
<H1>[Mono-gc-list] My arguments
</H1>
<B>David Jeske
</B>
<A HREF="mailto:jeske%40chat.net"
TITLE="[Mono-gc-list] My arguments">jeske@chat.net
</A><BR>
<I>Tue, 12 Aug 2003 13:54:30 -0700</I>
<P><UL>
<LI> Previous message: <A HREF="000015.html">[Mono-gc-list] My arguments
</A></li>
<LI> Next message: <A HREF="000018.html">[Mono-gc-list] My arguments
</A></li>
<LI> <B>Messages sorted by:</B>
<a href="date.html#17">[ date ]</a>
<a href="thread.html#17">[ thread ]</a>
<a href="subject.html#17">[ subject ]</a>
<a href="author.html#17">[ author ]</a>
</LI>
</UL>
<HR>
<!--beginarticle-->
<PRE>On Tue, Aug 12, 2003 at 01:21:33PM +0200, Fernando Diaz wrote:
&gt;<i> I have been made an study about the different techniques for a garbage
</I>&gt;<i> collector for a month.
</I>
I am interseted to know what questions you were studying.
When deciding whether or not I can write a piece of software with a
garbage collected system, I ask myself:
1) what is the worst case pause time for my expected heap size
2) what is the throughput of the collector when large amounts of
memory are deallocated
3) how does the collector (and environment) interact with data
accessable through modules written in C
Did you consider anything related to those questions?
&gt;<i> I think that Mono needs a collector that make the allocation process the
</I>&gt;<i> simpliest it could be, then i refused the Mark-Sweep and Non-Copying
</I>&gt;<i> Collection, because they have the problem of fragmentation what guide us
</I>&gt;<i> to a complex allocator.
</I>
I think that the current libgc is &quot;as simple as can be&quot; because
someone else wrote it already. Writing another collector aught to have
much more aggressive goals than this to make it more useful than
libgc.
I think the goal should be to help Mono come closer to the performance
of hand-coded C++. This means no pausing at all, even for really large
heaps. C++ already uses malloc(), so doing something similar is not a
problem.
&gt;<i> The same as Mark-Compact ocurrs in Copying Collection. The problem with
</I>&gt;<i> them is that we need to rebuild the references to the objects after a
</I>&gt;<i> collection, because the objects will me moved from their original
</I>&gt;<i> location into the heap.
</I>
I don't understand. The objects are moved in both copying collection
and the compact phaze of mark-compact. Can you explain why you think
copying collectors are a problem while mark-compact are not?
&gt;<i> A generational adaptation of these algorithms would be good, it
</I>&gt;<i> would make them more efficient. But an incremental adaptation would
</I>&gt;<i> make them more complex and it would give them a few advantages.
</I>
When I'm writing a piece of useful interactive software (web-server,
client application), I will happily give up 30-50% of my CPU if I have
to, but I cannot accept uncontrolled pauses. That's why I'm happier
writing software in slow reference counted languages like Python, than
fast GC-pausing languages like Java.
Therefore, the collector must either be incremental (tri-color,
reference counted, etc..) or fully concurrent with the application.
If we're not going to achieve that, we might as well just keep using
libgc.
--
David Jeske (N9LCA) + <A HREF="http://www.chat.net/~jeske/">http://www.chat.net/~jeske/</A> + <A HREF="mailto:jeske@chat.net">jeske@chat.net</A>
</PRE>
<!--endarticle-->
<HR>
<P><UL>
<!--threads-->
<LI> Previous message: <A HREF="000015.html">[Mono-gc-list] My arguments
</A></li>
<LI> Next message: <A HREF="000018.html">[Mono-gc-list] My arguments
</A></li>
<LI> <B>Messages sorted by:</B>
<a href="date.html#17">[ date ]</a>
<a href="thread.html#17">[ thread ]</a>
<a href="subject.html#17">[ subject ]</a>
<a href="author.html#17">[ author ]</a>
</LI>
</UL>
</body></html>

Просмотреть файл

@ -0,0 +1,98 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
<HTML>
<HEAD>
<TITLE> [Mono-gc-list] My arguments
</TITLE>
<LINK REL="Index" HREF="index.html" >
<LINK REL="made" HREF="mailto:fjh%40cs.mu.OZ.AU">
<META NAME="robots" CONTENT="index,nofollow">
<LINK REL="Previous" HREF="000017.html">
<LINK REL="Next" HREF="000019.html">
</HEAD>
<BODY BGCOLOR="#ffffff">
<H1>[Mono-gc-list] My arguments
</H1>
<B>Fergus Henderson
</B>
<A HREF="mailto:fjh%40cs.mu.OZ.AU"
TITLE="[Mono-gc-list] My arguments">fjh@cs.mu.OZ.AU
</A><BR>
<I>Wed, 13 Aug 2003 15:44:29 +1000</I>
<P><UL>
<LI> Previous message: <A HREF="000017.html">[Mono-gc-list] My arguments
</A></li>
<LI> Next message: <A HREF="000019.html">[Mono-gc-list] My arguments
</A></li>
<LI> <B>Messages sorted by:</B>
<a href="date.html#18">[ date ]</a>
<a href="thread.html#18">[ thread ]</a>
<a href="subject.html#18">[ subject ]</a>
<a href="author.html#18">[ author ]</a>
</LI>
</UL>
<HR>
<!--beginarticle-->
<PRE>On 12-Aug-2003, David Jeske &lt;<A HREF="mailto:jeske@chat.net">jeske@chat.net</A>&gt; wrote:
&gt;<i> When I'm writing a piece of useful interactive software (web-server,
</I>&gt;<i> client application), I will happily give up 30-50% of my CPU if I have
</I>&gt;<i> to, but I cannot accept uncontrolled pauses.
</I>...
&gt;<i> Therefore, the collector must either be incremental (tri-color,
</I>&gt;<i> reference counted, etc..) or fully concurrent with the application.
</I>&gt;<i>
</I>&gt;<i> If we're not going to achieve that, we might as well just keep using
</I>&gt;<i> libgc.
</I>
I don't agree. For many applications we ought to be able to get
significantly better performance than libgc using a good copying or
mark/compact garbage collector. Also, there are advantages to using a
type-accurate collector rather than a conservative collector (e.g. more
predictable memory usage) which are desirable for some applications.
So type-accurate copying or compacting collection is desirable even
if it is not incremental.
Furthermore, for non-interactive applications, incrementality is
not useful, and adding incrementality probably requires trading off
performance, which is undesirable. So in fact for these applications
incremental collection is not just unnecessary, it is postively harmful.
Of course you are right that some other applications need incremental
collection. Different applications have different needs that can only
be satisfied by different garbage collectors. So the long-term plan
should be to have several different garbage collectors, or at least
several different GC strategies, and to provide application developers
with some way of giving hints to the runtime about which GC to use.
In the short to medium term, I think implementing a type-accurate
collector and integrating it with the rest of the Mono implementation
is already a complex task, so I think we should start off simple,
e.g. with a straight-forward copying collector, and then worry about
extending it to support generational collection, and only then worry
about an incremental collector. However, we should of course keep in
mind while developing this the long-term goal of having support for
multiple different collectors or collection strategies including at
least one incremental collector.
--
Fergus Henderson &lt;<A HREF="mailto:fjh@cs.mu.oz.au">fjh@cs.mu.oz.au</A>&gt; | &quot;I have always known that the pursuit
The University of Melbourne | of excellence is a lethal habit&quot;
WWW: &lt;<A HREF="http://www.cs.mu.oz.au/~fjh">http://www.cs.mu.oz.au/~fjh</A>&gt; | -- the last words of T. S. Garp.
</PRE>
<!--endarticle-->
<HR>
<P><UL>
<!--threads-->
<LI> Previous message: <A HREF="000017.html">[Mono-gc-list] My arguments
</A></li>
<LI> Next message: <A HREF="000019.html">[Mono-gc-list] My arguments
</A></li>
<LI> <B>Messages sorted by:</B>
<a href="date.html#18">[ date ]</a>
<a href="thread.html#18">[ thread ]</a>
<a href="subject.html#18">[ subject ]</a>
<a href="author.html#18">[ author ]</a>
</LI>
</UL>
</body></html>

Просмотреть файл

@ -0,0 +1,110 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
<HTML>
<HEAD>
<TITLE> [Mono-gc-list] My arguments
</TITLE>
<LINK REL="Index" HREF="index.html" >
<LINK REL="made" HREF="mailto:jeske%40chat.net">
<META NAME="robots" CONTENT="index,nofollow">
<LINK REL="Previous" HREF="000018.html">
<LINK REL="Next" HREF="000020.html">
</HEAD>
<BODY BGCOLOR="#ffffff">
<H1>[Mono-gc-list] My arguments
</H1>
<B>David Jeske
</B>
<A HREF="mailto:jeske%40chat.net"
TITLE="[Mono-gc-list] My arguments">jeske@chat.net
</A><BR>
<I>Wed, 13 Aug 2003 00:05:10 -0700</I>
<P><UL>
<LI> Previous message: <A HREF="000018.html">[Mono-gc-list] My arguments
</A></li>
<LI> Next message: <A HREF="000020.html">[Mono-gc-list] My arguments
</A></li>
<LI> <B>Messages sorted by:</B>
<a href="date.html#19">[ date ]</a>
<a href="thread.html#19">[ thread ]</a>
<a href="subject.html#19">[ subject ]</a>
<a href="author.html#19">[ author ]</a>
</LI>
</UL>
<HR>
<!--beginarticle-->
<PRE>On Wed, Aug 13, 2003 at 03:44:29PM +1000, Fergus Henderson wrote:
&gt;<i> I don't agree. For many applications we ought to be able to get
</I>&gt;<i> significantly better performance than libgc using a good copying or
</I>&gt;<i> mark/compact garbage collector.
</I>
I'm not familiar enough with exactly how libgc works to know whether
this is the case or not, however, I'll take your word for it.
My point was that most applications I've worked with in the last
several years have problems with worst-case pause times long before
they have problems with memory usage or throughput. Memory is cheap
and CPUs are free, but pauses are often unacceptable. Obviously in
some environments (embedded, handheld, etc) this isn't the case.
&gt;<i> Also, there are advantages to using a type-accurate collector rather
</I>&gt;<i> than a conservative collector (e.g. more predictable memory usage)
</I>&gt;<i> which are desirable for some applications. So type-accurate copying
</I>&gt;<i> or compacting collection is desirable even if it is not incremental.
</I>
I agree there are advantages to a type-accurate collector. My
understanding is that libgc can be made aware of types to become more
type-aware and (effectively) less conservative. I think some of this
work has already been done for Mono. I could be misunderstanding
something as I have not seen the details.
&gt;<i> Of course you are right that some other applications need incremental
</I>&gt;<i> collection. Different applications have different needs that can only
</I>&gt;<i> be satisfied by different garbage collectors. So the long-term plan
</I>&gt;<i> should be to have several different garbage collectors, or at least
</I>&gt;<i> several different GC strategies, and to provide application developers
</I>&gt;<i> with some way of giving hints to the runtime about which GC to use.
</I>
We're in complete agreement here. Having a second collector
implementation would be good just because it would encourage Mono to
learn how to support multiple types of collectors. In this respect, I
encourage you to write your copying collector, and help Mono figure
out how to plug in other collectors.
&gt;<i> In the short to medium term, I think implementing a type-accurate
</I>&gt;<i> collector and integrating it with the rest of the Mono implementation
</I>&gt;<i> is already a complex task, so I think we should start off simple,
</I>&gt;<i> e.g. with a straight-forward copying collector, and then worry about
</I>&gt;<i> extending it to support generational collection, and only then worry
</I>&gt;<i> about an incremental collector. However, we should of course keep in
</I>&gt;<i> mind while developing this the long-term goal of having support for
</I>&gt;<i> multiple different collectors or collection strategies including at
</I>&gt;<i> least one incremental collector.
</I>
This sounds like a good plan. I agree that before we can have some
type non-pausing collector we need to learn how to have more than one
collector. Code on!
If anyone else is interested in doing a non-pausing collector, I'm
game to collaborate.
--
David Jeske (N9LCA) + <A HREF="http://www.chat.net/~jeske/">http://www.chat.net/~jeske/</A> + <A HREF="mailto:jeske@chat.net">jeske@chat.net</A>
</PRE>
<!--endarticle-->
<HR>
<P><UL>
<!--threads-->
<LI> Previous message: <A HREF="000018.html">[Mono-gc-list] My arguments
</A></li>
<LI> Next message: <A HREF="000020.html">[Mono-gc-list] My arguments
</A></li>
<LI> <B>Messages sorted by:</B>
<a href="date.html#19">[ date ]</a>
<a href="thread.html#19">[ thread ]</a>
<a href="subject.html#19">[ subject ]</a>
<a href="author.html#19">[ author ]</a>
</LI>
</UL>
</body></html>

Просмотреть файл

@ -0,0 +1,128 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
<HTML>
<HEAD>
<TITLE> [Mono-gc-list] My arguments
</TITLE>
<LINK REL="Index" HREF="index.html" >
<LINK REL="made" HREF="mailto:fdiaz%40igalia.com">
<META NAME="robots" CONTENT="index,nofollow">
<LINK REL="Previous" HREF="000019.html">
<LINK REL="Next" HREF="000021.html">
</HEAD>
<BODY BGCOLOR="#ffffff">
<H1>[Mono-gc-list] My arguments
</H1>
<B>Fernando Diaz
</B>
<A HREF="mailto:fdiaz%40igalia.com"
TITLE="[Mono-gc-list] My arguments">fdiaz@igalia.com
</A><BR>
<I>13 Aug 2003 10:56:24 +0200</I>
<P><UL>
<LI> Previous message: <A HREF="000019.html">[Mono-gc-list] My arguments
</A></li>
<LI> Next message: <A HREF="000021.html">[Mono-gc-list] My arguments
</A></li>
<LI> <B>Messages sorted by:</B>
<a href="date.html#20">[ date ]</a>
<a href="thread.html#20">[ thread ]</a>
<a href="subject.html#20">[ subject ]</a>
<a href="author.html#20">[ author ]</a>
</LI>
</UL>
<HR>
<!--beginarticle-->
<PRE>El mi=E9, 13 de 08 de 2003 a las 09:05, David Jeske escribi=F3:
At first, I must say sorry for my bad english, i think that this is one
of the reasons because of you don't understand me very well.
&gt;<i> I'm not familiar enough with exactly how libgc works to know whether
</I>&gt;<i> this is the case or not, however, I'll take your word for it.
</I>
At the last version of Mono (0.25), lihgc is working with the metadata
of the objects as the libgc works with GJC (GNU Java Compiler). This is
and advantage because makes the collector less conservative and more
accuracy. In spite of the fact, libgc isn't a good collector for Mono,
because it can take advantage of the complete metadata that Mono
provides, it only uses a piece of metadata.
&gt;<i>=20
</I>&gt;<i> My point was that most applications I've worked with in the last
</I>&gt;<i> several years have problems with worst-case pause times long before
</I>&gt;<i> they have problems with memory usage or throughput. Memory is cheap
</I>&gt;<i> and CPUs are free, but pauses are often unacceptable. Obviously in
</I>&gt;<i> some environments (embedded, handheld, etc) this isn't the case.
</I>&gt;<i>=20
</I>
I agree with you at this. There are a lot of applications that they
can't be implemented with languages like Java, because the collector
need a long pauses to do the collect. It is a disadvantage for this
languages, and it would be a great idea to free Mono of this problem.
But i also think that it isn't a priority task, because the common
applications in Mono don't need this property. I think that we need to
make Mono better for the common cases, and not for special cases.
&gt;<i> We're in complete agreement here. Having a second collector
</I>&gt;<i> implementation would be good just because it would encourage Mono to
</I>&gt;<i> learn how to support multiple types of collectors. In this respect, I
</I>&gt;<i> encourage you to write your copying collector, and help Mono figure
</I>&gt;<i> out how to plug in other collectors.
</I>
I think that it is a great idea. Give to Mono developers the faculty of
choose among a variety of collectors in function of the application that
they are developing. It is the best alternative for a new collector for
Mono, but from my point of view it will be better to go step by step.
My initial question refers to a simply &quot;stop-the-world&quot; collector. In
your opinion, which would be better,a copying or a Mark-Compact=20
collector?
In theory, a copying one needs more space (the double than Mark-Compact)
and less time (only needs to travel through the heap once, instead of
Mark-Compact that needs to travel through at least twice) than a
Mark-Compact collector. But in practice, I have read that they are very
similar (<A HREF="http://www.hpl.hp.com/personal/Hans_Boehm/gc/complexity.html,">http://www.hpl.hp.com/personal/Hans_Boehm/gc/complexity.html,</A>
this site talks about a Mark-Sweep collector, but the complexity of
Mark-Compact it will be very similar to a Mark-Compact one).
Personally, i think that a Mark-Compact will be better because we can
made Mono more compatible with .NET (.NET uses a Mark-Compact collector)
in this subject.
&gt;<i> If anyone else is interested in doing a non-pausing collector, I'm
</I>&gt;<i> game to collaborate.
</I>
I am working in a collector prototype, but i have just started. In my
initial pretensions there isn't a non-pausing collector, but it could be
a great idea, to add this functionality to the collector in the future.=20
All of my advances will be sent to the list, thus we can discusse about
it if you want. I hope this! :)
Thanks guys.
Regards.
--=20
Fernando Diaz &lt;<A HREF="mailto:fdiaz@igalia.com">fdiaz@igalia.com</A>&gt;
</PRE>
<!--endarticle-->
<HR>
<P><UL>
<!--threads-->
<LI> Previous message: <A HREF="000019.html">[Mono-gc-list] My arguments
</A></li>
<LI> Next message: <A HREF="000021.html">[Mono-gc-list] My arguments
</A></li>
<LI> <B>Messages sorted by:</B>
<a href="date.html#20">[ date ]</a>
<a href="thread.html#20">[ thread ]</a>
<a href="subject.html#20">[ subject ]</a>
<a href="author.html#20">[ author ]</a>
</LI>
</UL>
</body></html>

Просмотреть файл

@ -0,0 +1,97 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
<HTML>
<HEAD>
<TITLE> [Mono-gc-list] My arguments
</TITLE>
<LINK REL="Index" HREF="index.html" >
<LINK REL="made" HREF="mailto:fjh%40cs.mu.OZ.AU">
<META NAME="robots" CONTENT="index,nofollow">
<LINK REL="Previous" HREF="000020.html">
<LINK REL="Next" HREF="000023.html">
</HEAD>
<BODY BGCOLOR="#ffffff">
<H1>[Mono-gc-list] My arguments
</H1>
<B>Fergus Henderson
</B>
<A HREF="mailto:fjh%40cs.mu.OZ.AU"
TITLE="[Mono-gc-list] My arguments">fjh@cs.mu.OZ.AU
</A><BR>
<I>Wed, 13 Aug 2003 19:22:28 +1000</I>
<P><UL>
<LI> Previous message: <A HREF="000020.html">[Mono-gc-list] My arguments
</A></li>
<LI> Next message: <A HREF="000023.html">[Mono-gc-list] My arguments
</A></li>
<LI> <B>Messages sorted by:</B>
<a href="date.html#21">[ date ]</a>
<a href="thread.html#21">[ thread ]</a>
<a href="subject.html#21">[ subject ]</a>
<a href="author.html#21">[ author ]</a>
</LI>
</UL>
<HR>
<!--beginarticle-->
<PRE>On 13-Aug-2003, Fernando Diaz &lt;<A HREF="mailto:fdiaz@igalia.com">fdiaz@igalia.com</A>&gt; wrote:
&gt;<i> &gt; I'm not familiar enough with exactly how libgc works to know whether
</I>&gt;<i> &gt; this is the case or not, however, I'll take your word for it.
</I>&gt;<i>
</I>&gt;<i> At the last version of Mono (0.25), lihgc is working with the metadata
</I>&gt;<i> of the objects as the libgc works with GJC (GNU Java Compiler). This is
</I>&gt;<i> and advantage because makes the collector less conservative and more
</I>&gt;<i> accuracy. In spite of the fact, libgc isn't a good collector for Mono,
</I>&gt;<i> because it can take advantage of the complete metadata that Mono
</I>&gt;<i> provides, it only uses a piece of metadata.
</I>
I think you meant to say it _can't_ take advantage.
That's right, the C stack is still scanned conservatively.
&gt;<i> My initial question refers to a simply &quot;stop-the-world&quot; collector. In
</I>&gt;<i> your opinion, which would be better,a copying or a Mark-Compact
</I>&gt;<i> collector?
</I>
I would go for a copying collector to start with, just because it is a
bit simpler.
&gt;<i> In theory, a copying one needs more space (the double than Mark-Compact)
</I>&gt;<i> and less time (only needs to travel through the heap once, instead of
</I>&gt;<i> Mark-Compact that needs to travel through at least twice) than a
</I>&gt;<i> Mark-Compact collector. But in practice, I have read that they are very
</I>&gt;<i> similar (<A HREF="http://www.hpl.hp.com/personal/Hans_Boehm/gc/complexity.html,">http://www.hpl.hp.com/personal/Hans_Boehm/gc/complexity.html,</A>
</I>&gt;<i> this site talks about a Mark-Sweep collector, but the complexity of
</I>&gt;<i> Mark-Compact it will be very similar to a Mark-Compact one).
</I>
Huh? Did you mean to say that the complexity of Mark-Sweep will be
similar to the complexity of Mark-Compact?
&gt;<i> Personally, i think that a Mark-Compact will be better because we can
</I>&gt;<i> made Mono more compatible with .NET (.NET uses a Mark-Compact collector)
</I>&gt;<i> in this subject.
</I>
It will only be &quot;more compatible&quot; in the sense that the performance
characteristics might be a bit more similar. I think that is a very
low-priority goal.
--
Fergus Henderson &lt;<A HREF="mailto:fjh@cs.mu.oz.au">fjh@cs.mu.oz.au</A>&gt; | &quot;I have always known that the pursuit
The University of Melbourne | of excellence is a lethal habit&quot;
WWW: &lt;<A HREF="http://www.cs.mu.oz.au/~fjh">http://www.cs.mu.oz.au/~fjh</A>&gt; | -- the last words of T. S. Garp.
</PRE>
<!--endarticle-->
<HR>
<P><UL>
<!--threads-->
<LI> Previous message: <A HREF="000020.html">[Mono-gc-list] My arguments
</A></li>
<LI> Next message: <A HREF="000023.html">[Mono-gc-list] My arguments
</A></li>
<LI> <B>Messages sorted by:</B>
<a href="date.html#21">[ date ]</a>
<a href="thread.html#21">[ thread ]</a>
<a href="subject.html#21">[ subject ]</a>
<a href="author.html#21">[ author ]</a>
</LI>
</UL>
</body></html>

Просмотреть файл

@ -0,0 +1,92 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
<HTML>
<HEAD>
<TITLE> [Mono-gc-list] My arguments
</TITLE>
<LINK REL="Index" HREF="index.html" >
<LINK REL="made" HREF="mailto:lupus%40ximian.com">
<META NAME="robots" CONTENT="index,nofollow">
<LINK REL="Previous" HREF="000024.html">
<LINK REL="Next" HREF="000025.html">
</HEAD>
<BODY BGCOLOR="#ffffff">
<H1>[Mono-gc-list] My arguments
</H1>
<B>Paolo Molaro
</B>
<A HREF="mailto:lupus%40ximian.com"
TITLE="[Mono-gc-list] My arguments">lupus@ximian.com
</A><BR>
<I>Wed, 13 Aug 2003 12:19:03 +0200</I>
<P><UL>
<LI> Previous message: <A HREF="000024.html">[Mono-gc-list] My arguments
</A></li>
<LI> Next message: <A HREF="000025.html">[Mono-gc-list] Pinned objects
</A></li>
<LI> <B>Messages sorted by:</B>
<a href="date.html#22">[ date ]</a>
<a href="thread.html#22">[ thread ]</a>
<a href="subject.html#22">[ subject ]</a>
<a href="author.html#22">[ author ]</a>
</LI>
</UL>
<HR>
<!--beginarticle-->
<PRE>On 08/13/03 Fergus Henderson wrote:
&gt;<i> &gt; If we're not going to achieve that, we might as well just keep using
</I>&gt;<i> &gt; libgc.
</I>&gt;<i>
</I>&gt;<i> I don't agree. For many applications we ought to be able to get
</I>&gt;<i> significantly better performance than libgc using a good copying or
</I>&gt;<i> mark/compact garbage collector. Also, there are advantages to using a
</I>&gt;<i> type-accurate collector rather than a conservative collector (e.g. more
</I>&gt;<i> predictable memory usage) which are desirable for some applications.
</I>&gt;<i> So type-accurate copying or compacting collection is desirable even
</I>&gt;<i> if it is not incremental.
</I>[...]
&gt;<i> In the short to medium term, I think implementing a type-accurate
</I>&gt;<i> collector and integrating it with the rest of the Mono implementation
</I>&gt;<i> is already a complex task, so I think we should start off simple,
</I>
I agree with Fergus here. Just doing a precise collector is hard,
specially when considering that in the CLR managed&lt;-&gt;unmanaged
transitions are quite common and need to be handled correctly.
Moving the objects around could be considered just a way to test
the pointer-tracking implementation more than anything else;-)
Tracking the pointers in the heap is very easy: the issue is with
tracking them on the stack/registers. There are papers, though, about
scanning stack/regs conservatively and avoiding copies of objects
that could be referenced from there: this might be a possible convenient
compromise.
I would also like to point out some features required by the CLR
that need to be taken into account when designing a replacement for
libgc:
*) pinning (an object may be marked as non-moving for some periods of time)
*) weak references
*) finalization issues
lupus
--
-----------------------------------------------------------------
<A HREF="mailto:lupus@debian.org">lupus@debian.org</A> debian/rules
<A HREF="mailto:lupus@ximian.com">lupus@ximian.com</A> Monkeys do it better
</PRE>
<!--endarticle-->
<HR>
<P><UL>
<!--threads-->
<LI> Previous message: <A HREF="000024.html">[Mono-gc-list] My arguments
</A></li>
<LI> Next message: <A HREF="000025.html">[Mono-gc-list] Pinned objects
</A></li>
<LI> <B>Messages sorted by:</B>
<a href="date.html#22">[ date ]</a>
<a href="thread.html#22">[ thread ]</a>
<a href="subject.html#22">[ subject ]</a>
<a href="author.html#22">[ author ]</a>
</LI>
</UL>
</body></html>

Просмотреть файл

@ -0,0 +1,146 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
<HTML>
<HEAD>
<TITLE> [Mono-gc-list] My arguments
</TITLE>
<LINK REL="Index" HREF="index.html" >
<LINK REL="made" HREF="mailto:fdiaz%40igalia.com">
<META NAME="robots" CONTENT="index,nofollow">
<LINK REL="Previous" HREF="000021.html">
<LINK REL="Next" HREF="000024.html">
</HEAD>
<BODY BGCOLOR="#ffffff">
<H1>[Mono-gc-list] My arguments
</H1>
<B>Fernando Diaz
</B>
<A HREF="mailto:fdiaz%40igalia.com"
TITLE="[Mono-gc-list] My arguments">fdiaz@igalia.com
</A><BR>
<I>13 Aug 2003 13:46:22 +0200</I>
<P><UL>
<LI> Previous message: <A HREF="000021.html">[Mono-gc-list] My arguments
</A></li>
<LI> Next message: <A HREF="000024.html">[Mono-gc-list] My arguments
</A></li>
<LI> <B>Messages sorted by:</B>
<a href="date.html#23">[ date ]</a>
<a href="thread.html#23">[ thread ]</a>
<a href="subject.html#23">[ subject ]</a>
<a href="author.html#23">[ author ]</a>
</LI>
</UL>
<HR>
<!--beginarticle-->
<PRE>El mi=E9, 13 de 08 de 2003 a las 11:22, Fergus Henderson escribi=F3:
&gt;<i> On 13-Aug-2003, Fernando Diaz &lt;<A HREF="mailto:fdiaz@igalia.com">fdiaz@igalia.com</A>&gt; wrote:
</I>&gt;<i> &gt;=20
</I>&gt;<i> &gt; At the last version of Mono (0.25), lihgc is working with the metadata
</I>&gt;<i> &gt; of the objects as the libgc works with GJC (GNU Java Compiler). This is
</I>&gt;<i> &gt; and advantage because makes the collector less conservative and more
</I>&gt;<i> &gt; accuracy. In spite of the fact, libgc isn't a good collector for Mono,
</I>&gt;<i> &gt; because it can take advantage of the complete metadata that Mono
</I>&gt;<i> &gt; provides, it only uses a piece of metadata.
</I>&gt;<i>=20
</I>&gt;<i> I think you meant to say it _can't_ take advantage.=20
</I>&gt;<i> That's right, the C stack is still scanned conservatively.
</I>
Yes, i wanted to say that it can't thake advantage.
&gt;<i> &gt; In theory, a copying one needs more space (the double than Mark-Compact=
</I>)
&gt;<i> &gt; and less time (only needs to travel through the heap once, instead of
</I>&gt;<i> &gt; Mark-Compact that needs to travel through at least twice) than a
</I>&gt;<i> &gt; Mark-Compact collector. But in practice, I have read that they are very
</I>&gt;<i> &gt; similar (<A HREF="http://www.hpl.hp.com/personal/Hans_Boehm/gc/complexity.html,">http://www.hpl.hp.com/personal/Hans_Boehm/gc/complexity.html,</A>
</I>&gt;<i> &gt; this site talks about a Mark-Sweep collector, but the complexity of
</I>&gt;<i> &gt; Mark-Compact it will be very similar to a Mark-Compact one).
</I>&gt;<i>=20
</I>&gt;<i> Huh? Did you mean to say that the complexity of Mark-Sweep will be
</I>&gt;<i> similar to the complexity of Mark-Compact?
</I>
No!!! :). I know that a Mark-Compact algorithm complexity is bigger than
a Mark-Sweep one. Because Mark-Sweep doesn't need to move the data and
rebuild the references. My argument was wrong...
What i want to say is that both alternatives (Copying and Mark-Compact)
have a similar complexity. Mark-Compact needs to travel through the heap
at least twice (depending on the technique we use, in the two-finger
algorithm we need to travel it twice, the Lisp 2 algorithm need to
travel through the heap for three times, table-based and threaded
algorithms needs to travel through it twice too), while Copying need to
travel through the heap only once. On the other side, a Mark-Compact
collector need the half of the size of the heap that a Copying collector
needs.=20
If we look into the amortized cost of a collection with both techniques
when the amount of live objects in the heap are almost all (in my
opinion it is the common situation), the amortized cost (calculated
dividing the time spent collecting by the amount of garbage reclaimed)
is very similar (using an alternative inside the Mark-Compact algorithm
that needs two passes over the heap).
Don't you think so?
Respecting the locality of data for computers with virtual or cache
memory (nowadays almost all), Mark-Compact have a better behaviour than
Copying. All of this it depends on the alternative inside each algorithm
that choose, but in general the locality of Copying techniques is less
than the locality of Mark-Compact techniques. The alternatives inside
the Mark-Compact algorithms that keep the locality of data (LISP2, Table
Based and Threaded), are more expensive than others that don't take this
advantage (Two-Finger). Inside the Copying techniques, the Cheney
algorithm (Copying with an width search algorithm) doesn't take
advantage of the locality, a Copying algorithm with a depth search is
very expensive because of it is a bad alternative. A hybrid search
(mixing depth and width techniques) takes a little advantage of the
locality and it's amortized cost is similar to a table-based or threaded
Mark-Compact collector.
In my opinion, both alternatives are very similar.
&gt;<i> &gt; Personally, i think that a Mark-Compact will be better because we can
</I>&gt;<i> &gt; made Mono more compatible with .NET (.NET uses a Mark-Compact collector=
</I>)
&gt;<i> &gt; in this subject.
</I>&gt;<i>=20
</I>&gt;<i> It will only be &quot;more compatible&quot; in the sense that the performance
</I>&gt;<i> characteristics might be a bit more similar. I think that is a very
</I>&gt;<i> low-priority goal.
</I>
You are right. It isn't a goal for the collector, but on equality of
conditions, this things help us to decide among the techniques.
The copying collection is simplier to implement than a Mark-Compact
collector, but, in your opinion, What is the best?. I know that they are
a lot of different implementations for this algorithms, but in general,
What is the best for Mono from your point of view?.
I think that i am going to start the first prototype with a Copying
algorithm. After, modify it to make a Mark-Compact collector i think
that won't be very complex.
Thanks again!.
Regards.
--=20
Fernando Diaz &lt;<A HREF="mailto:fdiaz@igalia.com">fdiaz@igalia.com</A>&gt;
</PRE>
<!--endarticle-->
<HR>
<P><UL>
<!--threads-->
<LI> Previous message: <A HREF="000021.html">[Mono-gc-list] My arguments
</A></li>
<LI> Next message: <A HREF="000024.html">[Mono-gc-list] My arguments
</A></li>
<LI> <B>Messages sorted by:</B>
<a href="date.html#23">[ date ]</a>
<a href="thread.html#23">[ thread ]</a>
<a href="subject.html#23">[ subject ]</a>
<a href="author.html#23">[ author ]</a>
</LI>
</UL>
</body></html>

Просмотреть файл

@ -0,0 +1,95 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
<HTML>
<HEAD>
<TITLE> [Mono-gc-list] My arguments
</TITLE>
<LINK REL="Index" HREF="index.html" >
<LINK REL="made" HREF="mailto:jeske%40chat.net">
<META NAME="robots" CONTENT="index,nofollow">
<LINK REL="Previous" HREF="000023.html">
<LINK REL="Next" HREF="000022.html">
</HEAD>
<BODY BGCOLOR="#ffffff">
<H1>[Mono-gc-list] My arguments
</H1>
<B>David Jeske
</B>
<A HREF="mailto:jeske%40chat.net"
TITLE="[Mono-gc-list] My arguments">jeske@chat.net
</A><BR>
<I>Wed, 13 Aug 2003 14:27:04 -0700</I>
<P><UL>
<LI> Previous message: <A HREF="000023.html">[Mono-gc-list] My arguments
</A></li>
<LI> Next message: <A HREF="000022.html">[Mono-gc-list] My arguments
</A></li>
<LI> <B>Messages sorted by:</B>
<a href="date.html#24">[ date ]</a>
<a href="thread.html#24">[ thread ]</a>
<a href="subject.html#24">[ subject ]</a>
<a href="author.html#24">[ author ]</a>
</LI>
</UL>
<HR>
<!--beginarticle-->
<PRE>Here are my preferences:
1) mark-sweep
2) mark-compact
3) copying
I prefer mark-sweep to copying, because the real-world memory overhead
of fragmentation is generally lower than 2x, and it does less work
since it does not have to copy live data for every collection.
I prefer mark-compact over copying, because it uses less memory, and
has greater potential for incremental or concurrent work.
IMO, compaction/copying is only useful in certain circumstances, for
example, preventing young-generation only objects from fragmenting the
heap, and making young-generation allocation really fast. The old
generation shouldn't use a copying collector, and it probably does not
need to be compacted.
This page by Hans Boehm sums up my thoughts pretty well:
<A HREF="http://www.hpl.hp.com/personal/Hans_Boehm/gc/complexity.html">http://www.hpl.hp.com/personal/Hans_Boehm/gc/complexity.html</A>
&gt;<i> The copying collection is simplier to implement than a Mark-Compact
</I>&gt;<i> collector, but, in your opinion, What is the best?. I know that they are
</I>&gt;<i> a lot of different implementations for this algorithms, but in general,
</I>&gt;<i> What is the best for Mono from your point of view?.
</I>
IMO, copying collectors are good for small heaps such as in young
generations. Doing copying collection of a 200MB+ live heap is not
good.
&gt;<i> I think that i am going to start the first prototype with a Copying
</I>&gt;<i> algorithm. After, modify it to make a Mark-Compact collector i think
</I>&gt;<i> that won't be very complex.
</I>
If you prototype a copying collector, you can eventually use that as
the young generation and copy old objects into an old-generation which
uses mark-sweep with optional compaction.
--
David Jeske (N9LCA) + <A HREF="http://www.chat.net/~jeske/">http://www.chat.net/~jeske/</A> + <A HREF="mailto:jeske@chat.net">jeske@chat.net</A>
</PRE>
<!--endarticle-->
<HR>
<P><UL>
<!--threads-->
<LI> Previous message: <A HREF="000023.html">[Mono-gc-list] My arguments
</A></li>
<LI> Next message: <A HREF="000022.html">[Mono-gc-list] My arguments
</A></li>
<LI> <B>Messages sorted by:</B>
<a href="date.html#24">[ date ]</a>
<a href="thread.html#24">[ thread ]</a>
<a href="subject.html#24">[ subject ]</a>
<a href="author.html#24">[ author ]</a>
</LI>
</UL>
</body></html>

Просмотреть файл

@ -0,0 +1,74 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
<HTML>
<HEAD>
<TITLE> [Mono-gc-list] Pinned objects
</TITLE>
<LINK REL="Index" HREF="index.html" >
<LINK REL="made" HREF="mailto:fdiaz%40igalia.com">
<META NAME="robots" CONTENT="index,nofollow">
<LINK REL="Previous" HREF="000022.html">
<LINK REL="Next" HREF="000026.html">
</HEAD>
<BODY BGCOLOR="#ffffff">
<H1>[Mono-gc-list] Pinned objects
</H1>
<B>Fernando Diaz
</B>
<A HREF="mailto:fdiaz%40igalia.com"
TITLE="[Mono-gc-list] Pinned objects">fdiaz@igalia.com
</A><BR>
<I>14 Aug 2003 13:17:05 +0200</I>
<P><UL>
<LI> Previous message: <A HREF="000022.html">[Mono-gc-list] My arguments
</A></li>
<LI> Next message: <A HREF="000026.html">[Mono-gc-list] Pinned objects
</A></li>
<LI> <B>Messages sorted by:</B>
<a href="date.html#25">[ date ]</a>
<a href="thread.html#25">[ thread ]</a>
<a href="subject.html#25">[ subject ]</a>
<a href="author.html#25">[ author ]</a>
</LI>
</UL>
<HR>
<!--beginarticle-->
<PRE>Hi guys!.
I would like you to give me your opinion about the alternatives for the
pinned objects collection.
If you take a look to the .NET, it uses a heap for pinned and not pinned
objets and a Mark-Compact collector. Depending on the time that the
pinned objects have to be pinned it is a good idea, but when the pinned
objects have pinned for a long time I think that it will be better to
have two heaps, one for pinned objects and other for non-pinned objects.
The pinned-heap will be collected with a non moving collector. But all
of this depends on the time that an object is pinned.
What is your opinion about this? Will it be better a single heap or a
heap for pinned objects and a heap for non-pinned objects?
Thanks.
Regards.
--
Fernando Diaz &lt;<A HREF="mailto:fdiaz@igalia.com">fdiaz@igalia.com</A>&gt;
</PRE>
<!--endarticle-->
<HR>
<P><UL>
<!--threads-->
<LI> Previous message: <A HREF="000022.html">[Mono-gc-list] My arguments
</A></li>
<LI> Next message: <A HREF="000026.html">[Mono-gc-list] Pinned objects
</A></li>
<LI> <B>Messages sorted by:</B>
<a href="date.html#25">[ date ]</a>
<a href="thread.html#25">[ thread ]</a>
<a href="subject.html#25">[ subject ]</a>
<a href="author.html#25">[ author ]</a>
</LI>
</UL>
</body></html>

Просмотреть файл

@ -0,0 +1,76 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
<HTML>
<HEAD>
<TITLE> [Mono-gc-list] Pinned objects
</TITLE>
<LINK REL="Index" HREF="index.html" >
<LINK REL="made" HREF="mailto:lupus%40ximian.com">
<META NAME="robots" CONTENT="index,nofollow">
<LINK REL="Previous" HREF="000025.html">
<LINK REL="Next" HREF="000027.html">
</HEAD>
<BODY BGCOLOR="#ffffff">
<H1>[Mono-gc-list] Pinned objects
</H1>
<B>Paolo Molaro
</B>
<A HREF="mailto:lupus%40ximian.com"
TITLE="[Mono-gc-list] Pinned objects">lupus@ximian.com
</A><BR>
<I>Fri, 15 Aug 2003 11:52:02 +0200</I>
<P><UL>
<LI> Previous message: <A HREF="000025.html">[Mono-gc-list] Pinned objects
</A></li>
<LI> Next message: <A HREF="000027.html">[Mono-gc-list] Pinned objects
</A></li>
<LI> <B>Messages sorted by:</B>
<a href="date.html#26">[ date ]</a>
<a href="thread.html#26">[ thread ]</a>
<a href="subject.html#26">[ subject ]</a>
<a href="author.html#26">[ author ]</a>
</LI>
</UL>
<HR>
<!--beginarticle-->
<PRE>On 08/14/03 Fernando Diaz wrote:
&gt;<i> If you take a look to the .NET, it uses a heap for pinned and not pinned
</I>&gt;<i> objets and a Mark-Compact collector. Depending on the time that the
</I>&gt;<i> pinned objects have to be pinned it is a good idea, but when the pinned
</I>&gt;<i> objects have pinned for a long time I think that it will be better to
</I>&gt;<i> have two heaps, one for pinned objects and other for non-pinned objects.
</I>&gt;<i> The pinned-heap will be collected with a non moving collector. But all
</I>&gt;<i> of this depends on the time that an object is pinned.
</I>&gt;<i>
</I>&gt;<i> What is your opinion about this? Will it be better a single heap or a
</I>&gt;<i> heap for pinned objects and a heap for non-pinned objects?
</I>
Any object can be pinned at any time and you can't move an object
to another heap when it's pinned, it would have a big performance hit.
So it doesn't make sense to have a heap for pinned objects and one
for other objects.
lupus
--
-----------------------------------------------------------------
<A HREF="mailto:lupus@debian.org">lupus@debian.org</A> debian/rules
<A HREF="mailto:lupus@ximian.com">lupus@ximian.com</A> Monkeys do it better
</PRE>
<!--endarticle-->
<HR>
<P><UL>
<!--threads-->
<LI> Previous message: <A HREF="000025.html">[Mono-gc-list] Pinned objects
</A></li>
<LI> Next message: <A HREF="000027.html">[Mono-gc-list] Pinned objects
</A></li>
<LI> <B>Messages sorted by:</B>
<a href="date.html#26">[ date ]</a>
<a href="thread.html#26">[ thread ]</a>
<a href="subject.html#26">[ subject ]</a>
<a href="author.html#26">[ author ]</a>
</LI>
</UL>
</body></html>

Просмотреть файл

@ -0,0 +1,64 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
<HTML>
<HEAD>
<TITLE> [Mono-gc-list] Pinned objects
</TITLE>
<LINK REL="Index" HREF="index.html" >
<LINK REL="made" HREF="mailto:jeske%40chat.net">
<META NAME="robots" CONTENT="index,nofollow">
<LINK REL="Previous" HREF="000026.html">
<LINK REL="Next" HREF="000028.html">
</HEAD>
<BODY BGCOLOR="#ffffff">
<H1>[Mono-gc-list] Pinned objects
</H1>
<B>David Jeske
</B>
<A HREF="mailto:jeske%40chat.net"
TITLE="[Mono-gc-list] Pinned objects">jeske@chat.net
</A><BR>
<I>Fri, 15 Aug 2003 10:50:27 -0700</I>
<P><UL>
<LI> Previous message: <A HREF="000026.html">[Mono-gc-list] Pinned objects
</A></li>
<LI> Next message: <A HREF="000028.html">[Mono-gc-list] Fast allocation vs lightweight collection
</A></li>
<LI> <B>Messages sorted by:</B>
<a href="date.html#27">[ date ]</a>
<a href="thread.html#27">[ thread ]</a>
<a href="subject.html#27">[ subject ]</a>
<a href="author.html#27">[ author ]</a>
</LI>
</UL>
<HR>
<!--beginarticle-->
<PRE>Pinned objects are another reason that I say the major heap should be
just mark-sweep with optional compaction.
It should be possible to compact objects 'around' the pinned objects
if this is interseting.
Most of the time I don't think compaction of the major heap is
necessary, just the &quot;young generation&quot; heap.
--
David Jeske (N9LCA) + <A HREF="http://www.chat.net/~jeske/">http://www.chat.net/~jeske/</A> + <A HREF="mailto:jeske@chat.net">jeske@chat.net</A>
</PRE>
<!--endarticle-->
<HR>
<P><UL>
<!--threads-->
<LI> Previous message: <A HREF="000026.html">[Mono-gc-list] Pinned objects
</A></li>
<LI> Next message: <A HREF="000028.html">[Mono-gc-list] Fast allocation vs lightweight collection
</A></li>
<LI> <B>Messages sorted by:</B>
<a href="date.html#27">[ date ]</a>
<a href="thread.html#27">[ thread ]</a>
<a href="subject.html#27">[ subject ]</a>
<a href="author.html#27">[ author ]</a>
</LI>
</UL>
</body></html>

Просмотреть файл

@ -0,0 +1,82 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
<HTML>
<HEAD>
<TITLE> [Mono-gc-list] Fast allocation vs lightweight collection
</TITLE>
<LINK REL="Index" HREF="index.html" >
<LINK REL="made" HREF="mailto:fdiaz%40igalia.com">
<META NAME="robots" CONTENT="index,nofollow">
<LINK REL="Previous" HREF="000027.html">
<LINK REL="Next" HREF="000029.html">
</HEAD>
<BODY BGCOLOR="#ffffff">
<H1>[Mono-gc-list] Fast allocation vs lightweight collection
</H1>
<B>Fernando Diaz
</B>
<A HREF="mailto:fdiaz%40igalia.com"
TITLE="[Mono-gc-list] Fast allocation vs lightweight collection">fdiaz@igalia.com
</A><BR>
<I>19 Aug 2003 10:47:22 +0200</I>
<P><UL>
<LI> Previous message: <A HREF="000027.html">[Mono-gc-list] Pinned objects
</A></li>
<LI> Next message: <A HREF="000029.html">[Mono-gc-list] Fast allocation vs lightweight collection
</A></li>
<LI> <B>Messages sorted by:</B>
<a href="date.html#28">[ date ]</a>
<a href="thread.html#28">[ thread ]</a>
<a href="subject.html#28">[ subject ]</a>
<a href="author.html#28">[ author ]</a>
</LI>
</UL>
<HR>
<!--beginarticle-->
<PRE>Hey guys!
I have a question for you again. What do you think is better a Fast
allocation process or a lightweight collection?. The algorithms that
provides a fast allocator should have a collector heavier than the
algorithms that provides a slow allocator. For example Mark-Sweep and
Mark-Compact. Mark-Sweep have a &quot;slow&quot; allocator and a fast collection
routine. Mark-Compact have a fast allocator and a slow collection
routine.
I think that in a application with an adjusted size of the heap, the
fact of having a fast allocator make the application faster than the
fact of having a fast collector. Because generally the number of
allocations is greater than the number of collections (note that we have
a good adjusted heap). But if a collection is needed, the time that it
going to consume will be bigger than the time necessary in a fast
collector with slow allocator.
What do you think that is better for Mono? A fast allocator and slow
collector or a slow allocator and fast collector?
I know that there are other parameters to consider, but I would like to
know your opinions in the common case.
Thanks.
Regards.
--
Fernando Diaz &lt;<A HREF="mailto:fdiaz@igalia.com">fdiaz@igalia.com</A>&gt;
</PRE>
<!--endarticle-->
<HR>
<P><UL>
<!--threads-->
<LI> Previous message: <A HREF="000027.html">[Mono-gc-list] Pinned objects
</A></li>
<LI> Next message: <A HREF="000029.html">[Mono-gc-list] Fast allocation vs lightweight collection
</A></li>
<LI> <B>Messages sorted by:</B>
<a href="date.html#28">[ date ]</a>
<a href="thread.html#28">[ thread ]</a>
<a href="subject.html#28">[ subject ]</a>
<a href="author.html#28">[ author ]</a>
</LI>
</UL>
</body></html>

Просмотреть файл

@ -0,0 +1,92 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
<HTML>
<HEAD>
<TITLE> [Mono-gc-list] Fast allocation vs lightweight collection
</TITLE>
<LINK REL="Index" HREF="index.html" >
<LINK REL="made" HREF="mailto:jeske%40chat.net">
<META NAME="robots" CONTENT="index,nofollow">
<LINK REL="Previous" HREF="000028.html">
<LINK REL="Next" HREF="000030.html">
</HEAD>
<BODY BGCOLOR="#ffffff">
<H1>[Mono-gc-list] Fast allocation vs lightweight collection
</H1>
<B>David Jeske
</B>
<A HREF="mailto:jeske%40chat.net"
TITLE="[Mono-gc-list] Fast allocation vs lightweight collection">jeske@chat.net
</A><BR>
<I>Tue, 19 Aug 2003 19:58:08 -0700</I>
<P><UL>
<LI> Previous message: <A HREF="000028.html">[Mono-gc-list] Fast allocation vs lightweight collection
</A></li>
<LI> Next message: <A HREF="000030.html">[Mono-gc-list] Fast allocation vs lightweight collection
</A></li>
<LI> <B>Messages sorted by:</B>
<a href="date.html#29">[ date ]</a>
<a href="thread.html#29">[ thread ]</a>
<a href="subject.html#29">[ subject ]</a>
<a href="author.html#29">[ author ]</a>
</LI>
</UL>
<HR>
<!--beginarticle-->
<PRE>On Tue, Aug 19, 2003 at 10:47:22AM +0200, Fernando Diaz wrote:
&gt;<i> I have a question for you again. What do you think is better a Fast
</I>&gt;<i> allocation process or a lightweight collection?
</I>
I think it is much more important to have a lightweight collector with
controllable worst-case pause times.
&gt;<i> I think that in a application with an adjusted size of the heap, the
</I>&gt;<i> fact of having a fast allocator make the application faster than the
</I>&gt;<i> fact of having a fast collector. Because generally the number of
</I>&gt;<i> allocations is greater than the number of collections (note that we have
</I>&gt;<i> a good adjusted heap). But if a collection is needed, the time that it
</I>&gt;<i> going to consume will be bigger than the time necessary in a fast
</I>&gt;<i> collector with slow allocator.
</I>
In appliactions where pauses are unacceptable, there is no way to
&quot;work around&quot; the problem.
Constant factor performance degredation is not relevant. Computers get
faster every year, it is easy to use more computers, and in the rare
windows of time where this is a problem for a specific application,
they are probably writing in C instead of C# anyhow.
In other words, I'm saying that if:
X = # of programs which won't tolorate GC pauses
Y = # of programs which won't tolorate 20% degredation (C-&gt;C#)
Z = # of programs which won't tolorate 10% allocation overhead
Then:
Z ~= 0 : most of these programs are in Y, not Z.
X &gt;&gt; Z : the number of programs which can be written in
Mono with a low-pause collector will be greater than
with a high-pause, low-overhead collector
--
David Jeske (N9LCA) + <A HREF="http://www.chat.net/~jeske/">http://www.chat.net/~jeske/</A> + <A HREF="mailto:jeske@chat.net">jeske@chat.net</A>
</PRE>
<!--endarticle-->
<HR>
<P><UL>
<!--threads-->
<LI> Previous message: <A HREF="000028.html">[Mono-gc-list] Fast allocation vs lightweight collection
</A></li>
<LI> Next message: <A HREF="000030.html">[Mono-gc-list] Fast allocation vs lightweight collection
</A></li>
<LI> <B>Messages sorted by:</B>
<a href="date.html#29">[ date ]</a>
<a href="thread.html#29">[ thread ]</a>
<a href="subject.html#29">[ subject ]</a>
<a href="author.html#29">[ author ]</a>
</LI>
</UL>
</body></html>

Просмотреть файл

@ -0,0 +1,96 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
<HTML>
<HEAD>
<TITLE> [Mono-gc-list] Fast allocation vs lightweight collection
</TITLE>
<LINK REL="Index" HREF="index.html" >
<LINK REL="made" HREF="mailto:michel.dagenais%40polymtl.ca">
<META NAME="robots" CONTENT="index,nofollow">
<LINK REL="Previous" HREF="000029.html">
<LINK REL="Next" HREF="000031.html">
</HEAD>
<BODY BGCOLOR="#ffffff">
<H1>[Mono-gc-list] Fast allocation vs lightweight collection
</H1>
<B>Michel Dagenais
</B>
<A HREF="mailto:michel.dagenais%40polymtl.ca"
TITLE="[Mono-gc-list] Fast allocation vs lightweight collection">michel.dagenais@polymtl.ca
</A><BR>
<I>25 Aug 2003 12:33:48 -0400</I>
<P><UL>
<LI> Previous message: <A HREF="000029.html">[Mono-gc-list] Fast allocation vs lightweight collection
</A></li>
<LI> Next message: <A HREF="000031.html">[Mono-gc-list] Fast allocation vs lightweight collection
</A></li>
<LI> <B>Messages sorted by:</B>
<a href="date.html#30">[ date ]</a>
<a href="thread.html#30">[ thread ]</a>
<a href="subject.html#30">[ subject ]</a>
<a href="author.html#30">[ author ]</a>
</LI>
</UL>
<HR>
<!--beginarticle-->
<PRE>&gt;<i> &gt; I have a question for you again. What do you think is better a Fast
</I>&gt;<i> &gt; allocation process or a lightweight collection?
</I>
If you have not already, you may want to read the best reference on the
subject:
Garbage Collection: Algorithms for Automatic Dynamic Memory Management
by Richard Jones, Rafael Lins
&gt;<i> In appliactions where pauses are unacceptable, there is no way to
</I>&gt;<i> &quot;work around&quot; the problem.
</I>&gt;<i>
</I>&gt;<i> Constant factor performance degredation is not relevant. Computers get
</I>&gt;<i> faster every year, it is easy to use more computers, and in the rare
</I>&gt;<i> windows of time where this is a problem for a specific application,
</I>&gt;<i> they are probably writing in C instead of C# anyhow.
</I>
The performance overhead of garbage collection is somewhere between +20%
(reference counting with lots of pointer writes) and -5% (very efficient
generational collector which reduces the allocation time, improves the
memory locality and produces an overall improvement), with perhaps +5%
being typical. When comparing to C++ you also have to account for vector
bounds checking, null pointers... adding some more.
The real problem in most cases, and in almost all interactive
applications, is indeed garbage collection pauses.
I had experience with the development of an emergency call management
system written in Modula-3 where the pause times for a large heap were
of several seconds every few minutes. When we switched to an incremental
collection algorithm the pauses became much smaller (.1 or .2 seconds).
It was probably a bit less efficient CPU wise but only by a few percent.
One very important point that did not come out in the discussion is the
interaction between garbage collection and multi-threading. Most
algorithms need special treatment or are inapplicable in multi-threaded
environments. Reference counting, for instance, needs some form of
locking when updating the reference counts, unless you rely on the
application to do its own locking and not modify a pointer from two
threads.
</PRE>
<!--endarticle-->
<HR>
<P><UL>
<!--threads-->
<LI> Previous message: <A HREF="000029.html">[Mono-gc-list] Fast allocation vs lightweight collection
</A></li>
<LI> Next message: <A HREF="000031.html">[Mono-gc-list] Fast allocation vs lightweight collection
</A></li>
<LI> <B>Messages sorted by:</B>
<a href="date.html#30">[ date ]</a>
<a href="thread.html#30">[ thread ]</a>
<a href="subject.html#30">[ subject ]</a>
<a href="author.html#30">[ author ]</a>
</LI>
</UL>
</body></html>

Просмотреть файл

@ -0,0 +1,111 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
<HTML>
<HEAD>
<TITLE> [Mono-gc-list] Fast allocation vs lightweight collection
</TITLE>
<LINK REL="Index" HREF="index.html" >
<LINK REL="made" HREF="mailto:jeske%40chat.net">
<META NAME="robots" CONTENT="index,nofollow">
<LINK REL="Previous" HREF="000030.html">
<LINK REL="Next" HREF="000032.html">
</HEAD>
<BODY BGCOLOR="#ffffff">
<H1>[Mono-gc-list] Fast allocation vs lightweight collection
</H1>
<B>David Jeske
</B>
<A HREF="mailto:jeske%40chat.net"
TITLE="[Mono-gc-list] Fast allocation vs lightweight collection">jeske@chat.net
</A><BR>
<I>Mon, 25 Aug 2003 09:19:59 -0700</I>
<P><UL>
<LI> Previous message: <A HREF="000030.html">[Mono-gc-list] Fast allocation vs lightweight collection
</A></li>
<LI> Next message: <A HREF="000032.html">[Mono-gc-list] Fast allocation vs lightweight collection
</A></li>
<LI> <B>Messages sorted by:</B>
<a href="date.html#31">[ date ]</a>
<a href="thread.html#31">[ thread ]</a>
<a href="subject.html#31">[ subject ]</a>
<a href="author.html#31">[ author ]</a>
</LI>
</UL>
<HR>
<!--beginarticle-->
<PRE>On Mon, Aug 25, 2003 at 12:33:48PM -0400, Michel Dagenais wrote:
&gt;<i> One very important point that did not come out in the discussion is the
</I>&gt;<i> interaction between garbage collection and multi-threading.
</I>
This is a good point. Multi-threaded applications make the GC pause
problem much more important. In a single threaded application, there
are sometimes reasonable moments to manually pause. However, in a
multithreaded app there is seldom a time where all of the threads
simultaneously reach a state where they will accept a pause. For
example, in a single threaded webserver, you can garbage collect after
you have finished rendering a page to the user, before you accept the
next one. However, in a multi-threaded webserver under load
(i.e. tomcat), all threads will never finish rendering page at the
same time, making any pause disruptive.
This is why I like the old architecture of mod_mono better than the
new single-process model. The single process model is going to pause
all threads to GC, while the multi-process mod_mono could hide it
inside the dead time after serving a request.
&gt;<i> Reference counting, for instance, needs some form of locking when
</I>&gt;<i> updating the reference counts, unless you rely on the application to
</I>&gt;<i> do its own locking and not modify a pointer from two threads.
</I>
Because objects are never moved, the only &quot;unsafe&quot; thing to do is
prematurely deallocate an object. This means that locking is only
required only if many mutators are doing the deallocation and
finalization.
This is a probem in a &quot;pure&quot; reference counting algorithm.
One modern ref-counting optimization is to use a hybrid scheme which
sweeps the stack and registers as part of a &quot;root set&quot;. This avoids
the need to ref-count very common activities such as local variable
manipulation and function argument passing. When using this scheme, a
refcount of zero only puts the object in the &quot;to be checked&quot;
state. The gc process has to quickly scan the root-set to determine
additional (uncounted) pointers and find out if the object is alive or
dead. This algorithm's synchronization primitive is a &quot;stop the world&quot;
event which involves scanning the stacks of all active threads and
refcount=0 objects. (much faster than the full heap scanning of most
heap gc).
In this algorithm, only the gc process handles deallocation, so the
mutators don't need to lock. I'm sure there is some research about
this which would be more thorough than my paragraph above.
I wonder if it is possible to do a cycle-finding algorithm which can
run fully concurrently -- locking againt the only 'unsafe' thing out
there, the gc thread which could decallocate objects. The only output
of the cycle-finding algorithm is a list of new objects &quot;to be
checked&quot; for dead and the cycle-information which proves that their
refcounts are too high. Intuitively it seems to me like this should be
doable as a background operation, because if threaded mutators made it
wrong, the real gc thread would find out during it's world stop.
--
David Jeske (N9LCA) + <A HREF="http://www.chat.net/~jeske/">http://www.chat.net/~jeske/</A> + <A HREF="mailto:jeske@chat.net">jeske@chat.net</A>
</PRE>
<!--endarticle-->
<HR>
<P><UL>
<!--threads-->
<LI> Previous message: <A HREF="000030.html">[Mono-gc-list] Fast allocation vs lightweight collection
</A></li>
<LI> Next message: <A HREF="000032.html">[Mono-gc-list] Fast allocation vs lightweight collection
</A></li>
<LI> <B>Messages sorted by:</B>
<a href="date.html#31">[ date ]</a>
<a href="thread.html#31">[ thread ]</a>
<a href="subject.html#31">[ subject ]</a>
<a href="author.html#31">[ author ]</a>
</LI>
</UL>
</body></html>

Просмотреть файл

@ -0,0 +1,84 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
<HTML>
<HEAD>
<TITLE> [Mono-gc-list] Fast allocation vs lightweight collection
</TITLE>
<LINK REL="Index" HREF="index.html" >
<LINK REL="made" HREF="mailto:lupus%40ximian.com">
<META NAME="robots" CONTENT="index,nofollow">
<LINK REL="Previous" HREF="000031.html">
<LINK REL="Next" HREF="000033.html">
</HEAD>
<BODY BGCOLOR="#ffffff">
<H1>[Mono-gc-list] Fast allocation vs lightweight collection
</H1>
<B>Paolo Molaro
</B>
<A HREF="mailto:lupus%40ximian.com"
TITLE="[Mono-gc-list] Fast allocation vs lightweight collection">lupus@ximian.com
</A><BR>
<I>Mon, 25 Aug 2003 19:12:27 +0200</I>
<P><UL>
<LI> Previous message: <A HREF="000031.html">[Mono-gc-list] Fast allocation vs lightweight collection
</A></li>
<LI> Next message: <A HREF="000033.html">[Mono-gc-list] Fast allocation vs lightweight collection
</A></li>
<LI> <B>Messages sorted by:</B>
<a href="date.html#32">[ date ]</a>
<a href="thread.html#32">[ thread ]</a>
<a href="subject.html#32">[ subject ]</a>
<a href="author.html#32">[ author ]</a>
</LI>
</UL>
<HR>
<!--beginarticle-->
<PRE>On 08/25/03 David Jeske wrote:
&gt;<i> &gt; Reference counting, for instance, needs some form of locking when
</I>&gt;<i> &gt; updating the reference counts, unless you rely on the application to
</I>&gt;<i> &gt; do its own locking and not modify a pointer from two threads.
</I>&gt;<i>
</I>&gt;<i> Because objects are never moved, the only &quot;unsafe&quot; thing to do is
</I>&gt;<i> prematurely deallocate an object. This means that locking is only
</I>&gt;<i> required only if many mutators are doing the deallocation and
</I>&gt;<i> finalization.
</I>
You need locks to increment/decrement the reference count:
count = 1
thread1 thread2 count
reg = count reg = count 1
reg = reg+1 reg = reg+1 1
count = reg ... 2
... count = reg 2
at this point count is 2, instead of 3.
Doing the increment/decrement atomically is very expensive: I don't
think refcounting is suitable as the GC mechanism in multithreaded
programs (unless you want to pay a big performance cost).
lupus
--
-----------------------------------------------------------------
<A HREF="mailto:lupus@debian.org">lupus@debian.org</A> debian/rules
<A HREF="mailto:lupus@ximian.com">lupus@ximian.com</A> Monkeys do it better
</PRE>
<!--endarticle-->
<HR>
<P><UL>
<!--threads-->
<LI> Previous message: <A HREF="000031.html">[Mono-gc-list] Fast allocation vs lightweight collection
</A></li>
<LI> Next message: <A HREF="000033.html">[Mono-gc-list] Fast allocation vs lightweight collection
</A></li>
<LI> <B>Messages sorted by:</B>
<a href="date.html#32">[ date ]</a>
<a href="thread.html#32">[ thread ]</a>
<a href="subject.html#32">[ subject ]</a>
<a href="author.html#32">[ author ]</a>
</LI>
</UL>
</body></html>

Просмотреть файл

@ -0,0 +1,109 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
<HTML>
<HEAD>
<TITLE> [Mono-gc-list] Fast allocation vs lightweight collection
</TITLE>
<LINK REL="Index" HREF="index.html" >
<LINK REL="made" HREF="mailto:jeske%40chat.net">
<META NAME="robots" CONTENT="index,nofollow">
<LINK REL="Previous" HREF="000032.html">
<LINK REL="Next" HREF="000034.html">
</HEAD>
<BODY BGCOLOR="#ffffff">
<H1>[Mono-gc-list] Fast allocation vs lightweight collection
</H1>
<B>David Jeske
</B>
<A HREF="mailto:jeske%40chat.net"
TITLE="[Mono-gc-list] Fast allocation vs lightweight collection">jeske@chat.net
</A><BR>
<I>Mon, 25 Aug 2003 13:15:31 -0700</I>
<P><UL>
<LI> Previous message: <A HREF="000032.html">[Mono-gc-list] Fast allocation vs lightweight collection
</A></li>
<LI> Next message: <A HREF="000034.html">[Mono-gc-list] Fast allocation vs lightweight collection
</A></li>
<LI> <B>Messages sorted by:</B>
<a href="date.html#33">[ date ]</a>
<a href="thread.html#33">[ thread ]</a>
<a href="subject.html#33">[ subject ]</a>
<a href="author.html#33">[ author ]</a>
</LI>
</UL>
<HR>
<!--beginarticle-->
<PRE>On Mon, Aug 25, 2003 at 07:12:27PM +0200, Paolo Molaro wrote:
&gt;<i> &gt; Because objects are never moved, the only &quot;unsafe&quot; thing to do is
</I>&gt;<i> &gt; prematurely deallocate an object. This means that locking is only
</I>&gt;<i> &gt; required only if many mutators are doing the deallocation and
</I>&gt;<i> &gt; finalization.
</I>&gt;<i>
</I>&gt;<i> You need locks to increment/decrement the reference count:
</I>
It's pretty easy to avoid locking using the atomic test/set/exchange
operations of modern processors.
For example, x86 has &quot;cmpxchg&quot;, the psudocode of this operation is:
[ <A HREF="http://www.geocities.com/bkartheek/files/chap6.htm">http://www.geocities.com/bkartheek/files/chap6.htm</A> ]
cmpxchg operand1, operand2 [ ax/al/eax = compare_to ]
if ({al/ax/eax} = operand1) then
zero := 1 ;Set the zero flag
operand1 := operand2
else
zero := 0 ;Clear the zero flag
{al/ax/eax} := operand1
endif
Using this, you can do:
try_again:
reg = mem(count)
compare_to = reg
reg = reg + 1 // or reg = reg -1
if (! cmpxchg mem(count),reg [ compare_to ] ) {
yeild(); // optional
goto try_again;
}
When two threads collide, this looks like:
thread1 thread2 mem(count)
reg = mem(count) reg = mem(count) 1
reg = reg+1 reg = reg+1 1
cmpxchg suceeds cmpxchg fails 2
... reg = mem(count) 2
reg = reg+1 2
cmpxchg suceeds 3
...
No locking required.
--
David Jeske (N9LCA) + <A HREF="http://www.chat.net/~jeske/">http://www.chat.net/~jeske/</A> + <A HREF="mailto:jeske@chat.net">jeske@chat.net</A>
</PRE>
<!--endarticle-->
<HR>
<P><UL>
<!--threads-->
<LI> Previous message: <A HREF="000032.html">[Mono-gc-list] Fast allocation vs lightweight collection
</A></li>
<LI> Next message: <A HREF="000034.html">[Mono-gc-list] Fast allocation vs lightweight collection
</A></li>
<LI> <B>Messages sorted by:</B>
<a href="date.html#33">[ date ]</a>
<a href="thread.html#33">[ thread ]</a>
<a href="subject.html#33">[ subject ]</a>
<a href="author.html#33">[ author ]</a>
</LI>
</UL>
</body></html>

Просмотреть файл

@ -0,0 +1,121 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
<HTML>
<HEAD>
<TITLE> [Mono-gc-list] Fast allocation vs lightweight collection
</TITLE>
<LINK REL="Index" HREF="index.html" >
<LINK REL="made" HREF="mailto:patrik.torstensson%40intel.com">
<META NAME="robots" CONTENT="index,nofollow">
<LINK REL="Previous" HREF="000033.html">
<LINK REL="Next" HREF="000035.html">
</HEAD>
<BODY BGCOLOR="#ffffff">
<H1>[Mono-gc-list] Fast allocation vs lightweight collection
</H1>
<B>Torstensson, Patrik
</B>
<A HREF="mailto:patrik.torstensson%40intel.com"
TITLE="[Mono-gc-list] Fast allocation vs lightweight collection">patrik.torstensson@intel.com
</A><BR>
<I>Tue, 26 Aug 2003 08:59:02 +0100</I>
<P><UL>
<LI> Previous message: <A HREF="000033.html">[Mono-gc-list] Fast allocation vs lightweight collection
</A></li>
<LI> Next message: <A HREF="000035.html">[Mono-gc-list] Fast allocation vs lightweight collection
</A></li>
<LI> <B>Messages sorted by:</B>
<a href="date.html#34">[ date ]</a>
<a href="thread.html#34">[ thread ]</a>
<a href="subject.html#34">[ subject ]</a>
<a href="author.html#34">[ author ]</a>
</LI>
</UL>
<HR>
<!--beginarticle-->
<PRE>Hello guys,=20
&gt;<i> It's pretty easy to avoid locking using the atomic test/set/exchange
</I>&gt;<i> operations of modern processors.
</I>&gt;<i> For example, x86 has &quot;cmpxchg&quot;, the psudocode of this operation is:
</I>&gt;<i>=20
</I>&gt;<i> [ <A HREF="http://www.geocities.com/bkartheek/files/chap6.htm">http://www.geocities.com/bkartheek/files/chap6.htm</A> ]
</I>&gt;<i>=20
</I>&gt;<i> cmpxchg operand1, operand2 [ ax/al/eax =3D compare_to =
</I>]
&gt;<i>=20
</I>&gt;<i> if ({al/ax/eax} =3D operand1) then
</I>&gt;<i>=20
</I>&gt;<i> zero :=3D 1 ;Set the zero flag
</I>&gt;<i> operand1 :=3D operand2
</I>&gt;<i>=20
</I>&gt;<i> else
</I>&gt;<i>=20
</I>&gt;<i> zero :=3D 0 ;Clear the zero flag
</I>&gt;<i> {al/ax/eax} :=3D operand1
</I>&gt;<i>=20
</I>&gt;<i> endif
</I>&gt;<i>=20
</I>&gt;<i> Using this, you can do:
</I>&gt;<i>=20
</I>&gt;<i> try_again:
</I>&gt;<i> reg =3D mem(count)
</I>&gt;<i> compare_to =3D reg
</I>&gt;<i> reg =3D reg + 1 // or reg =3D reg -1
</I>&gt;<i> if (! cmpxchg mem(count),reg [ compare_to ] ) {
</I>&gt;<i> yeild(); // optional
</I>&gt;<i> goto try_again; =20
</I>&gt;<i> }=20
</I>&gt;<i>=20
</I>&gt;<i> When two threads collide, this looks like:
</I>&gt;<i> =20
</I>&gt;<i> thread1 thread2 mem(count)
</I>&gt;<i> reg =3D mem(count) reg =3D mem(count) 1
</I>&gt;<i> reg =3D reg+1 reg =3D reg+1 1
</I>&gt;<i> cmpxchg suceeds cmpxchg fails 2
</I>&gt;<i> ... reg =3D mem(count) 2
</I>&gt;<i> reg =3D reg+1 2
</I>&gt;<i> cmpxchg suceeds 3
</I>&gt;<i> ...
</I>&gt;<i>=20
</I>&gt;<i> No locking required.
</I>
Not really true. The cmpxchg (and other) will lock the CPU cache (or
cause a cache invalid signal to happen) on a x86. This causes serious
performance problems (it's better than a kernel lock but still..), the
CPU needs to refetch data into the cache again.
The biggest issue with the cache locking is that the performance hit
increases with the number of CPU:s. There is schemas to minimize the
locking for example building locks by using read and write operations
only (they are atomic on x86) and use a kernel lock when you need to
wait (spinning first).
Still, Paolo is right, reference counting is very expensive for
Multithreaded programs even if you use x86 specific helper functions.=20
(and another thing, the yield instruction is very important in that loop
if you want performance on a SMP box (use the PAUSE instruciton on the
new CPU:s))
Cheers,
Patrik Torstensson
=20
</PRE>
<!--endarticle-->
<HR>
<P><UL>
<!--threads-->
<LI> Previous message: <A HREF="000033.html">[Mono-gc-list] Fast allocation vs lightweight collection
</A></li>
<LI> Next message: <A HREF="000035.html">[Mono-gc-list] Fast allocation vs lightweight collection
</A></li>
<LI> <B>Messages sorted by:</B>
<a href="date.html#34">[ date ]</a>
<a href="thread.html#34">[ thread ]</a>
<a href="subject.html#34">[ subject ]</a>
<a href="author.html#34">[ author ]</a>
</LI>
</UL>
</body></html>

Просмотреть файл

@ -0,0 +1,89 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
<HTML>
<HEAD>
<TITLE> [Mono-gc-list] Fast allocation vs lightweight collection
</TITLE>
<LINK REL="Index" HREF="index.html" >
<LINK REL="made" HREF="mailto:jeske%40chat.net">
<META NAME="robots" CONTENT="index,nofollow">
<LINK REL="Previous" HREF="000034.html">
<LINK REL="Next" HREF="000036.html">
</HEAD>
<BODY BGCOLOR="#ffffff">
<H1>[Mono-gc-list] Fast allocation vs lightweight collection
</H1>
<B>David Jeske
</B>
<A HREF="mailto:jeske%40chat.net"
TITLE="[Mono-gc-list] Fast allocation vs lightweight collection">jeske@chat.net
</A><BR>
<I>Tue, 26 Aug 2003 01:19:03 -0700</I>
<P><UL>
<LI> Previous message: <A HREF="000034.html">[Mono-gc-list] Fast allocation vs lightweight collection
</A></li>
<LI> Next message: <A HREF="000036.html">[Mono-gc-list] Fast allocation vs lightweight collection
</A></li>
<LI> <B>Messages sorted by:</B>
<a href="date.html#35">[ date ]</a>
<a href="thread.html#35">[ thread ]</a>
<a href="subject.html#35">[ subject ]</a>
<a href="author.html#35">[ author ]</a>
</LI>
</UL>
<HR>
<!--beginarticle-->
<PRE>On Tue, Aug 26, 2003 at 08:59:02AM +0100, Torstensson, Patrik wrote:
&gt;<i> Not really true. The cmpxchg (and other) will lock the CPU cache (or
</I>&gt;<i> cause a cache invalid signal to happen) on a x86. This causes serious
</I>&gt;<i> performance problems
</I>
&gt;<i> (it's better than a kernel lock but still..)
</I>
That is quite an understatement. I don't have a manual handy to look
up the numbers, but my gut ballparks that the kernel context switch,
probable TLB flush, plus the cache invalidation which is required for
the kernel locks anyhow will come in at over 10x of the cost of L1/L2
cache invalidation alone in overall performance cost.
&gt;<i> Still, Paolo is right, reference counting is very expensive for
</I>&gt;<i> Multithreaded programs even if you use x86 specific helper functions.
</I>
I think we have a disagreement about what it means to be &quot;very
expensive&quot;. The 1 second worst case pause time of most &quot;modern&quot; GC
systems is very expensive to me. It usually means I can't write
software with them and have to resort to C, C++, or a ref-counted
system like Python. I don't mind a 10%, 20% or sometimes even 30%
performance hit, as long as it is spread evenly throughout the
program.
For me, ANY pausing scheme is &quot;very expensive&quot;, and ANY incremental
scheme with bounded worst-case pauses is acceptable.
Compared to other incremental schemes, reference counting adds some
cost to the mutator in exchange for greater throughput when memory is
being turned over quickly.
The write-barrier of a tri-color scheme is possibly less costly, but
yeilds more work for the incremental collector to do.
--
David Jeske (N9LCA) + <A HREF="http://www.chat.net/~jeske/">http://www.chat.net/~jeske/</A> + <A HREF="mailto:jeske@chat.net">jeske@chat.net</A>
</PRE>
<!--endarticle-->
<HR>
<P><UL>
<!--threads-->
<LI> Previous message: <A HREF="000034.html">[Mono-gc-list] Fast allocation vs lightweight collection
</A></li>
<LI> Next message: <A HREF="000036.html">[Mono-gc-list] Fast allocation vs lightweight collection
</A></li>
<LI> <B>Messages sorted by:</B>
<a href="date.html#35">[ date ]</a>
<a href="thread.html#35">[ thread ]</a>
<a href="subject.html#35">[ subject ]</a>
<a href="author.html#35">[ author ]</a>
</LI>
</UL>
</body></html>

Просмотреть файл

@ -0,0 +1,119 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
<HTML>
<HEAD>
<TITLE> [Mono-gc-list] Fast allocation vs lightweight collection
</TITLE>
<LINK REL="Index" HREF="index.html" >
<LINK REL="made" HREF="mailto:lupus%40ximian.com">
<META NAME="robots" CONTENT="index,nofollow">
<LINK REL="Previous" HREF="000035.html">
</HEAD>
<BODY BGCOLOR="#ffffff">
<H1>[Mono-gc-list] Fast allocation vs lightweight collection
</H1>
<B>Paolo Molaro
</B>
<A HREF="mailto:lupus%40ximian.com"
TITLE="[Mono-gc-list] Fast allocation vs lightweight collection">lupus@ximian.com
</A><BR>
<I>Thu, 28 Aug 2003 17:50:04 +0200</I>
<P><UL>
<LI> Previous message: <A HREF="000035.html">[Mono-gc-list] Fast allocation vs lightweight collection
</A></li>
<LI> <B>Messages sorted by:</B>
<a href="date.html#36">[ date ]</a>
<a href="thread.html#36">[ thread ]</a>
<a href="subject.html#36">[ subject ]</a>
<a href="author.html#36">[ author ]</a>
</LI>
</UL>
<HR>
<!--beginarticle-->
<PRE>On 08/26/03 David Jeske wrote:
&gt;<i> On Tue, Aug 26, 2003 at 08:59:02AM +0100, Torstensson, Patrik wrote:
</I>&gt;<i> &gt; Not really true. The cmpxchg (and other) will lock the CPU cache (or
</I>&gt;<i> &gt; cause a cache invalid signal to happen) on a x86. This causes serious
</I>&gt;<i> &gt; performance problems
</I>&gt;<i>
</I>&gt;<i> &gt; (it's better than a kernel lock but still..)
</I>&gt;<i>
</I>&gt;<i> That is quite an understatement. I don't have a manual handy to look
</I>&gt;<i> up the numbers, but my gut ballparks that the kernel context switch,
</I>&gt;<i> probable TLB flush, plus the cache invalidation which is required for
</I>&gt;<i> the kernel locks anyhow will come in at over 10x of the cost of L1/L2
</I>&gt;<i> cache invalidation alone in overall performance cost.
</I>
There is no need to go with kernel-based locks, a spinlock would be
sufficient if there are no suitable atomic instructions or sequences
available for a platform. Still, even if there isn't a function call
with 'lock' in the name, the atomic instructions are expensive
and they add up to the speed overhead that thread-unsafe reference
counting already has.
There is also branch prediction trashing before each inc/dec, since you
need to make sure the reference is not NULL.
&gt;<i> I think we have a disagreement about what it means to be &quot;very
</I>&gt;<i> expensive&quot;. The 1 second worst case pause time of most &quot;modern&quot; GC
</I>&gt;<i> systems is very expensive to me. It usually means I can't write
</I>&gt;<i> software with them and have to resort to C, C++, or a ref-counted
</I>&gt;<i> system like Python. I don't mind a 10%, 20% or sometimes even 30%
</I>&gt;<i> performance hit, as long as it is spread evenly throughout the
</I>&gt;<i> program.
</I>
Many disagree with you on the price people is willing to pay, but fear
not: this is free software and proving your point is just a SMOP:-)
You can start adding an integer counter to the MonoObject struct in
metadata/object.h and adding the proper atomic inc/dec instructions
whenever a reference is written or read.
&gt;<i> For me, ANY pausing scheme is &quot;very expensive&quot;, and ANY incremental
</I>&gt;<i> scheme with bounded worst-case pauses is acceptable.
</I>
I guess you mean unbounded? Reference counting can have unbounded delays
when deallocating, too, though I agree they can be more 'unlikely'.
&gt;<i> Compared to other incremental schemes, reference counting adds some
</I>&gt;<i> cost to the mutator in exchange for greater throughput when memory is
</I>&gt;<i> being turned over quickly.
</I>&gt;<i>
</I>&gt;<i> The write-barrier of a tri-color scheme is possibly less costly, but
</I>&gt;<i> yeilds more work for the incremental collector to do.
</I>
I think the first steps to do if we want to improve or experiment with
the GC in mono are these:
*) make sure we can identify precisely all and only the managed
pointers, in the heap, the stack and the registers. This alone is a big
task. A tweaked libgc that moves the objects around randomly at each
collection can help to shake out the bugs.
*) define an interface for pluggable GCs, so that anyone can get to
experiment with thier preferred GC model.
As I see it, implementing the actual GC algorithm is the easy part
and can only be done after the first step is accomplished.
lupus
--
-----------------------------------------------------------------
<A HREF="mailto:lupus@debian.org">lupus@debian.org</A> debian/rules
<A HREF="mailto:lupus@ximian.com">lupus@ximian.com</A> Monkeys do it better
</PRE>
<!--endarticle-->
<HR>
<P><UL>
<!--threads-->
<LI> Previous message: <A HREF="000035.html">[Mono-gc-list] Fast allocation vs lightweight collection
</A></li>
<LI> <B>Messages sorted by:</B>
<a href="date.html#36">[ date ]</a>
<a href="thread.html#36">[ thread ]</a>
<a href="subject.html#36">[ subject ]</a>
<a href="author.html#36">[ author ]</a>
</LI>
</UL>
</body></html>

Просмотреть файл

@ -0,0 +1,151 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
<HTML>
<HEAD>
<title>The Mono-gc-list 2003-August Archive by Author</title>
<META NAME="robots" CONTENT="noindex,follow">
</HEAD>
<BODY BGCOLOR="#ffffff">
<a name="start"></A>
<h1>2003-August Archives by Author</h1>
<ul>
<li> <b>Messages sorted by:</b>
<a href="thread.html#start">[ thread ]</a>
<a href="subject.html#start">[ subject ]</a>
<a href="date.html#start">[ date ]</a>
<li><b><a href="http://lists.ximian.com/mailman/listinfo/mono-gc-list">More info on this list...
</a></b></li>
</ul>
<p><b>Starting:</b> <i>Tue Aug 12 09:56:40 2003</i><br>
<b>Ending:</b> <i>Thu Aug 28 16:50:04 2003</i><br>
<b>Messages:</b> 26<p>
<ul>
<LI><A HREF="000030.html">[Mono-gc-list] Fast allocation vs lightweight collection
</A><A NAME="30">&nbsp;</A>
<I>Michel Dagenais
</I>
<LI><A HREF="000011.html">[Mono-gc-list] Copying or Mark-Compact collector?
</A><A NAME="11">&nbsp;</A>
<I>Fernando Diaz
</I>
<LI><A HREF="000013.html">[Mono-gc-list] Copying or Mark-Compact collector?
</A><A NAME="13">&nbsp;</A>
<I>Fernando Diaz
</I>
<LI><A HREF="000014.html">[Mono-gc-list] My arguments
</A><A NAME="14">&nbsp;</A>
<I>Fernando Diaz
</I>
<LI><A HREF="000020.html">[Mono-gc-list] My arguments
</A><A NAME="20">&nbsp;</A>
<I>Fernando Diaz
</I>
<LI><A HREF="000023.html">[Mono-gc-list] My arguments
</A><A NAME="23">&nbsp;</A>
<I>Fernando Diaz
</I>
<LI><A HREF="000025.html">[Mono-gc-list] Pinned objects
</A><A NAME="25">&nbsp;</A>
<I>Fernando Diaz
</I>
<LI><A HREF="000028.html">[Mono-gc-list] Fast allocation vs lightweight collection
</A><A NAME="28">&nbsp;</A>
<I>Fernando Diaz
</I>
<LI><A HREF="000015.html">[Mono-gc-list] My arguments
</A><A NAME="15">&nbsp;</A>
<I>Fergus Henderson
</I>
<LI><A HREF="000018.html">[Mono-gc-list] My arguments
</A><A NAME="18">&nbsp;</A>
<I>Fergus Henderson
</I>
<LI><A HREF="000021.html">[Mono-gc-list] My arguments
</A><A NAME="21">&nbsp;</A>
<I>Fergus Henderson
</I>
<LI><A HREF="000016.html">[Mono-gc-list] Copying or Mark-Compact collector?
</A><A NAME="16">&nbsp;</A>
<I>David Jeske
</I>
<LI><A HREF="000017.html">[Mono-gc-list] My arguments
</A><A NAME="17">&nbsp;</A>
<I>David Jeske
</I>
<LI><A HREF="000019.html">[Mono-gc-list] My arguments
</A><A NAME="19">&nbsp;</A>
<I>David Jeske
</I>
<LI><A HREF="000024.html">[Mono-gc-list] My arguments
</A><A NAME="24">&nbsp;</A>
<I>David Jeske
</I>
<LI><A HREF="000027.html">[Mono-gc-list] Pinned objects
</A><A NAME="27">&nbsp;</A>
<I>David Jeske
</I>
<LI><A HREF="000029.html">[Mono-gc-list] Fast allocation vs lightweight collection
</A><A NAME="29">&nbsp;</A>
<I>David Jeske
</I>
<LI><A HREF="000031.html">[Mono-gc-list] Fast allocation vs lightweight collection
</A><A NAME="31">&nbsp;</A>
<I>David Jeske
</I>
<LI><A HREF="000033.html">[Mono-gc-list] Fast allocation vs lightweight collection
</A><A NAME="33">&nbsp;</A>
<I>David Jeske
</I>
<LI><A HREF="000035.html">[Mono-gc-list] Fast allocation vs lightweight collection
</A><A NAME="35">&nbsp;</A>
<I>David Jeske
</I>
<LI><A HREF="000022.html">[Mono-gc-list] My arguments
</A><A NAME="22">&nbsp;</A>
<I>Paolo Molaro
</I>
<LI><A HREF="000026.html">[Mono-gc-list] Pinned objects
</A><A NAME="26">&nbsp;</A>
<I>Paolo Molaro
</I>
<LI><A HREF="000032.html">[Mono-gc-list] Fast allocation vs lightweight collection
</A><A NAME="32">&nbsp;</A>
<I>Paolo Molaro
</I>
<LI><A HREF="000036.html">[Mono-gc-list] Fast allocation vs lightweight collection
</A><A NAME="36">&nbsp;</A>
<I>Paolo Molaro
</I>
<LI><A HREF="000012.html">[Mono-gc-list] Copying or Mark-Compact collector?
</A><A NAME="12">&nbsp;</A>
<I>Dick Porter
</I>
<LI><A HREF="000034.html">[Mono-gc-list] Fast allocation vs lightweight collection
</A><A NAME="34">&nbsp;</A>
<I>Torstensson, Patrik
</I>
</ul>
<p>
<a name="end"><b>Last message date:</b></a>
<i>Thu Aug 28 16:50:04 2003</i><br>
<b>Archived on:</b> <i>Thu Aug 28 11:48:07 2003</i>
<p>
<ul>
<li> <b>Messages sorted by:</b>
<a href="thread.html#start">[ thread ]</a>
<a href="subject.html#start">[ subject ]</a>
<a href="date.html#start">[ date ]</a>
<li><b><a href="http://lists.ximian.com/mailman/listinfo/mono-gc-list">More info on this list...
</a></b></li>
</ul>
<p>
<hr>
<i>This archive was generated by
Pipermail 0.05 (Mailman edition).</i>
</BODY>
</HTML>

Просмотреть файл

@ -0,0 +1,151 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
<HTML>
<HEAD>
<title>The Mono-gc-list 2003-August Archive by Date</title>
<META NAME="robots" CONTENT="noindex,follow">
</HEAD>
<BODY BGCOLOR="#ffffff">
<a name="start"></A>
<h1>2003-August Archives by Date</h1>
<ul>
<li> <b>Messages sorted by:</b>
<a href="thread.html#start">[ thread ]</a>
<a href="subject.html#start">[ subject ]</a>
<a href="author.html#start">[ author ]</a>
<li><b><a href="http://lists.ximian.com/mailman/listinfo/mono-gc-list">More info on this list...
</a></b></li>
</ul>
<p><b>Starting:</b> <i>Tue Aug 12 09:56:40 2003</i><br>
<b>Ending:</b> <i>Thu Aug 28 16:50:04 2003</i><br>
<b>Messages:</b> 26<p>
<ul>
<LI><A HREF="000011.html">[Mono-gc-list] Copying or Mark-Compact collector?
</A><A NAME="11">&nbsp;</A>
<I>Fernando Diaz
</I>
<LI><A HREF="000012.html">[Mono-gc-list] Copying or Mark-Compact collector?
</A><A NAME="12">&nbsp;</A>
<I>Dick Porter
</I>
<LI><A HREF="000013.html">[Mono-gc-list] Copying or Mark-Compact collector?
</A><A NAME="13">&nbsp;</A>
<I>Fernando Diaz
</I>
<LI><A HREF="000014.html">[Mono-gc-list] My arguments
</A><A NAME="14">&nbsp;</A>
<I>Fernando Diaz
</I>
<LI><A HREF="000015.html">[Mono-gc-list] My arguments
</A><A NAME="15">&nbsp;</A>
<I>Fergus Henderson
</I>
<LI><A HREF="000016.html">[Mono-gc-list] Copying or Mark-Compact collector?
</A><A NAME="16">&nbsp;</A>
<I>David Jeske
</I>
<LI><A HREF="000017.html">[Mono-gc-list] My arguments
</A><A NAME="17">&nbsp;</A>
<I>David Jeske
</I>
<LI><A HREF="000018.html">[Mono-gc-list] My arguments
</A><A NAME="18">&nbsp;</A>
<I>Fergus Henderson
</I>
<LI><A HREF="000019.html">[Mono-gc-list] My arguments
</A><A NAME="19">&nbsp;</A>
<I>David Jeske
</I>
<LI><A HREF="000020.html">[Mono-gc-list] My arguments
</A><A NAME="20">&nbsp;</A>
<I>Fernando Diaz
</I>
<LI><A HREF="000021.html">[Mono-gc-list] My arguments
</A><A NAME="21">&nbsp;</A>
<I>Fergus Henderson
</I>
<LI><A HREF="000022.html">[Mono-gc-list] My arguments
</A><A NAME="22">&nbsp;</A>
<I>Paolo Molaro
</I>
<LI><A HREF="000023.html">[Mono-gc-list] My arguments
</A><A NAME="23">&nbsp;</A>
<I>Fernando Diaz
</I>
<LI><A HREF="000024.html">[Mono-gc-list] My arguments
</A><A NAME="24">&nbsp;</A>
<I>David Jeske
</I>
<LI><A HREF="000025.html">[Mono-gc-list] Pinned objects
</A><A NAME="25">&nbsp;</A>
<I>Fernando Diaz
</I>
<LI><A HREF="000026.html">[Mono-gc-list] Pinned objects
</A><A NAME="26">&nbsp;</A>
<I>Paolo Molaro
</I>
<LI><A HREF="000027.html">[Mono-gc-list] Pinned objects
</A><A NAME="27">&nbsp;</A>
<I>David Jeske
</I>
<LI><A HREF="000028.html">[Mono-gc-list] Fast allocation vs lightweight collection
</A><A NAME="28">&nbsp;</A>
<I>Fernando Diaz
</I>
<LI><A HREF="000029.html">[Mono-gc-list] Fast allocation vs lightweight collection
</A><A NAME="29">&nbsp;</A>
<I>David Jeske
</I>
<LI><A HREF="000031.html">[Mono-gc-list] Fast allocation vs lightweight collection
</A><A NAME="31">&nbsp;</A>
<I>David Jeske
</I>
<LI><A HREF="000030.html">[Mono-gc-list] Fast allocation vs lightweight collection
</A><A NAME="30">&nbsp;</A>
<I>Michel Dagenais
</I>
<LI><A HREF="000032.html">[Mono-gc-list] Fast allocation vs lightweight collection
</A><A NAME="32">&nbsp;</A>
<I>Paolo Molaro
</I>
<LI><A HREF="000033.html">[Mono-gc-list] Fast allocation vs lightweight collection
</A><A NAME="33">&nbsp;</A>
<I>David Jeske
</I>
<LI><A HREF="000034.html">[Mono-gc-list] Fast allocation vs lightweight collection
</A><A NAME="34">&nbsp;</A>
<I>Torstensson, Patrik
</I>
<LI><A HREF="000035.html">[Mono-gc-list] Fast allocation vs lightweight collection
</A><A NAME="35">&nbsp;</A>
<I>David Jeske
</I>
<LI><A HREF="000036.html">[Mono-gc-list] Fast allocation vs lightweight collection
</A><A NAME="36">&nbsp;</A>
<I>Paolo Molaro
</I>
</ul>
<p>
<a name="end"><b>Last message date:</b></a>
<i>Thu Aug 28 16:50:04 2003</i><br>
<b>Archived on:</b> <i>Thu Aug 28 11:48:07 2003</i>
<p>
<ul>
<li> <b>Messages sorted by:</b>
<a href="thread.html#start">[ thread ]</a>
<a href="subject.html#start">[ subject ]</a>
<a href="author.html#start">[ author ]</a>
<li><b><a href="http://lists.ximian.com/mailman/listinfo/mono-gc-list">More info on this list...
</a></b></li>
</ul>
<p>
<hr>
<i>This archive was generated by
Pipermail 0.05 (Mailman edition).</i>
</BODY>
</HTML>

Просмотреть файл

@ -0,0 +1,199 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
<HTML>
<HEAD>
<title>The Mono-gc-list 2003-August Archive by Thread</title>
<META NAME="robots" CONTENT="noindex,follow">
</HEAD>
<BODY BGCOLOR="#ffffff">
<a name="start"></A>
<h1>2003-August Archives by Thread</h1>
<ul>
<li> <b>Messages sorted by:</b>
<a href="subject.html#start">[ subject ]</a>
<a href="author.html#start">[ author ]</a>
<a href="date.html#start">[ date ]</a>
<li><b><a href="http://lists.ximian.com/mailman/listinfo/mono-gc-list">More info on this list...
</a></b></li>
</ul>
<p><b>Starting:</b> <i>Tue Aug 12 09:56:40 2003</i><br>
<b>Ending:</b> <i>Thu Aug 28 16:50:04 2003</i><br>
<b>Messages:</b> 26<p>
<ul>
<!--0 01060696600- -->
<LI><A HREF="000011.html">[Mono-gc-list] Copying or Mark-Compact collector?
</A><A NAME="11">&nbsp;</A>
<I>Fernando Diaz
</I>
<UL>
<!--1 01060696600-01060700904- -->
<LI><A HREF="000012.html">[Mono-gc-list] Copying or Mark-Compact collector?
</A><A NAME="12">&nbsp;</A>
<I>Dick Porter
</I>
<UL>
<!--2 01060696600-01060700904-01060702710- -->
<LI><A HREF="000013.html">[Mono-gc-list] Copying or Mark-Compact collector?
</A><A NAME="13">&nbsp;</A>
<I>Fernando Diaz
</I>
</UL>
<!--1 01060696600-01060736487- -->
<LI><A HREF="000016.html">[Mono-gc-list] Copying or Mark-Compact collector?
</A><A NAME="16">&nbsp;</A>
<I>David Jeske
</I>
</UL>
<!--0 01060705293- -->
<LI><A HREF="000014.html">[Mono-gc-list] My arguments
</A><A NAME="14">&nbsp;</A>
<I>Fernando Diaz
</I>
<UL>
<!--1 01060705293-01060710801- -->
<LI><A HREF="000015.html">[Mono-gc-list] My arguments
</A><A NAME="15">&nbsp;</A>
<I>Fergus Henderson
</I>
<!--1 01060705293-01060739670- -->
<LI><A HREF="000017.html">[Mono-gc-list] My arguments
</A><A NAME="17">&nbsp;</A>
<I>David Jeske
</I>
<UL>
<!--2 01060705293-01060739670-01060771469- -->
<LI><A HREF="000018.html">[Mono-gc-list] My arguments
</A><A NAME="18">&nbsp;</A>
<I>Fergus Henderson
</I>
<UL>
<!--3 01060705293-01060739670-01060771469-01060776310- -->
<LI><A HREF="000019.html">[Mono-gc-list] My arguments
</A><A NAME="19">&nbsp;</A>
<I>David Jeske
</I>
<!--3 01060705293-01060739670-01060771469-01060776310-01060782984- -->
<LI><A HREF="000020.html">[Mono-gc-list] My arguments
</A><A NAME="20">&nbsp;</A>
<I>Fernando Diaz
</I>
<!--3 01060705293-01060739670-01060771469-01060776310-01060782984-01060784548- -->
<LI><A HREF="000021.html">[Mono-gc-list] My arguments
</A><A NAME="21">&nbsp;</A>
<I>Fergus Henderson
</I>
<!--3 01060705293-01060739670-01060771469-01060776310-01060782984-01060784548-01060793182- -->
<LI><A HREF="000023.html">[Mono-gc-list] My arguments
</A><A NAME="23">&nbsp;</A>
<I>Fernando Diaz
</I>
<!--3 01060705293-01060739670-01060771469-01060776310-01060782984-01060784548-01060793182-01060828024- -->
<LI><A HREF="000024.html">[Mono-gc-list] My arguments
</A><A NAME="24">&nbsp;</A>
<I>David Jeske
</I>
<!--3 01060705293-01060739670-01060771469-01060787943- -->
<LI><A HREF="000022.html">[Mono-gc-list] My arguments
</A><A NAME="22">&nbsp;</A>
<I>Paolo Molaro
</I>
</UL>
</UL>
</UL>
<!--0 01060877825- -->
<LI><A HREF="000025.html">[Mono-gc-list] Pinned objects
</A><A NAME="25">&nbsp;</A>
<I>Fernando Diaz
</I>
<UL>
<!--1 01060877825-01060959122- -->
<LI><A HREF="000026.html">[Mono-gc-list] Pinned objects
</A><A NAME="26">&nbsp;</A>
<I>Paolo Molaro
</I>
<!--1 01060877825-01060987827- -->
<LI><A HREF="000027.html">[Mono-gc-list] Pinned objects
</A><A NAME="27">&nbsp;</A>
<I>David Jeske
</I>
</UL>
<!--0 01061300842- -->
<LI><A HREF="000028.html">[Mono-gc-list] Fast allocation vs lightweight collection
</A><A NAME="28">&nbsp;</A>
<I>Fernando Diaz
</I>
<UL>
<!--1 01061300842-01061366288- -->
<LI><A HREF="000029.html">[Mono-gc-list] Fast allocation vs lightweight collection
</A><A NAME="29">&nbsp;</A>
<I>David Jeske
</I>
<UL>
<!--2 01061300842-01061366288-01061847228- -->
<LI><A HREF="000030.html">[Mono-gc-list] Fast allocation vs lightweight collection
</A><A NAME="30">&nbsp;</A>
<I>Michel Dagenais
</I>
<UL>
<!--3 01061300842-01061366288-01061847228-01061846399- -->
<LI><A HREF="000031.html">[Mono-gc-list] Fast allocation vs lightweight collection
</A><A NAME="31">&nbsp;</A>
<I>David Jeske
</I>
<!--3 01061300842-01061366288-01061847228-01061846399-01061849547- -->
<LI><A HREF="000032.html">[Mono-gc-list] Fast allocation vs lightweight collection
</A><A NAME="32">&nbsp;</A>
<I>Paolo Molaro
</I>
<!--3 01061300842-01061366288-01061847228-01061846399-01061849547-01061860531- -->
<LI><A HREF="000033.html">[Mono-gc-list] Fast allocation vs lightweight collection
</A><A NAME="33">&nbsp;</A>
<I>David Jeske
</I>
</UL>
</UL>
</UL>
<!--0 01061902742- -->
<LI><A HREF="000034.html">[Mono-gc-list] Fast allocation vs lightweight collection
</A><A NAME="34">&nbsp;</A>
<I>Torstensson, Patrik
</I>
<UL>
<!--1 01061902742-01061903943- -->
<LI><A HREF="000035.html">[Mono-gc-list] Fast allocation vs lightweight collection
</A><A NAME="35">&nbsp;</A>
<I>David Jeske
</I>
<UL>
<!--2 01061902742-01061903943-01062103804- -->
<LI><A HREF="000036.html">[Mono-gc-list] Fast allocation vs lightweight collection
</A><A NAME="36">&nbsp;</A>
<I>Paolo Molaro
</I>
</UL>
</UL>
</ul>
<p>
<a name="end"><b>Last message date:</b></a>
<i>Thu Aug 28 16:50:04 2003</i><br>
<b>Archived on:</b> <i>Thu Aug 28 11:48:07 2003</i>
<p>
<ul>
<li> <b>Messages sorted by:</b>
<a href="subject.html#start">[ subject ]</a>
<a href="author.html#start">[ author ]</a>
<a href="date.html#start">[ date ]</a>
<li><b><a href="http://lists.ximian.com/mailman/listinfo/mono-gc-list">More info on this list...
</a></b></li>
</ul>
<p>
<hr>
<i>This archive was generated by
Pipermail 0.05 (Mailman edition).</i>
</BODY>
</HTML>

Просмотреть файл

@ -0,0 +1,151 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
<HTML>
<HEAD>
<title>The Mono-gc-list 2003-August Archive by Subject</title>
<META NAME="robots" CONTENT="noindex,follow">
</HEAD>
<BODY BGCOLOR="#ffffff">
<a name="start"></A>
<h1>2003-August Archives by Subject</h1>
<ul>
<li> <b>Messages sorted by:</b>
<a href="thread.html#start">[ thread ]</a>
<a href="author.html#start">[ author ]</a>
<a href="date.html#start">[ date ]</a>
<li><b><a href="http://lists.ximian.com/mailman/listinfo/mono-gc-list">More info on this list...
</a></b></li>
</ul>
<p><b>Starting:</b> <i>Tue Aug 12 09:56:40 2003</i><br>
<b>Ending:</b> <i>Thu Aug 28 16:50:04 2003</i><br>
<b>Messages:</b> 26<p>
<ul>
<LI><A HREF="000011.html">[Mono-gc-list] Copying or Mark-Compact collector?
</A><A NAME="11">&nbsp;</A>
<I>Fernando Diaz
</I>
<LI><A HREF="000012.html">[Mono-gc-list] Copying or Mark-Compact collector?
</A><A NAME="12">&nbsp;</A>
<I>Dick Porter
</I>
<LI><A HREF="000013.html">[Mono-gc-list] Copying or Mark-Compact collector?
</A><A NAME="13">&nbsp;</A>
<I>Fernando Diaz
</I>
<LI><A HREF="000016.html">[Mono-gc-list] Copying or Mark-Compact collector?
</A><A NAME="16">&nbsp;</A>
<I>David Jeske
</I>
<LI><A HREF="000028.html">[Mono-gc-list] Fast allocation vs lightweight collection
</A><A NAME="28">&nbsp;</A>
<I>Fernando Diaz
</I>
<LI><A HREF="000029.html">[Mono-gc-list] Fast allocation vs lightweight collection
</A><A NAME="29">&nbsp;</A>
<I>David Jeske
</I>
<LI><A HREF="000031.html">[Mono-gc-list] Fast allocation vs lightweight collection
</A><A NAME="31">&nbsp;</A>
<I>David Jeske
</I>
<LI><A HREF="000030.html">[Mono-gc-list] Fast allocation vs lightweight collection
</A><A NAME="30">&nbsp;</A>
<I>Michel Dagenais
</I>
<LI><A HREF="000032.html">[Mono-gc-list] Fast allocation vs lightweight collection
</A><A NAME="32">&nbsp;</A>
<I>Paolo Molaro
</I>
<LI><A HREF="000033.html">[Mono-gc-list] Fast allocation vs lightweight collection
</A><A NAME="33">&nbsp;</A>
<I>David Jeske
</I>
<LI><A HREF="000034.html">[Mono-gc-list] Fast allocation vs lightweight collection
</A><A NAME="34">&nbsp;</A>
<I>Torstensson, Patrik
</I>
<LI><A HREF="000035.html">[Mono-gc-list] Fast allocation vs lightweight collection
</A><A NAME="35">&nbsp;</A>
<I>David Jeske
</I>
<LI><A HREF="000036.html">[Mono-gc-list] Fast allocation vs lightweight collection
</A><A NAME="36">&nbsp;</A>
<I>Paolo Molaro
</I>
<LI><A HREF="000014.html">[Mono-gc-list] My arguments
</A><A NAME="14">&nbsp;</A>
<I>Fernando Diaz
</I>
<LI><A HREF="000015.html">[Mono-gc-list] My arguments
</A><A NAME="15">&nbsp;</A>
<I>Fergus Henderson
</I>
<LI><A HREF="000017.html">[Mono-gc-list] My arguments
</A><A NAME="17">&nbsp;</A>
<I>David Jeske
</I>
<LI><A HREF="000018.html">[Mono-gc-list] My arguments
</A><A NAME="18">&nbsp;</A>
<I>Fergus Henderson
</I>
<LI><A HREF="000019.html">[Mono-gc-list] My arguments
</A><A NAME="19">&nbsp;</A>
<I>David Jeske
</I>
<LI><A HREF="000020.html">[Mono-gc-list] My arguments
</A><A NAME="20">&nbsp;</A>
<I>Fernando Diaz
</I>
<LI><A HREF="000021.html">[Mono-gc-list] My arguments
</A><A NAME="21">&nbsp;</A>
<I>Fergus Henderson
</I>
<LI><A HREF="000022.html">[Mono-gc-list] My arguments
</A><A NAME="22">&nbsp;</A>
<I>Paolo Molaro
</I>
<LI><A HREF="000023.html">[Mono-gc-list] My arguments
</A><A NAME="23">&nbsp;</A>
<I>Fernando Diaz
</I>
<LI><A HREF="000024.html">[Mono-gc-list] My arguments
</A><A NAME="24">&nbsp;</A>
<I>David Jeske
</I>
<LI><A HREF="000025.html">[Mono-gc-list] Pinned objects
</A><A NAME="25">&nbsp;</A>
<I>Fernando Diaz
</I>
<LI><A HREF="000026.html">[Mono-gc-list] Pinned objects
</A><A NAME="26">&nbsp;</A>
<I>Paolo Molaro
</I>
<LI><A HREF="000027.html">[Mono-gc-list] Pinned objects
</A><A NAME="27">&nbsp;</A>
<I>David Jeske
</I>
</ul>
<p>
<a name="end"><b>Last message date:</b></a>
<i>Thu Aug 28 16:50:04 2003</i><br>
<b>Archived on:</b> <i>Thu Aug 28 11:48:07 2003</i>
<p>
<ul>
<li> <b>Messages sorted by:</b>
<a href="thread.html#start">[ thread ]</a>
<a href="author.html#start">[ author ]</a>
<a href="date.html#start">[ date ]</a>
<li><b><a href="http://lists.ximian.com/mailman/listinfo/mono-gc-list">More info on this list...
</a></b></li>
</ul>
<p>
<hr>
<i>This archive was generated by
Pipermail 0.05 (Mailman edition).</i>
</BODY>
</HTML>

Просмотреть файл

@ -0,0 +1,199 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
<HTML>
<HEAD>
<title>The Mono-gc-list 2003-August Archive by Thread</title>
<META NAME="robots" CONTENT="noindex,follow">
</HEAD>
<BODY BGCOLOR="#ffffff">
<a name="start"></A>
<h1>2003-August Archives by Thread</h1>
<ul>
<li> <b>Messages sorted by:</b>
<a href="subject.html#start">[ subject ]</a>
<a href="author.html#start">[ author ]</a>
<a href="date.html#start">[ date ]</a>
<li><b><a href="http://lists.ximian.com/mailman/listinfo/mono-gc-list">More info on this list...
</a></b></li>
</ul>
<p><b>Starting:</b> <i>Tue Aug 12 09:56:40 2003</i><br>
<b>Ending:</b> <i>Thu Aug 28 16:50:04 2003</i><br>
<b>Messages:</b> 26<p>
<ul>
<!--0 01060696600- -->
<LI><A HREF="000011.html">[Mono-gc-list] Copying or Mark-Compact collector?
</A><A NAME="11">&nbsp;</A>
<I>Fernando Diaz
</I>
<UL>
<!--1 01060696600-01060700904- -->
<LI><A HREF="000012.html">[Mono-gc-list] Copying or Mark-Compact collector?
</A><A NAME="12">&nbsp;</A>
<I>Dick Porter
</I>
<UL>
<!--2 01060696600-01060700904-01060702710- -->
<LI><A HREF="000013.html">[Mono-gc-list] Copying or Mark-Compact collector?
</A><A NAME="13">&nbsp;</A>
<I>Fernando Diaz
</I>
</UL>
<!--1 01060696600-01060736487- -->
<LI><A HREF="000016.html">[Mono-gc-list] Copying or Mark-Compact collector?
</A><A NAME="16">&nbsp;</A>
<I>David Jeske
</I>
</UL>
<!--0 01060705293- -->
<LI><A HREF="000014.html">[Mono-gc-list] My arguments
</A><A NAME="14">&nbsp;</A>
<I>Fernando Diaz
</I>
<UL>
<!--1 01060705293-01060710801- -->
<LI><A HREF="000015.html">[Mono-gc-list] My arguments
</A><A NAME="15">&nbsp;</A>
<I>Fergus Henderson
</I>
<!--1 01060705293-01060739670- -->
<LI><A HREF="000017.html">[Mono-gc-list] My arguments
</A><A NAME="17">&nbsp;</A>
<I>David Jeske
</I>
<UL>
<!--2 01060705293-01060739670-01060771469- -->
<LI><A HREF="000018.html">[Mono-gc-list] My arguments
</A><A NAME="18">&nbsp;</A>
<I>Fergus Henderson
</I>
<UL>
<!--3 01060705293-01060739670-01060771469-01060776310- -->
<LI><A HREF="000019.html">[Mono-gc-list] My arguments
</A><A NAME="19">&nbsp;</A>
<I>David Jeske
</I>
<!--3 01060705293-01060739670-01060771469-01060776310-01060782984- -->
<LI><A HREF="000020.html">[Mono-gc-list] My arguments
</A><A NAME="20">&nbsp;</A>
<I>Fernando Diaz
</I>
<!--3 01060705293-01060739670-01060771469-01060776310-01060782984-01060784548- -->
<LI><A HREF="000021.html">[Mono-gc-list] My arguments
</A><A NAME="21">&nbsp;</A>
<I>Fergus Henderson
</I>
<!--3 01060705293-01060739670-01060771469-01060776310-01060782984-01060784548-01060793182- -->
<LI><A HREF="000023.html">[Mono-gc-list] My arguments
</A><A NAME="23">&nbsp;</A>
<I>Fernando Diaz
</I>
<!--3 01060705293-01060739670-01060771469-01060776310-01060782984-01060784548-01060793182-01060828024- -->
<LI><A HREF="000024.html">[Mono-gc-list] My arguments
</A><A NAME="24">&nbsp;</A>
<I>David Jeske
</I>
<!--3 01060705293-01060739670-01060771469-01060787943- -->
<LI><A HREF="000022.html">[Mono-gc-list] My arguments
</A><A NAME="22">&nbsp;</A>
<I>Paolo Molaro
</I>
</UL>
</UL>
</UL>
<!--0 01060877825- -->
<LI><A HREF="000025.html">[Mono-gc-list] Pinned objects
</A><A NAME="25">&nbsp;</A>
<I>Fernando Diaz
</I>
<UL>
<!--1 01060877825-01060959122- -->
<LI><A HREF="000026.html">[Mono-gc-list] Pinned objects
</A><A NAME="26">&nbsp;</A>
<I>Paolo Molaro
</I>
<!--1 01060877825-01060987827- -->
<LI><A HREF="000027.html">[Mono-gc-list] Pinned objects
</A><A NAME="27">&nbsp;</A>
<I>David Jeske
</I>
</UL>
<!--0 01061300842- -->
<LI><A HREF="000028.html">[Mono-gc-list] Fast allocation vs lightweight collection
</A><A NAME="28">&nbsp;</A>
<I>Fernando Diaz
</I>
<UL>
<!--1 01061300842-01061366288- -->
<LI><A HREF="000029.html">[Mono-gc-list] Fast allocation vs lightweight collection
</A><A NAME="29">&nbsp;</A>
<I>David Jeske
</I>
<UL>
<!--2 01061300842-01061366288-01061847228- -->
<LI><A HREF="000030.html">[Mono-gc-list] Fast allocation vs lightweight collection
</A><A NAME="30">&nbsp;</A>
<I>Michel Dagenais
</I>
<UL>
<!--3 01061300842-01061366288-01061847228-01061846399- -->
<LI><A HREF="000031.html">[Mono-gc-list] Fast allocation vs lightweight collection
</A><A NAME="31">&nbsp;</A>
<I>David Jeske
</I>
<!--3 01061300842-01061366288-01061847228-01061846399-01061849547- -->
<LI><A HREF="000032.html">[Mono-gc-list] Fast allocation vs lightweight collection
</A><A NAME="32">&nbsp;</A>
<I>Paolo Molaro
</I>
<!--3 01061300842-01061366288-01061847228-01061846399-01061849547-01061860531- -->
<LI><A HREF="000033.html">[Mono-gc-list] Fast allocation vs lightweight collection
</A><A NAME="33">&nbsp;</A>
<I>David Jeske
</I>
</UL>
</UL>
</UL>
<!--0 01061902742- -->
<LI><A HREF="000034.html">[Mono-gc-list] Fast allocation vs lightweight collection
</A><A NAME="34">&nbsp;</A>
<I>Torstensson, Patrik
</I>
<UL>
<!--1 01061902742-01061903943- -->
<LI><A HREF="000035.html">[Mono-gc-list] Fast allocation vs lightweight collection
</A><A NAME="35">&nbsp;</A>
<I>David Jeske
</I>
<UL>
<!--2 01061902742-01061903943-01062103804- -->
<LI><A HREF="000036.html">[Mono-gc-list] Fast allocation vs lightweight collection
</A><A NAME="36">&nbsp;</A>
<I>Paolo Molaro
</I>
</UL>
</UL>
</ul>
<p>
<a name="end"><b>Last message date:</b></a>
<i>Thu Aug 28 16:50:04 2003</i><br>
<b>Archived on:</b> <i>Thu Aug 28 11:48:07 2003</i>
<p>
<ul>
<li> <b>Messages sorted by:</b>
<a href="subject.html#start">[ subject ]</a>
<a href="author.html#start">[ author ]</a>
<a href="date.html#start">[ date ]</a>
<li><b><a href="http://lists.ximian.com/mailman/listinfo/mono-gc-list">More info on this list...
</a></b></li>
</ul>
<p>
<hr>
<i>This archive was generated by
Pipermail 0.05 (Mailman edition).</i>
</BODY>
</HTML>

Просмотреть файл

@ -0,0 +1,58 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
<HTML>
<HEAD>
<TITLE> [Mono-gc-list] Interface del runtime de mono con el recolector
</TITLE>
<LINK REL="Index" HREF="index.html" >
<LINK REL="made" HREF="mailto:fdiaz%40igalia.com">
<META NAME="robots" CONTENT="index,nofollow">
<LINK REL="Next" HREF="000003.html">
</HEAD>
<BODY BGCOLOR="#ffffff">
<H1>[Mono-gc-list] Interface del runtime de mono con el recolector
</H1>
<B>Fernando Diaz
</B>
<A HREF="mailto:fdiaz%40igalia.com"
TITLE="[Mono-gc-list] Interface del runtime de mono con el recolector">fdiaz@igalia.com
</A><BR>
<I>17 Jul 2003 10:59:55 +0200</I>
<P><UL>
<LI> Next message: <A HREF="000003.html">[Mono-gc-list] Interface del runtime de mono con el recolector
</A></li>
<LI> <B>Messages sorted by:</B>
<a href="date.html#2">[ date ]</a>
<a href="thread.html#2">[ thread ]</a>
<a href="subject.html#2">[ subject ]</a>
<a href="author.html#2">[ author ]</a>
</LI>
</UL>
<HR>
<!--beginarticle-->
<PRE>Hola, mi nombre es Fernando y estoy haciendo un estudio sobre la
recolecci=F3n de basuras en mono. Me gustar=EDa saber si alguno tiene
informaci=F3n sobre la interface que usa mono con el recolector de Boehm y
sobre la informaci=F3n de los objetos de la que puede disponer el
recolector.
Saludos. Fernando.
</PRE>
<!--endarticle-->
<HR>
<P><UL>
<!--threads-->
<LI> Next message: <A HREF="000003.html">[Mono-gc-list] Interface del runtime de mono con el recolector
</A></li>
<LI> <B>Messages sorted by:</B>
<a href="date.html#2">[ date ]</a>
<a href="thread.html#2">[ thread ]</a>
<a href="subject.html#2">[ subject ]</a>
<a href="author.html#2">[ author ]</a>
</LI>
</UL>
</body></html>

Просмотреть файл

@ -0,0 +1,81 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
<HTML>
<HEAD>
<TITLE> [Mono-gc-list] Interface del runtime de mono con el recolector
</TITLE>
<LINK REL="Index" HREF="index.html" >
<LINK REL="made" HREF="mailto:dick%40ximian.com">
<META NAME="robots" CONTENT="index,nofollow">
<LINK REL="Previous" HREF="000002.html">
<LINK REL="Next" HREF="000004.html">
</HEAD>
<BODY BGCOLOR="#ffffff">
<H1>[Mono-gc-list] Interface del runtime de mono con el recolector
</H1>
<B>Dick Porter
</B>
<A HREF="mailto:dick%40ximian.com"
TITLE="[Mono-gc-list] Interface del runtime de mono con el recolector">dick@ximian.com
</A><BR>
<I>17 Jul 2003 14:09:36 +0100</I>
<P><UL>
<LI> Previous message: <A HREF="000002.html">[Mono-gc-list] Interface del runtime de mono con el recolector
</A></li>
<LI> Next message: <A HREF="000004.html">[Mono-gc-list] About void *gc_descr in MonoVTable
</A></li>
<LI> <B>Messages sorted by:</B>
<a href="date.html#3">[ date ]</a>
<a href="thread.html#3">[ thread ]</a>
<a href="subject.html#3">[ subject ]</a>
<a href="author.html#3">[ author ]</a>
</LI>
</UL>
<HR>
<!--beginarticle-->
<PRE>On Thu, 2003-07-17 at 09:59, Fernando Diaz wrote:
&gt;<i> Hola, mi nombre es Fernando y estoy haciendo un estudio sobre la
</I>&gt;<i> recolecci=F3n de basuras en mono. Me gustar=EDa saber si alguno tiene
</I>&gt;<i> informaci=F3n sobre la interface que usa mono con el recolector de Boehm =
</I>y
&gt;<i> sobre la informaci=F3n de los objetos de la que puede disponer el
</I>&gt;<i> recolector.
</I>
My Spanish colleague gave me the translation: &quot;I'm doing a study about
garbage collection in Mono. I'd like to know if someone has information
about the interface that Mono uses with the Boehm garbage collector and
about the information of the objects that the garbage collector can
access&quot;
I'm not sure what you mean here though. In the runtime engine, we
allocate objects with GC_malloc() and friends. The interface exposed to
applications is defined in the System.GC namespace, in the corlib
assembly.
We use the libgc in its normal &quot;Stop-the-world&quot; collection
configuration. We have a dedicated thread for executing object
finalisers.
I'm don't think there's anything more to be described.
- Dick
</PRE>
<!--endarticle-->
<HR>
<P><UL>
<!--threads-->
<LI> Previous message: <A HREF="000002.html">[Mono-gc-list] Interface del runtime de mono con el recolector
</A></li>
<LI> Next message: <A HREF="000004.html">[Mono-gc-list] About void *gc_descr in MonoVTable
</A></li>
<LI> <B>Messages sorted by:</B>
<a href="date.html#3">[ date ]</a>
<a href="thread.html#3">[ thread ]</a>
<a href="subject.html#3">[ subject ]</a>
<a href="author.html#3">[ author ]</a>
</LI>
</UL>
</body></html>

Просмотреть файл

@ -0,0 +1,58 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
<HTML>
<HEAD>
<TITLE> [Mono-gc-list] About void *gc_descr in MonoVTable
</TITLE>
<LINK REL="Index" HREF="index.html" >
<LINK REL="made" HREF="mailto:fdiaz%40igalia.com">
<META NAME="robots" CONTENT="index,nofollow">
<LINK REL="Previous" HREF="000003.html">
<LINK REL="Next" HREF="000005.html">
</HEAD>
<BODY BGCOLOR="#ffffff">
<H1>[Mono-gc-list] About void *gc_descr in MonoVTable
</H1>
<B>Fernando Diaz
</B>
<A HREF="mailto:fdiaz%40igalia.com"
TITLE="[Mono-gc-list] About void *gc_descr in MonoVTable">fdiaz@igalia.com
</A><BR>
<I>21 Jul 2003 13:01:12 +0200</I>
<P><UL>
<LI> Previous message: <A HREF="000003.html">[Mono-gc-list] Interface del runtime de mono con el recolector
</A></li>
<LI> Next message: <A HREF="000005.html">[Mono-gc-list] About void *gc_descr in MonoVTable
</A></li>
<LI> <B>Messages sorted by:</B>
<a href="date.html#4">[ date ]</a>
<a href="thread.html#4">[ thread ]</a>
<a href="subject.html#4">[ subject ]</a>
<a href="author.html#4">[ author ]</a>
</LI>
</UL>
<HR>
<!--beginarticle-->
<PRE>Hi guys. Anybody knows what is the use of the field void *gc_descr in
the MonoVTable struct?.
Thanks.
Fernando D=EDaz
</PRE>
<!--endarticle-->
<HR>
<P><UL>
<!--threads-->
<LI> Previous message: <A HREF="000003.html">[Mono-gc-list] Interface del runtime de mono con el recolector
</A></li>
<LI> Next message: <A HREF="000005.html">[Mono-gc-list] About void *gc_descr in MonoVTable
</A></li>
<LI> <B>Messages sorted by:</B>
<a href="date.html#4">[ date ]</a>
<a href="thread.html#4">[ thread ]</a>
<a href="subject.html#4">[ subject ]</a>
<a href="author.html#4">[ author ]</a>
</LI>
</UL>
</body></html>

Просмотреть файл

@ -0,0 +1,64 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
<HTML>
<HEAD>
<TITLE> [Mono-gc-list] About void *gc_descr in MonoVTable
</TITLE>
<LINK REL="Index" HREF="index.html" >
<LINK REL="made" HREF="mailto:dick%40ximian.com">
<META NAME="robots" CONTENT="index,nofollow">
<LINK REL="Previous" HREF="000004.html">
<LINK REL="Next" HREF="000006.html">
</HEAD>
<BODY BGCOLOR="#ffffff">
<H1>[Mono-gc-list] About void *gc_descr in MonoVTable
</H1>
<B>Dick Porter
</B>
<A HREF="mailto:dick%40ximian.com"
TITLE="[Mono-gc-list] About void *gc_descr in MonoVTable">dick@ximian.com
</A><BR>
<I>21 Jul 2003 12:49:18 +0100</I>
<P><UL>
<LI> Previous message: <A HREF="000004.html">[Mono-gc-list] About void *gc_descr in MonoVTable
</A></li>
<LI> Next message: <A HREF="000006.html">[Mono-gc-list] About void *gc_descr in MonoVTable
</A></li>
<LI> <B>Messages sorted by:</B>
<a href="date.html#5">[ date ]</a>
<a href="thread.html#5">[ thread ]</a>
<a href="subject.html#5">[ subject ]</a>
<a href="author.html#5">[ author ]</a>
</LI>
</UL>
<HR>
<!--beginarticle-->
<PRE>On Mon, 2003-07-21 at 12:01, Fernando Diaz wrote:
&gt;<i> Hi guys. Anybody knows what is the use of the field void *gc_descr in
</I>&gt;<i> the MonoVTable struct?.
</I>
Ah, if you are trying to find information about the Mono changes in
libgc, you'll need to ask Martin Baulig (<A HREF="mailto:martin@ximian.com.">martin@ximian.com.</A>) I'm not
sure he reads this list, so I've CC'd him.
- Dick
</PRE>
<!--endarticle-->
<HR>
<P><UL>
<!--threads-->
<LI> Previous message: <A HREF="000004.html">[Mono-gc-list] About void *gc_descr in MonoVTable
</A></li>
<LI> Next message: <A HREF="000006.html">[Mono-gc-list] About void *gc_descr in MonoVTable
</A></li>
<LI> <B>Messages sorted by:</B>
<a href="date.html#5">[ date ]</a>
<a href="thread.html#5">[ thread ]</a>
<a href="subject.html#5">[ subject ]</a>
<a href="author.html#5">[ author ]</a>
</LI>
</UL>
</body></html>

Просмотреть файл

@ -0,0 +1,67 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
<HTML>
<HEAD>
<TITLE> [Mono-gc-list] About void *gc_descr in MonoVTable
</TITLE>
<LINK REL="Index" HREF="index.html" >
<LINK REL="made" HREF="mailto:lupus%40ximian.com">
<META NAME="robots" CONTENT="index,nofollow">
<LINK REL="Previous" HREF="000005.html">
<LINK REL="Next" HREF="000007.html">
</HEAD>
<BODY BGCOLOR="#ffffff">
<H1>[Mono-gc-list] About void *gc_descr in MonoVTable
</H1>
<B>Paolo Molaro
</B>
<A HREF="mailto:lupus%40ximian.com"
TITLE="[Mono-gc-list] About void *gc_descr in MonoVTable">lupus@ximian.com
</A><BR>
<I>Mon, 21 Jul 2003 15:11:40 +0200</I>
<P><UL>
<LI> Previous message: <A HREF="000005.html">[Mono-gc-list] About void *gc_descr in MonoVTable
</A></li>
<LI> Next message: <A HREF="000007.html">[Mono-gc-list] Weak references and unmanaged pointers...
</A></li>
<LI> <B>Messages sorted by:</B>
<a href="date.html#6">[ date ]</a>
<a href="thread.html#6">[ thread ]</a>
<a href="subject.html#6">[ subject ]</a>
<a href="author.html#6">[ author ]</a>
</LI>
</UL>
<HR>
<!--beginarticle-->
<PRE>On 07/21/03 Fernando Diaz wrote:
&gt;<i> Hi guys. Anybody knows what is the use of the field void *gc_descr in
</I>&gt;<i> the MonoVTable struct?.
</I>
It's a GC descriptor, check mono_class_compute_gc_descriptor() in
object.c. It's used to tell the Boehm GC which fields in an object
are object references that need to be GC-tracked.
lupus
--
-----------------------------------------------------------------
<A HREF="mailto:lupus@debian.org">lupus@debian.org</A> debian/rules
<A HREF="mailto:lupus@ximian.com">lupus@ximian.com</A> Monkeys do it better
</PRE>
<!--endarticle-->
<HR>
<P><UL>
<!--threads-->
<LI> Previous message: <A HREF="000005.html">[Mono-gc-list] About void *gc_descr in MonoVTable
</A></li>
<LI> Next message: <A HREF="000007.html">[Mono-gc-list] Weak references and unmanaged pointers...
</A></li>
<LI> <B>Messages sorted by:</B>
<a href="date.html#6">[ date ]</a>
<a href="thread.html#6">[ thread ]</a>
<a href="subject.html#6">[ subject ]</a>
<a href="author.html#6">[ author ]</a>
</LI>
</UL>
</body></html>

Просмотреть файл

@ -0,0 +1,63 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
<HTML>
<HEAD>
<TITLE> [Mono-gc-list] Weak references and unmanaged pointers...
</TITLE>
<LINK REL="Index" HREF="index.html" >
<LINK REL="made" HREF="mailto:fdiaz%40igalia.com">
<META NAME="robots" CONTENT="index,nofollow">
<LINK REL="Previous" HREF="000006.html">
<LINK REL="Next" HREF="000008.html">
</HEAD>
<BODY BGCOLOR="#ffffff">
<H1>[Mono-gc-list] Weak references and unmanaged pointers...
</H1>
<B>Fernando Diaz
</B>
<A HREF="mailto:fdiaz%40igalia.com"
TITLE="[Mono-gc-list] Weak references and unmanaged pointers...">fdiaz@igalia.com
</A><BR>
<I>23 Jul 2003 09:49:52 +0200</I>
<P><UL>
<LI> Previous message: <A HREF="000006.html">[Mono-gc-list] About void *gc_descr in MonoVTable
</A></li>
<LI> Next message: <A HREF="000008.html">[Mono-gc-list] Weak references and unmanaged pointers...
</A></li>
<LI> <B>Messages sorted by:</B>
<a href="date.html#7">[ date ]</a>
<a href="thread.html#7">[ thread ]</a>
<a href="subject.html#7">[ subject ]</a>
<a href="author.html#7">[ author ]</a>
</LI>
</UL>
<HR>
<!--beginarticle-->
<PRE>Hi again!.
I hava another question for the list.
Are the unmaganed pointers (that mentions the ECMA-335 standard) the
same as the weak references (that exists in the .NET garbage collector)?
Both references aren't used by the collector to make de reachable graph,
but i don't know if they are the same.
Thanks.
Fernando D=EDaz
</PRE>
<!--endarticle-->
<HR>
<P><UL>
<!--threads-->
<LI> Previous message: <A HREF="000006.html">[Mono-gc-list] About void *gc_descr in MonoVTable
</A></li>
<LI> Next message: <A HREF="000008.html">[Mono-gc-list] Weak references and unmanaged pointers...
</A></li>
<LI> <B>Messages sorted by:</B>
<a href="date.html#7">[ date ]</a>
<a href="thread.html#7">[ thread ]</a>
<a href="subject.html#7">[ subject ]</a>
<a href="author.html#7">[ author ]</a>
</LI>
</UL>
</body></html>

Просмотреть файл

@ -0,0 +1,76 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
<HTML>
<HEAD>
<TITLE> [Mono-gc-list] Weak references and unmanaged pointers...
</TITLE>
<LINK REL="Index" HREF="index.html" >
<LINK REL="made" HREF="mailto:fjh%40cs.mu.OZ.AU">
<META NAME="robots" CONTENT="index,nofollow">
<LINK REL="Previous" HREF="000007.html">
<LINK REL="Next" HREF="000009.html">
</HEAD>
<BODY BGCOLOR="#ffffff">
<H1>[Mono-gc-list] Weak references and unmanaged pointers...
</H1>
<B>Fergus Henderson
</B>
<A HREF="mailto:fjh%40cs.mu.OZ.AU"
TITLE="[Mono-gc-list] Weak references and unmanaged pointers...">fjh@cs.mu.OZ.AU
</A><BR>
<I>Wed, 23 Jul 2003 18:58:23 +1000</I>
<P><UL>
<LI> Previous message: <A HREF="000007.html">[Mono-gc-list] Weak references and unmanaged pointers...
</A></li>
<LI> Next message: <A HREF="000009.html">[Mono-gc-list] Re: [Mono-devel-list] embedding mono with threads
</A></li>
<LI> <B>Messages sorted by:</B>
<a href="date.html#8">[ date ]</a>
<a href="thread.html#8">[ thread ]</a>
<a href="subject.html#8">[ subject ]</a>
<a href="author.html#8">[ author ]</a>
</LI>
</UL>
<HR>
<!--beginarticle-->
<PRE>On 23-Jul-2003, Fernando Diaz &lt;<A HREF="mailto:fdiaz@igalia.com">fdiaz@igalia.com</A>&gt; wrote:
&gt;<i> I hava another question for the list.
</I>&gt;<i> Are the unmaganed pointers (that mentions the ECMA-335 standard) the
</I>&gt;<i> same as the weak references (that exists in the .NET garbage collector)?
</I>
No.
Unmanaged pointers must not point into the managed heap.
They are ignored by the garbage collector.
Weak references, on the other hand, do point into the managed heap,
and will get updated by the collector if the object that they point to
gets relocated.
The difference between weak references and ordinary (managed) references
is that weak references will not keep an object alive; if the only
references to an object are weak references, the collector will reclaim
the object and will set the weak references to null.
--
Fergus Henderson &lt;<A HREF="mailto:fjh@cs.mu.oz.au">fjh@cs.mu.oz.au</A>&gt; | &quot;I have always known that the pursuit
The University of Melbourne | of excellence is a lethal habit&quot;
WWW: &lt;<A HREF="http://www.cs.mu.oz.au/~fjh">http://www.cs.mu.oz.au/~fjh</A>&gt; | -- the last words of T. S. Garp.
</PRE>
<!--endarticle-->
<HR>
<P><UL>
<!--threads-->
<LI> Previous message: <A HREF="000007.html">[Mono-gc-list] Weak references and unmanaged pointers...
</A></li>
<LI> Next message: <A HREF="000009.html">[Mono-gc-list] Re: [Mono-devel-list] embedding mono with threads
</A></li>
<LI> <B>Messages sorted by:</B>
<a href="date.html#8">[ date ]</a>
<a href="thread.html#8">[ thread ]</a>
<a href="subject.html#8">[ subject ]</a>
<a href="author.html#8">[ author ]</a>
</LI>
</UL>
</body></html>

Просмотреть файл

@ -0,0 +1,187 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
<HTML>
<HEAD>
<TITLE> [Mono-gc-list] Re: [Mono-devel-list] embedding mono with threads
</TITLE>
<LINK REL="Index" HREF="index.html" >
<LINK REL="made" HREF="mailto:mdamt%40bisnisweb.com">
<META NAME="robots" CONTENT="index,nofollow">
<LINK REL="Previous" HREF="000008.html">
<LINK REL="Next" HREF="000010.html">
</HEAD>
<BODY BGCOLOR="#ffffff">
<H1>[Mono-gc-list] Re: [Mono-devel-list] embedding mono with threads
</H1>
<B>Mohammad DAMT
</B>
<A HREF="mailto:mdamt%40bisnisweb.com"
TITLE="[Mono-gc-list] Re: [Mono-devel-list] embedding mono with threads">mdamt@bisnisweb.com
</A><BR>
<I>Wed, 23 Jul 2003 23:26:17 +0700</I>
<P><UL>
<LI> Previous message: <A HREF="000008.html">[Mono-gc-list] Weak references and unmanaged pointers...
</A></li>
<LI> Next message: <A HREF="000010.html">[Mono-gc-list] About gc_bitmap
</A></li>
<LI> <B>Messages sorted by:</B>
<a href="date.html#9">[ date ]</a>
<a href="thread.html#9">[ thread ]</a>
<a href="subject.html#9">[ subject ]</a>
<a href="author.html#9">[ author ]</a>
</LI>
</UL>
<HR>
<!--beginarticle-->
<PRE>On 2003.07.21 22:49, eric lindvall wrote:
&gt;<i> who do i need to talk to, or what do i need to do to find out how to
</I>&gt;<i> fix
</I>&gt;<i> this?
</I>
Perhaps this is helping you guys tracing what's wrong with
mono_jit_init in a
thread.
Using gdb this is backtrace of oxide-3 core dump:
[<A HREF="mailto:mdamt@gordon">mdamt@gordon</A> oxide_test]$ gdb ./oxide-3 core.28509
GNU gdb 5.3-22mdk (Mandrake Linux)
Copyright 2002 Free Software Foundation, Inc.
GDB is free software, covered by the GNU General Public License, and
you are
welcome to change it and/or distribute copies of it under certain
conditions.
Type &quot;show copying&quot; to see the conditions.
There is absolutely no warranty for GDB. Type &quot;show warranty&quot; for
details.
This GDB was configured as &quot;i586-mandrake-linux-gnu&quot;...
Core was generated by `./oxide-3'.
Program terminated with signal 11, Segmentation fault.
Reading symbols from /opt/mono/lib/libmono.so.0...done.
Loaded symbols for /opt/mono/lib/libmono.so.0
Reading symbols from /lib/i686/libpthread.so.0...done.
Loaded symbols for /lib/i686/libpthread.so.0
Reading symbols from /lib/i686/libm.so.6...done.
Loaded symbols for /lib/i686/libm.so.6
Reading symbols from /usr/lib/libgmodule-2.0.so.0...done.
Loaded symbols for /usr/lib/libgmodule-2.0.so.0
Reading symbols from /lib/libdl.so.2...done.
Loaded symbols for /lib/libdl.so.2
Reading symbols from /usr/lib/libglib-2.0.so.0...done.
Loaded symbols for /usr/lib/libglib-2.0.so.0
Reading symbols from /lib/i686/libc.so.6...done.
Loaded symbols for /lib/i686/libc.so.6
Reading symbols from /opt/mono/lib/libmonogc.so.1...done.
Loaded symbols for /opt/mono/lib/libmonogc.so.1
Reading symbols from /lib/libnsl.so.1...done.
Loaded symbols for /lib/libnsl.so.1
Reading symbols from /lib/i686/librt.so.1...done.
Loaded symbols for /lib/i686/librt.so.1
Reading symbols from /lib/ld-linux.so.2...done.
Loaded symbols for /lib/ld-linux.so.2
#0 0x40370ef3 in GC_mark_from (mark_stack_top=0x8053110,
mark_stack=0x80530a8,
mark_stack_limit=0x805b0a8) at mark.c:647
647 deferred = *limit;
(gdb) bt
#0 0x40370ef3 in GC_mark_from (mark_stack_top=0x8053110,
mark_stack=0x80530a8,
mark_stack_limit=0x805b0a8) at mark.c:647
#1 0x40370bae in GC_mark_some (cold_gc_frame=0x40bb38b0 &quot;??&quot;) at mark.
c:374
#2 0x40368e96 in GC_stopped_mark (stop_func=0x40368700
&lt;GC_never_stop_func&gt;)
at alloc.c:500
#3 0x40368b63 in GC_try_to_collect_inner (stop_func=0x40368700
&lt;GC_never_stop_func&gt;) at alloc.c:353
#4 0x40373528 in GC_init_inner () at misc.c:703
#5 0x4036f3b5 in GC_generic_malloc_inner (lb=28, k=1) at malloc.c:123
#6 0x4036f503 in GC_generic_malloc (lb=28, k=1) at malloc.c:190
#7 0x4036f7e5 in GC_malloc (lb=28) at malloc.c:295
#8 0x400f4fac in mono_g_hash_table_new_full (hash_func=0x402053f0
&lt;g_direct_hash&gt;, key_equal_func=0x40205400 &lt;g_direct_equal&gt;,
key_destroy_func=0, value_destroy_func=0) at mono-hash.c:152
#9 0x400f4f86 in mono_g_hash_table_new (hash_func=0x402053f0
&lt;g_direct_hash&gt;,
key_equal_func=0x40205400 &lt;g_direct_equal&gt;) at mono-hash.c:122
#10 0x400f3ce7 in TlsSetValue (idx=0, value=0x804c738) at threads.c:795
#11 0x4004fe81 in mono_thread_start_cb (tid=16386,
stack_start=0xffffffff,
func=0x0) at mini.c:5543
#12 0x40053109 in mini_init (filename=0x8049260 &quot;oxide-domain&quot;) at
mini.c:6943
#13 0x4007640e in mono_jit_init (file=0x8049260 &quot;oxide-domain&quot;) at
driver.c:777
#14 0x08048d3a in oxideInit (p=0x0) at src/oxide-3.c:72
#15 0x4014d811 in pthread_start_thread () from /lib/i686/libpthread.
so.0
Is this a gc issue?
If I build mono without gc (--with-gc=none) I was able to run oxide-3
just to make sure that mono_jit_init () doesnt segfault or hangs, (then
the exception
backtrace below is not important).
FYI, mod_mono hangs on mono_jit_init if I switch to Apache with
prechild MPM
(threaded too).
$ ./oxide-3
Your mono runtime and corlib are out of sync.
Corlib is: /opt/mono/lib/corlib.dll
When you update one from cvs you need to update, compile and install
the other too.
Do not report this as a bug unless you're sure you have updated
correctly:
you probably have a broken mono install.
If you see other errors or faults after this message they are probably
related
and you need to fix your mono install first.
OXIDE: loaded assembly: oxide.dll
OXIDE: exit code: 0
OXIDE: successfully started.
OXIDE: calling mono_thread_attach (0x804c848)
** (process:29209): WARNING **: cant resolve internal call to &quot;System.
Reflection.MonoFieldInfo::get_field_info(System.Reflection.MonoField,
System.Reflection.MonoFieldInfo&amp;)&quot; (tested without signature also)
Unhandled Exception: System.NullReferenceException: A null value was
found where an object instance was required
in (unmanaged) /lib/i686/libc.so.6 [0x4029df80]
in (unmanaged) /lib/i686/libc.so.6(__libc_free+0x7c) [0x4029cdfc]
in (unmanaged) /usr/lib/libglib-2.0.so.0(g_free+0x23) [0x401e7ce3]
in (unmanaged) /opt/mono/lib/libmono.so.0(mono_class_setup_vtable
+0x117) [0x400e1180]
in (unmanaged) /opt/mono/lib/libmono.so.0(mono_class_init+0x49e)
[0x400e2638]
in (unmanaged) /opt/mono/lib/libmono.so.0(mono_class_vtable+0xdf)
[0x4009e39e]
in (unmanaged) /opt/mono/lib/libmono.so.0(mono_array_new+0x74)
[0x400a0465]
in (unmanaged) /opt/mono/lib/libmono.so.0 [0x400a657e]
--
Mohammad DAMT &lt;<A HREF="mailto:mdamt@bisnisweb.com">mdamt@bisnisweb.com</A>&gt;
</PRE>
<!--endarticle-->
<HR>
<P><UL>
<!--threads-->
<LI> Previous message: <A HREF="000008.html">[Mono-gc-list] Weak references and unmanaged pointers...
</A></li>
<LI> Next message: <A HREF="000010.html">[Mono-gc-list] About gc_bitmap
</A></li>
<LI> <B>Messages sorted by:</B>
<a href="date.html#9">[ date ]</a>
<a href="thread.html#9">[ thread ]</a>
<a href="subject.html#9">[ subject ]</a>
<a href="author.html#9">[ author ]</a>
</LI>
</UL>
</body></html>

Просмотреть файл

@ -0,0 +1,64 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
<HTML>
<HEAD>
<TITLE> [Mono-gc-list] About gc_bitmap
</TITLE>
<LINK REL="Index" HREF="index.html" >
<LINK REL="made" HREF="mailto:fdiaz%40igalia.com">
<META NAME="robots" CONTENT="index,nofollow">
<LINK REL="Previous" HREF="000009.html">
</HEAD>
<BODY BGCOLOR="#ffffff">
<H1>[Mono-gc-list] About gc_bitmap
</H1>
<B>Fernando Diaz
</B>
<A HREF="mailto:fdiaz%40igalia.com"
TITLE="[Mono-gc-list] About gc_bitmap">fdiaz@igalia.com
</A><BR>
<I>24 Jul 2003 10:03:11 +0200</I>
<P><UL>
<LI> Previous message: <A HREF="000009.html">[Mono-gc-list] Re: [Mono-devel-list] embedding mono with threads
</A></li>
<LI> <B>Messages sorted by:</B>
<a href="date.html#10">[ date ]</a>
<a href="thread.html#10">[ thread ]</a>
<a href="subject.html#10">[ subject ]</a>
<a href="author.html#10">[ author ]</a>
</LI>
</UL>
<HR>
<!--beginarticle-->
<PRE>Hi.
If i understood correctly the soruce code of mono, the guint64 gc_bitmap
(in class.h) is a field of the _MonoClass struct that is used for saying
to the Boemhm's GC where are the links to another objects.
Is it correct?
If it is,Don't we are restricting the size of the atributtes of the
clasess?
Thanks. Fernando D=EDaz
</PRE>
<!--endarticle-->
<HR>
<P><UL>
<!--threads-->
<LI> Previous message: <A HREF="000009.html">[Mono-gc-list] Re: [Mono-devel-list] embedding mono with threads
</A></li>
<LI> <B>Messages sorted by:</B>
<a href="date.html#10">[ date ]</a>
<a href="thread.html#10">[ thread ]</a>
<a href="subject.html#10">[ subject ]</a>
<a href="author.html#10">[ author ]</a>
</LI>
</UL>
</body></html>

Просмотреть файл

@ -0,0 +1,83 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
<HTML>
<HEAD>
<title>The Mono-gc-list 2003-July Archive by Author</title>
<META NAME="robots" CONTENT="noindex,follow">
</HEAD>
<BODY BGCOLOR="#ffffff">
<a name="start"></A>
<h1>2003-July Archives by Author</h1>
<ul>
<li> <b>Messages sorted by:</b>
<a href="thread.html#start">[ thread ]</a>
<a href="subject.html#start">[ subject ]</a>
<a href="date.html#start">[ date ]</a>
<li><b><a href="http://lists.ximian.com/mailman/listinfo/mono-gc-list">More info on this list...
</a></b></li>
</ul>
<p><b>Starting:</b> <i>Thu Jul 17 09:59:55 2003</i><br>
<b>Ending:</b> <i>Thu Jul 24 09:03:11 2003</i><br>
<b>Messages:</b> 9<p>
<ul>
<LI><A HREF="000009.html">[Mono-gc-list] Re: [Mono-devel-list] embedding mono with threads
</A><A NAME="9">&nbsp;</A>
<I>Mohammad DAMT
</I>
<LI><A HREF="000002.html">[Mono-gc-list] Interface del runtime de mono con el recolector
</A><A NAME="2">&nbsp;</A>
<I>Fernando Diaz
</I>
<LI><A HREF="000004.html">[Mono-gc-list] About void *gc_descr in MonoVTable
</A><A NAME="4">&nbsp;</A>
<I>Fernando Diaz
</I>
<LI><A HREF="000007.html">[Mono-gc-list] Weak references and unmanaged pointers...
</A><A NAME="7">&nbsp;</A>
<I>Fernando Diaz
</I>
<LI><A HREF="000010.html">[Mono-gc-list] About gc_bitmap
</A><A NAME="10">&nbsp;</A>
<I>Fernando Diaz
</I>
<LI><A HREF="000008.html">[Mono-gc-list] Weak references and unmanaged pointers...
</A><A NAME="8">&nbsp;</A>
<I>Fergus Henderson
</I>
<LI><A HREF="000006.html">[Mono-gc-list] About void *gc_descr in MonoVTable
</A><A NAME="6">&nbsp;</A>
<I>Paolo Molaro
</I>
<LI><A HREF="000003.html">[Mono-gc-list] Interface del runtime de mono con el recolector
</A><A NAME="3">&nbsp;</A>
<I>Dick Porter
</I>
<LI><A HREF="000005.html">[Mono-gc-list] About void *gc_descr in MonoVTable
</A><A NAME="5">&nbsp;</A>
<I>Dick Porter
</I>
</ul>
<p>
<a name="end"><b>Last message date:</b></a>
<i>Thu Jul 24 09:03:11 2003</i><br>
<b>Archived on:</b> <i>Thu Jul 24 04:04:01 2003</i>
<p>
<ul>
<li> <b>Messages sorted by:</b>
<a href="thread.html#start">[ thread ]</a>
<a href="subject.html#start">[ subject ]</a>
<a href="date.html#start">[ date ]</a>
<li><b><a href="http://lists.ximian.com/mailman/listinfo/mono-gc-list">More info on this list...
</a></b></li>
</ul>
<p>
<hr>
<i>This archive was generated by
Pipermail 0.05 (Mailman edition).</i>
</BODY>
</HTML>

Просмотреть файл

@ -0,0 +1,83 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
<HTML>
<HEAD>
<title>The Mono-gc-list 2003-July Archive by Date</title>
<META NAME="robots" CONTENT="noindex,follow">
</HEAD>
<BODY BGCOLOR="#ffffff">
<a name="start"></A>
<h1>2003-July Archives by Date</h1>
<ul>
<li> <b>Messages sorted by:</b>
<a href="thread.html#start">[ thread ]</a>
<a href="subject.html#start">[ subject ]</a>
<a href="author.html#start">[ author ]</a>
<li><b><a href="http://lists.ximian.com/mailman/listinfo/mono-gc-list">More info on this list...
</a></b></li>
</ul>
<p><b>Starting:</b> <i>Thu Jul 17 09:59:55 2003</i><br>
<b>Ending:</b> <i>Thu Jul 24 09:03:11 2003</i><br>
<b>Messages:</b> 9<p>
<ul>
<LI><A HREF="000002.html">[Mono-gc-list] Interface del runtime de mono con el recolector
</A><A NAME="2">&nbsp;</A>
<I>Fernando Diaz
</I>
<LI><A HREF="000003.html">[Mono-gc-list] Interface del runtime de mono con el recolector
</A><A NAME="3">&nbsp;</A>
<I>Dick Porter
</I>
<LI><A HREF="000004.html">[Mono-gc-list] About void *gc_descr in MonoVTable
</A><A NAME="4">&nbsp;</A>
<I>Fernando Diaz
</I>
<LI><A HREF="000005.html">[Mono-gc-list] About void *gc_descr in MonoVTable
</A><A NAME="5">&nbsp;</A>
<I>Dick Porter
</I>
<LI><A HREF="000006.html">[Mono-gc-list] About void *gc_descr in MonoVTable
</A><A NAME="6">&nbsp;</A>
<I>Paolo Molaro
</I>
<LI><A HREF="000007.html">[Mono-gc-list] Weak references and unmanaged pointers...
</A><A NAME="7">&nbsp;</A>
<I>Fernando Diaz
</I>
<LI><A HREF="000008.html">[Mono-gc-list] Weak references and unmanaged pointers...
</A><A NAME="8">&nbsp;</A>
<I>Fergus Henderson
</I>
<LI><A HREF="000009.html">[Mono-gc-list] Re: [Mono-devel-list] embedding mono with threads
</A><A NAME="9">&nbsp;</A>
<I>Mohammad DAMT
</I>
<LI><A HREF="000010.html">[Mono-gc-list] About gc_bitmap
</A><A NAME="10">&nbsp;</A>
<I>Fernando Diaz
</I>
</ul>
<p>
<a name="end"><b>Last message date:</b></a>
<i>Thu Jul 24 09:03:11 2003</i><br>
<b>Archived on:</b> <i>Thu Jul 24 04:04:01 2003</i>
<p>
<ul>
<li> <b>Messages sorted by:</b>
<a href="thread.html#start">[ thread ]</a>
<a href="subject.html#start">[ subject ]</a>
<a href="author.html#start">[ author ]</a>
<li><b><a href="http://lists.ximian.com/mailman/listinfo/mono-gc-list">More info on this list...
</a></b></li>
</ul>
<p>
<hr>
<i>This archive was generated by
Pipermail 0.05 (Mailman edition).</i>
</BODY>
</HTML>

Просмотреть файл

@ -0,0 +1,98 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
<HTML>
<HEAD>
<title>The Mono-gc-list 2003-July Archive by Thread</title>
<META NAME="robots" CONTENT="noindex,follow">
</HEAD>
<BODY BGCOLOR="#ffffff">
<a name="start"></A>
<h1>2003-July Archives by Thread</h1>
<ul>
<li> <b>Messages sorted by:</b>
<a href="subject.html#start">[ subject ]</a>
<a href="author.html#start">[ author ]</a>
<a href="date.html#start">[ date ]</a>
<li><b><a href="http://lists.ximian.com/mailman/listinfo/mono-gc-list">More info on this list...
</a></b></li>
</ul>
<p><b>Starting:</b> <i>Thu Jul 17 09:59:55 2003</i><br>
<b>Ending:</b> <i>Thu Jul 24 09:03:11 2003</i><br>
<b>Messages:</b> 9<p>
<ul>
<!--0 01058450395- -->
<LI><A HREF="000002.html">[Mono-gc-list] Interface del runtime de mono con el recolector
</A><A NAME="2">&nbsp;</A>
<I>Fernando Diaz
</I>
<UL>
<!--1 01058450395-01058465376- -->
<LI><A HREF="000003.html">[Mono-gc-list] Interface del runtime de mono con el recolector
</A><A NAME="3">&nbsp;</A>
<I>Dick Porter
</I>
</UL>
<!--0 01058803272- -->
<LI><A HREF="000004.html">[Mono-gc-list] About void *gc_descr in MonoVTable
</A><A NAME="4">&nbsp;</A>
<I>Fernando Diaz
</I>
<UL>
<!--1 01058803272-01058806158- -->
<LI><A HREF="000005.html">[Mono-gc-list] About void *gc_descr in MonoVTable
</A><A NAME="5">&nbsp;</A>
<I>Dick Porter
</I>
<!--1 01058803272-01058811100- -->
<LI><A HREF="000006.html">[Mono-gc-list] About void *gc_descr in MonoVTable
</A><A NAME="6">&nbsp;</A>
<I>Paolo Molaro
</I>
</UL>
<!--0 01058964592- -->
<LI><A HREF="000007.html">[Mono-gc-list] Weak references and unmanaged pointers...
</A><A NAME="7">&nbsp;</A>
<I>Fernando Diaz
</I>
<UL>
<!--1 01058964592-01058968703- -->
<LI><A HREF="000008.html">[Mono-gc-list] Weak references and unmanaged pointers...
</A><A NAME="8">&nbsp;</A>
<I>Fergus Henderson
</I>
</UL>
<!--0 01058995577- -->
<LI><A HREF="000009.html">[Mono-gc-list] Re: [Mono-devel-list] embedding mono with threads
</A><A NAME="9">&nbsp;</A>
<I>Mohammad DAMT
</I>
<!--0 01059051791- -->
<LI><A HREF="000010.html">[Mono-gc-list] About gc_bitmap
</A><A NAME="10">&nbsp;</A>
<I>Fernando Diaz
</I>
</ul>
<p>
<a name="end"><b>Last message date:</b></a>
<i>Thu Jul 24 09:03:11 2003</i><br>
<b>Archived on:</b> <i>Thu Jul 24 04:04:01 2003</i>
<p>
<ul>
<li> <b>Messages sorted by:</b>
<a href="subject.html#start">[ subject ]</a>
<a href="author.html#start">[ author ]</a>
<a href="date.html#start">[ date ]</a>
<li><b><a href="http://lists.ximian.com/mailman/listinfo/mono-gc-list">More info on this list...
</a></b></li>
</ul>
<p>
<hr>
<i>This archive was generated by
Pipermail 0.05 (Mailman edition).</i>
</BODY>
</HTML>

Просмотреть файл

@ -0,0 +1,83 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
<HTML>
<HEAD>
<title>The Mono-gc-list 2003-July Archive by Subject</title>
<META NAME="robots" CONTENT="noindex,follow">
</HEAD>
<BODY BGCOLOR="#ffffff">
<a name="start"></A>
<h1>2003-July Archives by Subject</h1>
<ul>
<li> <b>Messages sorted by:</b>
<a href="thread.html#start">[ thread ]</a>
<a href="author.html#start">[ author ]</a>
<a href="date.html#start">[ date ]</a>
<li><b><a href="http://lists.ximian.com/mailman/listinfo/mono-gc-list">More info on this list...
</a></b></li>
</ul>
<p><b>Starting:</b> <i>Thu Jul 17 09:59:55 2003</i><br>
<b>Ending:</b> <i>Thu Jul 24 09:03:11 2003</i><br>
<b>Messages:</b> 9<p>
<ul>
<LI><A HREF="000010.html">[Mono-gc-list] About gc_bitmap
</A><A NAME="10">&nbsp;</A>
<I>Fernando Diaz
</I>
<LI><A HREF="000004.html">[Mono-gc-list] About void *gc_descr in MonoVTable
</A><A NAME="4">&nbsp;</A>
<I>Fernando Diaz
</I>
<LI><A HREF="000005.html">[Mono-gc-list] About void *gc_descr in MonoVTable
</A><A NAME="5">&nbsp;</A>
<I>Dick Porter
</I>
<LI><A HREF="000006.html">[Mono-gc-list] About void *gc_descr in MonoVTable
</A><A NAME="6">&nbsp;</A>
<I>Paolo Molaro
</I>
<LI><A HREF="000002.html">[Mono-gc-list] Interface del runtime de mono con el recolector
</A><A NAME="2">&nbsp;</A>
<I>Fernando Diaz
</I>
<LI><A HREF="000003.html">[Mono-gc-list] Interface del runtime de mono con el recolector
</A><A NAME="3">&nbsp;</A>
<I>Dick Porter
</I>
<LI><A HREF="000009.html">[Mono-gc-list] Re: [Mono-devel-list] embedding mono with threads
</A><A NAME="9">&nbsp;</A>
<I>Mohammad DAMT
</I>
<LI><A HREF="000007.html">[Mono-gc-list] Weak references and unmanaged pointers...
</A><A NAME="7">&nbsp;</A>
<I>Fernando Diaz
</I>
<LI><A HREF="000008.html">[Mono-gc-list] Weak references and unmanaged pointers...
</A><A NAME="8">&nbsp;</A>
<I>Fergus Henderson
</I>
</ul>
<p>
<a name="end"><b>Last message date:</b></a>
<i>Thu Jul 24 09:03:11 2003</i><br>
<b>Archived on:</b> <i>Thu Jul 24 04:04:01 2003</i>
<p>
<ul>
<li> <b>Messages sorted by:</b>
<a href="thread.html#start">[ thread ]</a>
<a href="author.html#start">[ author ]</a>
<a href="date.html#start">[ date ]</a>
<li><b><a href="http://lists.ximian.com/mailman/listinfo/mono-gc-list">More info on this list...
</a></b></li>
</ul>
<p>
<hr>
<i>This archive was generated by
Pipermail 0.05 (Mailman edition).</i>
</BODY>
</HTML>

Просмотреть файл

@ -0,0 +1,98 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
<HTML>
<HEAD>
<title>The Mono-gc-list 2003-July Archive by Thread</title>
<META NAME="robots" CONTENT="noindex,follow">
</HEAD>
<BODY BGCOLOR="#ffffff">
<a name="start"></A>
<h1>2003-July Archives by Thread</h1>
<ul>
<li> <b>Messages sorted by:</b>
<a href="subject.html#start">[ subject ]</a>
<a href="author.html#start">[ author ]</a>
<a href="date.html#start">[ date ]</a>
<li><b><a href="http://lists.ximian.com/mailman/listinfo/mono-gc-list">More info on this list...
</a></b></li>
</ul>
<p><b>Starting:</b> <i>Thu Jul 17 09:59:55 2003</i><br>
<b>Ending:</b> <i>Thu Jul 24 09:03:11 2003</i><br>
<b>Messages:</b> 9<p>
<ul>
<!--0 01058450395- -->
<LI><A HREF="000002.html">[Mono-gc-list] Interface del runtime de mono con el recolector
</A><A NAME="2">&nbsp;</A>
<I>Fernando Diaz
</I>
<UL>
<!--1 01058450395-01058465376- -->
<LI><A HREF="000003.html">[Mono-gc-list] Interface del runtime de mono con el recolector
</A><A NAME="3">&nbsp;</A>
<I>Dick Porter
</I>
</UL>
<!--0 01058803272- -->
<LI><A HREF="000004.html">[Mono-gc-list] About void *gc_descr in MonoVTable
</A><A NAME="4">&nbsp;</A>
<I>Fernando Diaz
</I>
<UL>
<!--1 01058803272-01058806158- -->
<LI><A HREF="000005.html">[Mono-gc-list] About void *gc_descr in MonoVTable
</A><A NAME="5">&nbsp;</A>
<I>Dick Porter
</I>
<!--1 01058803272-01058811100- -->
<LI><A HREF="000006.html">[Mono-gc-list] About void *gc_descr in MonoVTable
</A><A NAME="6">&nbsp;</A>
<I>Paolo Molaro
</I>
</UL>
<!--0 01058964592- -->
<LI><A HREF="000007.html">[Mono-gc-list] Weak references and unmanaged pointers...
</A><A NAME="7">&nbsp;</A>
<I>Fernando Diaz
</I>
<UL>
<!--1 01058964592-01058968703- -->
<LI><A HREF="000008.html">[Mono-gc-list] Weak references and unmanaged pointers...
</A><A NAME="8">&nbsp;</A>
<I>Fergus Henderson
</I>
</UL>
<!--0 01058995577- -->
<LI><A HREF="000009.html">[Mono-gc-list] Re: [Mono-devel-list] embedding mono with threads
</A><A NAME="9">&nbsp;</A>
<I>Mohammad DAMT
</I>
<!--0 01059051791- -->
<LI><A HREF="000010.html">[Mono-gc-list] About gc_bitmap
</A><A NAME="10">&nbsp;</A>
<I>Fernando Diaz
</I>
</ul>
<p>
<a name="end"><b>Last message date:</b></a>
<i>Thu Jul 24 09:03:11 2003</i><br>
<b>Archived on:</b> <i>Thu Jul 24 04:04:01 2003</i>
<p>
<ul>
<li> <b>Messages sorted by:</b>
<a href="subject.html#start">[ subject ]</a>
<a href="author.html#start">[ author ]</a>
<a href="date.html#start">[ date ]</a>
<li><b><a href="http://lists.ximian.com/mailman/listinfo/mono-gc-list">More info on this list...
</a></b></li>
</ul>
<p>
<hr>
<i>This archive was generated by
Pipermail 0.05 (Mailman edition).</i>
</BODY>
</HTML>

Просмотреть файл

@ -0,0 +1,144 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
<HTML>
<HEAD>
<TITLE> [Mono-gc-list] second mono compilation failed
</TITLE>
<LINK REL="Index" HREF="index.html" >
<LINK REL="made" HREF="mailto:m.loskot%40chello.pl">
<META NAME="robots" CONTENT="index,nofollow">
<META http-equiv="Content-Type" content="text/html; charset=iso-8859-2">
<LINK REL="Next" HREF="000001.html">
</HEAD>
<BODY BGCOLOR="#ffffff">
<H1>[Mono-gc-list] second mono compilation failed
</H1>
<B>Mateusz £oskot
</B>
<A HREF="mailto:m.loskot%40chello.pl"
TITLE="[Mono-gc-list] second mono compilation failed">m.loskot@chello.pl
</A><BR>
<I>Fri, 28 Mar 2003 22:26:03 +0100</I>
<P><UL>
<LI> Next message: <A HREF="000001.html">[Mono-gc-list] second mono compilation failed
</A></li>
<LI> <B>Messages sorted by:</B>
<a href="date.html#0">[ date ]</a>
<a href="thread.html#0">[ thread ]</a>
<a href="subject.html#0">[ subject ]</a>
<a href="author.html#0">[ author ]</a>
</LI>
</UL>
<HR>
<!--beginarticle-->
<PRE>Hello,
I'd like to start very interesting journey with the mono and
its company ;)
SO, I compiled every source package required, compiler and runtime, etc.
After that, I wrote some sample console HelloWorls.cs and compiled
it succesfuly, and run it well.
Next, I compiled and installed gtk-sharp.
Everything went well.
The only problem is I can not compile and run any gtk-sharp based
sample.
When I try to compile sample gtk-sharp HelloWorld.cs I got:
####
HelloWorld.cs(26) error CS0246: Cannot find type `DeleteEventArgs'
Compilation failed: 1 error(s), 0 warnings
####
I tried to find some solution on the news groups, but there
was no working solution.
When I try to run samples compilet during gtk-sharp compilation and
installation I got error message to:
<A HREF="mailto:gekon@gekon">gekon@gekon</A>:/tmp/gtk-sharp-0.8/sample# mono gtk-hello-world.exe
Unhandled Exception: System.ExecutionEngineException: No GCHandle
support built-in
in (unmanaged) mono(mono_raise_exception+0x20) [0x80c12fe]
in (unmanaged) mono(ves_icall_System_GCHandle_GetTargetHandle+0x5f)
[0x80cd54d]
in &lt;0x00026&gt; 00 System.Runtime.InteropServices.GCHandle:Alloc
(object,System.Runtime.InteropServices.GCHandleType)
in &lt;0x0005b&gt; 00 System.WeakReference:AllocateHandle (object)
in &lt;0x0002a&gt; 00 System.WeakReference:.ctor (object,bool)
in &lt;0x00019&gt; 00 System.WeakReference:.ctor (object)
in &lt;0x0005d&gt; 00 GLib.Object:set_Raw (intptr)
in &lt;0x00016&gt; 00 Gtk.Object:set_Raw (intptr)
in &lt;0x00062&gt; 00 Gtk.Window:.ctor (Gtk.WindowType)
in &lt;0x00047&gt; 00 Gtk.Window:.ctor (string)
in &lt;0x00036&gt; 00 GtkSamples.HelloWorld:Main (string[])
I found on the Internet that there is garbage collector required.
So, I downloaded gc las version from go-mono.org , compilation
and installation went well.
I do everything described on www.go-mono.org (article for Beginners).
Next, I trie to compile mono again with gc support as described in
documentation.
Shortly after command make I got some strange error message:
[...cut....]
In file included from ../../mono/io-layer/handles-private.h:16,
from daemon.c:26:
../../mono/io-layer/wapi-private.h:25:2: #error configure failed to
discover size of unix socket path
make[3]: *** [daemon.lo] Error 1
make[3]: Leaving directory `/tmp/mono-0.23/mono/io-layer'
make[2]: *** [all-recursive] Error 1
make[2]: Leaving directory `/tmp/mono-0.23/mono'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/tmp/mono-0.23'
make: *** [all-recursive-am] Error 2
I found only one information about that:
<A HREF="http://marc.theaimsgroup.com/?l=mono-list&m=104878104919519&w=2">http://marc.theaimsgroup.com/?l=mono-list&amp;m=104878104919519&amp;w=2</A>
But there is no useful suggestion for me.
I tried to find some information in config.log but I
could not figure out what is important in this file for the problem.
I downloaded every source yesterday, so I use latest versions.
I'm Slackware 9.0 user with kernel 2.4.20 and every
package comming with Slack 9.0 - nothing changed.
Please, could someone help me ?
I would like to manage to run gtk-sharp applications.
I'm going to create some software, and port from Windows, but it
is new problem for me and I'm not so experienced to solve it.
Best regards
--
Mateusz £oskot
E-mail: <A HREF="mailto:m.loskot@chello.pl">m.loskot@chello.pl</A> Mobile: +48 (0) 693456131
GNU/Linux (Slackware 9.0) <A HREF="http://counter.li.org:">http://counter.li.org:</A> #220771
GnuGP Key <A HREF="http://dendro.sggw.waw.pl/~mloskot/pgp/">http://dendro.sggw.waw.pl/~mloskot/pgp/</A>
</PRE>
<!--endarticle-->
<HR>
<P><UL>
<!--threads-->
<LI> Next message: <A HREF="000001.html">[Mono-gc-list] second mono compilation failed
</A></li>
<LI> <B>Messages sorted by:</B>
<a href="date.html#0">[ date ]</a>
<a href="thread.html#0">[ thread ]</a>
<a href="subject.html#0">[ subject ]</a>
<a href="author.html#0">[ author ]</a>
</LI>
</UL>
</body></html>

Просмотреть файл

@ -0,0 +1,118 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
<HTML>
<HEAD>
<TITLE> [Mono-gc-list] second mono compilation failed
</TITLE>
<LINK REL="Index" HREF="index.html" >
<LINK REL="made" HREF="mailto:dick%40ximian.com">
<META NAME="robots" CONTENT="index,nofollow">
<LINK REL="Previous" HREF="000000.html">
</HEAD>
<BODY BGCOLOR="#ffffff">
<H1>[Mono-gc-list] second mono compilation failed
</H1>
<B>Dick Porter
</B>
<A HREF="mailto:dick%40ximian.com"
TITLE="[Mono-gc-list] second mono compilation failed">dick@ximian.com
</A><BR>
<I>28 Mar 2003 22:47:43 +0000</I>
<P><UL>
<LI> Previous message: <A HREF="000000.html">[Mono-gc-list] second mono compilation failed
</A></li>
<LI> <B>Messages sorted by:</B>
<a href="date.html#1">[ date ]</a>
<a href="thread.html#1">[ thread ]</a>
<a href="subject.html#1">[ subject ]</a>
<a href="author.html#1">[ author ]</a>
</LI>
</UL>
<HR>
<!--beginarticle-->
<PRE>On Fri, 2003-03-28 at 21:26, Mateusz =A3oskot wrote:
&gt;<i> SO, I compiled every source package required, compiler and runtime, etc.
</I>&gt;<i> After that, I wrote some sample console HelloWorls.cs and compiled
</I>&gt;<i> it succesfuly, and run it well.
</I>
mono-gc-list is for the discussion of the implementation of the garbage
collector in the mono runtime. Problems building mono should be
addressed to <A HREF="mailto:mono-list@ximian.com.">mono-list@ximian.com.</A>
(I've followed up to the gc list so this goes in the archive.)
Now, to actually answer your questions...
&gt;<i> When I try to run samples compilet during gtk-sharp compilation and
</I>&gt;<i> installation I got error message to:
</I>&gt;<i>=20
</I>&gt;<i> <A HREF="mailto:gekon@gekon">gekon@gekon</A>:/tmp/gtk-sharp-0.8/sample# mono gtk-hello-world.exe
</I>&gt;<i>=20
</I>&gt;<i> Unhandled Exception: System.ExecutionEngineException: No GCHandle=20
</I>&gt;<i> support built-in
</I>
gtk# relies on GC support in the runtime.
&gt;<i> Shortly after command make I got some strange error message:
</I>&gt;<i>=20
</I>&gt;<i> [...cut....]
</I>&gt;<i> In file included from ../../mono/io-layer/handles-private.h:16,
</I>&gt;<i> from daemon.c:26:
</I>&gt;<i> ../../mono/io-layer/wapi-private.h:25:2: #error configure failed to=20
</I>&gt;<i> discover size of unix socket path
</I>&gt;<i> make[3]: *** [daemon.lo] Error 1
</I>
There was a problem with your build - configure failed to discover the
size of the unix socket path field. I don't know how to make this
clearer.
&gt;<i>=20
</I>&gt;<i> But there is no useful suggestion for me.
</I>&gt;<i> I tried to find some information in config.log but I
</I>&gt;<i> could not figure out what is important in this file for the problem.
</I>
Search for &quot;sun_path&quot; in config.log, and see if there are errors logged
in the next few lines of output.
&gt;<i>=20
</I>&gt;<i> I downloaded every source yesterday, so I use latest versions.
</I>&gt;<i> I'm Slackware 9.0 user with kernel 2.4.20 and every
</I>&gt;<i> package comming with Slack 9.0 - nothing changed.
</I>&gt;<i>=20
</I>&gt;<i> Please, could someone help me ?
</I>&gt;<i> I would like to manage to run gtk-sharp applications.
</I>&gt;<i> I'm going to create some software, and port from Windows, but it
</I>&gt;<i> is new problem for me and I'm not so experienced to solve it.
</I>
If you can't build it successfully, then I can only suggest precompiled
versions (you can unpack the rpms with rpm2cpio to get the contents.)
There's a script available from <A HREF="http://www.go-mono.com/download.html">http://www.go-mono.com/download.html</A>
which should automate the mono build, but it won't solve the configure
problem.
- Dick
</PRE>
<!--endarticle-->
<HR>
<P><UL>
<!--threads-->
<LI> Previous message: <A HREF="000000.html">[Mono-gc-list] second mono compilation failed
</A></li>
<LI> <B>Messages sorted by:</B>
<a href="date.html#1">[ date ]</a>
<a href="thread.html#1">[ thread ]</a>
<a href="subject.html#1">[ subject ]</a>
<a href="author.html#1">[ author ]</a>
</LI>
</UL>
</body></html>

Просмотреть файл

@ -0,0 +1,55 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
<HTML>
<HEAD>
<title>The Mono-gc-list 2003-March Archive by Author</title>
<META NAME="robots" CONTENT="noindex,follow">
</HEAD>
<BODY BGCOLOR="#ffffff">
<a name="start"></A>
<h1>2003-March Archives by Author</h1>
<ul>
<li> <b>Messages sorted by:</b>
<a href="thread.html#start">[ thread ]</a>
<a href="subject.html#start">[ subject ]</a>
<a href="date.html#start">[ date ]</a>
<li><b><a href="http://lists.ximian.com/mailman/listinfo/mono-gc-list">More info on this list...
</a></b></li>
</ul>
<p><b>Starting:</b> <i>Fri Mar 28 21:26:03 2003</i><br>
<b>Ending:</b> <i>Fri Mar 28 22:47:43 2003</i><br>
<b>Messages:</b> 2<p>
<ul>
<LI><A HREF="000000.html">[Mono-gc-list] second mono compilation failed
</A><A NAME="0">&nbsp;</A>
<I>=?ISO-8859-2?Q?Mateusz_=A3oskot?=
</I>
<LI><A HREF="000001.html">[Mono-gc-list] second mono compilation failed
</A><A NAME="1">&nbsp;</A>
<I>Dick Porter
</I>
</ul>
<p>
<a name="end"><b>Last message date:</b></a>
<i>Fri Mar 28 22:47:43 2003</i><br>
<b>Archived on:</b> <i>Fri Mar 28 17:48:50 2003</i>
<p>
<ul>
<li> <b>Messages sorted by:</b>
<a href="thread.html#start">[ thread ]</a>
<a href="subject.html#start">[ subject ]</a>
<a href="date.html#start">[ date ]</a>
<li><b><a href="http://lists.ximian.com/mailman/listinfo/mono-gc-list">More info on this list...
</a></b></li>
</ul>
<p>
<hr>
<i>This archive was generated by
Pipermail 0.05 (Mailman edition).</i>
</BODY>
</HTML>

Просмотреть файл

@ -0,0 +1,55 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
<HTML>
<HEAD>
<title>The Mono-gc-list 2003-March Archive by Date</title>
<META NAME="robots" CONTENT="noindex,follow">
</HEAD>
<BODY BGCOLOR="#ffffff">
<a name="start"></A>
<h1>2003-March Archives by Date</h1>
<ul>
<li> <b>Messages sorted by:</b>
<a href="thread.html#start">[ thread ]</a>
<a href="subject.html#start">[ subject ]</a>
<a href="author.html#start">[ author ]</a>
<li><b><a href="http://lists.ximian.com/mailman/listinfo/mono-gc-list">More info on this list...
</a></b></li>
</ul>
<p><b>Starting:</b> <i>Fri Mar 28 21:26:03 2003</i><br>
<b>Ending:</b> <i>Fri Mar 28 22:47:43 2003</i><br>
<b>Messages:</b> 2<p>
<ul>
<LI><A HREF="000000.html">[Mono-gc-list] second mono compilation failed
</A><A NAME="0">&nbsp;</A>
<I>=?ISO-8859-2?Q?Mateusz_=A3oskot?=
</I>
<LI><A HREF="000001.html">[Mono-gc-list] second mono compilation failed
</A><A NAME="1">&nbsp;</A>
<I>Dick Porter
</I>
</ul>
<p>
<a name="end"><b>Last message date:</b></a>
<i>Fri Mar 28 22:47:43 2003</i><br>
<b>Archived on:</b> <i>Fri Mar 28 17:48:50 2003</i>
<p>
<ul>
<li> <b>Messages sorted by:</b>
<a href="thread.html#start">[ thread ]</a>
<a href="subject.html#start">[ subject ]</a>
<a href="author.html#start">[ author ]</a>
<li><b><a href="http://lists.ximian.com/mailman/listinfo/mono-gc-list">More info on this list...
</a></b></li>
</ul>
<p>
<hr>
<i>This archive was generated by
Pipermail 0.05 (Mailman edition).</i>
</BODY>
</HTML>

Просмотреть файл

@ -0,0 +1,59 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
<HTML>
<HEAD>
<title>The Mono-gc-list 2003-March Archive by Thread</title>
<META NAME="robots" CONTENT="noindex,follow">
</HEAD>
<BODY BGCOLOR="#ffffff">
<a name="start"></A>
<h1>2003-March Archives by Thread</h1>
<ul>
<li> <b>Messages sorted by:</b>
<a href="subject.html#start">[ subject ]</a>
<a href="author.html#start">[ author ]</a>
<a href="date.html#start">[ date ]</a>
<li><b><a href="http://lists.ximian.com/mailman/listinfo/mono-gc-list">More info on this list...
</a></b></li>
</ul>
<p><b>Starting:</b> <i>Fri Mar 28 21:26:03 2003</i><br>
<b>Ending:</b> <i>Fri Mar 28 22:47:43 2003</i><br>
<b>Messages:</b> 2<p>
<ul>
<!--0 01048904763- -->
<LI><A HREF="000000.html">[Mono-gc-list] second mono compilation failed
</A><A NAME="0">&nbsp;</A>
<I>=?ISO-8859-2?Q?Mateusz_=A3oskot?=
</I>
<UL>
<!--1 01048904763-01048909663- -->
<LI><A HREF="000001.html">[Mono-gc-list] second mono compilation failed
</A><A NAME="1">&nbsp;</A>
<I>Dick Porter
</I>
</UL>
</ul>
<p>
<a name="end"><b>Last message date:</b></a>
<i>Fri Mar 28 22:47:43 2003</i><br>
<b>Archived on:</b> <i>Fri Mar 28 17:48:50 2003</i>
<p>
<ul>
<li> <b>Messages sorted by:</b>
<a href="subject.html#start">[ subject ]</a>
<a href="author.html#start">[ author ]</a>
<a href="date.html#start">[ date ]</a>
<li><b><a href="http://lists.ximian.com/mailman/listinfo/mono-gc-list">More info on this list...
</a></b></li>
</ul>
<p>
<hr>
<i>This archive was generated by
Pipermail 0.05 (Mailman edition).</i>
</BODY>
</HTML>

Просмотреть файл

@ -0,0 +1,55 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
<HTML>
<HEAD>
<title>The Mono-gc-list 2003-March Archive by Subject</title>
<META NAME="robots" CONTENT="noindex,follow">
</HEAD>
<BODY BGCOLOR="#ffffff">
<a name="start"></A>
<h1>2003-March Archives by Subject</h1>
<ul>
<li> <b>Messages sorted by:</b>
<a href="thread.html#start">[ thread ]</a>
<a href="author.html#start">[ author ]</a>
<a href="date.html#start">[ date ]</a>
<li><b><a href="http://lists.ximian.com/mailman/listinfo/mono-gc-list">More info on this list...
</a></b></li>
</ul>
<p><b>Starting:</b> <i>Fri Mar 28 21:26:03 2003</i><br>
<b>Ending:</b> <i>Fri Mar 28 22:47:43 2003</i><br>
<b>Messages:</b> 2<p>
<ul>
<LI><A HREF="000000.html">[Mono-gc-list] second mono compilation failed
</A><A NAME="0">&nbsp;</A>
<I>=?ISO-8859-2?Q?Mateusz_=A3oskot?=
</I>
<LI><A HREF="000001.html">[Mono-gc-list] second mono compilation failed
</A><A NAME="1">&nbsp;</A>
<I>Dick Porter
</I>
</ul>
<p>
<a name="end"><b>Last message date:</b></a>
<i>Fri Mar 28 22:47:43 2003</i><br>
<b>Archived on:</b> <i>Fri Mar 28 17:48:50 2003</i>
<p>
<ul>
<li> <b>Messages sorted by:</b>
<a href="thread.html#start">[ thread ]</a>
<a href="author.html#start">[ author ]</a>
<a href="date.html#start">[ date ]</a>
<li><b><a href="http://lists.ximian.com/mailman/listinfo/mono-gc-list">More info on this list...
</a></b></li>
</ul>
<p>
<hr>
<i>This archive was generated by
Pipermail 0.05 (Mailman edition).</i>
</BODY>
</HTML>

Просмотреть файл

@ -0,0 +1,59 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
<HTML>
<HEAD>
<title>The Mono-gc-list 2003-March Archive by Thread</title>
<META NAME="robots" CONTENT="noindex,follow">
</HEAD>
<BODY BGCOLOR="#ffffff">
<a name="start"></A>
<h1>2003-March Archives by Thread</h1>
<ul>
<li> <b>Messages sorted by:</b>
<a href="subject.html#start">[ subject ]</a>
<a href="author.html#start">[ author ]</a>
<a href="date.html#start">[ date ]</a>
<li><b><a href="http://lists.ximian.com/mailman/listinfo/mono-gc-list">More info on this list...
</a></b></li>
</ul>
<p><b>Starting:</b> <i>Fri Mar 28 21:26:03 2003</i><br>
<b>Ending:</b> <i>Fri Mar 28 22:47:43 2003</i><br>
<b>Messages:</b> 2<p>
<ul>
<!--0 01048904763- -->
<LI><A HREF="000000.html">[Mono-gc-list] second mono compilation failed
</A><A NAME="0">&nbsp;</A>
<I>=?ISO-8859-2?Q?Mateusz_=A3oskot?=
</I>
<UL>
<!--1 01048904763-01048909663- -->
<LI><A HREF="000001.html">[Mono-gc-list] second mono compilation failed
</A><A NAME="1">&nbsp;</A>
<I>Dick Porter
</I>
</UL>
</ul>
<p>
<a name="end"><b>Last message date:</b></a>
<i>Fri Mar 28 22:47:43 2003</i><br>
<b>Archived on:</b> <i>Fri Mar 28 17:48:50 2003</i>
<p>
<ul>
<li> <b>Messages sorted by:</b>
<a href="subject.html#start">[ subject ]</a>
<a href="author.html#start">[ author ]</a>
<a href="date.html#start">[ date ]</a>
<li><b><a href="http://lists.ximian.com/mailman/listinfo/mono-gc-list">More info on this list...
</a></b></li>
</ul>
<p>
<hr>
<i>This archive was generated by
Pipermail 0.05 (Mailman edition).</i>
</BODY>
</HTML>

Просмотреть файл

@ -0,0 +1,513 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
<HTML>
<HEAD>
<TITLE> [Mono-gc-list] (probable) GC bug
</TITLE>
<LINK REL="Index" HREF="index.html" >
<LINK REL="made" HREF="mailto:sourcejedi%40phonecoop.coop">
<META NAME="robots" CONTENT="index,nofollow">
</HEAD>
<BODY BGCOLOR="#ffffff">
<H1>[Mono-gc-list] (probable) GC bug
</H1>
<B>Alan Jenkins
</B>
<A HREF="mailto:sourcejedi%40phonecoop.coop"
TITLE="[Mono-gc-list] (probable) GC bug">sourcejedi@phonecoop.coop
</A><BR>
<I>Sat, 27 Sep 2003 21:31:53 +0000</I>
<P><UL>
<LI> <B>Messages sorted by:</B>
<a href="date.html#37">[ date ]</a>
<a href="thread.html#37">[ thread ]</a>
<a href="subject.html#37">[ subject ]</a>
<a href="author.html#37">[ author ]</a>
</LI>
</UL>
<HR>
<!--beginarticle-->
<PRE>--------------Boundary-00=_5H6WD36Y6126M0Z2FLUH
Content-Type: text/plain;
charset=&quot;us-ascii&quot;
Content-Transfer-Encoding: quoted-printable
Not sure if this is the right place to post this, but here goes.
I am writing a program that reads text descriptions of &quot;Magic: The Gather=
ing&quot;=20
cards from the console, then writes them back out again.
With garbage collection turned on, a range of interesting things (dependi=
ng on
how many cards you let it read) happen - mainly null reference exceptions=
=2E =20
With garbage collection turned off, everything works fine.
Card data becomes corrupted in memory as other cards are read in.
Specifically, the length of a particular array is changed, either to zero=
or=20
an absurdly large number e.g. 7209025.
I have enthusiastically pruned my code (and got around to commenting it) =
to=20
help diagnose the problem. I couldn't isolate the problem to a specific=20
unchecked method, so I'm assuming the problem is in the garbage collectio=
n=20
code, rather than a bug elsewhere which trigers abnormal behaviour in the=
=20
garbage collector.
--------------Boundary-00=_5H6WD36Y6126M0Z2FLUH
Content-Type: application/x-tgz;
name=&quot;bugReport.tgz&quot;
Content-Transfer-Encoding: base64
Content-Disposition: attachment; filename=&quot;bugReport.tgz&quot;
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
c+tz63Pr80/x8/8B08U9MQBoAQA=
--------------Boundary-00=_5H6WD36Y6126M0Z2FLUH--
</PRE>
<!--endarticle-->
<HR>
<P><UL>
<!--threads-->
<LI> <B>Messages sorted by:</B>
<a href="date.html#37">[ date ]</a>
<a href="thread.html#37">[ thread ]</a>
<a href="subject.html#37">[ subject ]</a>
<a href="author.html#37">[ author ]</a>
</LI>
</UL>
</body></html>

Просмотреть файл

@ -0,0 +1,51 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
<HTML>
<HEAD>
<title>The Mono-gc-list 2003-September Archive by Author</title>
<META NAME="robots" CONTENT="noindex,follow">
</HEAD>
<BODY BGCOLOR="#ffffff">
<a name="start"></A>
<h1>2003-September Archives by Author</h1>
<ul>
<li> <b>Messages sorted by:</b>
<a href="thread.html#start">[ thread ]</a>
<a href="subject.html#start">[ subject ]</a>
<a href="date.html#start">[ date ]</a>
<li><b><a href="http://lists.ximian.com/mailman/listinfo/mono-gc-list">More info on this list...
</a></b></li>
</ul>
<p><b>Starting:</b> <i>Sat Sep 27 22:31:53 2003</i><br>
<b>Ending:</b> <i>Sat Sep 27 22:31:53 2003</i><br>
<b>Messages:</b> 1<p>
<ul>
<LI><A HREF="000037.html">[Mono-gc-list] (probable) GC bug
</A><A NAME="37">&nbsp;</A>
<I>Alan Jenkins
</I>
</ul>
<p>
<a name="end"><b>Last message date:</b></a>
<i>Sat Sep 27 22:31:53 2003</i><br>
<b>Archived on:</b> <i>Sun Sep 28 11:41:01 2003</i>
<p>
<ul>
<li> <b>Messages sorted by:</b>
<a href="thread.html#start">[ thread ]</a>
<a href="subject.html#start">[ subject ]</a>
<a href="date.html#start">[ date ]</a>
<li><b><a href="http://lists.ximian.com/mailman/listinfo/mono-gc-list">More info on this list...
</a></b></li>
</ul>
<p>
<hr>
<i>This archive was generated by
Pipermail 0.05 (Mailman edition).</i>
</BODY>
</HTML>

Просмотреть файл

@ -0,0 +1,51 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
<HTML>
<HEAD>
<title>The Mono-gc-list 2003-September Archive by Date</title>
<META NAME="robots" CONTENT="noindex,follow">
</HEAD>
<BODY BGCOLOR="#ffffff">
<a name="start"></A>
<h1>2003-September Archives by Date</h1>
<ul>
<li> <b>Messages sorted by:</b>
<a href="thread.html#start">[ thread ]</a>
<a href="subject.html#start">[ subject ]</a>
<a href="author.html#start">[ author ]</a>
<li><b><a href="http://lists.ximian.com/mailman/listinfo/mono-gc-list">More info on this list...
</a></b></li>
</ul>
<p><b>Starting:</b> <i>Sat Sep 27 22:31:53 2003</i><br>
<b>Ending:</b> <i>Sat Sep 27 22:31:53 2003</i><br>
<b>Messages:</b> 1<p>
<ul>
<LI><A HREF="000037.html">[Mono-gc-list] (probable) GC bug
</A><A NAME="37">&nbsp;</A>
<I>Alan Jenkins
</I>
</ul>
<p>
<a name="end"><b>Last message date:</b></a>
<i>Sat Sep 27 22:31:53 2003</i><br>
<b>Archived on:</b> <i>Sun Sep 28 11:41:01 2003</i>
<p>
<ul>
<li> <b>Messages sorted by:</b>
<a href="thread.html#start">[ thread ]</a>
<a href="subject.html#start">[ subject ]</a>
<a href="author.html#start">[ author ]</a>
<li><b><a href="http://lists.ximian.com/mailman/listinfo/mono-gc-list">More info on this list...
</a></b></li>
</ul>
<p>
<hr>
<i>This archive was generated by
Pipermail 0.05 (Mailman edition).</i>
</BODY>
</HTML>

Просмотреть файл

@ -0,0 +1,52 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
<HTML>
<HEAD>
<title>The Mono-gc-list 2003-September Archive by Thread</title>
<META NAME="robots" CONTENT="noindex,follow">
</HEAD>
<BODY BGCOLOR="#ffffff">
<a name="start"></A>
<h1>2003-September Archives by Thread</h1>
<ul>
<li> <b>Messages sorted by:</b>
<a href="subject.html#start">[ subject ]</a>
<a href="author.html#start">[ author ]</a>
<a href="date.html#start">[ date ]</a>
<li><b><a href="http://lists.ximian.com/mailman/listinfo/mono-gc-list">More info on this list...
</a></b></li>
</ul>
<p><b>Starting:</b> <i>Sat Sep 27 22:31:53 2003</i><br>
<b>Ending:</b> <i>Sat Sep 27 22:31:53 2003</i><br>
<b>Messages:</b> 1<p>
<ul>
<!--0 01064716313- -->
<LI><A HREF="000037.html">[Mono-gc-list] (probable) GC bug
</A><A NAME="37">&nbsp;</A>
<I>Alan Jenkins
</I>
</ul>
<p>
<a name="end"><b>Last message date:</b></a>
<i>Sat Sep 27 22:31:53 2003</i><br>
<b>Archived on:</b> <i>Sun Sep 28 11:41:01 2003</i>
<p>
<ul>
<li> <b>Messages sorted by:</b>
<a href="subject.html#start">[ subject ]</a>
<a href="author.html#start">[ author ]</a>
<a href="date.html#start">[ date ]</a>
<li><b><a href="http://lists.ximian.com/mailman/listinfo/mono-gc-list">More info on this list...
</a></b></li>
</ul>
<p>
<hr>
<i>This archive was generated by
Pipermail 0.05 (Mailman edition).</i>
</BODY>
</HTML>

Просмотреть файл

@ -0,0 +1,51 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
<HTML>
<HEAD>
<title>The Mono-gc-list 2003-September Archive by Subject</title>
<META NAME="robots" CONTENT="noindex,follow">
</HEAD>
<BODY BGCOLOR="#ffffff">
<a name="start"></A>
<h1>2003-September Archives by Subject</h1>
<ul>
<li> <b>Messages sorted by:</b>
<a href="thread.html#start">[ thread ]</a>
<a href="author.html#start">[ author ]</a>
<a href="date.html#start">[ date ]</a>
<li><b><a href="http://lists.ximian.com/mailman/listinfo/mono-gc-list">More info on this list...
</a></b></li>
</ul>
<p><b>Starting:</b> <i>Sat Sep 27 22:31:53 2003</i><br>
<b>Ending:</b> <i>Sat Sep 27 22:31:53 2003</i><br>
<b>Messages:</b> 1<p>
<ul>
<LI><A HREF="000037.html">[Mono-gc-list] (probable) GC bug
</A><A NAME="37">&nbsp;</A>
<I>Alan Jenkins
</I>
</ul>
<p>
<a name="end"><b>Last message date:</b></a>
<i>Sat Sep 27 22:31:53 2003</i><br>
<b>Archived on:</b> <i>Sun Sep 28 11:41:01 2003</i>
<p>
<ul>
<li> <b>Messages sorted by:</b>
<a href="thread.html#start">[ thread ]</a>
<a href="author.html#start">[ author ]</a>
<a href="date.html#start">[ date ]</a>
<li><b><a href="http://lists.ximian.com/mailman/listinfo/mono-gc-list">More info on this list...
</a></b></li>
</ul>
<p>
<hr>
<i>This archive was generated by
Pipermail 0.05 (Mailman edition).</i>
</BODY>
</HTML>

Просмотреть файл

@ -0,0 +1,52 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
<HTML>
<HEAD>
<title>The Mono-gc-list 2003-September Archive by Thread</title>
<META NAME="robots" CONTENT="noindex,follow">
</HEAD>
<BODY BGCOLOR="#ffffff">
<a name="start"></A>
<h1>2003-September Archives by Thread</h1>
<ul>
<li> <b>Messages sorted by:</b>
<a href="subject.html#start">[ subject ]</a>
<a href="author.html#start">[ author ]</a>
<a href="date.html#start">[ date ]</a>
<li><b><a href="http://lists.ximian.com/mailman/listinfo/mono-gc-list">More info on this list...
</a></b></li>
</ul>
<p><b>Starting:</b> <i>Sat Sep 27 22:31:53 2003</i><br>
<b>Ending:</b> <i>Sat Sep 27 22:31:53 2003</i><br>
<b>Messages:</b> 1<p>
<ul>
<!--0 01064716313- -->
<LI><A HREF="000037.html">[Mono-gc-list] (probable) GC bug
</A><A NAME="37">&nbsp;</A>
<I>Alan Jenkins
</I>
</ul>
<p>
<a name="end"><b>Last message date:</b></a>
<i>Sat Sep 27 22:31:53 2003</i><br>
<b>Archived on:</b> <i>Sun Sep 28 11:41:01 2003</i>
<p>
<ul>
<li> <b>Messages sorted by:</b>
<a href="subject.html#start">[ subject ]</a>
<a href="author.html#start">[ author ]</a>
<a href="date.html#start">[ date ]</a>
<li><b><a href="http://lists.ximian.com/mailman/listinfo/mono-gc-list">More info on this list...
</a></b></li>
</ul>
<p>
<hr>
<i>This archive was generated by
Pipermail 0.05 (Mailman edition).</i>
</BODY>
</HTML>

Просмотреть файл

@ -0,0 +1,59 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
<HTML>
<HEAD>
<TITLE> [Mono-gc-list] garbage collector
</TITLE>
<LINK REL="Index" HREF="index.html" >
<LINK REL="made" HREF="mailto:jchacon%40igalia.com">
<META NAME="robots" CONTENT="index,nofollow">
</HEAD>
<BODY BGCOLOR="#ffffff">
<H1>[Mono-gc-list] garbage collector
</H1>
<B>Jorge Chacon
</B>
<A HREF="mailto:jchacon%40igalia.com"
TITLE="[Mono-gc-list] garbage collector">jchacon@igalia.com
</A><BR>
<I>Tue, 10 Aug 2004 14:11:51 +0200</I>
<P><UL>
<LI> <B>Messages sorted by:</B>
<a href="date.html#44">[ date ]</a>
<a href="thread.html#44">[ thread ]</a>
<a href="subject.html#44">[ subject ]</a>
<a href="author.html#44">[ author ]</a>
</LI>
</UL>
<HR>
<!--beginarticle-->
<PRE>Hello,
I'm working on garbage collection, I'm studying the mono source code and how interacts it with the Boehm GC.
My purpose is to write a easy GC (reference counting, mark-sweep or mark-compact) for mono. I think the
first step could be to determine the application's root-set. Any suggestion ?
Thanks
--
Jorge Chacon &lt;<A HREF="mailto:jchacon@igalia.com">jchacon@igalia.com</A>&gt;
</PRE>
<!--endarticle-->
<HR>
<P><UL>
<!--threads-->
<LI> <B>Messages sorted by:</B>
<a href="date.html#44">[ date ]</a>
<a href="thread.html#44">[ thread ]</a>
<a href="subject.html#44">[ subject ]</a>
<a href="author.html#44">[ author ]</a>
</LI>
</UL>
</body></html>

Просмотреть файл

@ -0,0 +1,51 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
<HTML>
<HEAD>
<title>The Mono-gc-list 2004-August Archive by Author</title>
<META NAME="robots" CONTENT="noindex,follow">
</HEAD>
<BODY BGCOLOR="#ffffff">
<a name="start"></A>
<h1>2004-August Archives by Author</h1>
<ul>
<li> <b>Messages sorted by:</b>
<a href="thread.html#start">[ thread ]</a>
<a href="subject.html#start">[ subject ]</a>
<a href="date.html#start">[ date ]</a>
<li><b><a href="http://lists.ximian.com/mailman/listinfo/mono-gc-list">More info on this list...
</a></b></li>
</ul>
<p><b>Starting:</b> <i>Tue Aug 10 13:11:51 2004</i><br>
<b>Ending:</b> <i>Tue Aug 10 13:11:51 2004</i><br>
<b>Messages:</b> 1<p>
<ul>
<LI><A HREF="000044.html">[Mono-gc-list] garbage collector
</A><A NAME="44">&nbsp;</A>
<I>Jorge Chacon
</I>
</ul>
<p>
<a name="end"><b>Last message date:</b></a>
<i>Tue Aug 10 13:11:51 2004</i><br>
<b>Archived on:</b> <i>Tue Aug 10 08:13:06 2004</i>
<p>
<ul>
<li> <b>Messages sorted by:</b>
<a href="thread.html#start">[ thread ]</a>
<a href="subject.html#start">[ subject ]</a>
<a href="date.html#start">[ date ]</a>
<li><b><a href="http://lists.ximian.com/mailman/listinfo/mono-gc-list">More info on this list...
</a></b></li>
</ul>
<p>
<hr>
<i>This archive was generated by
Pipermail 0.05 (Mailman edition).</i>
</BODY>
</HTML>

Просмотреть файл

@ -0,0 +1,51 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
<HTML>
<HEAD>
<title>The Mono-gc-list 2004-August Archive by Date</title>
<META NAME="robots" CONTENT="noindex,follow">
</HEAD>
<BODY BGCOLOR="#ffffff">
<a name="start"></A>
<h1>2004-August Archives by Date</h1>
<ul>
<li> <b>Messages sorted by:</b>
<a href="thread.html#start">[ thread ]</a>
<a href="subject.html#start">[ subject ]</a>
<a href="author.html#start">[ author ]</a>
<li><b><a href="http://lists.ximian.com/mailman/listinfo/mono-gc-list">More info on this list...
</a></b></li>
</ul>
<p><b>Starting:</b> <i>Tue Aug 10 13:11:51 2004</i><br>
<b>Ending:</b> <i>Tue Aug 10 13:11:51 2004</i><br>
<b>Messages:</b> 1<p>
<ul>
<LI><A HREF="000044.html">[Mono-gc-list] garbage collector
</A><A NAME="44">&nbsp;</A>
<I>Jorge Chacon
</I>
</ul>
<p>
<a name="end"><b>Last message date:</b></a>
<i>Tue Aug 10 13:11:51 2004</i><br>
<b>Archived on:</b> <i>Tue Aug 10 08:13:06 2004</i>
<p>
<ul>
<li> <b>Messages sorted by:</b>
<a href="thread.html#start">[ thread ]</a>
<a href="subject.html#start">[ subject ]</a>
<a href="author.html#start">[ author ]</a>
<li><b><a href="http://lists.ximian.com/mailman/listinfo/mono-gc-list">More info on this list...
</a></b></li>
</ul>
<p>
<hr>
<i>This archive was generated by
Pipermail 0.05 (Mailman edition).</i>
</BODY>
</HTML>

Просмотреть файл

@ -0,0 +1,52 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
<HTML>
<HEAD>
<title>The Mono-gc-list 2004-August Archive by Thread</title>
<META NAME="robots" CONTENT="noindex,follow">
</HEAD>
<BODY BGCOLOR="#ffffff">
<a name="start"></A>
<h1>2004-August Archives by Thread</h1>
<ul>
<li> <b>Messages sorted by:</b>
<a href="subject.html#start">[ subject ]</a>
<a href="author.html#start">[ author ]</a>
<a href="date.html#start">[ date ]</a>
<li><b><a href="http://lists.ximian.com/mailman/listinfo/mono-gc-list">More info on this list...
</a></b></li>
</ul>
<p><b>Starting:</b> <i>Tue Aug 10 13:11:51 2004</i><br>
<b>Ending:</b> <i>Tue Aug 10 13:11:51 2004</i><br>
<b>Messages:</b> 1<p>
<ul>
<!--0 01092157911- -->
<LI><A HREF="000044.html">[Mono-gc-list] garbage collector
</A><A NAME="44">&nbsp;</A>
<I>Jorge Chacon
</I>
</ul>
<p>
<a name="end"><b>Last message date:</b></a>
<i>Tue Aug 10 13:11:51 2004</i><br>
<b>Archived on:</b> <i>Tue Aug 10 08:13:06 2004</i>
<p>
<ul>
<li> <b>Messages sorted by:</b>
<a href="subject.html#start">[ subject ]</a>
<a href="author.html#start">[ author ]</a>
<a href="date.html#start">[ date ]</a>
<li><b><a href="http://lists.ximian.com/mailman/listinfo/mono-gc-list">More info on this list...
</a></b></li>
</ul>
<p>
<hr>
<i>This archive was generated by
Pipermail 0.05 (Mailman edition).</i>
</BODY>
</HTML>

Просмотреть файл

@ -0,0 +1,51 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
<HTML>
<HEAD>
<title>The Mono-gc-list 2004-August Archive by Subject</title>
<META NAME="robots" CONTENT="noindex,follow">
</HEAD>
<BODY BGCOLOR="#ffffff">
<a name="start"></A>
<h1>2004-August Archives by Subject</h1>
<ul>
<li> <b>Messages sorted by:</b>
<a href="thread.html#start">[ thread ]</a>
<a href="author.html#start">[ author ]</a>
<a href="date.html#start">[ date ]</a>
<li><b><a href="http://lists.ximian.com/mailman/listinfo/mono-gc-list">More info on this list...
</a></b></li>
</ul>
<p><b>Starting:</b> <i>Tue Aug 10 13:11:51 2004</i><br>
<b>Ending:</b> <i>Tue Aug 10 13:11:51 2004</i><br>
<b>Messages:</b> 1<p>
<ul>
<LI><A HREF="000044.html">[Mono-gc-list] garbage collector
</A><A NAME="44">&nbsp;</A>
<I>Jorge Chacon
</I>
</ul>
<p>
<a name="end"><b>Last message date:</b></a>
<i>Tue Aug 10 13:11:51 2004</i><br>
<b>Archived on:</b> <i>Tue Aug 10 08:13:06 2004</i>
<p>
<ul>
<li> <b>Messages sorted by:</b>
<a href="thread.html#start">[ thread ]</a>
<a href="author.html#start">[ author ]</a>
<a href="date.html#start">[ date ]</a>
<li><b><a href="http://lists.ximian.com/mailman/listinfo/mono-gc-list">More info on this list...
</a></b></li>
</ul>
<p>
<hr>
<i>This archive was generated by
Pipermail 0.05 (Mailman edition).</i>
</BODY>
</HTML>

Просмотреть файл

@ -0,0 +1,52 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
<HTML>
<HEAD>
<title>The Mono-gc-list 2004-August Archive by Thread</title>
<META NAME="robots" CONTENT="noindex,follow">
</HEAD>
<BODY BGCOLOR="#ffffff">
<a name="start"></A>
<h1>2004-August Archives by Thread</h1>
<ul>
<li> <b>Messages sorted by:</b>
<a href="subject.html#start">[ subject ]</a>
<a href="author.html#start">[ author ]</a>
<a href="date.html#start">[ date ]</a>
<li><b><a href="http://lists.ximian.com/mailman/listinfo/mono-gc-list">More info on this list...
</a></b></li>
</ul>
<p><b>Starting:</b> <i>Tue Aug 10 13:11:51 2004</i><br>
<b>Ending:</b> <i>Tue Aug 10 13:11:51 2004</i><br>
<b>Messages:</b> 1<p>
<ul>
<!--0 01092157911- -->
<LI><A HREF="000044.html">[Mono-gc-list] garbage collector
</A><A NAME="44">&nbsp;</A>
<I>Jorge Chacon
</I>
</ul>
<p>
<a name="end"><b>Last message date:</b></a>
<i>Tue Aug 10 13:11:51 2004</i><br>
<b>Archived on:</b> <i>Tue Aug 10 08:13:06 2004</i>
<p>
<ul>
<li> <b>Messages sorted by:</b>
<a href="subject.html#start">[ subject ]</a>
<a href="author.html#start">[ author ]</a>
<a href="date.html#start">[ date ]</a>
<li><b><a href="http://lists.ximian.com/mailman/listinfo/mono-gc-list">More info on this list...
</a></b></li>
</ul>
<p>
<hr>
<i>This archive was generated by
Pipermail 0.05 (Mailman edition).</i>
</BODY>
</HTML>

Просмотреть файл

@ -0,0 +1,103 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
<HTML>
<HEAD>
<TITLE> [Mono-gc-list] Re: GC issue in mono 0.31
</TITLE>
<LINK REL="Index" HREF="index.html" >
<LINK REL="made" HREF="mailto:s001%40hotbox.ru">
<META NAME="robots" CONTENT="index,nofollow">
<LINK REL="Next" HREF="000039.html">
</HEAD>
<BODY BGCOLOR="#ffffff">
<H1>[Mono-gc-list] Re: GC issue in mono 0.31
</H1>
<B>Nikolai Zhubr
</B>
<A HREF="mailto:s001%40hotbox.ru"
TITLE="[Mono-gc-list] Re: GC issue in mono 0.31">s001@hotbox.ru
</A><BR>
<I>Wed, 5 May 2004 18:30:51 +0400</I>
<P><UL>
<LI> Next message: <A HREF="000039.html">[Mono-gc-list] Re: GC issue in mono 0.31
</A></li>
<LI> <B>Messages sorted by:</B>
<a href="date.html#38">[ date ]</a>
<a href="thread.html#38">[ thread ]</a>
<a href="subject.html#38">[ subject ]</a>
<a href="author.html#38">[ author ]</a>
</LI>
</UL>
<HR>
<!--beginarticle-->
<PRE>Hello Hans,
I've now tried some more things:
* Upgrading to binutils 2.13.90 didn't change anything;
* Running kernel 2.4.20 didn't essentially change anything
either;
* gctest from full 6.2 gc version does not seem to succeed:
Switched to incremental mode
Emulating dirty bits with mprotect/signals
Killed
It failes when linked statically as well. Exception happens
not at that same place as when linked from mono, but I don't
know exactly where at this time (Old gdb refused to work with
new gcc and/or binutils, I'm thinking how to better solve this)
Please let me know if I should do some other tests or if you
need more details/outputs/etc.
--
Best regards,
Nikolai Zhubr
Wednesday, 05 May, 2004, 1:34:34, you wrote:
&gt;<i> I assume nothing is prelinked? I don't think that was even an option
</I>&gt;<i> on RedHat 7.1.
</I>
&gt;<i> It would be helpful to set a breakpoint in GC_add_roots_inner, and
</I>&gt;<i> verify that it's actually being called with (DATAEND, which is
</I>&gt;<i> defined to be) _end as its middle argument.
</I>
&gt;<i> It looks like both mono and libmono define _end. By the normal ELF
</I>&gt;<i> default symbol lookup rules, I believe libmono references to _end should see the
</I>&gt;<i> definition in the main program. If this is indeed not happening, and if the
</I>&gt;<i> libmono developers aren't aware of other relevant issues, I would ask
</I>&gt;<i> on a binutils mailing list for ideas.
</I>
&gt;<i> Hans
</I>
&gt;&gt;<i> -----Original Message-----
</I>&gt;&gt;<i> From: Nikolai Zhubr [mailto:<A HREF="mailto:s001@hotbox.ru">s001@hotbox.ru</A>]
</I>&gt;&gt;<i> Sent: Tuesday, May 04, 2004 12:53 PM
</I>&gt;&gt;<i> To: Boehm, Hans
</I>&gt;&gt;<i> Cc: <A HREF="mailto:mono-gc-list@lists.ximian.com">mono-gc-list@lists.ximian.com</A>; <A HREF="mailto:mono-list@ximian.com">mono-list@ximian.com</A>
</I>&gt;&gt;<i> Subject: Re: GC issue in mono 0.31
</I>&gt;&gt;<i>
</I>
</PRE>
<!--endarticle-->
<HR>
<P><UL>
<!--threads-->
<LI> Next message: <A HREF="000039.html">[Mono-gc-list] Re: GC issue in mono 0.31
</A></li>
<LI> <B>Messages sorted by:</B>
<a href="date.html#38">[ date ]</a>
<a href="thread.html#38">[ thread ]</a>
<a href="subject.html#38">[ subject ]</a>
<a href="author.html#38">[ author ]</a>
</LI>
</UL>
</body></html>

Просмотреть файл

@ -0,0 +1,97 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
<HTML>
<HEAD>
<TITLE> [Mono-gc-list] Re: GC issue in mono 0.31
</TITLE>
<LINK REL="Index" HREF="index.html" >
<LINK REL="made" HREF="mailto:s001%40hotbox.ru">
<META NAME="robots" CONTENT="index,nofollow">
<LINK REL="Previous" HREF="000038.html">
<LINK REL="Next" HREF="000040.html">
</HEAD>
<BODY BGCOLOR="#ffffff">
<H1>[Mono-gc-list] Re: GC issue in mono 0.31
</H1>
<B>Nikolai Zhubr
</B>
<A HREF="mailto:s001%40hotbox.ru"
TITLE="[Mono-gc-list] Re: GC issue in mono 0.31">s001@hotbox.ru
</A><BR>
<I>Wed, 5 May 2004 20:05:58 +0400</I>
<P><UL>
<LI> Previous message: <A HREF="000038.html">[Mono-gc-list] Re: GC issue in mono 0.31
</A></li>
<LI> Next message: <A HREF="000040.html">[Mono-gc-list] RE: GC issue in mono 0.31
</A></li>
<LI> <B>Messages sorted by:</B>
<a href="date.html#39">[ date ]</a>
<a href="thread.html#39">[ thread ]</a>
<a href="subject.html#39">[ subject ]</a>
<a href="author.html#39">[ author ]</a>
</LI>
</UL>
<HR>
<!--beginarticle-->
<PRE>Hans,
My previous post appeared to be somewhat inexact.
The latest results are:
* gctest works on 2.4.20 kernel and fails on 2.6.5 one,
doesn't matter if linked statically or dynamically;
* mono runtime fails on 2.4.20 and 2.6.5 when linked
dynamically, but works on both kernels when linked
statically.
I think this is a tolerable workaround for me now,
however still I can provide whatever information
developers might need in order to fix the issue.
--
Best regards,
Nikolai Zhubr
Wednesday, 05 May, 2004, 18:30:51, I wrote:
&gt;<i> Hello Hans,
</I>
&gt;<i> I've now tried some more things:
</I>
&gt;<i> * Upgrading to binutils 2.13.90 didn't change anything;
</I>
&gt;<i> * Running kernel 2.4.20 didn't essentially change anything
</I>&gt;<i> either;
</I>
&gt;<i> * gctest from full 6.2 gc version does not seem to succeed:
</I>
&gt;<i> Switched to incremental mode
</I>&gt;<i> Emulating dirty bits with mprotect/signals
</I>&gt;<i> Killed
</I>
&gt;<i> It failes when linked statically as well. Exception happens
</I>&gt;<i> not at that same place as when linked from mono, but I don't
</I>&gt;<i> know exactly where at this time (Old gdb refused to work with
</I>&gt;<i> new gcc and/or binutils, I'm thinking how to better solve this)
</I>
&gt;<i> Please let me know if I should do some other tests or if you
</I>&gt;<i> need more details/outputs/etc.
</I>
</PRE>
<!--endarticle-->
<HR>
<P><UL>
<!--threads-->
<LI> Previous message: <A HREF="000038.html">[Mono-gc-list] Re: GC issue in mono 0.31
</A></li>
<LI> Next message: <A HREF="000040.html">[Mono-gc-list] RE: GC issue in mono 0.31
</A></li>
<LI> <B>Messages sorted by:</B>
<a href="date.html#39">[ date ]</a>
<a href="thread.html#39">[ thread ]</a>
<a href="subject.html#39">[ subject ]</a>
<a href="author.html#39">[ author ]</a>
</LI>
</UL>
</body></html>

Просмотреть файл

@ -0,0 +1,126 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
<HTML>
<HEAD>
<TITLE> [Mono-gc-list] RE: GC issue in mono 0.31
</TITLE>
<LINK REL="Index" HREF="index.html" >
<LINK REL="made" HREF="mailto:hans.boehm%40hp.com">
<META NAME="robots" CONTENT="index,nofollow">
<LINK REL="Previous" HREF="000039.html">
<LINK REL="Next" HREF="000041.html">
</HEAD>
<BODY BGCOLOR="#ffffff">
<H1>[Mono-gc-list] RE: GC issue in mono 0.31
</H1>
<B>Boehm, Hans
</B>
<A HREF="mailto:hans.boehm%40hp.com"
TITLE="[Mono-gc-list] RE: GC issue in mono 0.31">hans.boehm@hp.com
</A><BR>
<I>Wed, 5 May 2004 12:35:52 -0700</I>
<P><UL>
<LI> Previous message: <A HREF="000039.html">[Mono-gc-list] Re: GC issue in mono 0.31
</A></li>
<LI> Next message: <A HREF="000041.html">[Mono-gc-list] Re: GC issue in mono 0.31
</A></li>
<LI> <B>Messages sorted by:</B>
<a href="date.html#40">[ date ]</a>
<a href="thread.html#40">[ thread ]</a>
<a href="subject.html#40">[ subject ]</a>
<a href="author.html#40">[ author ]</a>
</LI>
</UL>
<HR>
<!--beginarticle-->
<PRE>[I added the <A HREF="mailto:gc@linux.hpl.hp.com">gc@linux.hpl.hp.com</A> list, since this may be of interest to others
there.]
I have a plausible explanation for the Linux 2.6.5 failure. I encountered
a similar problem on a 2.6 Itanium machine here. The problem is that the
incremental collector write protects an internal GC data structure, which
the thread-stopping signal handler tries to write. Unfortunately SIGSEGV
is blocked in that handler. This problem appears to be fairly old, but
2.6 kernels seem to schedule things differently, so that the probability of
hitting it goes from approximately zero to approximately one.
I'll release my current snapshot as 6.3alpha6 later today, so that we can
verify this.
However, this problem occurs only with incremental GC enabled, which is
rare, and almost certainly not the case for Mono. The symptoms are also
quite different from the Mono dynamic linking failure. It still looks to
me like the Mono gc is picking up the wrong _end definition. And it would
be good to track that down by looking at the GC_add_roots_inner call.
Hans
&gt;<i> -----Original Message-----
</I>&gt;<i> From: Nikolai Zhubr [mailto:<A HREF="mailto:s001@hotbox.ru">s001@hotbox.ru</A>]
</I>&gt;<i> Sent: Wednesday, May 05, 2004 9:06 AM
</I>&gt;<i> To: Boehm, Hans; <A HREF="mailto:mono-gc-list@lists.ximian.com">mono-gc-list@lists.ximian.com</A>
</I>&gt;<i> Subject: Re: GC issue in mono 0.31
</I>&gt;<i>
</I>&gt;<i>
</I>&gt;<i> Hans,
</I>&gt;<i> My previous post appeared to be somewhat inexact.
</I>&gt;<i> The latest results are:
</I>&gt;<i>
</I>&gt;<i> * gctest works on 2.4.20 kernel and fails on 2.6.5 one,
</I>&gt;<i> doesn't matter if linked statically or dynamically;
</I>&gt;<i>
</I>&gt;<i> * mono runtime fails on 2.4.20 and 2.6.5 when linked
</I>&gt;<i> dynamically, but works on both kernels when linked
</I>&gt;<i> statically.
</I>&gt;<i>
</I>&gt;<i> I think this is a tolerable workaround for me now,
</I>&gt;<i> however still I can provide whatever information
</I>&gt;<i> developers might need in order to fix the issue.
</I>&gt;<i> --
</I>&gt;<i> Best regards,
</I>&gt;<i> Nikolai Zhubr
</I>&gt;<i>
</I>&gt;<i> Wednesday, 05 May, 2004, 18:30:51, I wrote:
</I>&gt;<i>
</I>&gt;<i> &gt; Hello Hans,
</I>&gt;<i>
</I>&gt;<i> &gt; I've now tried some more things:
</I>&gt;<i>
</I>&gt;<i> &gt; * Upgrading to binutils 2.13.90 didn't change anything;
</I>&gt;<i>
</I>&gt;<i> &gt; * Running kernel 2.4.20 didn't essentially change anything
</I>&gt;<i> &gt; either;
</I>&gt;<i>
</I>&gt;<i> &gt; * gctest from full 6.2 gc version does not seem to succeed:
</I>&gt;<i>
</I>&gt;<i> &gt; Switched to incremental mode
</I>&gt;<i> &gt; Emulating dirty bits with mprotect/signals
</I>&gt;<i> &gt; Killed
</I>&gt;<i>
</I>&gt;<i> &gt; It failes when linked statically as well. Exception happens
</I>&gt;<i> &gt; not at that same place as when linked from mono, but I don't
</I>&gt;<i> &gt; know exactly where at this time (Old gdb refused to work with
</I>&gt;<i> &gt; new gcc and/or binutils, I'm thinking how to better solve this)
</I>&gt;<i>
</I>&gt;<i> &gt; Please let me know if I should do some other tests or if you
</I>&gt;<i> &gt; need more details/outputs/etc.
</I>&gt;<i>
</I>&gt;<i>
</I>
</PRE>
<!--endarticle-->
<HR>
<P><UL>
<!--threads-->
<LI> Previous message: <A HREF="000039.html">[Mono-gc-list] Re: GC issue in mono 0.31
</A></li>
<LI> Next message: <A HREF="000041.html">[Mono-gc-list] Re: GC issue in mono 0.31
</A></li>
<LI> <B>Messages sorted by:</B>
<a href="date.html#40">[ date ]</a>
<a href="thread.html#40">[ thread ]</a>
<a href="subject.html#40">[ subject ]</a>
<a href="author.html#40">[ author ]</a>
</LI>
</UL>
</body></html>

Просмотреть файл

@ -0,0 +1,209 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
<HTML>
<HEAD>
<TITLE> [Mono-gc-list] Re: GC issue in mono 0.31
</TITLE>
<LINK REL="Index" HREF="index.html" >
<LINK REL="made" HREF="mailto:s001%40hotbox.ru">
<META NAME="robots" CONTENT="index,nofollow">
<LINK REL="Previous" HREF="000040.html">
<LINK REL="Next" HREF="000042.html">
</HEAD>
<BODY BGCOLOR="#ffffff">
<H1>[Mono-gc-list] Re: GC issue in mono 0.31
</H1>
<B>Nikolai Zhubr
</B>
<A HREF="mailto:s001%40hotbox.ru"
TITLE="[Mono-gc-list] Re: GC issue in mono 0.31">s001@hotbox.ru
</A><BR>
<I>Thu, 6 May 2004 04:03:25 +0400</I>
<P><UL>
<LI> Previous message: <A HREF="000040.html">[Mono-gc-list] RE: GC issue in mono 0.31
</A></li>
<LI> Next message: <A HREF="000042.html">[Mono-gc-list] Re: GC issue in mono 0.31
</A></li>
<LI> <B>Messages sorted by:</B>
<a href="date.html#41">[ date ]</a>
<a href="thread.html#41">[ thread ]</a>
<a href="subject.html#41">[ subject ]</a>
<a href="author.html#41">[ author ]</a>
</LI>
</UL>
<HR>
<!--beginarticle-->
<PRE>------------5DD01673AECB9CD
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
Hello Hans,
You are right probably that there are actually two separate
problems (I was lucky enough to hit both).
Returning to dynamic linking issue, attached is the output
with GC_add_roots_inner arguments included + /proc/&lt;mono&gt;/maps.
(Some addresses have probably changed somewhat, so it might not
exactly match previously posted nm output)
--
Best regards,
Nikolai Zhubr
Wednesday, 05 May, 2004, 23:35:52, you wrote:
&gt;<i> [I added the <A HREF="mailto:gc@linux.hpl.hp.com">gc@linux.hpl.hp.com</A> list, since this may be of interest to others
</I>&gt;<i> there.]
</I>
&gt;<i> I have a plausible explanation for the Linux 2.6.5 failure. I encountered
</I>&gt;<i> a similar problem on a 2.6 Itanium machine here. The problem is that the
</I>&gt;<i> incremental collector write protects an internal GC data structure, which
</I>&gt;<i> the thread-stopping signal handler tries to write. Unfortunately SIGSEGV
</I>&gt;<i> is blocked in that handler. This problem appears to be fairly old, but
</I>&gt;<i> 2.6 kernels seem to schedule things differently, so that the probability of
</I>&gt;<i> hitting it goes from approximately zero to approximately one.
</I>
&gt;<i> I'll release my current snapshot as 6.3alpha6 later today, so that we can
</I>&gt;<i> verify this.
</I>
&gt;<i> However, this problem occurs only with incremental GC enabled, which is
</I>&gt;<i> rare, and almost certainly not the case for Mono. The symptoms are also
</I>&gt;<i> quite different from the Mono dynamic linking failure. It still looks to
</I>&gt;<i> me like the Mono gc is picking up the wrong _end definition. And it would
</I>&gt;<i> be good to track that down by looking at the GC_add_roots_inner call.
</I>
&gt;<i> Hans
</I>
&gt;&gt;<i> -----Original Message-----
</I>&gt;&gt;<i> From: Nikolai Zhubr [mailto:<A HREF="mailto:s001@hotbox.ru">s001@hotbox.ru</A>]
</I>&gt;&gt;<i> Sent: Wednesday, May 05, 2004 9:06 AM
</I>&gt;&gt;<i> To: Boehm, Hans; <A HREF="mailto:mono-gc-list@lists.ximian.com">mono-gc-list@lists.ximian.com</A>
</I>&gt;&gt;<i> Subject: Re: GC issue in mono 0.31
</I>&gt;&gt;<i>
</I>&gt;&gt;<i>
</I>&gt;&gt;<i> Hans,
</I>&gt;&gt;<i> My previous post appeared to be somewhat inexact.
</I>&gt;&gt;<i> The latest results are:
</I>&gt;&gt;<i>
</I>&gt;&gt;<i> * gctest works on 2.4.20 kernel and fails on 2.6.5 one,
</I>&gt;&gt;<i> doesn't matter if linked statically or dynamically;
</I>&gt;&gt;<i>
</I>&gt;&gt;<i> * mono runtime fails on 2.4.20 and 2.6.5 when linked
</I>&gt;&gt;<i> dynamically, but works on both kernels when linked
</I>&gt;&gt;<i> statically.
</I>&gt;&gt;<i>
</I>&gt;&gt;<i> I think this is a tolerable workaround for me now,
</I>&gt;&gt;<i> however still I can provide whatever information
</I>&gt;&gt;<i> developers might need in order to fix the issue.
</I>&gt;&gt;<i> --
</I>&gt;&gt;<i> Best regards,
</I>&gt;&gt;<i> Nikolai Zhubr
</I>&gt;&gt;<i>
</I>------------5DD01673AECB9CD
Content-Type: text/plain; name=&quot;out2.txt&quot;
Content-Transfer-Encoding: base64
Content-Disposition: attachment; filename=&quot;out2.txt&quot;
R0NfYWRkX3Jvb3RzX2lubmVyKDB4MDgwNDk3YjAsIDB4NDAxODRkMDAsLi4uKQpsaW1pdCA9IDB4
MDgwN2QxMmMsIGN1cnJlbnRfcCA9IDB4MDgwN2NmMzQsIEdDX3N0YWNrYm90dG9tID0gMHhiZmZm
ZjlhYzsKKioqU3RhdGljIHJvb3RzOgpGcm9tIDB4ODA0OTdiMCB0byAweDQwMTg0ZDAwIApUb3Rh
bCBzaXplOiA5NDA4MTU2OTYKCioqKkhlYXAgc2VjdGlvbnM6ClRvdGFsIGhlYXAgc2l6ZTogNjU1
MzYKU2VjdGlvbiAwIGZyb20gMHg4MDZkMDAwIHRvIDB4ODA3ZDAwMCAwLzE2IGJsYWNrbGlzdGVk
CgoqKipGcmVlIGJsb2NrczoKRnJlZSBsaXN0IDE2IChUb3RhbCBzaXplIDY1NTM2KToKCTB4ODA2
ZDAwMCBzaXplIDY1NTM2IG5vdCBibGFjayBsaXN0ZWQKVG90YWwgb2YgNjU1MzYgYnl0ZXMgb24g
ZnJlZSBsaXN0CgoqKipCbG9ja3MgaW4gdXNlOgooa2luZCgwPXB0cmZyZWUsMT1ub3JtYWwsMj11
bmMuLDM9c3R1YmJvcm4pOnNpemVfaW5fYnl0ZXMsICNfbWFya3Nfc2V0KQoKYmxvY2tzID0gMCwg
Ynl0ZXMgPSAwCgoqKipGaW5hbGl6YXRpb24gc3RhdGlzdGljczoKMCBmaW5hbGl6YXRpb24gdGFi
bGUgZW50cmllczsgMCBkaXNhcHBlYXJpbmcgbGlua3MKMCBvYmplY3RzIGFyZSBlbGlnaWJsZSBm
b3IgaW1tZWRpYXRlIGZpbmFsaXphdGlvbgo=
------------5DD01673AECB9CD
Content-Type: text/plain; name=&quot;maps2.txt&quot;
Content-Transfer-Encoding: base64
Content-Disposition: attachment; filename=&quot;maps2.txt&quot;
MDgwNDgwMDAtMDgwNDkwMDAgci14cCAwMDAwMDAwMCAwNzowMCAxNDY5OCAgICAgIC9tbnQvbGlu
X2Rpc2svQlVJTEQvbW9uby0wLjMxL21vbm8vbWluaS8ubGlicy9tb25vCjA4MDQ5MDAwLTA4MDRh
MDAwIHJ3LXAgMDAwMDAwMDAgMDc6MDAgMTQ2OTggICAgICAvbW50L2xpbl9kaXNrL0JVSUxEL21v
bm8tMC4zMS9tb25vL21pbmkvLmxpYnMvbW9ubwowODA0YTAwMC0wODA3ZDAwMCByd3hwIDAwMDAw
MDAwIDAwOjAwIDAgCjQwMDAwMDAwLTQwMDE2MDAwIHIteHAgMDAwMDAwMDAgMDM6MDMgMjg4NzY3
ICAgICAvbGliL2xkLTIuMi4yLnNvCjQwMDE2MDAwLTQwMDE3MDAwIHJ3LXAgMDAwMTUwMDAgMDM6
MDMgMjg4NzY3ICAgICAvbGliL2xkLTIuMi4yLnNvCjQwMDE3MDAwLTQwMDE4MDAwIHJ3LXAgMDAw
MDAwMDAgMDA6MDAgMCAKNDAwMTgwMDAtNDAxNTQwMDAgci14cCAwMDAwMDAwMCAwNzowMCAxNDY5
MCAgICAgIC9tbnQvbGluX2Rpc2svQlVJTEQvbW9uby0wLjMxL21vbm8vbWluaS8ubGlicy9saWJt
b25vLnNvLjAuMC4wCjQwMTU0MDAwLTQwMTc3MDAwIHJ3LXAgMDAxM2IwMDAgMDc6MDAgMTQ2OTAg
ICAgICAvbW50L2xpbl9kaXNrL0JVSUxEL21vbm8tMC4zMS9tb25vL21pbmkvLmxpYnMvbGlibW9u
by5zby4wLjAuMAo0MDE3NzAwMC00MDE4NTAwMCBydy1wIDAwMDAwMDAwIDAwOjAwIDAgCjQwMTg1
MDAwLTQwMTg2MDAwIHItLXAgMDAwMDAwMDAgMDM6MDMgMTI4Mjk4ICAgICAvdXNyL2xpYi9sb2Nh
bGUvZW5fVVMvTENfSURFTlRJRklDQVRJT04KNDAxODYwMDAtNDAxODcwMDAgci0tcCAwMDAwMDAw
MCAwMzowMyAxMjgyOTkgICAgIC91c3IvbGliL2xvY2FsZS9lbl9VUy9MQ19NRUFTVVJFTUVOVAo0
MDE4NzAwMC00MDE4ODAwMCByLS1wIDAwMDAwMDAwIDAzOjAzIDEyODMwMiAgICAgL3Vzci9saWIv
bG9jYWxlL2VuX1VTL0xDX1RFTEVQSE9ORQo0MDE4ODAwMC00MDE4OTAwMCByLS1wIDAwMDAwMDAw
IDAzOjAzIDEyODI5NyAgICAgL3Vzci9saWIvbG9jYWxlL2VuX1VTL0xDX0FERFJFU1MKNDAxODkw
MDAtNDAxOGEwMDAgci0tcCAwMDAwMDAwMCAwMzowMyAxMjgzMDAgICAgIC91c3IvbGliL2xvY2Fs
ZS9lbl9VUy9MQ19OQU1FCjQwMThhMDAwLTQwMThiMDAwIHItLXAgMDAwMDAwMDAgMDM6MDMgMTI4
MzAxICAgICAvdXNyL2xpYi9sb2NhbGUvZW5fVVMvTENfUEFQRVIKNDAxOGIwMDAtNDAxOGMwMDAg
ci0tcCAwMDAwMDAwMCAwMzowMyA2NDIxMSAgICAgIC91c3IvbGliL2xvY2FsZS9lbl9VUy9MQ19N
RVNTQUdFUy9TWVNfTENfTUVTU0FHRVMKNDAxOGMwMDAtNDAxOGQwMDAgci0tcCAwMDAwMDAwMCAw
MzowMyAxNDQzMzkgICAgIC91c3IvbGliL2xvY2FsZS9lbl9VUy9MQ19NT05FVEFSWQo0MDE5MTAw
MC00MDE5NTAwMCByLXhwIDAwMDAwMDAwIDAzOjAzIDk2NTg3ICAgICAgL3Vzci9saWIvbGliZ3Ro
cmVhZC0yLjAuc28uMC4wLjYKNDAxOTUwMDAtNDAxOTYwMDAgcnctcCAwMDAwMzAwMCAwMzowMyA5
NjU4NyAgICAgIC91c3IvbGliL2xpYmd0aHJlYWQtMi4wLnNvLjAuMC42CjQwMTk2MDAwLTQwMTk5
MDAwIHIteHAgMDAwMDAwMDAgMDM6MDMgOTY0MzcgICAgICAvdXNyL2xpYi9saWJnbW9kdWxlLTIu
MC5zby4wLjAuNgo0MDE5OTAwMC00MDE5YTAwMCBydy1wIDAwMDAyMDAwIDAzOjAzIDk2NDM3ICAg
ICAgL3Vzci9saWIvbGliZ21vZHVsZS0yLjAuc28uMC4wLjYKNDAxOWEwMDAtNDAxOWQwMDAgci14
cCAwMDAwMDAwMCAwMzowMyAyODg3ODAgICAgIC9saWIvbGliZGwtMi4yLjIuc28KNDAxOWQwMDAt
NDAxOWUwMDAgcnctcCAwMDAwMjAwMCAwMzowMyAyODg3ODAgICAgIC9saWIvbGliZGwtMi4yLjIu
c28KNDAxOWUwMDAtNDAyMDMwMDAgci14cCAwMDAwMDAwMCAwMzowMyA5NjQzNSAgICAgIC91c3Iv
bGliL2xpYmdsaWItMi4wLnNvLjAuMC42CjQwMjAzMDAwLTQwMjA1MDAwIHJ3LXAgMDAwNjQwMDAg
MDM6MDMgOTY0MzUgICAgICAvdXNyL2xpYi9saWJnbGliLTIuMC5zby4wLjAuNgo0MDIwNTAwMC00
MDIxODAwMCByLXhwIDAwMDAwMDAwIDAzOjAzIDI4ODc4NSAgICAgL2xpYi9saWJuc2wtMi4yLjIu
c28KNDAyMTgwMDAtNDAyMWEwMDAgcnctcCAwMDAxMjAwMCAwMzowMyAyODg3ODUgICAgIC9saWIv
bGlibnNsLTIuMi4yLnNvCjQwMjFhMDAwLTQwMjFjMDAwIHJ3LXAgMDAwMDAwMDAgMDA6MDAgMCAK
NDAyMWMwMDAtNDAyMjkwMDAgci14cCAwMDAwMDAwMCAwMzowMyA5NjM4OCAgICAgIC9saWIvaTY4
Ni9saWJwdGhyZWFkLTAuOS5zbwo0MDIyOTAwMC00MDIzMTAwMCBydy1wIDAwMDBjMDAwIDAzOjAz
IDk2Mzg4ICAgICAgL2xpYi9pNjg2L2xpYnB0aHJlYWQtMC45LnNvCjQwMjMxMDAwLTQwMjMyMDAw
IHJ3LXAgMDAwMDAwMDAgMDA6MDAgMCAKNDAyMzIwMDAtNDAyNTUwMDAgci14cCAwMDAwMDAwMCAw
MzowMyA5NjM4NiAgICAgIC9saWIvaTY4Ni9saWJtLTIuMi4yLnNvCjQwMjU1MDAwLTQwMjU2MDAw
IHJ3LXAgMDAwMjIwMDAgMDM6MDMgOTYzODYgICAgICAvbGliL2k2ODYvbGlibS0yLjIuMi5zbwo0
MDI1NjAwMC00MDI1ZDAwMCByLXhwIDAwMDAwMDAwIDAzOjAzIDI4ODgxNiAgICAgL2xpYi9saWJy
dC0yLjIuMi5zbwo0MDI1ZDAwMC00MDI1ZTAwMCBydy1wIDAwMDA2MDAwIDAzOjAzIDI4ODgxNiAg
ICAgL2xpYi9saWJydC0yLjIuMi5zbwo0MDI1ZTAwMC00MDI2ODAwMCBydy1wIDAwMDAwMDAwIDAw
OjAwIDAgCjQwMjY4MDAwLTQwMzhlMDAwIHIteHAgMDAwMDAwMDAgMDM6MDMgOTYzODQgICAgICAv
bGliL2k2ODYvbGliYy0yLjIuMi5zbwo0MDM4ZTAwMC00MDM5NDAwMCBydy1wIDAwMTI1MDAwIDAz
OjAzIDk2Mzg0ICAgICAgL2xpYi9pNjg2L2xpYmMtMi4yLjIuc28KNDAzOTQwMDAtNDAzOTgwMDAg
cnctcCAwMDAwMDAwMCAwMDowMCAwIAo0MDM5ODAwMC00MDM5ZjAwMCByLXhwIDAwMDAwMDAwIDAz
OjAzIDI1NjU1MiAgICAgL2hvbWUvdGVzdGdjYy9nY2MtMy4zLjEvbGliL2xpYmdjY19zLnNvLjEK
NDAzOWYwMDAtNDAzYTEwMDAgcnctcCAwMDAwNjAwMCAwMzowMyAyNTY1NTIgICAgIC9ob21lL3Rl
c3RnY2MvZ2NjLTMuMy4xL2xpYi9saWJnY2Nfcy5zby4xCjQwM2ExMDAwLTQwM2EyMDAwIHJ3LXAg
MDAwMDAwMDAgMDA6MDAgMCAKNDAzYTIwMDAtNDAzYTgwMDAgci0tcCAwMDAwMDAwMCAwMzowMyAz
MjE0MSAgICAgIC91c3IvbGliL2xvY2FsZS9lbl9VUy9MQ19DT0xMQVRFCjQwM2E4MDAwLTQwM2E5
MDAwIHItLXAgMDAwMDAwMDAgMDM6MDMgMTI4MzAzICAgICAvdXNyL2xpYi9sb2NhbGUvZW5fVVMv
TENfVElNRQo0MDNhOTAwMC00MDNhYTAwMCByLS1wIDAwMDAwMDAwIDAzOjAzIDQ4MTYzICAgICAg
L3Vzci9saWIvbG9jYWxlL2VuX1VTL0xDX05VTUVSSUMKNDAzYWEwMDAtNDAzYzUwMDAgci0tcCAw
MDAwMDAwMCAwMzowMyA4MDI0MCAgICAgIC91c3IvbGliL2xvY2FsZS9lbl9VUy9MQ19DVFlQRQo0
MDNjNTAwMC00MDNjNzAwMCBydy1wIDAwMDAwMDAwIDAwOjAwIDAgCmJmZmZiMDAwLWMwMDAwMDAw
IHJ3eHAgZmZmZmMwMDAgMDA6MDAgMCAKZmZmZmUwMDAtZmZmZmYwMDAgLS0tcCAwMDAwMDAwMCAw
MDowMCAwIAo=
------------5DD01673AECB9CD--
</PRE>
<!--endarticle-->
<HR>
<P><UL>
<!--threads-->
<LI> Previous message: <A HREF="000040.html">[Mono-gc-list] RE: GC issue in mono 0.31
</A></li>
<LI> Next message: <A HREF="000042.html">[Mono-gc-list] Re: GC issue in mono 0.31
</A></li>
<LI> <B>Messages sorted by:</B>
<a href="date.html#41">[ date ]</a>
<a href="thread.html#41">[ thread ]</a>
<a href="subject.html#41">[ subject ]</a>
<a href="author.html#41">[ author ]</a>
</LI>
</UL>
</body></html>

Просмотреть файл

@ -0,0 +1,82 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
<HTML>
<HEAD>
<TITLE> [Mono-gc-list] Re: GC issue in mono 0.31
</TITLE>
<LINK REL="Index" HREF="index.html" >
<LINK REL="made" HREF="mailto:Hans.Boehm%40hp.com">
<META NAME="robots" CONTENT="index,nofollow">
<LINK REL="Previous" HREF="000041.html">
<LINK REL="Next" HREF="000043.html">
</HEAD>
<BODY BGCOLOR="#ffffff">
<H1>[Mono-gc-list] Re: GC issue in mono 0.31
</H1>
<B>Hans Boehm
</B>
<A HREF="mailto:Hans.Boehm%40hp.com"
TITLE="[Mono-gc-list] Re: GC issue in mono 0.31">Hans.Boehm@hp.com
</A><BR>
<I>Wed, 5 May 2004 17:14:38 -0700 (PDT)</I>
<P><UL>
<LI> Previous message: <A HREF="000041.html">[Mono-gc-list] Re: GC issue in mono 0.31
</A></li>
<LI> Next message: <A HREF="000043.html">[Mono-gc-list] Re: GC issue in mono 0.31
</A></li>
<LI> <B>Messages sorted by:</B>
<a href="date.html#42">[ date ]</a>
<a href="thread.html#42">[ thread ]</a>
<a href="subject.html#42">[ subject ]</a>
<a href="author.html#42">[ author ]</a>
</LI>
</UL>
<HR>
<!--beginarticle-->
<PRE>Thanks.
The address range that's passed to GC_add_roots_inner is clearly much too large.
Could you also print __data_start and _end at the call to GC_add_roots_inner?
(They're both declared as arrays. I want the address, not the elements.)
If that's indeed where the two arguments are coming from, then we fairly
clearly have a linker issue.
I put gc6.3alpha6 on the web site. Hopefuly the other 2.6 problem should
disappear with that.
Hans
On Thu, 6 May 2004, Nikolai Zhubr wrote:
&gt;<i> Hello Hans,
</I>&gt;<i> You are right probably that there are actually two separate
</I>&gt;<i> problems (I was lucky enough to hit both).
</I>&gt;<i> Returning to dynamic linking issue, attached is the output
</I>&gt;<i> with GC_add_roots_inner arguments included + /proc/&lt;mono&gt;/maps.
</I>&gt;<i> (Some addresses have probably changed somewhat, so it might not
</I>&gt;<i> exactly match previously posted nm output)
</I>&gt;<i>
</I>
--
Hans Boehm
(<A HREF="mailto:hboehm@hpl.hp.com">hboehm@hpl.hp.com</A>)
</PRE>
<!--endarticle-->
<HR>
<P><UL>
<!--threads-->
<LI> Previous message: <A HREF="000041.html">[Mono-gc-list] Re: GC issue in mono 0.31
</A></li>
<LI> Next message: <A HREF="000043.html">[Mono-gc-list] Re: GC issue in mono 0.31
</A></li>
<LI> <B>Messages sorted by:</B>
<a href="date.html#42">[ date ]</a>
<a href="thread.html#42">[ thread ]</a>
<a href="subject.html#42">[ subject ]</a>
<a href="author.html#42">[ author ]</a>
</LI>
</UL>
</body></html>

Просмотреть файл

@ -0,0 +1,90 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
<HTML>
<HEAD>
<TITLE> [Mono-gc-list] Re: GC issue in mono 0.31
</TITLE>
<LINK REL="Index" HREF="index.html" >
<LINK REL="made" HREF="mailto:s001%40hotbox.ru">
<META NAME="robots" CONTENT="index,nofollow">
<LINK REL="Previous" HREF="000042.html">
</HEAD>
<BODY BGCOLOR="#ffffff">
<H1>[Mono-gc-list] Re: GC issue in mono 0.31
</H1>
<B>Nikolai Zhubr
</B>
<A HREF="mailto:s001%40hotbox.ru"
TITLE="[Mono-gc-list] Re: GC issue in mono 0.31">s001@hotbox.ru
</A><BR>
<I>Thu, 6 May 2004 14:52:42 +0400</I>
<P><UL>
<LI> Previous message: <A HREF="000042.html">[Mono-gc-list] Re: GC issue in mono 0.31
</A></li>
<LI> <B>Messages sorted by:</B>
<a href="date.html#43">[ date ]</a>
<a href="thread.html#43">[ thread ]</a>
<a href="subject.html#43">[ subject ]</a>
<a href="author.html#43">[ author ]</a>
</LI>
</UL>
<HR>
<!--beginarticle-->
<PRE>Hans,
I've checked __data_start and _end and they appear to be
exactly equal to the values passed to GC_add_roots_inner.
Regarding 6.3alpha6 version, yes it looks like gctest now
passes successfully on 2.6.5 kernel here.
--
Best regards,
Nikolai Zhubr
Thursday, 06 May, 2004, 4:14:38, you wrote:
&gt;<i> Thanks.
</I>
&gt;<i> The address range that's passed to GC_add_roots_inner is clearly much too large.
</I>
&gt;<i> Could you also print __data_start and _end at the call to GC_add_roots_inner?
</I>&gt;<i> (They're both declared as arrays. I want the address, not the elements.)
</I>&gt;<i> If that's indeed where the two arguments are coming from, then we fairly
</I>&gt;<i> clearly have a linker issue.
</I>
&gt;<i> I put gc6.3alpha6 on the web site. Hopefuly the other 2.6 problem should
</I>&gt;<i> disappear with that.
</I>
&gt;<i> Hans
</I>
&gt;<i> On Thu, 6 May 2004, Nikolai Zhubr wrote:
</I>
&gt;&gt;<i> Hello Hans,
</I>&gt;&gt;<i> You are right probably that there are actually two separate
</I>&gt;&gt;<i> problems (I was lucky enough to hit both).
</I>&gt;&gt;<i> Returning to dynamic linking issue, attached is the output
</I>&gt;&gt;<i> with GC_add_roots_inner arguments included + /proc/&lt;mono&gt;/maps.
</I>&gt;&gt;<i> (Some addresses have probably changed somewhat, so it might not
</I>&gt;&gt;<i> exactly match previously posted nm output)
</I>&gt;&gt;<i>
</I>
</PRE>
<!--endarticle-->
<HR>
<P><UL>
<!--threads-->
<LI> Previous message: <A HREF="000042.html">[Mono-gc-list] Re: GC issue in mono 0.31
</A></li>
<LI> <B>Messages sorted by:</B>
<a href="date.html#43">[ date ]</a>
<a href="thread.html#43">[ thread ]</a>
<a href="subject.html#43">[ subject ]</a>
<a href="author.html#43">[ author ]</a>
</LI>
</UL>
</body></html>

Просмотреть файл

@ -0,0 +1,71 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
<HTML>
<HEAD>
<title>The Mono-gc-list 2004-May Archive by Author</title>
<META NAME="robots" CONTENT="noindex,follow">
</HEAD>
<BODY BGCOLOR="#ffffff">
<a name="start"></A>
<h1>2004-May Archives by Author</h1>
<ul>
<li> <b>Messages sorted by:</b>
<a href="thread.html#start">[ thread ]</a>
<a href="subject.html#start">[ subject ]</a>
<a href="date.html#start">[ date ]</a>
<li><b><a href="http://lists.ximian.com/mailman/listinfo/mono-gc-list">More info on this list...
</a></b></li>
</ul>
<p><b>Starting:</b> <i>Wed May 5 15:30:51 2004</i><br>
<b>Ending:</b> <i>Thu May 6 11:52:42 2004</i><br>
<b>Messages:</b> 6<p>
<ul>
<LI><A HREF="000040.html">[Mono-gc-list] RE: GC issue in mono 0.31
</A><A NAME="40">&nbsp;</A>
<I>Boehm, Hans
</I>
<LI><A HREF="000042.html">[Mono-gc-list] Re: GC issue in mono 0.31
</A><A NAME="42">&nbsp;</A>
<I>Hans Boehm
</I>
<LI><A HREF="000038.html">[Mono-gc-list] Re: GC issue in mono 0.31
</A><A NAME="38">&nbsp;</A>
<I>Nikolai Zhubr
</I>
<LI><A HREF="000039.html">[Mono-gc-list] Re: GC issue in mono 0.31
</A><A NAME="39">&nbsp;</A>
<I>Nikolai Zhubr
</I>
<LI><A HREF="000041.html">[Mono-gc-list] Re: GC issue in mono 0.31
</A><A NAME="41">&nbsp;</A>
<I>Nikolai Zhubr
</I>
<LI><A HREF="000043.html">[Mono-gc-list] Re: GC issue in mono 0.31
</A><A NAME="43">&nbsp;</A>
<I>Nikolai Zhubr
</I>
</ul>
<p>
<a name="end"><b>Last message date:</b></a>
<i>Thu May 6 11:52:42 2004</i><br>
<b>Archived on:</b> <i>Fri May 7 04:43:01 2004</i>
<p>
<ul>
<li> <b>Messages sorted by:</b>
<a href="thread.html#start">[ thread ]</a>
<a href="subject.html#start">[ subject ]</a>
<a href="date.html#start">[ date ]</a>
<li><b><a href="http://lists.ximian.com/mailman/listinfo/mono-gc-list">More info on this list...
</a></b></li>
</ul>
<p>
<hr>
<i>This archive was generated by
Pipermail 0.05 (Mailman edition).</i>
</BODY>
</HTML>

Просмотреть файл

@ -0,0 +1,71 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
<HTML>
<HEAD>
<title>The Mono-gc-list 2004-May Archive by Date</title>
<META NAME="robots" CONTENT="noindex,follow">
</HEAD>
<BODY BGCOLOR="#ffffff">
<a name="start"></A>
<h1>2004-May Archives by Date</h1>
<ul>
<li> <b>Messages sorted by:</b>
<a href="thread.html#start">[ thread ]</a>
<a href="subject.html#start">[ subject ]</a>
<a href="author.html#start">[ author ]</a>
<li><b><a href="http://lists.ximian.com/mailman/listinfo/mono-gc-list">More info on this list...
</a></b></li>
</ul>
<p><b>Starting:</b> <i>Wed May 5 15:30:51 2004</i><br>
<b>Ending:</b> <i>Thu May 6 11:52:42 2004</i><br>
<b>Messages:</b> 6<p>
<ul>
<LI><A HREF="000038.html">[Mono-gc-list] Re: GC issue in mono 0.31
</A><A NAME="38">&nbsp;</A>
<I>Nikolai Zhubr
</I>
<LI><A HREF="000039.html">[Mono-gc-list] Re: GC issue in mono 0.31
</A><A NAME="39">&nbsp;</A>
<I>Nikolai Zhubr
</I>
<LI><A HREF="000040.html">[Mono-gc-list] RE: GC issue in mono 0.31
</A><A NAME="40">&nbsp;</A>
<I>Boehm, Hans
</I>
<LI><A HREF="000041.html">[Mono-gc-list] Re: GC issue in mono 0.31
</A><A NAME="41">&nbsp;</A>
<I>Nikolai Zhubr
</I>
<LI><A HREF="000042.html">[Mono-gc-list] Re: GC issue in mono 0.31
</A><A NAME="42">&nbsp;</A>
<I>Hans Boehm
</I>
<LI><A HREF="000043.html">[Mono-gc-list] Re: GC issue in mono 0.31
</A><A NAME="43">&nbsp;</A>
<I>Nikolai Zhubr
</I>
</ul>
<p>
<a name="end"><b>Last message date:</b></a>
<i>Thu May 6 11:52:42 2004</i><br>
<b>Archived on:</b> <i>Fri May 7 04:43:01 2004</i>
<p>
<ul>
<li> <b>Messages sorted by:</b>
<a href="thread.html#start">[ thread ]</a>
<a href="subject.html#start">[ subject ]</a>
<a href="author.html#start">[ author ]</a>
<li><b><a href="http://lists.ximian.com/mailman/listinfo/mono-gc-list">More info on this list...
</a></b></li>
</ul>
<p>
<hr>
<i>This archive was generated by
Pipermail 0.05 (Mailman edition).</i>
</BODY>
</HTML>

Просмотреть файл

@ -0,0 +1,85 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
<HTML>
<HEAD>
<title>The Mono-gc-list 2004-May Archive by Thread</title>
<META NAME="robots" CONTENT="noindex,follow">
</HEAD>
<BODY BGCOLOR="#ffffff">
<a name="start"></A>
<h1>2004-May Archives by Thread</h1>
<ul>
<li> <b>Messages sorted by:</b>
<a href="subject.html#start">[ subject ]</a>
<a href="author.html#start">[ author ]</a>
<a href="date.html#start">[ date ]</a>
<li><b><a href="http://lists.ximian.com/mailman/listinfo/mono-gc-list">More info on this list...
</a></b></li>
</ul>
<p><b>Starting:</b> <i>Wed May 5 15:30:51 2004</i><br>
<b>Ending:</b> <i>Thu May 6 11:52:42 2004</i><br>
<b>Messages:</b> 6<p>
<ul>
<!--0 01083785451- -->
<LI><A HREF="000038.html">[Mono-gc-list] Re: GC issue in mono 0.31
</A><A NAME="38">&nbsp;</A>
<I>Nikolai Zhubr
</I>
<UL>
<!--1 01083785451-01083791158- -->
<LI><A HREF="000039.html">[Mono-gc-list] Re: GC issue in mono 0.31
</A><A NAME="39">&nbsp;</A>
<I>Nikolai Zhubr
</I>
</UL>
<!--0 01083803752- -->
<LI><A HREF="000040.html">[Mono-gc-list] RE: GC issue in mono 0.31
</A><A NAME="40">&nbsp;</A>
<I>Boehm, Hans
</I>
<UL>
<!--1 01083803752-01083819805- -->
<LI><A HREF="000041.html">[Mono-gc-list] Re: GC issue in mono 0.31
</A><A NAME="41">&nbsp;</A>
<I>Nikolai Zhubr
</I>
<UL>
<!--2 01083803752-01083819805-01083820478- -->
<LI><A HREF="000042.html">[Mono-gc-list] Re: GC issue in mono 0.31
</A><A NAME="42">&nbsp;</A>
<I>Hans Boehm
</I>
<UL>
<!--3 01083803752-01083819805-01083820478-01083858762- -->
<LI><A HREF="000043.html">[Mono-gc-list] Re: GC issue in mono 0.31
</A><A NAME="43">&nbsp;</A>
<I>Nikolai Zhubr
</I>
</UL>
</UL>
</UL>
</ul>
<p>
<a name="end"><b>Last message date:</b></a>
<i>Thu May 6 11:52:42 2004</i><br>
<b>Archived on:</b> <i>Fri May 7 04:43:01 2004</i>
<p>
<ul>
<li> <b>Messages sorted by:</b>
<a href="subject.html#start">[ subject ]</a>
<a href="author.html#start">[ author ]</a>
<a href="date.html#start">[ date ]</a>
<li><b><a href="http://lists.ximian.com/mailman/listinfo/mono-gc-list">More info on this list...
</a></b></li>
</ul>
<p>
<hr>
<i>This archive was generated by
Pipermail 0.05 (Mailman edition).</i>
</BODY>
</HTML>

Просмотреть файл

@ -0,0 +1,71 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
<HTML>
<HEAD>
<title>The Mono-gc-list 2004-May Archive by Subject</title>
<META NAME="robots" CONTENT="noindex,follow">
</HEAD>
<BODY BGCOLOR="#ffffff">
<a name="start"></A>
<h1>2004-May Archives by Subject</h1>
<ul>
<li> <b>Messages sorted by:</b>
<a href="thread.html#start">[ thread ]</a>
<a href="author.html#start">[ author ]</a>
<a href="date.html#start">[ date ]</a>
<li><b><a href="http://lists.ximian.com/mailman/listinfo/mono-gc-list">More info on this list...
</a></b></li>
</ul>
<p><b>Starting:</b> <i>Wed May 5 15:30:51 2004</i><br>
<b>Ending:</b> <i>Thu May 6 11:52:42 2004</i><br>
<b>Messages:</b> 6<p>
<ul>
<LI><A HREF="000038.html">[Mono-gc-list] Re: GC issue in mono 0.31
</A><A NAME="38">&nbsp;</A>
<I>Nikolai Zhubr
</I>
<LI><A HREF="000039.html">[Mono-gc-list] Re: GC issue in mono 0.31
</A><A NAME="39">&nbsp;</A>
<I>Nikolai Zhubr
</I>
<LI><A HREF="000040.html">[Mono-gc-list] RE: GC issue in mono 0.31
</A><A NAME="40">&nbsp;</A>
<I>Boehm, Hans
</I>
<LI><A HREF="000041.html">[Mono-gc-list] Re: GC issue in mono 0.31
</A><A NAME="41">&nbsp;</A>
<I>Nikolai Zhubr
</I>
<LI><A HREF="000042.html">[Mono-gc-list] Re: GC issue in mono 0.31
</A><A NAME="42">&nbsp;</A>
<I>Hans Boehm
</I>
<LI><A HREF="000043.html">[Mono-gc-list] Re: GC issue in mono 0.31
</A><A NAME="43">&nbsp;</A>
<I>Nikolai Zhubr
</I>
</ul>
<p>
<a name="end"><b>Last message date:</b></a>
<i>Thu May 6 11:52:42 2004</i><br>
<b>Archived on:</b> <i>Fri May 7 04:43:01 2004</i>
<p>
<ul>
<li> <b>Messages sorted by:</b>
<a href="thread.html#start">[ thread ]</a>
<a href="author.html#start">[ author ]</a>
<a href="date.html#start">[ date ]</a>
<li><b><a href="http://lists.ximian.com/mailman/listinfo/mono-gc-list">More info on this list...
</a></b></li>
</ul>
<p>
<hr>
<i>This archive was generated by
Pipermail 0.05 (Mailman edition).</i>
</BODY>
</HTML>

Просмотреть файл

@ -0,0 +1,85 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
<HTML>
<HEAD>
<title>The Mono-gc-list 2004-May Archive by Thread</title>
<META NAME="robots" CONTENT="noindex,follow">
</HEAD>
<BODY BGCOLOR="#ffffff">
<a name="start"></A>
<h1>2004-May Archives by Thread</h1>
<ul>
<li> <b>Messages sorted by:</b>
<a href="subject.html#start">[ subject ]</a>
<a href="author.html#start">[ author ]</a>
<a href="date.html#start">[ date ]</a>
<li><b><a href="http://lists.ximian.com/mailman/listinfo/mono-gc-list">More info on this list...
</a></b></li>
</ul>
<p><b>Starting:</b> <i>Wed May 5 15:30:51 2004</i><br>
<b>Ending:</b> <i>Thu May 6 11:52:42 2004</i><br>
<b>Messages:</b> 6<p>
<ul>
<!--0 01083785451- -->
<LI><A HREF="000038.html">[Mono-gc-list] Re: GC issue in mono 0.31
</A><A NAME="38">&nbsp;</A>
<I>Nikolai Zhubr
</I>
<UL>
<!--1 01083785451-01083791158- -->
<LI><A HREF="000039.html">[Mono-gc-list] Re: GC issue in mono 0.31
</A><A NAME="39">&nbsp;</A>
<I>Nikolai Zhubr
</I>
</UL>
<!--0 01083803752- -->
<LI><A HREF="000040.html">[Mono-gc-list] RE: GC issue in mono 0.31
</A><A NAME="40">&nbsp;</A>
<I>Boehm, Hans
</I>
<UL>
<!--1 01083803752-01083819805- -->
<LI><A HREF="000041.html">[Mono-gc-list] Re: GC issue in mono 0.31
</A><A NAME="41">&nbsp;</A>
<I>Nikolai Zhubr
</I>
<UL>
<!--2 01083803752-01083819805-01083820478- -->
<LI><A HREF="000042.html">[Mono-gc-list] Re: GC issue in mono 0.31
</A><A NAME="42">&nbsp;</A>
<I>Hans Boehm
</I>
<UL>
<!--3 01083803752-01083819805-01083820478-01083858762- -->
<LI><A HREF="000043.html">[Mono-gc-list] Re: GC issue in mono 0.31
</A><A NAME="43">&nbsp;</A>
<I>Nikolai Zhubr
</I>
</UL>
</UL>
</UL>
</ul>
<p>
<a name="end"><b>Last message date:</b></a>
<i>Thu May 6 11:52:42 2004</i><br>
<b>Archived on:</b> <i>Fri May 7 04:43:01 2004</i>
<p>
<ul>
<li> <b>Messages sorted by:</b>
<a href="subject.html#start">[ subject ]</a>
<a href="author.html#start">[ author ]</a>
<a href="date.html#start">[ date ]</a>
<li><b><a href="http://lists.ximian.com/mailman/listinfo/mono-gc-list">More info on this list...
</a></b></li>
</ul>
<p>
<hr>
<i>This archive was generated by
Pipermail 0.05 (Mailman edition).</i>
</BODY>
</HTML>

Просмотреть файл

@ -0,0 +1,68 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
<HTML>
<HEAD>
<TITLE> [Mono-gc-list] Re: My arguments
</TITLE>
<LINK REL="Index" HREF="index.html" >
<LINK REL="made" HREF="mailto:cppljevans%40cox-internet.com">
<META NAME="robots" CONTENT="index,nofollow">
<LINK REL="Next" HREF="000050.html">
</HEAD>
<BODY BGCOLOR="#ffffff">
<H1>[Mono-gc-list] Re: My arguments
</H1>
<B>Larry Evans
</B>
<A HREF="mailto:cppljevans%40cox-internet.com"
TITLE="[Mono-gc-list] Re: My arguments">cppljevans@cox-internet.com
</A><BR>
<I>Fri, 05 Nov 2004 17:36:22 -0600</I>
<P><UL>
<LI> Next message: <A HREF="000050.html">[Mono-gc-list] Re: My arguments
</A></li>
<LI> <B>Messages sorted by:</B>
<a href="date.html#47">[ date ]</a>
<a href="thread.html#47">[ thread ]</a>
<a href="subject.html#47">[ subject ]</a>
<a href="author.html#47">[ author ]</a>
</LI>
</UL>
<HR>
<!--beginarticle-->
<PRE>On 08/13/2003 05:19 AM, Paolo Molaro wrote:
&gt;<i> Tracking the pointers in the heap is very easy: the issue is with
</I>&gt;<i> tracking them on the stack/registers. There are papers, though, about
</I>
Do you mean tracking the pointers conservatively is easy or tracking
them precisely is easy? To do this precisely, wouldn't you have to
know the pointee's type? Would this information be provided by
a method stored in the virtual function table of the pointee? Then,
wouldn't this exclude classes without virtual functions? Alternately,
it could be stored in something like Boehm's gc_descr which is stored
with the pointee. Is that what you mean. But wouldn't this require
somehow defining gc_descr for each type with has dynamically allocated
instances?
Regards,
Larry
</PRE>
<!--endarticle-->
<HR>
<P><UL>
<!--threads-->
<LI> Next message: <A HREF="000050.html">[Mono-gc-list] Re: My arguments
</A></li>
<LI> <B>Messages sorted by:</B>
<a href="date.html#47">[ date ]</a>
<a href="thread.html#47">[ thread ]</a>
<a href="subject.html#47">[ subject ]</a>
<a href="author.html#47">[ author ]</a>
</LI>
</UL>
</body></html>

Просмотреть файл

@ -0,0 +1,73 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
<HTML>
<HEAD>
<TITLE> [Mono-gc-list] Volunteer
</TITLE>
<LINK REL="Index" HREF="index.html" >
<LINK REL="made" HREF="mailto:maciekb%40poczta.fm">
<META NAME="robots" CONTENT="index,nofollow">
<LINK REL="Previous" HREF="000052.html">
<LINK REL="Next" HREF="000049.html">
</HEAD>
<BODY BGCOLOR="#ffffff">
<H1>[Mono-gc-list] Volunteer
</H1>
<B>Maciej
</B>
<A HREF="mailto:maciekb%40poczta.fm"
TITLE="[Mono-gc-list] Volunteer">maciekb@poczta.fm
</A><BR>
<I>Sat, 20 Nov 2004 18:20:26 +0100</I>
<P><UL>
<LI> Previous message: <A HREF="000052.html">[Mono-gc-list] Re: My arguments
</A></li>
<LI> Next message: <A HREF="000049.html">[Mono-gc-list] Volunteer
</A></li>
<LI> <B>Messages sorted by:</B>
<a href="date.html#48">[ date ]</a>
<a href="thread.html#48">[ thread ]</a>
<a href="subject.html#48">[ subject ]</a>
<a href="author.html#48">[ author ]</a>
</LI>
</UL>
<HR>
<!--beginarticle-->
<PRE>Hi.
My name is Maciej Bialka, I'm not native English speaker so please forgive me
any mistakes.
I want to contribute in MONO and I am intrested in implementing
new garbage collector. I know that it's not easy and would take
a long time. I want to choose this as my thesis subject, and finish it until
June next year.
I have a few questions.
-I want to know how a cooperation between me and Mono team should look like.
-Is somebody working on this?
-Who personaly is resposible for GC ?
If you have any suggestions, advice or anything please feel free.
(specially if you can recomend me some books,articles,etc.)
----------------------------------------------------------------------
Ponad 400 tysiecy facetow szuka przyjaciolki, a moze czegos wiecej...
&gt;&gt;&gt;<i> <A HREF="http://link.interia.pl/f183b">http://link.interia.pl/f183b</A>
</I>
</PRE>
<!--endarticle-->
<HR>
<P><UL>
<!--threads-->
<LI> Previous message: <A HREF="000052.html">[Mono-gc-list] Re: My arguments
</A></li>
<LI> Next message: <A HREF="000049.html">[Mono-gc-list] Volunteer
</A></li>
<LI> <B>Messages sorted by:</B>
<a href="date.html#48">[ date ]</a>
<a href="thread.html#48">[ thread ]</a>
<a href="subject.html#48">[ subject ]</a>
<a href="author.html#48">[ author ]</a>
</LI>
</UL>
</body></html>

Просмотреть файл

@ -0,0 +1,107 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
<HTML>
<HEAD>
<TITLE> [Mono-gc-list] Volunteer
</TITLE>
<LINK REL="Index" HREF="index.html" >
<LINK REL="made" HREF="mailto:lupus%40ximian.com">
<META NAME="robots" CONTENT="index,nofollow">
<LINK REL="Previous" HREF="000048.html">
</HEAD>
<BODY BGCOLOR="#ffffff">
<H1>[Mono-gc-list] Volunteer
</H1>
<B>Paolo Molaro
</B>
<A HREF="mailto:lupus%40ximian.com"
TITLE="[Mono-gc-list] Volunteer">lupus@ximian.com
</A><BR>
<I>Mon, 22 Nov 2004 17:04:16 +0100</I>
<P><UL>
<LI> Previous message: <A HREF="000048.html">[Mono-gc-list] Volunteer
</A></li>
<LI> <B>Messages sorted by:</B>
<a href="date.html#49">[ date ]</a>
<a href="thread.html#49">[ thread ]</a>
<a href="subject.html#49">[ subject ]</a>
<a href="author.html#49">[ author ]</a>
</LI>
</UL>
<HR>
<!--beginarticle-->
<PRE>On 11/20/04 Maciej wrote:
&gt;<i> I want to contribute in MONO and I am intrested in implementing
</I>&gt;<i> new garbage collector. I know that it's not easy and would take
</I>&gt;<i> a long time. I want to choose this as my thesis subject, and finish it until
</I>&gt;<i> June next year.
</I>
The timeframe is likely too short, so you'll probably have to select
a subset of the complete work (but of course you're welcome to try
and implement it all in time;-).
You should read docs/precise-gc in the mono module for an overview
of the changes needed in mono for a precise, generational GC.
&gt;<i> I have a few questions.
</I>&gt;<i> -I want to know how a cooperation between me and Mono team should look like.
</I>
Basically we'd hash out the design details together and you'd
write the code. Then we'll comment the code and when it's ok
we'll commit to svn. As soon as you have a few high quality patches
you'll be given svn commit access (though patches that are outside of
the GC-proper will still need approval at least for a while).
If you read the precise-gc doc you'll note that there are a few
changes needed in the runtime before a new GC could be plugged in:
this is kind boring work, since it needs good debugging abilities.
Once that is done, the real fun can begin with the implementation
of an actual GC.
Mono is free software, the runtime is licensed with the LGPL license,
so you can do the work and license it accordingly, but contributions
to the runtime need copyright assignment to Novell to be committed in svn.
Note that the copyright assignment form grants you back almost all the
rights to the code you wrote, so you can still do whatever you want with
your code.
If you have any issue with this or if you want more details please mail me
and miguel, so we can address the issues.
&gt;<i> -Is somebody working on this?
</I>
Not currently: we planned to start actively working on it after mono 1.2.
&gt;<i> -Who personaly is resposible for GC ?
</I>
Me, Zoltan and Dick all looked at some of the GC stuff, but you
should consider this or the mono-devel list collectively as
the people responsible for it.
&gt;<i> If you have any suggestions, advice or anything please feel free.
</I>&gt;<i> (specially if you can recomend me some books,articles,etc.)
</I>
Google for generational|precise gc and you'll get all the interesting stuff:-)
lupus
--
-----------------------------------------------------------------
<A HREF="mailto:lupus@debian.org">lupus@debian.org</A> debian/rules
<A HREF="mailto:lupus@ximian.com">lupus@ximian.com</A> Monkeys do it better
</PRE>
<!--endarticle-->
<HR>
<P><UL>
<!--threads-->
<LI> Previous message: <A HREF="000048.html">[Mono-gc-list] Volunteer
</A></li>
<LI> <B>Messages sorted by:</B>
<a href="date.html#49">[ date ]</a>
<a href="thread.html#49">[ thread ]</a>
<a href="subject.html#49">[ subject ]</a>
<a href="author.html#49">[ author ]</a>
</LI>
</UL>
</body></html>

Просмотреть файл

@ -0,0 +1,78 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
<HTML>
<HEAD>
<TITLE> [Mono-gc-list] Re: My arguments
</TITLE>
<LINK REL="Index" HREF="index.html" >
<LINK REL="made" HREF="mailto:lupus%40ximian.com">
<META NAME="robots" CONTENT="index,nofollow">
<LINK REL="Previous" HREF="000047.html">
<LINK REL="Next" HREF="000051.html">
</HEAD>
<BODY BGCOLOR="#ffffff">
<H1>[Mono-gc-list] Re: My arguments
</H1>
<B>Paolo Molaro
</B>
<A HREF="mailto:lupus%40ximian.com"
TITLE="[Mono-gc-list] Re: My arguments">lupus@ximian.com
</A><BR>
<I>Mon, 22 Nov 2004 17:08:52 +0100</I>
<P><UL>
<LI> Previous message: <A HREF="000047.html">[Mono-gc-list] Re: My arguments
</A></li>
<LI> Next message: <A HREF="000051.html">[Mono-gc-list] Re: My arguments
</A></li>
<LI> <B>Messages sorted by:</B>
<a href="date.html#50">[ date ]</a>
<a href="thread.html#50">[ thread ]</a>
<a href="subject.html#50">[ subject ]</a>
<a href="author.html#50">[ author ]</a>
</LI>
</UL>
<HR>
<!--beginarticle-->
<PRE>On 11/05/04 Larry Evans wrote:
&gt;<i> &gt;Tracking the pointers in the heap is very easy: the issue is with
</I>&gt;<i> &gt;tracking them on the stack/registers. There are papers, though, about
</I>&gt;<i>
</I>&gt;<i> Do you mean tracking the pointers conservatively is easy or tracking
</I>&gt;<i> them precisely is easy? To do this precisely, wouldn't you have to
</I>
I was talking about tracking the pointers in the stack or registers
of a thread. Doing it precisely for the heap is easy. Doing it for the stack
is much harder, since it needs the jit to properly report them
and we need also a solution to handle internal calls, where objects are
manipulated by C code.
&gt;<i> know the pointee's type? Would this information be provided by
</I>&gt;<i> a method stored in the virtual function table of the pointee? Then,
</I>
The information would be stored together with the jitted code
and we can find it simply by using the instruction pointer.
lupus
--
-----------------------------------------------------------------
<A HREF="mailto:lupus@debian.org">lupus@debian.org</A> debian/rules
<A HREF="mailto:lupus@ximian.com">lupus@ximian.com</A> Monkeys do it better
</PRE>
<!--endarticle-->
<HR>
<P><UL>
<!--threads-->
<LI> Previous message: <A HREF="000047.html">[Mono-gc-list] Re: My arguments
</A></li>
<LI> Next message: <A HREF="000051.html">[Mono-gc-list] Re: My arguments
</A></li>
<LI> <B>Messages sorted by:</B>
<a href="date.html#50">[ date ]</a>
<a href="thread.html#50">[ thread ]</a>
<a href="subject.html#50">[ subject ]</a>
<a href="author.html#50">[ author ]</a>
</LI>
</UL>
</body></html>

Просмотреть файл

@ -0,0 +1,77 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
<HTML>
<HEAD>
<TITLE> [Mono-gc-list] Re: My arguments
</TITLE>
<LINK REL="Index" HREF="index.html" >
<LINK REL="made" HREF="mailto:cppljevans%40cox-internet.com">
<META NAME="robots" CONTENT="index,nofollow">
<LINK REL="Previous" HREF="000050.html">
<LINK REL="Next" HREF="000052.html">
</HEAD>
<BODY BGCOLOR="#ffffff">
<H1>[Mono-gc-list] Re: My arguments
</H1>
<B>Larry Evans
</B>
<A HREF="mailto:cppljevans%40cox-internet.com"
TITLE="[Mono-gc-list] Re: My arguments">cppljevans@cox-internet.com
</A><BR>
<I>Wed, 24 Nov 2004 11:27:52 -0700</I>
<P><UL>
<LI> Previous message: <A HREF="000050.html">[Mono-gc-list] Re: My arguments
</A></li>
<LI> Next message: <A HREF="000052.html">[Mono-gc-list] Re: My arguments
</A></li>
<LI> <B>Messages sorted by:</B>
<a href="date.html#51">[ date ]</a>
<a href="thread.html#51">[ thread ]</a>
<a href="subject.html#51">[ subject ]</a>
<a href="author.html#51">[ author ]</a>
</LI>
</UL>
<HR>
<!--beginarticle-->
<PRE>On 11/22/2004 09:08 AM, Paolo Molaro wrote:
&gt;<i> On 11/05/04 Larry Evans wrote:
</I>[snip]
&gt;&gt;<i>Do you mean tracking the pointers conservatively is easy or tracking
</I>&gt;&gt;<i>them precisely is easy? To do this precisely, wouldn't you have to
</I>[snip]
&gt;<i> of a thread. Doing it precisely for the heap is easy.
</I>[snip]
&gt;<i> and we need also a solution to handle internal calls, where objects are
</I>&gt;<i> manipulated by C code.
</I>[snip]
&gt;&gt;<i>know the pointee's type? Would this information be provided by
</I>[snip]
&gt;<i> The information would be stored together with the jitted code
</I>Although C code is mentioned above, what about c++ code? Will mono
gc c++ code or only managed c++ code? If mono will only do
managed c++ code, I'm guessing mono will have to provide a compiler
for managed c++. Right?
Thanks for your replies.
Regards,
Larry
</PRE>
<!--endarticle-->
<HR>
<P><UL>
<!--threads-->
<LI> Previous message: <A HREF="000050.html">[Mono-gc-list] Re: My arguments
</A></li>
<LI> Next message: <A HREF="000052.html">[Mono-gc-list] Re: My arguments
</A></li>
<LI> <B>Messages sorted by:</B>
<a href="date.html#51">[ date ]</a>
<a href="thread.html#51">[ thread ]</a>
<a href="subject.html#51">[ subject ]</a>
<a href="author.html#51">[ author ]</a>
</LI>
</UL>
</body></html>

Просмотреть файл

@ -0,0 +1,77 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
<HTML>
<HEAD>
<TITLE> [Mono-gc-list] Re: My arguments
</TITLE>
<LINK REL="Index" HREF="index.html" >
<LINK REL="made" HREF="mailto:cppljevans%40cox-internet.com">
<META NAME="robots" CONTENT="index,nofollow">
<LINK REL="Previous" HREF="000051.html">
<LINK REL="Next" HREF="000048.html">
</HEAD>
<BODY BGCOLOR="#ffffff">
<H1>[Mono-gc-list] Re: My arguments
</H1>
<B>Larry Evans
</B>
<A HREF="mailto:cppljevans%40cox-internet.com"
TITLE="[Mono-gc-list] Re: My arguments">cppljevans@cox-internet.com
</A><BR>
<I>Wed, 24 Nov 2004 13:30:57 -0700</I>
<P><UL>
<LI> Previous message: <A HREF="000051.html">[Mono-gc-list] Re: My arguments
</A></li>
<LI> Next message: <A HREF="000048.html">[Mono-gc-list] Volunteer
</A></li>
<LI> <B>Messages sorted by:</B>
<a href="date.html#52">[ date ]</a>
<a href="thread.html#52">[ thread ]</a>
<a href="subject.html#52">[ subject ]</a>
<a href="author.html#52">[ author ]</a>
</LI>
</UL>
<HR>
<!--beginarticle-->
<PRE>On 11/22/2004 09:08 AM, Paolo Molaro wrote:
[snip]
&gt;<i> I was talking about tracking the pointers in the stack or registers
</I>&gt;<i> of a thread. Doing it precisely for the heap is easy. Doing it for the stack
</I>&gt;<i> is much harder, since it needs the jit to properly report them
</I>
Assume that a gc__ managed c++ class, Base, has a virtual function which
tracks the contained heap pointers. When Base::CTOR is called, the
vtbl has an entry for the Base heap pointer. However, if Base is
actually part of Derived, then when Derived::CTOR is called this
virtual function tracks the heap pointers for both Base and Derived.
This seems analagous to stack frames. If, at the top of all stack
frames, there's a function pointer to track the heap pointers in
the stack, then as each new stack frame is entered, the pointer
is updated to reflect the newly stacked frame as well as all
previous frames. Couldn't the virtual function implementation
in c++ also be used by the compiler to track heap pointers on
the stack? IOW, if it's easy to track pointers in a class,
then, based on the above analogy, it would seem pretty easy to
adapt the compiler to do it for the stack. Am I missing something?
Thanks,
Larry.
</PRE>
<!--endarticle-->
<HR>
<P><UL>
<!--threads-->
<LI> Previous message: <A HREF="000051.html">[Mono-gc-list] Re: My arguments
</A></li>
<LI> Next message: <A HREF="000048.html">[Mono-gc-list] Volunteer
</A></li>
<LI> <B>Messages sorted by:</B>
<a href="date.html#52">[ date ]</a>
<a href="thread.html#52">[ thread ]</a>
<a href="subject.html#52">[ subject ]</a>
<a href="author.html#52">[ author ]</a>
</LI>
</UL>
</body></html>

Просмотреть файл

@ -0,0 +1,71 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
<HTML>
<HEAD>
<title>The Mono-gc-list 2004-November Archive by Author</title>
<META NAME="robots" CONTENT="noindex,follow">
</HEAD>
<BODY BGCOLOR="#ffffff">
<a name="start"></A>
<h1>2004-November Archives by Author</h1>
<ul>
<li> <b>Messages sorted by:</b>
<a href="thread.html#start">[ thread ]</a>
<a href="subject.html#start">[ subject ]</a>
<a href="date.html#start">[ date ]</a>
<li><b><a href="http://lists.ximian.com/mailman/listinfo/mono-gc-list">More info on this list...
</a></b></li>
</ul>
<p><b>Starting:</b> <i>Fri Nov 5 23:36:22 2004</i><br>
<b>Ending:</b> <i>Wed Nov 24 20:30:57 2004</i><br>
<b>Messages:</b> 6<p>
<ul>
<LI><A HREF="000047.html">[Mono-gc-list] Re: My arguments
</A><A NAME="47">&nbsp;</A>
<I>Larry Evans
</I>
<LI><A HREF="000051.html">[Mono-gc-list] Re: My arguments
</A><A NAME="51">&nbsp;</A>
<I>Larry Evans
</I>
<LI><A HREF="000052.html">[Mono-gc-list] Re: My arguments
</A><A NAME="52">&nbsp;</A>
<I>Larry Evans
</I>
<LI><A HREF="000048.html">[Mono-gc-list] Volunteer
</A><A NAME="48">&nbsp;</A>
<I>Maciej
</I>
<LI><A HREF="000049.html">[Mono-gc-list] Volunteer
</A><A NAME="49">&nbsp;</A>
<I>Paolo Molaro
</I>
<LI><A HREF="000050.html">[Mono-gc-list] Re: My arguments
</A><A NAME="50">&nbsp;</A>
<I>Paolo Molaro
</I>
</ul>
<p>
<a name="end"><b>Last message date:</b></a>
<i>Wed Nov 24 20:30:57 2004</i><br>
<b>Archived on:</b> <i>Thu Nov 25 06:08:14 2004</i>
<p>
<ul>
<li> <b>Messages sorted by:</b>
<a href="thread.html#start">[ thread ]</a>
<a href="subject.html#start">[ subject ]</a>
<a href="date.html#start">[ date ]</a>
<li><b><a href="http://lists.ximian.com/mailman/listinfo/mono-gc-list">More info on this list...
</a></b></li>
</ul>
<p>
<hr>
<i>This archive was generated by
Pipermail 0.05 (Mailman edition).</i>
</BODY>
</HTML>

Просмотреть файл

@ -0,0 +1,71 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
<HTML>
<HEAD>
<title>The Mono-gc-list 2004-November Archive by Date</title>
<META NAME="robots" CONTENT="noindex,follow">
</HEAD>
<BODY BGCOLOR="#ffffff">
<a name="start"></A>
<h1>2004-November Archives by Date</h1>
<ul>
<li> <b>Messages sorted by:</b>
<a href="thread.html#start">[ thread ]</a>
<a href="subject.html#start">[ subject ]</a>
<a href="author.html#start">[ author ]</a>
<li><b><a href="http://lists.ximian.com/mailman/listinfo/mono-gc-list">More info on this list...
</a></b></li>
</ul>
<p><b>Starting:</b> <i>Fri Nov 5 23:36:22 2004</i><br>
<b>Ending:</b> <i>Wed Nov 24 20:30:57 2004</i><br>
<b>Messages:</b> 6<p>
<ul>
<LI><A HREF="000047.html">[Mono-gc-list] Re: My arguments
</A><A NAME="47">&nbsp;</A>
<I>Larry Evans
</I>
<LI><A HREF="000048.html">[Mono-gc-list] Volunteer
</A><A NAME="48">&nbsp;</A>
<I>Maciej
</I>
<LI><A HREF="000049.html">[Mono-gc-list] Volunteer
</A><A NAME="49">&nbsp;</A>
<I>Paolo Molaro
</I>
<LI><A HREF="000050.html">[Mono-gc-list] Re: My arguments
</A><A NAME="50">&nbsp;</A>
<I>Paolo Molaro
</I>
<LI><A HREF="000051.html">[Mono-gc-list] Re: My arguments
</A><A NAME="51">&nbsp;</A>
<I>Larry Evans
</I>
<LI><A HREF="000052.html">[Mono-gc-list] Re: My arguments
</A><A NAME="52">&nbsp;</A>
<I>Larry Evans
</I>
</ul>
<p>
<a name="end"><b>Last message date:</b></a>
<i>Wed Nov 24 20:30:57 2004</i><br>
<b>Archived on:</b> <i>Thu Nov 25 06:08:14 2004</i>
<p>
<ul>
<li> <b>Messages sorted by:</b>
<a href="thread.html#start">[ thread ]</a>
<a href="subject.html#start">[ subject ]</a>
<a href="author.html#start">[ author ]</a>
<li><b><a href="http://lists.ximian.com/mailman/listinfo/mono-gc-list">More info on this list...
</a></b></li>
</ul>
<p>
<hr>
<i>This archive was generated by
Pipermail 0.05 (Mailman edition).</i>
</BODY>
</HTML>

Просмотреть файл

@ -0,0 +1,83 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
<HTML>
<HEAD>
<title>The Mono-gc-list 2004-November Archive by Thread</title>
<META NAME="robots" CONTENT="noindex,follow">
</HEAD>
<BODY BGCOLOR="#ffffff">
<a name="start"></A>
<h1>2004-November Archives by Thread</h1>
<ul>
<li> <b>Messages sorted by:</b>
<a href="subject.html#start">[ subject ]</a>
<a href="author.html#start">[ author ]</a>
<a href="date.html#start">[ date ]</a>
<li><b><a href="http://lists.ximian.com/mailman/listinfo/mono-gc-list">More info on this list...
</a></b></li>
</ul>
<p><b>Starting:</b> <i>Fri Nov 5 23:36:22 2004</i><br>
<b>Ending:</b> <i>Wed Nov 24 20:30:57 2004</i><br>
<b>Messages:</b> 6<p>
<ul>
<!--0 01099715782- -->
<LI><A HREF="000047.html">[Mono-gc-list] Re: My arguments
</A><A NAME="47">&nbsp;</A>
<I>Larry Evans
</I>
<UL>
<!--1 01099715782-01101157732- -->
<LI><A HREF="000050.html">[Mono-gc-list] Re: My arguments
</A><A NAME="50">&nbsp;</A>
<I>Paolo Molaro
</I>
<UL>
<!--2 01099715782-01101157732-01101338872- -->
<LI><A HREF="000051.html">[Mono-gc-list] Re: My arguments
</A><A NAME="51">&nbsp;</A>
<I>Larry Evans
</I>
<!--2 01099715782-01101157732-01101346257- -->
<LI><A HREF="000052.html">[Mono-gc-list] Re: My arguments
</A><A NAME="52">&nbsp;</A>
<I>Larry Evans
</I>
</UL>
</UL>
<!--0 01100989226- -->
<LI><A HREF="000048.html">[Mono-gc-list] Volunteer
</A><A NAME="48">&nbsp;</A>
<I>Maciej
</I>
<UL>
<!--1 01100989226-01101157456- -->
<LI><A HREF="000049.html">[Mono-gc-list] Volunteer
</A><A NAME="49">&nbsp;</A>
<I>Paolo Molaro
</I>
</UL>
</ul>
<p>
<a name="end"><b>Last message date:</b></a>
<i>Wed Nov 24 20:30:57 2004</i><br>
<b>Archived on:</b> <i>Thu Nov 25 06:08:14 2004</i>
<p>
<ul>
<li> <b>Messages sorted by:</b>
<a href="subject.html#start">[ subject ]</a>
<a href="author.html#start">[ author ]</a>
<a href="date.html#start">[ date ]</a>
<li><b><a href="http://lists.ximian.com/mailman/listinfo/mono-gc-list">More info on this list...
</a></b></li>
</ul>
<p>
<hr>
<i>This archive was generated by
Pipermail 0.05 (Mailman edition).</i>
</BODY>
</HTML>

Просмотреть файл

@ -0,0 +1,71 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
<HTML>
<HEAD>
<title>The Mono-gc-list 2004-November Archive by Subject</title>
<META NAME="robots" CONTENT="noindex,follow">
</HEAD>
<BODY BGCOLOR="#ffffff">
<a name="start"></A>
<h1>2004-November Archives by Subject</h1>
<ul>
<li> <b>Messages sorted by:</b>
<a href="thread.html#start">[ thread ]</a>
<a href="author.html#start">[ author ]</a>
<a href="date.html#start">[ date ]</a>
<li><b><a href="http://lists.ximian.com/mailman/listinfo/mono-gc-list">More info on this list...
</a></b></li>
</ul>
<p><b>Starting:</b> <i>Fri Nov 5 23:36:22 2004</i><br>
<b>Ending:</b> <i>Wed Nov 24 20:30:57 2004</i><br>
<b>Messages:</b> 6<p>
<ul>
<LI><A HREF="000047.html">[Mono-gc-list] Re: My arguments
</A><A NAME="47">&nbsp;</A>
<I>Larry Evans
</I>
<LI><A HREF="000050.html">[Mono-gc-list] Re: My arguments
</A><A NAME="50">&nbsp;</A>
<I>Paolo Molaro
</I>
<LI><A HREF="000051.html">[Mono-gc-list] Re: My arguments
</A><A NAME="51">&nbsp;</A>
<I>Larry Evans
</I>
<LI><A HREF="000052.html">[Mono-gc-list] Re: My arguments
</A><A NAME="52">&nbsp;</A>
<I>Larry Evans
</I>
<LI><A HREF="000048.html">[Mono-gc-list] Volunteer
</A><A NAME="48">&nbsp;</A>
<I>Maciej
</I>
<LI><A HREF="000049.html">[Mono-gc-list] Volunteer
</A><A NAME="49">&nbsp;</A>
<I>Paolo Molaro
</I>
</ul>
<p>
<a name="end"><b>Last message date:</b></a>
<i>Wed Nov 24 20:30:57 2004</i><br>
<b>Archived on:</b> <i>Thu Nov 25 06:08:14 2004</i>
<p>
<ul>
<li> <b>Messages sorted by:</b>
<a href="thread.html#start">[ thread ]</a>
<a href="author.html#start">[ author ]</a>
<a href="date.html#start">[ date ]</a>
<li><b><a href="http://lists.ximian.com/mailman/listinfo/mono-gc-list">More info on this list...
</a></b></li>
</ul>
<p>
<hr>
<i>This archive was generated by
Pipermail 0.05 (Mailman edition).</i>
</BODY>
</HTML>

Просмотреть файл

@ -0,0 +1,83 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
<HTML>
<HEAD>
<title>The Mono-gc-list 2004-November Archive by Thread</title>
<META NAME="robots" CONTENT="noindex,follow">
</HEAD>
<BODY BGCOLOR="#ffffff">
<a name="start"></A>
<h1>2004-November Archives by Thread</h1>
<ul>
<li> <b>Messages sorted by:</b>
<a href="subject.html#start">[ subject ]</a>
<a href="author.html#start">[ author ]</a>
<a href="date.html#start">[ date ]</a>
<li><b><a href="http://lists.ximian.com/mailman/listinfo/mono-gc-list">More info on this list...
</a></b></li>
</ul>
<p><b>Starting:</b> <i>Fri Nov 5 23:36:22 2004</i><br>
<b>Ending:</b> <i>Wed Nov 24 20:30:57 2004</i><br>
<b>Messages:</b> 6<p>
<ul>
<!--0 01099715782- -->
<LI><A HREF="000047.html">[Mono-gc-list] Re: My arguments
</A><A NAME="47">&nbsp;</A>
<I>Larry Evans
</I>
<UL>
<!--1 01099715782-01101157732- -->
<LI><A HREF="000050.html">[Mono-gc-list] Re: My arguments
</A><A NAME="50">&nbsp;</A>
<I>Paolo Molaro
</I>
<UL>
<!--2 01099715782-01101157732-01101338872- -->
<LI><A HREF="000051.html">[Mono-gc-list] Re: My arguments
</A><A NAME="51">&nbsp;</A>
<I>Larry Evans
</I>
<!--2 01099715782-01101157732-01101346257- -->
<LI><A HREF="000052.html">[Mono-gc-list] Re: My arguments
</A><A NAME="52">&nbsp;</A>
<I>Larry Evans
</I>
</UL>
</UL>
<!--0 01100989226- -->
<LI><A HREF="000048.html">[Mono-gc-list] Volunteer
</A><A NAME="48">&nbsp;</A>
<I>Maciej
</I>
<UL>
<!--1 01100989226-01101157456- -->
<LI><A HREF="000049.html">[Mono-gc-list] Volunteer
</A><A NAME="49">&nbsp;</A>
<I>Paolo Molaro
</I>
</UL>
</ul>
<p>
<a name="end"><b>Last message date:</b></a>
<i>Wed Nov 24 20:30:57 2004</i><br>
<b>Archived on:</b> <i>Thu Nov 25 06:08:14 2004</i>
<p>
<ul>
<li> <b>Messages sorted by:</b>
<a href="subject.html#start">[ subject ]</a>
<a href="author.html#start">[ author ]</a>
<a href="date.html#start">[ date ]</a>
<li><b><a href="http://lists.ximian.com/mailman/listinfo/mono-gc-list">More info on this list...
</a></b></li>
</ul>
<p>
<hr>
<i>This archive was generated by
Pipermail 0.05 (Mailman edition).</i>
</BODY>
</HTML>

Просмотреть файл

@ -0,0 +1,84 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
<HTML>
<HEAD>
<TITLE> [Mono-gc-list] GC-(in)capability
</TITLE>
<LINK REL="Index" HREF="index.html" >
<LINK REL="made" HREF="mailto:paskma%40students.zcu.cz">
<META NAME="robots" CONTENT="index,nofollow">
<LINK REL="Next" HREF="000046.html">
</HEAD>
<BODY BGCOLOR="#ffffff">
<H1>[Mono-gc-list] GC-(in)capability
</H1>
<B>Marek Paska
</B>
<A HREF="mailto:paskma%40students.zcu.cz"
TITLE="[Mono-gc-list] GC-(in)capability">paskma@students.zcu.cz
</A><BR>
<I>Mon, 6 Sep 2004 00:08:53 +0200</I>
<P><UL>
<LI> Next message: <A HREF="000046.html">[Mono-gc-list] GC-(in)capability
</A></li>
<LI> <B>Messages sorted by:</B>
<a href="date.html#45">[ date ]</a>
<a href="thread.html#45">[ thread ]</a>
<a href="subject.html#45">[ subject ]</a>
<a href="author.html#45">[ author ]</a>
</LI>
</UL>
<HR>
<!--beginarticle-->
<PRE>Hi Mono hackers!
Since a beginning I am very interested in C# and .Net technology. Therefore I am
also very interested in Mono. I think it&amp;#8217;s a nice piece of SW that will bring
many quality applications to Linux. But:
I am deeply disappointed by poor performance (or better capability) of Mono's
GC. I've written a program for indexing FTP servers and searching its files by
name. It uses inverted files as indexes and it is designed for millions of
filenames and &quot;nearly real time&quot; answers of users' queries.
Under MS .Net Framework 1.1 it works perfectly. I would like to run it on Linux.
But under Mono I am not able to create index from crawled data. The problem is
caused by memory fragmentation. While work-space of my application (during my
index build) stays constant (150 MB), the space allocated in virtual memory
grows all the time until it eats all the swap space (1 GB) and is killed by
kernel. (Or I receive message &quot;GC warning -&gt; returning null&quot; (On Linux) or &quot;Too
many heap sections&quot; (under Win).)
I guess the fact that Mono uses GC algorithm that doesn't perform heap
compaction (and therefore allows fragmentation) is a big mistake. And absence of
stop-the-world-pauses is not sufficient argument for me. For my application (and
many other common) the GC-pauses are not very harmless. Otherwise applications
that must be really real-time are not very common. If you want to say that it&amp;#8217;s
C++ approach and C++ programs do not suffer by fragmentation, then I say that
IMHO Java/C# programming style is slightly different and produces much more
objects and its references. IMHO that&amp;#8217;s why both MS and Sun opted for
memory-copying fragmentation-guard GC algorithms. And I like Mono to provide
_standard_ solution. Now I am depressed that I cannot simply port my program
(that works well on MS.Net and would work if it is written in Java) to Mono.
Marek Paska
</PRE>
<!--endarticle-->
<HR>
<P><UL>
<!--threads-->
<LI> Next message: <A HREF="000046.html">[Mono-gc-list] GC-(in)capability
</A></li>
<LI> <B>Messages sorted by:</B>
<a href="date.html#45">[ date ]</a>
<a href="thread.html#45">[ thread ]</a>
<a href="subject.html#45">[ subject ]</a>
<a href="author.html#45">[ author ]</a>
</LI>
</UL>
</body></html>

Просмотреть файл

@ -0,0 +1,84 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
<HTML>
<HEAD>
<TITLE> [Mono-gc-list] GC-(in)capability
</TITLE>
<LINK REL="Index" HREF="index.html" >
<LINK REL="made" HREF="mailto:lupus%40ximian.com">
<META NAME="robots" CONTENT="index,nofollow">
<LINK REL="Previous" HREF="000045.html">
</HEAD>
<BODY BGCOLOR="#ffffff">
<H1>[Mono-gc-list] GC-(in)capability
</H1>
<B>Paolo Molaro
</B>
<A HREF="mailto:lupus%40ximian.com"
TITLE="[Mono-gc-list] GC-(in)capability">lupus@ximian.com
</A><BR>
<I>Wed, 8 Sep 2004 12:54:37 +0200</I>
<P><UL>
<LI> Previous message: <A HREF="000045.html">[Mono-gc-list] GC-(in)capability
</A></li>
<LI> <B>Messages sorted by:</B>
<a href="date.html#46">[ date ]</a>
<a href="thread.html#46">[ thread ]</a>
<a href="subject.html#46">[ subject ]</a>
<a href="author.html#46">[ author ]</a>
</LI>
</UL>
<HR>
<!--beginarticle-->
<PRE>On 09/06/04 Marek Paska wrote:
&gt;<i> I am deeply disappointed by poor performance (or better capability) of Mono's
</I>&gt;<i> GC. I've written a program for indexing FTP servers and searching its files by
</I>&gt;<i> name. It uses inverted files as indexes and it is designed for millions of
</I>&gt;<i> filenames and &quot;nearly real time&quot; answers of users' queries.
</I>&gt;<i>
</I>&gt;<i> Under MS .Net Framework 1.1 it works perfectly. I would like to run it on Linux.
</I>&gt;<i> But under Mono I am not able to create index from crawled data. The problem is
</I>&gt;<i> caused by memory fragmentation. While work-space of my application (during my
</I>&gt;<i> index build) stays constant (150 MB), the space allocated in virtual memory
</I>&gt;<i> grows all the time until it eats all the swap space (1 GB) and is killed by
</I>&gt;<i> kernel. (Or I receive message &quot;GC warning -&gt; returning null&quot; (On Linux) or &quot;Too
</I>&gt;<i> many heap sections&quot; (under Win).)
</I>
What version of mono are you using? Mono from CVS has significantly
better behaviour than mono 1.0.x for that kind of loads.
&gt;<i> I guess the fact that Mono uses GC algorithm that doesn't perform heap
</I>&gt;<i> compaction (and therefore allows fragmentation) is a big mistake. And absence of
</I>&gt;<i> stop-the-world-pauses is not sufficient argument for me. For my application (and
</I>&gt;<i> many other common) the GC-pauses are not very harmless. Otherwise applications
</I>
We use the Boehm GC, which causes pauses as well. As said, mono from cvs
HEAD has better behaviour and we're incrementally improving it. We're
also working on a compacting generational GC, but that will be available
only in a year or so.
lupus
--
-----------------------------------------------------------------
<A HREF="mailto:lupus@debian.org">lupus@debian.org</A> debian/rules
<A HREF="mailto:lupus@ximian.com">lupus@ximian.com</A> Monkeys do it better
</PRE>
<!--endarticle-->
<HR>
<P><UL>
<!--threads-->
<LI> Previous message: <A HREF="000045.html">[Mono-gc-list] GC-(in)capability
</A></li>
<LI> <B>Messages sorted by:</B>
<a href="date.html#46">[ date ]</a>
<a href="thread.html#46">[ thread ]</a>
<a href="subject.html#46">[ subject ]</a>
<a href="author.html#46">[ author ]</a>
</LI>
</UL>
</body></html>

Просмотреть файл

@ -0,0 +1,55 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
<HTML>
<HEAD>
<title>The Mono-gc-list 2004-September Archive by Author</title>
<META NAME="robots" CONTENT="noindex,follow">
</HEAD>
<BODY BGCOLOR="#ffffff">
<a name="start"></A>
<h1>2004-September Archives by Author</h1>
<ul>
<li> <b>Messages sorted by:</b>
<a href="thread.html#start">[ thread ]</a>
<a href="subject.html#start">[ subject ]</a>
<a href="date.html#start">[ date ]</a>
<li><b><a href="http://lists.ximian.com/mailman/listinfo/mono-gc-list">More info on this list...
</a></b></li>
</ul>
<p><b>Starting:</b> <i>Sun Sep 5 23:08:53 2004</i><br>
<b>Ending:</b> <i>Wed Sep 8 11:54:37 2004</i><br>
<b>Messages:</b> 2<p>
<ul>
<LI><A HREF="000046.html">[Mono-gc-list] GC-(in)capability
</A><A NAME="46">&nbsp;</A>
<I>Paolo Molaro
</I>
<LI><A HREF="000045.html">[Mono-gc-list] GC-(in)capability
</A><A NAME="45">&nbsp;</A>
<I>Marek Paska
</I>
</ul>
<p>
<a name="end"><b>Last message date:</b></a>
<i>Wed Sep 8 11:54:37 2004</i><br>
<b>Archived on:</b> <i>Wed Sep 8 13:19:02 2004</i>
<p>
<ul>
<li> <b>Messages sorted by:</b>
<a href="thread.html#start">[ thread ]</a>
<a href="subject.html#start">[ subject ]</a>
<a href="date.html#start">[ date ]</a>
<li><b><a href="http://lists.ximian.com/mailman/listinfo/mono-gc-list">More info on this list...
</a></b></li>
</ul>
<p>
<hr>
<i>This archive was generated by
Pipermail 0.05 (Mailman edition).</i>
</BODY>
</HTML>

Просмотреть файл

@ -0,0 +1,55 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
<HTML>
<HEAD>
<title>The Mono-gc-list 2004-September Archive by Date</title>
<META NAME="robots" CONTENT="noindex,follow">
</HEAD>
<BODY BGCOLOR="#ffffff">
<a name="start"></A>
<h1>2004-September Archives by Date</h1>
<ul>
<li> <b>Messages sorted by:</b>
<a href="thread.html#start">[ thread ]</a>
<a href="subject.html#start">[ subject ]</a>
<a href="author.html#start">[ author ]</a>
<li><b><a href="http://lists.ximian.com/mailman/listinfo/mono-gc-list">More info on this list...
</a></b></li>
</ul>
<p><b>Starting:</b> <i>Sun Sep 5 23:08:53 2004</i><br>
<b>Ending:</b> <i>Wed Sep 8 11:54:37 2004</i><br>
<b>Messages:</b> 2<p>
<ul>
<LI><A HREF="000045.html">[Mono-gc-list] GC-(in)capability
</A><A NAME="45">&nbsp;</A>
<I>Marek Paska
</I>
<LI><A HREF="000046.html">[Mono-gc-list] GC-(in)capability
</A><A NAME="46">&nbsp;</A>
<I>Paolo Molaro
</I>
</ul>
<p>
<a name="end"><b>Last message date:</b></a>
<i>Wed Sep 8 11:54:37 2004</i><br>
<b>Archived on:</b> <i>Wed Sep 8 13:19:02 2004</i>
<p>
<ul>
<li> <b>Messages sorted by:</b>
<a href="thread.html#start">[ thread ]</a>
<a href="subject.html#start">[ subject ]</a>
<a href="author.html#start">[ author ]</a>
<li><b><a href="http://lists.ximian.com/mailman/listinfo/mono-gc-list">More info on this list...
</a></b></li>
</ul>
<p>
<hr>
<i>This archive was generated by
Pipermail 0.05 (Mailman edition).</i>
</BODY>
</HTML>

Просмотреть файл

@ -0,0 +1,59 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
<HTML>
<HEAD>
<title>The Mono-gc-list 2004-September Archive by Thread</title>
<META NAME="robots" CONTENT="noindex,follow">
</HEAD>
<BODY BGCOLOR="#ffffff">
<a name="start"></A>
<h1>2004-September Archives by Thread</h1>
<ul>
<li> <b>Messages sorted by:</b>
<a href="subject.html#start">[ subject ]</a>
<a href="author.html#start">[ author ]</a>
<a href="date.html#start">[ date ]</a>
<li><b><a href="http://lists.ximian.com/mailman/listinfo/mono-gc-list">More info on this list...
</a></b></li>
</ul>
<p><b>Starting:</b> <i>Sun Sep 5 23:08:53 2004</i><br>
<b>Ending:</b> <i>Wed Sep 8 11:54:37 2004</i><br>
<b>Messages:</b> 2<p>
<ul>
<!--0 01094440133- -->
<LI><A HREF="000045.html">[Mono-gc-list] GC-(in)capability
</A><A NAME="45">&nbsp;</A>
<I>Marek Paska
</I>
<UL>
<!--1 01094440133-01094658877- -->
<LI><A HREF="000046.html">[Mono-gc-list] GC-(in)capability
</A><A NAME="46">&nbsp;</A>
<I>Paolo Molaro
</I>
</UL>
</ul>
<p>
<a name="end"><b>Last message date:</b></a>
<i>Wed Sep 8 11:54:37 2004</i><br>
<b>Archived on:</b> <i>Wed Sep 8 13:19:02 2004</i>
<p>
<ul>
<li> <b>Messages sorted by:</b>
<a href="subject.html#start">[ subject ]</a>
<a href="author.html#start">[ author ]</a>
<a href="date.html#start">[ date ]</a>
<li><b><a href="http://lists.ximian.com/mailman/listinfo/mono-gc-list">More info on this list...
</a></b></li>
</ul>
<p>
<hr>
<i>This archive was generated by
Pipermail 0.05 (Mailman edition).</i>
</BODY>
</HTML>

Просмотреть файл

@ -0,0 +1,55 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
<HTML>
<HEAD>
<title>The Mono-gc-list 2004-September Archive by Subject</title>
<META NAME="robots" CONTENT="noindex,follow">
</HEAD>
<BODY BGCOLOR="#ffffff">
<a name="start"></A>
<h1>2004-September Archives by Subject</h1>
<ul>
<li> <b>Messages sorted by:</b>
<a href="thread.html#start">[ thread ]</a>
<a href="author.html#start">[ author ]</a>
<a href="date.html#start">[ date ]</a>
<li><b><a href="http://lists.ximian.com/mailman/listinfo/mono-gc-list">More info on this list...
</a></b></li>
</ul>
<p><b>Starting:</b> <i>Sun Sep 5 23:08:53 2004</i><br>
<b>Ending:</b> <i>Wed Sep 8 11:54:37 2004</i><br>
<b>Messages:</b> 2<p>
<ul>
<LI><A HREF="000045.html">[Mono-gc-list] GC-(in)capability
</A><A NAME="45">&nbsp;</A>
<I>Marek Paska
</I>
<LI><A HREF="000046.html">[Mono-gc-list] GC-(in)capability
</A><A NAME="46">&nbsp;</A>
<I>Paolo Molaro
</I>
</ul>
<p>
<a name="end"><b>Last message date:</b></a>
<i>Wed Sep 8 11:54:37 2004</i><br>
<b>Archived on:</b> <i>Wed Sep 8 13:19:02 2004</i>
<p>
<ul>
<li> <b>Messages sorted by:</b>
<a href="thread.html#start">[ thread ]</a>
<a href="author.html#start">[ author ]</a>
<a href="date.html#start">[ date ]</a>
<li><b><a href="http://lists.ximian.com/mailman/listinfo/mono-gc-list">More info on this list...
</a></b></li>
</ul>
<p>
<hr>
<i>This archive was generated by
Pipermail 0.05 (Mailman edition).</i>
</BODY>
</HTML>

Просмотреть файл

@ -0,0 +1,59 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
<HTML>
<HEAD>
<title>The Mono-gc-list 2004-September Archive by Thread</title>
<META NAME="robots" CONTENT="noindex,follow">
</HEAD>
<BODY BGCOLOR="#ffffff">
<a name="start"></A>
<h1>2004-September Archives by Thread</h1>
<ul>
<li> <b>Messages sorted by:</b>
<a href="subject.html#start">[ subject ]</a>
<a href="author.html#start">[ author ]</a>
<a href="date.html#start">[ date ]</a>
<li><b><a href="http://lists.ximian.com/mailman/listinfo/mono-gc-list">More info on this list...
</a></b></li>
</ul>
<p><b>Starting:</b> <i>Sun Sep 5 23:08:53 2004</i><br>
<b>Ending:</b> <i>Wed Sep 8 11:54:37 2004</i><br>
<b>Messages:</b> 2<p>
<ul>
<!--0 01094440133- -->
<LI><A HREF="000045.html">[Mono-gc-list] GC-(in)capability
</A><A NAME="45">&nbsp;</A>
<I>Marek Paska
</I>
<UL>
<!--1 01094440133-01094658877- -->
<LI><A HREF="000046.html">[Mono-gc-list] GC-(in)capability
</A><A NAME="46">&nbsp;</A>
<I>Paolo Molaro
</I>
</UL>
</ul>
<p>
<a name="end"><b>Last message date:</b></a>
<i>Wed Sep 8 11:54:37 2004</i><br>
<b>Archived on:</b> <i>Wed Sep 8 13:19:02 2004</i>
<p>
<ul>
<li> <b>Messages sorted by:</b>
<a href="subject.html#start">[ subject ]</a>
<a href="author.html#start">[ author ]</a>
<a href="date.html#start">[ date ]</a>
<li><b><a href="http://lists.ximian.com/mailman/listinfo/mono-gc-list">More info on this list...
</a></b></li>
</ul>
<p>
<hr>
<i>This archive was generated by
Pipermail 0.05 (Mailman edition).</i>
</BODY>
</HTML>

Просмотреть файл

@ -0,0 +1,110 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
<HTML>
<HEAD>
<TITLE> [Mono-gc-list] Calling Unmanaged dll from C#
</TITLE>
<LINK REL="Index" HREF="index.html" >
<LINK REL="made" HREF="mailto:mono-gc-list%40lists.ximian.com?Subject=%5BMono-gc-list%5D%20Calling%20Unmanaged%20dll%20from%20C%23&In-Reply-To=">
<META NAME="robots" CONTENT="index,nofollow">
<META http-equiv="Content-Type" content="text/html; charset=us-ascii">
</HEAD>
<BODY BGCOLOR="#ffffff">
<H1>[Mono-gc-list] Calling Unmanaged dll from C#</H1>
<B>romyd misc</B>
<A HREF="mailto:mono-gc-list%40lists.ximian.com?Subject=%5BMono-gc-list%5D%20Calling%20Unmanaged%20dll%20from%20C%23&In-Reply-To="
TITLE="[Mono-gc-list] Calling Unmanaged dll from C#">romydmisc at gmail.com
</A><BR>
<I>Mon Jun 19 10:03:20 EDT 2006</I>
<P><UL>
<LI> <B>Messages sorted by:</B>
<a href="date.html#53">[ date ]</a>
<a href="thread.html#53">[ thread ]</a>
<a href="subject.html#53">[ subject ]</a>
<a href="author.html#53">[ author ]</a>
</LI>
</UL>
<HR>
<!--beginarticle-->
<PRE>Hi All,
I want to use DllImport to call a C function that allocates and
returns an array of strings. I'm not sure if this is the right place
to ask this question, but my sample code works with windows .NET
compiler, so either there is a different way to call unmanaged dlls in
mono or may be i'm not implementing it right?
I've a C function that converts a char * to wchar_t *
DllExport Func(wchar_t** ipadds)
{
char mbBuf[BUF_SIZE] = &quot;1.1.1.1&quot;;
char* s = mbBuf;
size_t len = strlen (mbBuf);
wchar_t *result = malloc ((len + 1) * sizeof (wchar_t));
wchar_t *wcp = result;
wchar_t tmp;
mbstate_t state;
size_t nbytes;
int i = 0;
memset (&amp;state, '\0', sizeof (state));
while ((nbytes = mbrtowc (&amp;tmp, s, len, &amp;state)) &gt; 0)
{
if (nbytes &gt;= (size_t) -2)
/* Invalid input string. */
return NULL;
result[i] = tmp;
i++;
len -= nbytes;
s += nbytes;
}
result[i] = '\0';
*ipadds = result;
}
My C# code looks like this:
[DllImport(&quot;KeyServerUsage.dll&quot;, CharSet = CharSet.Auto,
EntryPoint = &quot;Func&quot;)]
private static extern void Func([Out] string[] Names);
public ArrayList GetIPAdd()
{
string[] ipadds = new string[2];
Func(ipadds);
}
Now i get a blank array returned in ipadds when i run this program
with mono. But when i run the same program on windows, i get &quot;1.1.1.1&quot;
in ipadds[0]. Any help would be greatly appreciated. BTW I have the
same question posted on mono-devel mailing list too.
Thanks,
Romy
</PRE>
<!--endarticle-->
<HR>
<P><UL>
<!--threads-->
<LI> <B>Messages sorted by:</B>
<a href="date.html#53">[ date ]</a>
<a href="thread.html#53">[ thread ]</a>
<a href="subject.html#53">[ subject ]</a>
<a href="author.html#53">[ author ]</a>
</LI>
</UL>
<hr>
<a href="http://lists.ximian.com/mailman/listinfo/mono-gc-list">More information about the Mono-gc-list
mailing list</a><br>
</body></html>

Просмотреть файл

@ -0,0 +1,52 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
<HTML>
<HEAD>
<title>The Mono-gc-list June 2006 Archive by author</title>
<META NAME="robots" CONTENT="noindex,follow">
<META http-equiv="Content-Type" content="text/html; charset=us-ascii">
</HEAD>
<BODY BGCOLOR="#ffffff">
<a name="start"></A>
<h1>June 2006 Archives by author</h1>
<ul>
<li> <b>Messages sorted by:</b>
<a href="thread.html#start">[ thread ]</a>
<a href="subject.html#start">[ subject ]</a>
<a href="date.html#start">[ date ]</a>
<li><b><a href="http://lists.ximian.com/mailman/listinfo/mono-gc-list">More info on this list...
</a></b></li>
</ul>
<p><b>Starting:</b> <i>Mon Jun 19 10:03:20 EDT 2006</i><br>
<b>Ending:</b> <i>Mon Jun 19 10:03:20 EDT 2006</i><br>
<b>Messages:</b> 1<p>
<ul>
<LI><A HREF="000053.html">[Mono-gc-list] Calling Unmanaged dll from C#
</A><A NAME="53">&nbsp;</A>
<I>romyd misc
</I>
</ul>
<p>
<a name="end"><b>Last message date:</b></a>
<i>Mon Jun 19 10:03:20 EDT 2006</i><br>
<b>Archived on:</b> <i>Mon Jun 19 10:06:57 EDT 2006</i>
<p>
<ul>
<li> <b>Messages sorted by:</b>
<a href="thread.html#start">[ thread ]</a>
<a href="subject.html#start">[ subject ]</a>
<a href="date.html#start">[ date ]</a>
<li><b><a href="http://lists.ximian.com/mailman/listinfo/mono-gc-list">More info on this list...
</a></b></li>
</ul>
<p>
<hr>
<i>This archive was generated by
Pipermail 0.09 (Mailman edition).</i>
</BODY>
</HTML>

Просмотреть файл

@ -0,0 +1,52 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
<HTML>
<HEAD>
<title>The Mono-gc-list June 2006 Archive by date</title>
<META NAME="robots" CONTENT="noindex,follow">
<META http-equiv="Content-Type" content="text/html; charset=us-ascii">
</HEAD>
<BODY BGCOLOR="#ffffff">
<a name="start"></A>
<h1>June 2006 Archives by date</h1>
<ul>
<li> <b>Messages sorted by:</b>
<a href="thread.html#start">[ thread ]</a>
<a href="subject.html#start">[ subject ]</a>
<a href="author.html#start">[ author ]</a>
<li><b><a href="http://lists.ximian.com/mailman/listinfo/mono-gc-list">More info on this list...
</a></b></li>
</ul>
<p><b>Starting:</b> <i>Mon Jun 19 10:03:20 EDT 2006</i><br>
<b>Ending:</b> <i>Mon Jun 19 10:03:20 EDT 2006</i><br>
<b>Messages:</b> 1<p>
<ul>
<LI><A HREF="000053.html">[Mono-gc-list] Calling Unmanaged dll from C#
</A><A NAME="53">&nbsp;</A>
<I>romyd misc
</I>
</ul>
<p>
<a name="end"><b>Last message date:</b></a>
<i>Mon Jun 19 10:03:20 EDT 2006</i><br>
<b>Archived on:</b> <i>Mon Jun 19 10:06:57 EDT 2006</i>
<p>
<ul>
<li> <b>Messages sorted by:</b>
<a href="thread.html#start">[ thread ]</a>
<a href="subject.html#start">[ subject ]</a>
<a href="author.html#start">[ author ]</a>
<li><b><a href="http://lists.ximian.com/mailman/listinfo/mono-gc-list">More info on this list...
</a></b></li>
</ul>
<p>
<hr>
<i>This archive was generated by
Pipermail 0.09 (Mailman edition).</i>
</BODY>
</HTML>

Просмотреть файл

@ -0,0 +1,53 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
<HTML>
<HEAD>
<title>The Mono-gc-list June 2006 Archive by thread</title>
<META NAME="robots" CONTENT="noindex,follow">
<META http-equiv="Content-Type" content="text/html; charset=us-ascii">
</HEAD>
<BODY BGCOLOR="#ffffff">
<a name="start"></A>
<h1>June 2006 Archives by thread</h1>
<ul>
<li> <b>Messages sorted by:</b>
<a href="subject.html#start">[ subject ]</a>
<a href="author.html#start">[ author ]</a>
<a href="date.html#start">[ date ]</a>
<li><b><a href="http://lists.ximian.com/mailman/listinfo/mono-gc-list">More info on this list...
</a></b></li>
</ul>
<p><b>Starting:</b> <i>Mon Jun 19 10:03:20 EDT 2006</i><br>
<b>Ending:</b> <i>Mon Jun 19 10:03:20 EDT 2006</i><br>
<b>Messages:</b> 1<p>
<ul>
<!--0 01150725800- -->
<LI><A HREF="000053.html">[Mono-gc-list] Calling Unmanaged dll from C#
</A><A NAME="53">&nbsp;</A>
<I>romyd misc
</I>
</ul>
<p>
<a name="end"><b>Last message date:</b></a>
<i>Mon Jun 19 10:03:20 EDT 2006</i><br>
<b>Archived on:</b> <i>Mon Jun 19 10:06:57 EDT 2006</i>
<p>
<ul>
<li> <b>Messages sorted by:</b>
<a href="subject.html#start">[ subject ]</a>
<a href="author.html#start">[ author ]</a>
<a href="date.html#start">[ date ]</a>
<li><b><a href="http://lists.ximian.com/mailman/listinfo/mono-gc-list">More info on this list...
</a></b></li>
</ul>
<p>
<hr>
<i>This archive was generated by
Pipermail 0.09 (Mailman edition).</i>
</BODY>
</HTML>

Просмотреть файл

@ -0,0 +1,52 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
<HTML>
<HEAD>
<title>The Mono-gc-list June 2006 Archive by subject</title>
<META NAME="robots" CONTENT="noindex,follow">
<META http-equiv="Content-Type" content="text/html; charset=us-ascii">
</HEAD>
<BODY BGCOLOR="#ffffff">
<a name="start"></A>
<h1>June 2006 Archives by subject</h1>
<ul>
<li> <b>Messages sorted by:</b>
<a href="thread.html#start">[ thread ]</a>
<a href="author.html#start">[ author ]</a>
<a href="date.html#start">[ date ]</a>
<li><b><a href="http://lists.ximian.com/mailman/listinfo/mono-gc-list">More info on this list...
</a></b></li>
</ul>
<p><b>Starting:</b> <i>Mon Jun 19 10:03:20 EDT 2006</i><br>
<b>Ending:</b> <i>Mon Jun 19 10:03:20 EDT 2006</i><br>
<b>Messages:</b> 1<p>
<ul>
<LI><A HREF="000053.html">[Mono-gc-list] Calling Unmanaged dll from C#
</A><A NAME="53">&nbsp;</A>
<I>romyd misc
</I>
</ul>
<p>
<a name="end"><b>Last message date:</b></a>
<i>Mon Jun 19 10:03:20 EDT 2006</i><br>
<b>Archived on:</b> <i>Mon Jun 19 10:06:57 EDT 2006</i>
<p>
<ul>
<li> <b>Messages sorted by:</b>
<a href="thread.html#start">[ thread ]</a>
<a href="author.html#start">[ author ]</a>
<a href="date.html#start">[ date ]</a>
<li><b><a href="http://lists.ximian.com/mailman/listinfo/mono-gc-list">More info on this list...
</a></b></li>
</ul>
<p>
<hr>
<i>This archive was generated by
Pipermail 0.09 (Mailman edition).</i>
</BODY>
</HTML>

Просмотреть файл

@ -0,0 +1,53 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
<HTML>
<HEAD>
<title>The Mono-gc-list June 2006 Archive by thread</title>
<META NAME="robots" CONTENT="noindex,follow">
<META http-equiv="Content-Type" content="text/html; charset=us-ascii">
</HEAD>
<BODY BGCOLOR="#ffffff">
<a name="start"></A>
<h1>June 2006 Archives by thread</h1>
<ul>
<li> <b>Messages sorted by:</b>
<a href="subject.html#start">[ subject ]</a>
<a href="author.html#start">[ author ]</a>
<a href="date.html#start">[ date ]</a>
<li><b><a href="http://lists.ximian.com/mailman/listinfo/mono-gc-list">More info on this list...
</a></b></li>
</ul>
<p><b>Starting:</b> <i>Mon Jun 19 10:03:20 EDT 2006</i><br>
<b>Ending:</b> <i>Mon Jun 19 10:03:20 EDT 2006</i><br>
<b>Messages:</b> 1<p>
<ul>
<!--0 01150725800- -->
<LI><A HREF="000053.html">[Mono-gc-list] Calling Unmanaged dll from C#
</A><A NAME="53">&nbsp;</A>
<I>romyd misc
</I>
</ul>
<p>
<a name="end"><b>Last message date:</b></a>
<i>Mon Jun 19 10:03:20 EDT 2006</i><br>
<b>Archived on:</b> <i>Mon Jun 19 10:06:57 EDT 2006</i>
<p>
<ul>
<li> <b>Messages sorted by:</b>
<a href="subject.html#start">[ subject ]</a>
<a href="author.html#start">[ author ]</a>
<a href="date.html#start">[ date ]</a>
<li><b><a href="http://lists.ximian.com/mailman/listinfo/mono-gc-list">More info on this list...
</a></b></li>
</ul>
<p>
<hr>
<i>This archive was generated by
Pipermail 0.09 (Mailman edition).</i>
</BODY>
</HTML>

Просмотреть файл

@ -0,0 +1,77 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
<HTML>
<HEAD>
<TITLE> [Mono-gc-list] Request for backport of garbage collection patch
</TITLE>
<LINK REL="Index" HREF="index.html" >
<LINK REL="made" HREF="mailto:mono-gc-list%40lists.ximian.com?Subject=%5BMono-gc-list%5D%20Request%20for%20backport%20of%20garbage%20collection%20patch&In-Reply-To=">
<META NAME="robots" CONTENT="index,nofollow">
<META http-equiv="Content-Type" content="text/html; charset=us-ascii">
<LINK REL="Next" HREF="000068.html">
</HEAD>
<BODY BGCOLOR="#ffffff">
<H1>[Mono-gc-list] Request for backport of garbage collection patch</H1>
<B>Matt Jones</B>
<A HREF="mailto:mono-gc-list%40lists.ximian.com?Subject=%5BMono-gc-list%5D%20Request%20for%20backport%20of%20garbage%20collection%20patch&In-Reply-To="
TITLE="[Mono-gc-list] Request for backport of garbage collection patch">mattj at google.com
</A><BR>
<I>Tue Jul 17 19:54:34 EDT 2007</I>
<P><UL>
<LI>Next message: <A HREF="000068.html">[Mono-gc-list] [Mono-dev] Request for backport of garbage collection patch
</A></li>
<LI> <B>Messages sorted by:</B>
<a href="date.html#56">[ date ]</a>
<a href="thread.html#56">[ thread ]</a>
<a href="subject.html#56">[ subject ]</a>
<a href="author.html#56">[ author ]</a>
</LI>
</UL>
<HR>
<!--beginarticle-->
<PRE>Hi -
I'm working on improving mono-under-wine (on the wine side), and I've
been hitting a bug in the mono garbage collector fixed by commit
#77073 ([1]). The bug in question is a race condition between
GetExitCodeThread and SuspendThread - if a thread terminates between
the two, SuspendThread will fail. The race condition is pretty
reliably triggered by the regression test suite when running under
wine.
The current patch could actually be reduced further (the
GetExitCodeThread block could be fully deleted, as it is rendered
redundant), but it works as is.
Any chance this patch could be applied to the maintenance branch? The
patch applies cleanly to 1.13.8.2.
Thank you very much,
-Matt Jones
[1] <A HREF="http://anonsvn.mono-project.com/viewcvs/trunk/mono/libgc/win32_threads.c?rev=77073&amp;view=log">http://anonsvn.mono-project.com/viewcvs/trunk/mono/libgc/win32_threads.c?rev=77073&amp;view=log</A>
</PRE>
<!--endarticle-->
<HR>
<P><UL>
<!--threads-->
<LI>Next message: <A HREF="000068.html">[Mono-gc-list] [Mono-dev] Request for backport of garbage collection patch
</A></li>
<LI> <B>Messages sorted by:</B>
<a href="date.html#56">[ date ]</a>
<a href="thread.html#56">[ thread ]</a>
<a href="subject.html#56">[ subject ]</a>
<a href="author.html#56">[ author ]</a>
</LI>
</UL>
<hr>
<a href="http://lists.ximian.com/mailman/listinfo/mono-gc-list">More information about the Mono-gc-list
mailing list</a><br>
</body></html>

Некоторые файлы не были показаны из-за слишком большого количества измененных файлов Показать больше