<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML><HEAD>


<STYLE>@font-face {
        font-family: 宋体;
}
@font-face {
        font-family: Verdana;
}
@font-face {
        font-family: @宋体;
}
@page Section1 {size: 595.3pt 841.9pt; margin: 72.0pt 90.0pt 72.0pt 90.0pt; layout-grid: 15.6pt; }
P.MsoNormal {
        TEXT-JUSTIFY: inter-ideograph; FONT-SIZE: 10.5pt; MARGIN: 0cm 0cm 0pt; FONT-FAMILY: "Times New Roman"; TEXT-ALIGN: justify
}
LI.MsoNormal {
        TEXT-JUSTIFY: inter-ideograph; FONT-SIZE: 10.5pt; MARGIN: 0cm 0cm 0pt; FONT-FAMILY: "Times New Roman"; TEXT-ALIGN: justify
}
DIV.MsoNormal {
        TEXT-JUSTIFY: inter-ideograph; FONT-SIZE: 10.5pt; MARGIN: 0cm 0cm 0pt; FONT-FAMILY: "Times New Roman"; TEXT-ALIGN: justify
}
A:link {
        COLOR: blue; TEXT-DECORATION: underline
}
SPAN.MsoHyperlink {
        COLOR: blue; TEXT-DECORATION: underline
}
A:visited {
        COLOR: purple; TEXT-DECORATION: underline
}
SPAN.MsoHyperlinkFollowed {
        COLOR: purple; TEXT-DECORATION: underline
}
SPAN.EmailStyle17 {
        FONT-WEIGHT: normal; COLOR: windowtext; FONT-STYLE: normal; FONT-FAMILY: Verdana; TEXT-DECORATION: none; mso-style-type: personal-compose
}
DIV.Section1 {
        page: Section1
}
UNKNOWN {
        FONT-SIZE: 10pt
}
BLOCKQUOTE {
        MARGIN-TOP: 0px; MARGIN-BOTTOM: 0px; MARGIN-LEFT: 2em
}
OL {
        MARGIN-TOP: 0px; MARGIN-BOTTOM: 0px
}
UL {
        MARGIN-TOP: 0px; MARGIN-BOTTOM: 0px
}
</STYLE>
</HEAD>
<BODY style="FONT-SIZE: 10pt; FONT-FAMILY: verdana">
<DIV><FONT size="2" color="#000080" face="Verdana">Greate!</FONT></DIV>
<DIV><FONT color="#000080">And I am tring。。。</FONT></DIV>
<DIV><FONT size="2" color="#000080" face="Verdana"></FONT>&nbsp;</DIV>
<DIV><FONT size="2" color="#000080" face="Verdana"></FONT>&nbsp;</DIV>
<DIV><FONT size="2" color="#c0c0c0" face="Verdana">2008-06-20 </FONT></DIV><FONT size="2" color="#000080" face="Verdana">
<HR SIZE="2" align="left" style="WIDTH: 122px; HEIGHT: 2px">
</FONT>
<DIV><FONT size="2" color="#c0c0c0" face="Verdana"><SPAN>useada.u</SPAN> 
</FONT></DIV><FONT size="2" color="#000080" face="Verdana">
<HR>
</FONT>
<DIV><FONT size="2" face="Verdana"><STRONG>发件人:</STRONG> R. Matthew Emerson 
</FONT></DIV>
<DIV><FONT size="2" face="Verdana"><STRONG>发送时间:</STRONG> 2008-06-20&nbsp; 13:39:36 
</FONT></DIV>
<DIV><FONT size="2" face="Verdana"><STRONG>收件人:</STRONG> openmcl-devel@clozure.com 
</FONT></DIV>
<DIV><FONT size="2" face="Verdana"><STRONG>抄送:</STRONG> </FONT></DIV>
<DIV><FONT size="2" face="Verdana"><STRONG>主题:</STRONG> [Openmcl-devel] 32-bit x86 
port update </FONT></DIV>
<DIV><FONT size="2" face="Verdana"></FONT> </DIV>
<DIV><FONT size="2" face="Verdana">
<DIV>Here&nbsp;is&nbsp;a&nbsp;status&nbsp;update&nbsp;on&nbsp;the&nbsp;32-bit&nbsp;x86&nbsp;port.</DIV>
<DIV>&nbsp;</DIV>
<DIV>There's&nbsp;been&nbsp;some&nbsp;good&nbsp;progress&nbsp;since&nbsp;the&nbsp;last&nbsp;status&nbsp;message&nbsp;I&nbsp;sent&nbsp;&nbsp;</DIV>
<DIV>out&nbsp;about&nbsp;six&nbsp;or&nbsp;seven&nbsp;weeks&nbsp;ago.</DIV>
<DIV>&nbsp;</DIV>
<DIV>The&nbsp;lisp&nbsp;(I&nbsp;think&nbsp;it's&nbsp;fair&nbsp;to&nbsp;call&nbsp;it&nbsp;a&nbsp;lisp&nbsp;now)&nbsp;can&nbsp;self-host.&nbsp;&nbsp;In&nbsp;&nbsp;</DIV>
<DIV>other&nbsp;words,&nbsp;it&nbsp;compiles&nbsp;itself&nbsp;now.&nbsp;&nbsp;I&nbsp;very&nbsp;rarely&nbsp;have&nbsp;any&nbsp;occasion&nbsp;&nbsp;</DIV>
<DIV>to&nbsp;cross-compile&nbsp;it&nbsp;any&nbsp;more.</DIV>
<DIV>&nbsp;</DIV>
<DIV>The&nbsp;GC&nbsp;works.&nbsp;&nbsp;I'm&nbsp;chasing&nbsp;a&nbsp;heap&nbsp;corruption&nbsp;bug&nbsp;or&nbsp;two,&nbsp;but&nbsp;I&nbsp;think&nbsp;&nbsp;</DIV>
<DIV>it's&nbsp;unlikely&nbsp;that&nbsp;the&nbsp;corruption&nbsp;is&nbsp;the&nbsp;GC's&nbsp;fault.&nbsp;&nbsp;(One&nbsp;of&nbsp;the&nbsp;bits&nbsp;&nbsp;</DIV>
<DIV>that&nbsp;can&nbsp;be&nbsp;set&nbsp;in&nbsp;ccl::*gc-event-status-bits*&nbsp;turns&nbsp;on&nbsp;heap&nbsp;integrity&nbsp;&nbsp;</DIV>
<DIV>checking&nbsp;in&nbsp;the&nbsp;GC.&nbsp;&nbsp;This&nbsp;causes&nbsp;the&nbsp;GC&nbsp;to&nbsp;check&nbsp;the&nbsp;heap&nbsp;before&nbsp;and&nbsp;&nbsp;</DIV>
<DIV>after&nbsp;it&nbsp;does&nbsp;its&nbsp;thing.&nbsp;&nbsp;So&nbsp;far,&nbsp;the&nbsp;heap&nbsp;corruption&nbsp;has&nbsp;always&nbsp;been&nbsp;&nbsp;</DIV>
<DIV>reported&nbsp;in&nbsp;the&nbsp;pre-gc&nbsp;heap&nbsp;integrity&nbsp;check.)</DIV>
<DIV>&nbsp;</DIV>
<DIV>You&nbsp;can&nbsp;now&nbsp;use&nbsp;SLIME&nbsp;(which&nbsp;implies&nbsp;that&nbsp;basic&nbsp;threading&nbsp;is&nbsp;working,&nbsp;&nbsp;</DIV>
<DIV>though&nbsp;I&nbsp;suspect&nbsp;there&nbsp;might&nbsp;be&nbsp;some&nbsp;thread-related&nbsp;bugs&nbsp;here&nbsp;or&nbsp;there).</DIV>
<DIV>&nbsp;</DIV>
<DIV>I've&nbsp;been&nbsp;working&nbsp;through&nbsp;Paul&nbsp;Dietz's&nbsp;ANSI&nbsp;CL&nbsp;test&nbsp;suite,&nbsp;finding&nbsp;and&nbsp;&nbsp;</DIV>
<DIV>fixing&nbsp;bugs&nbsp;as&nbsp;I&nbsp;go.&nbsp;&nbsp;That&nbsp;test&nbsp;suite&nbsp;has&nbsp;been&nbsp;a&nbsp;very&nbsp;useful&nbsp;stress&nbsp;&nbsp;</DIV>
<DIV>test,&nbsp;I&nbsp;must&nbsp;say.</DIV>
<DIV>&nbsp;</DIV>
<DIV>One&nbsp;important&nbsp;thing&nbsp;that&nbsp;remains&nbsp;to&nbsp;be&nbsp;done&nbsp;is&nbsp;to&nbsp;fill&nbsp;out&nbsp;some&nbsp;FFI&nbsp;&nbsp;</DIV>
<DIV>details,&nbsp;primarily&nbsp;involving&nbsp;returning&nbsp;structures&nbsp;by&nbsp;value.&nbsp;&nbsp;The&nbsp;IA-32&nbsp;&nbsp;</DIV>
<DIV>ABI&nbsp;is&nbsp;not&nbsp;*that*&nbsp;complicated,&nbsp;so&nbsp;this&nbsp;might&nbsp;not&nbsp;be&nbsp;a&nbsp;terribly&nbsp;big&nbsp;&nbsp;</DIV>
<DIV>job.&nbsp;&nbsp;(Since&nbsp;Cocoa&nbsp;and&nbsp;Carbon&nbsp;return&nbsp;structures&nbsp;all&nbsp;day&nbsp;long,&nbsp;this&nbsp;&nbsp;</DIV>
<DIV>means&nbsp;that&nbsp;the&nbsp;Cocoa&nbsp;IDE&nbsp;doesn't&nbsp;work&nbsp;yet.)&nbsp;&nbsp;Also,&nbsp;Objective-C&nbsp;&nbsp;</DIV>
<DIV>exception&nbsp;handling&nbsp;needs&nbsp;to&nbsp;be&nbsp;addressed.</DIV>
<DIV>&nbsp;</DIV>
<DIV>When&nbsp;the&nbsp;lisp&nbsp;passes&nbsp;the&nbsp;test&nbsp;suite,&nbsp;and&nbsp;the&nbsp;FFI&nbsp;details&nbsp;are&nbsp;filled&nbsp;&nbsp;</DIV>
<DIV>in,&nbsp;it&nbsp;will&nbsp;be&nbsp;time&nbsp;to&nbsp;merge&nbsp;the&nbsp;ia32&nbsp;branch&nbsp;with&nbsp;the&nbsp;trunk&nbsp;and&nbsp;&nbsp;</DIV>
<DIV>unleash&nbsp;it&nbsp;on&nbsp;an&nbsp;unsuspecting&nbsp;world.</DIV>
<DIV>&nbsp;</DIV>
<DIV>If&nbsp;you're&nbsp;really&nbsp;adventurous,&nbsp;you&nbsp;can&nbsp;check&nbsp;out&nbsp;a&nbsp;copy&nbsp;of&nbsp;the&nbsp;current&nbsp;&nbsp;</DIV>
<DIV>work-in-progress.&nbsp;&nbsp;It&nbsp;only&nbsp;runs&nbsp;on&nbsp;Mac&nbsp;OS&nbsp;X.&nbsp;&nbsp;I've&nbsp;only&nbsp;ever&nbsp;run&nbsp;it&nbsp;on&nbsp;&nbsp;</DIV>
<DIV>Leopard.</DIV>
<DIV>&nbsp;</DIV>
<DIV>If&nbsp;you&nbsp;do&nbsp;this,&nbsp;*please*&nbsp;*please*&nbsp;*please*&nbsp;understand&nbsp;that&nbsp;this&nbsp;thing&nbsp;&nbsp;</DIV>
<DIV>is&nbsp;really&nbsp;buggy,&nbsp;and&nbsp;we&nbsp;know&nbsp;that&nbsp;it's&nbsp;really&nbsp;buggy.&nbsp;&nbsp;Please&nbsp;don't&nbsp;&nbsp;</DIV>
<DIV>take&nbsp;the&nbsp;(non-)&nbsp;quality&nbsp;of&nbsp;the&nbsp;32-bit&nbsp;Intel&nbsp;port&nbsp;as&nbsp;being&nbsp;&nbsp;</DIV>
<DIV>representative&nbsp;of&nbsp;the&nbsp;other&nbsp;(x8664/ppc32/ppc64)&nbsp;ports,&nbsp;which&nbsp;are&nbsp;&nbsp;</DIV>
<DIV>stable&nbsp;and&nbsp;reliable.</DIV>
<DIV>&nbsp;</DIV>
<DIV>If&nbsp;you've&nbsp;got&nbsp;Leopard&nbsp;with&nbsp;the&nbsp;developer&nbsp;tools&nbsp;installed,&nbsp;you&nbsp;can&nbsp;&nbsp;</DIV>
<DIV>check&nbsp;out&nbsp;a&nbsp;working&nbsp;copy&nbsp;with&nbsp;the&nbsp;following&nbsp;command:</DIV>
<DIV>&nbsp;</DIV>
<DIV>$&nbsp;svn&nbsp;co&nbsp;<A href="http://svn.clozure.com/publicsvn/openmcl/branches/ia32">http://svn.clozure.com/publicsvn/openmcl/branches/ia32</A></DIV>
<DIV>&nbsp;</DIV>
<DIV>After&nbsp;that&nbsp;finishes,&nbsp;you&nbsp;should&nbsp;be&nbsp;able&nbsp;to&nbsp;build&nbsp;the&nbsp;lisp&nbsp;kernel,&nbsp;run&nbsp;&nbsp;</DIV>
<DIV>the&nbsp;lisp,&nbsp;and&nbsp;recompile&nbsp;the&nbsp;sources:</DIV>
<DIV>&nbsp;</DIV>
<DIV>$&nbsp;cd&nbsp;ia32/lisp-kernel/darwinx8632</DIV>
<DIV>$&nbsp;make</DIV>
<DIV>[...]</DIV>
<DIV>$&nbsp;cd&nbsp;../..</DIV>
<DIV>$&nbsp;./dx86cl</DIV>
<DIV>Welcome&nbsp;to&nbsp;Clozure&nbsp;Common&nbsp;Lisp&nbsp;Version&nbsp;1.1-r8833:9797MS&nbsp;(DarwinX8632)!</DIV>
<DIV>?&nbsp;(rebuild-ccl&nbsp;:full&nbsp;t)</DIV>
<DIV>[...]</DIV>
<DIV>;Wrote&nbsp;bootstrapping&nbsp;image:&nbsp;#P"/Users/rme/xxx/ia32/x86-boot32.image"</DIV>
<DIV>;Wrote&nbsp;heap&nbsp;image:&nbsp;#P"/Users/rme/xxx/ia32/dx86cl.image"</DIV>
<DIV>?&nbsp;(quit)</DIV>
<DIV>$&nbsp;./dx86cl</DIV>
<DIV>Welcome&nbsp;to&nbsp;Clozure&nbsp;Common&nbsp;Lisp&nbsp;Version&nbsp;1.1-r8833:9797MS&nbsp;(DarwinX8632)!</DIV>
<DIV>?</DIV>
<DIV>&nbsp;</DIV>
<DIV>N.B.:&nbsp;the&nbsp;lisp&nbsp;kernel&nbsp;Makefile&nbsp;enables&nbsp;a&nbsp;debugging&nbsp;feature&nbsp;that&nbsp;makes&nbsp;&nbsp;</DIV>
<DIV>the&nbsp;GC&nbsp;always&nbsp;use&nbsp;a&nbsp;slower,&nbsp;but&nbsp;more&nbsp;memory-efficient&nbsp;marker&nbsp;(we're&nbsp;&nbsp;</DIV>
<DIV>doing&nbsp;this&nbsp;for&nbsp;stress-testing).&nbsp;&nbsp;Also&nbsp;by&nbsp;default,&nbsp;flags&nbsp;are&nbsp;set&nbsp;in&nbsp;&nbsp;</DIV>
<DIV>ccl::*gc-event-status-bits*&nbsp;that&nbsp;cause&nbsp;the&nbsp;GC&nbsp;to&nbsp;do&nbsp;heap&nbsp;integrity&nbsp;&nbsp;</DIV>
<DIV>checking&nbsp;every&nbsp;time&nbsp;it&nbsp;runs.&nbsp;&nbsp;The&nbsp;combination&nbsp;of&nbsp;these&nbsp;two&nbsp;things&nbsp;&nbsp;</DIV>
<DIV>slows&nbsp;down&nbsp;GC&nbsp;by&nbsp;a&nbsp;huge&nbsp;amount.</DIV>
<DIV>&nbsp;</DIV>
<DIV>You&nbsp;might&nbsp;wish&nbsp;to&nbsp;run&nbsp;the&nbsp;lisp&nbsp;under&nbsp;gdb.&nbsp;&nbsp;You'd&nbsp;say&nbsp;something&nbsp;like:</DIV>
<DIV>$&nbsp;gdb&nbsp;dx86cl</DIV>
<DIV>(gdb)&nbsp;source&nbsp;lisp-kernel/darwinx8632/.gdbinit</DIV>
<DIV>Breakpoint&nbsp;1&nbsp;at&nbsp;0xe258:&nbsp;file&nbsp;../lisp-debug.c,&nbsp;line&nbsp;1003.</DIV>
<DIV>(gdb)&nbsp;run</DIV>
<DIV>Starting&nbsp;program:&nbsp;/Users/rme/xxx/ia32/dx86cl</DIV>
<DIV>Reading&nbsp;symbols&nbsp;for&nbsp;shared&nbsp;libraries&nbsp;+.&nbsp;done</DIV>
<DIV>Welcome&nbsp;to&nbsp;Clozure&nbsp;Common&nbsp;Lisp&nbsp;Version&nbsp;1.1-r9799MS&nbsp;(DarwinX8632)!</DIV>
<DIV>?</DIV>
<DIV>&nbsp;</DIV>
<DIV>If&nbsp;you&nbsp;are&nbsp;crazy&nbsp;enough&nbsp;to&nbsp;try&nbsp;it&nbsp;out,&nbsp;I'd&nbsp;certainly&nbsp;like&nbsp;to&nbsp;hear&nbsp;&nbsp;</DIV>
<DIV>about&nbsp;bugs&nbsp;you&nbsp;encounter,&nbsp;especially&nbsp;if&nbsp;you&nbsp;can&nbsp;provide&nbsp;a&nbsp;brief&nbsp;test&nbsp;&nbsp;</DIV>
<DIV>case&nbsp;that&nbsp;exhibits&nbsp;the&nbsp;bug.&nbsp;&nbsp;Please&nbsp;feel&nbsp;free&nbsp;to&nbsp;enter&nbsp;bugs&nbsp;in&nbsp;the&nbsp;&nbsp;</DIV>
<DIV>Trac&nbsp;site&nbsp;at&nbsp; &lt;<A href="http://trac.clozure.com/openmcl/">http://trac.clozure.com/openmcl/</A> 
&gt;.</DIV>
<DIV>&nbsp;</DIV>
<DIV>&nbsp;</DIV>
<DIV>_______________________________________________</DIV>
<DIV>Openmcl-devel&nbsp;mailing&nbsp;list</DIV>
<DIV>Openmcl-devel@clozure.com</DIV>
<DIV><A href="http://clozure.com/mailman/listinfo/openmcl-devel">http://clozure.com/mailman/listinfo/openmcl-devel</A></DIV></FONT></DIV></BODY></HTML>