[M3devel] [M3commit] CVS Update: cm3

Mika Nystrom mika at async.async.caltech.edu
Mon Dec 14 17:31:01 CET 2009


Alpha is little-endian because it's DEC and all DEC systems are
little-endian.  It's one of those religious wars, now long forgotten...
DEC did win that war, after all, but much good it did them.  

Also regarding Trestle: there are several tech reports about it that
explain the locking schemes in detail.  Are there really other windowing
systems out there that have similarly good support for multithreaded
programs?  (I've certainly never seen one...I think Trestle is very
very cool.)
 
    Mika

Jay K writes:
>--_53b61834-1f8f-4857-9285-039cb0730d0c_
>Content-Type: text/plain; charset="iso-8859-1"
>Content-Transfer-Encoding: quoted-printable
>
>
>I assumed Alpha was little endian because it ran NT.
>Then again=2C I know=2C a lot of chips go either way these days (PowerPC li=
>ttle endian for NT and presumably XBox360=2C big endian for Mac and I think=
> Linux and AIX?)
>
>Target.m3:
>
>    (* big endian *)
>
>    IF TextUtils.StartsWith(system=2C "PA")
>
>            (* MIPS is definitely ambiguous! *)
>            OR TextUtils.StartsWith(system=2C "MIPS")
>  =20
>            (* PPC is a little ambiguous? *)
>            OR TextUtils.StartsWith(system=2C "PPC")
>
>            OR TextUtils.StartsWith(system=2C "SPARC")
>            OR TextUtils.StartsWith(system=2C "SOL") THEN
>        Little_endian :=3D FALSE=3B
>    END=3B
>
>Anyway it shouldn't be hard to track down.
>I'll probably divert to SPARC64_SOLARIS first=2C or maybe PPC64_{LINUX=2CDA=
>RWIN} (iMac G5 arrived recently=2C though PPC64_AIX hardware has been sitti=
>ng around...)
>
>The code I put in parse.c is definitely wierd=2C but I really thought it wa=
>s correct=2C and it /has/ no survived a fair number of combinations. I do c=
>ross builds /almost/ without considering host and target. Er=2C except you =
>can't cross from 64bit to 32bit..I'll probably fix that pretty soon as it h=
>as started hitting me more often... it's just something where the compiler =
>gets confused and does host math with target limitations=2C where it should=
> do target math.
>
> - Jay
>
>From: hosking at cs.purdue.edu
>Date: Mon=2C 14 Dec 2009 10:46:25 -0500
>To: jay.krell at cornell.edu
>CC: m3commit at elegosoft.com
>Subject: Re: [M3commit] CVS Update: cm3
>
>
>
>On 14 Dec 2009=2C at 10:43=2C Jay K wrote:I know I know. I know exactly the=
> code. I rewrote it=2C at least once.
>Cross compiling works.
>Native does not.
>It must be the threshold variables in RTCollector.
>
>Yeah=2C I've been bitten by just that scenario in the past -- those are the=
> earliest use of FP in the run-time linker.  If they are broken you find ou=
>t quickly.  Can you take a look at the gcc m3cg code for FP?  It worked at =
>one point just fine on native Alpha 64-bit=2C so should not be too hard to =
>fix.
>I really thought I understood that code.
>
> - Jay
>
>
>From: hosking at cs.purdue.edu
>Date: Mon=2C 14 Dec 2009 10:38:06 -0500
>To: jkrell at elego.de
>CC: m3commit at elegosoft.com
>Subject: Re: [M3commit] CVS Update: cm3
>
>This suggests an m3cg backend compiler problem for floating point on SPARC6=
>4.
>On 14 Dec 2009=2C at 14:40=2C Jay Krell wrote:CVSROOT:	/usr/cvs
>Changes by:	jkrell at birch.	09/12/14 14:40:15
>
>Modified files:
>	cm3/m3-libs/m3core/src/runtime/SPARC64_SOLARIS/: RTMachine.i3=20
>	cm3/m3-libs/m3core/src/unix/: m3makefile=20
>Removed files:
>	cm3/m3-libs/m3core/src/runtime/SPARC64_SOLARIS/: RTSignal.m3=20
>
>Log message:
>	updates so SPARC64_SOLARIS bootstrap can build
>	(possible tangent related to getting SPARC64_OPENBSD
>	to work -- problem apparently with the floating point
>	constants in RTCollector=2C such that Behind() is
>	always TRUE=2C even for the first allocation=2C so
>	access violate trying to garbage collect too
>	early=2C when self is still NULL)
>
>
> 		 	   		  =
>
>--_53b61834-1f8f-4857-9285-039cb0730d0c_
>Content-Type: text/html; charset="iso-8859-1"
>Content-Transfer-Encoding: quoted-printable
>
><html>
><head>
><style><!--
>.hmmessage P
>{
>margin:0px=3B
>padding:0px
>}
>body.hmmessage
>{
>font-size: 10pt=3B
>font-family:Verdana
>}
>--></style>
></head>
><body class=3D'hmmessage'>
>I assumed Alpha was little endian because it ran NT.<br>Then again=2C I kno=
>w=2C a lot of chips go either way these days (PowerPC little endian for NT =
>and presumably XBox360=2C big endian for Mac and I think Linux and AIX?)<br=
>><br>Target.m3:<br><br>&nbsp=3B&nbsp=3B&nbsp=3B (* big endian *)<br><br>&nb=
>sp=3B&nbsp=3B&nbsp=3B IF TextUtils.StartsWith(system=2C "PA")<br><br>&nbsp=
>=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B=
>&nbsp=3B (* MIPS is definitely ambiguous! *)<br>&nbsp=3B&nbsp=3B&nbsp=3B&nb=
>sp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B OR TextUtils.=
>StartsWith(system=2C "MIPS")<br>&nbsp=3B&nbsp=3B <br>&nbsp=3B&nbsp=3B&nbsp=
>=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B (* PPC =
>is a little ambiguous? *)<br>&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=
>=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B OR TextUtils.StartsWith(system=
>=2C "PPC")<br><br>&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&=
>nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B OR TextUtils.StartsWith(system=2C "SPARC")<=
>br>&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B=
>&nbsp=3B&nbsp=3B OR TextUtils.StartsWith(system=2C "SOL") THEN<br>&nbsp=3B&=
>nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B Little_endian :=3D FALSE=3B=
><br>&nbsp=3B&nbsp=3B&nbsp=3B END=3B<br><br>Anyway it shouldn't be hard to t=
>rack down.<br>I'll probably divert to SPARC64_SOLARIS first=2C or maybe PPC=
>64_{LINUX=2CDARWIN} (iMac G5 arrived recently=2C though PPC64_AIX hardware =
>has been sitting around...)<br><br>The code I put in parse.c is definitely =
>wierd=2C but I really thought it was correct=2C and it /has/ no survived a =
>fair number of combinations. I do cross builds /almost/ without considering=
> host and target. Er=2C except you can't cross from 64bit to 32bit..I'll pr=
>obably fix that pretty soon as it has started hitting me more often... it's=
> just something where the compiler gets confused and does host math with ta=
>rget limitations=2C where it should do target math.<br><br>&nbsp=3B- Jay<br=
>><br><hr id=3D"stopSpelling">From: hosking at cs.purdue.edu<br>Date: Mon=2C 14=
> Dec 2009 10:46:25 -0500<br>To: jay.krell at cornell.edu<br>CC: m3commit at elego=
>soft.com<br>Subject: Re: [M3commit] CVS Update: cm3<br><br>
>
><base><div><span class=3D"ecxApple-style-span" style=3D"border-collapse: se=
>parate=3B color: rgb(0=2C 0=2C 0)=3B font-family: Helvetica=3B font-size: 1=
>2px=3B font-style: normal=3B font-variant: normal=3B font-weight: normal=3B=
> letter-spacing: normal=3B line-height: normal=3B text-indent: 0px=3B text-=
>transform: none=3B white-space: normal=3B word-spacing: 0px=3B"><span class=
>=3D"ecxApple-style-span" style=3D"border-collapse: separate=3B color: rgb(0=
>=2C 0=2C 0)=3B font-family: Helvetica=3B font-size: 12px=3B font-style: nor=
>mal=3B font-variant: normal=3B font-weight: normal=3B letter-spacing: norma=
>l=3B line-height: normal=3B text-indent: 0px=3B text-transform: none=3B whi=
>te-space: normal=3B word-spacing: 0px=3B"><div style=3D"word-wrap: break-wo=
>rd=3B"><span class=3D"ecxApple-style-span" style=3D"border-collapse: separa=
>te=3B color: rgb(0=2C 0=2C 0)=3B font-family: Helvetica=3B font-size: 12px=
>=3B font-style: normal=3B font-variant: normal=3B font-weight: normal=3B le=
>tter-spacing: normal=3B line-height: normal=3B text-indent: 0px=3B text-tra=
>nsform: none=3B white-space: normal=3B word-spacing: 0px=3B"><span class=3D=
>"ecxApple-style-span" style=3D"border-collapse: separate=3B color: rgb(0=2C=
> 0=2C 0)=3B font-family: Helvetica=3B font-size: 12px=3B font-style: normal=
>=3B font-variant: normal=3B font-weight: normal=3B letter-spacing: normal=
>=3B line-height: normal=3B text-indent: 0px=3B text-transform: none=3B whit=
>e-space: normal=3B word-spacing: 0px=3B"><span class=3D"ecxApple-style-span=
>" style=3D"border-collapse: separate=3B color: rgb(0=2C 0=2C 0)=3B font-fam=
>ily: Helvetica=3B font-size: 12px=3B font-style: normal=3B font-variant: no=
>rmal=3B font-weight: normal=3B letter-spacing: normal=3B line-height: norma=
>l=3B text-indent: 0px=3B text-transform: none=3B white-space: normal=3B wor=
>d-spacing: 0px=3B"><span class=3D"ecxApple-style-span" style=3D"border-coll=
>apse: separate=3B color: rgb(0=2C 0=2C 0)=3B font-family: Helvetica=3B font=
>-size: 12px=3B font-style: normal=3B font-variant: normal=3B font-weight: n=
>ormal=3B letter-spacing: normal=3B line-height: normal=3B text-indent: 0px=
>=3B text-transform: none=3B white-space: normal=3B word-spacing: 0px=3B"><s=
>pan class=3D"ecxApple-style-span" style=3D"border-collapse: separate=3B col=
>or: rgb(0=2C 0=2C 0)=3B font-family: Helvetica=3B font-size: 12px=3B font-s=
>tyle: normal=3B font-variant: normal=3B font-weight: normal=3B letter-spaci=
>ng: normal=3B line-height: normal=3B text-indent: 0px=3B text-transform: no=
>ne=3B white-space: normal=3B word-spacing: 0px=3B"><span class=3D"ecxApple-=
>style-span" style=3D"border-collapse: separate=3B color: rgb(0=2C 0=2C 0)=
>=3B font-family: Helvetica=3B font-size: 12px=3B font-style: normal=3B font=
>-variant: normal=3B font-weight: normal=3B letter-spacing: normal=3B line-h=
>eight: normal=3B text-indent: 0px=3B text-transform: none=3B white-space: n=
>ormal=3B word-spacing: 0px=3B"><span class=3D"ecxApple-style-span" style=3D=
>"border-collapse: separate=3B color: rgb(0=2C 0=2C 0)=3B font-family: Helve=
>tica=3B font-size: 12px=3B font-style: normal=3B font-variant: normal=3B fo=
>nt-weight: normal=3B letter-spacing: normal=3B line-height: normal=3B text-=
>indent: 0px=3B text-transform: none=3B white-space: normal=3B word-spacing:=
> 0px=3B"><span class=3D"ecxApple-style-span" style=3D"border-collapse: sepa=
>rate=3B color: rgb(0=2C 0=2C 0)=3B font-family: Helvetica=3B font-size: 12p=
>x=3B font-style: normal=3B font-variant: normal=3B font-weight: normal=3B l=
>etter-spacing: normal=3B line-height: normal=3B text-indent: 0px=3B text-tr=
>ansform: none=3B white-space: normal=3B word-spacing: 0px=3B"><div><span cl=
>ass=3D"ecxApple-style-span" style=3D"font-size: medium=3B">On 14 Dec 2009=
>=2C at 10:43=2C Jay K wrote:</span></div></span></span></span></span></span=
>></span></span></span></div></span></span></div><div><br class=3D"ecxApple-=
>interchange-newline"><blockquote><span class=3D"ecxApple-style-span" style=
>=3D"border-collapse: separate=3B font-family: Helvetica=3B font-size: mediu=
>m=3B font-style: normal=3B font-variant: normal=3B font-weight: normal=3B l=
>etter-spacing: normal=3B line-height: normal=3B text-indent: 0px=3B text-tr=
>ansform: none=3B white-space: normal=3B word-spacing: 0px=3B"><div class=3D=
>"ecxhmmessage" style=3D"font-size: 10pt=3B font-family: Verdana=3B">I know =
>I know. I know exactly the code. I rewrote it=2C at least once.<br>Cross co=
>mpiling works.<br>Native does not.<br>It must be the threshold variables in=
> RTCollector.<br></div></span></blockquote><div><br></div><div>Yeah=2C I've=
> been bitten by just that scenario in the past -- those are the earliest us=
>e of FP in the run-time linker. &nbsp=3BIf they are broken you find out qui=
>ckly. &nbsp=3BCan you take a look at the gcc m3cg code for FP? &nbsp=3BIt w=
>orked at one point just fine on native Alpha 64-bit=2C so should not be too=
> hard to fix.</div><br><blockquote><span class=3D"ecxApple-style-span" styl=
>e=3D"border-collapse: separate=3B font-family: Helvetica=3B font-size: medi=
>um=3B font-style: normal=3B font-variant: normal=3B font-weight: normal=3B =
>letter-spacing: normal=3B line-height: normal=3B text-indent: 0px=3B text-t=
>ransform: none=3B white-space: normal=3B word-spacing: 0px=3B"><div class=
>=3D"ecxhmmessage" style=3D"font-size: 10pt=3B font-family: Verdana=3B">I re=
>ally thought I understood that code.<br><br>&nbsp=3B- Jay<br><br><br><hr id=
>=3D"ecxstopSpelling">From:<span class=3D"ecxApple-converted-space">&nbsp=3B=
></span><a href=3D"mailto:hosking at cs.purdue.edu">hosking at cs.purdue.edu</a><b=
>r>Date: Mon=2C 14 Dec 2009 10:38:06 -0500<br>To:<span class=3D"ecxApple-con=
>verted-space">&nbsp=3B</span><a href=3D"mailto:jkrell at elego.de">jkrell at eleg=
>o.de</a><br>CC:<span class=3D"ecxApple-converted-space">&nbsp=3B</span><a h=
>ref=3D"mailto:m3commit at elegosoft.com">m3commit at elegosoft.com</a><br>Subject=
>: Re: [M3commit] CVS Update: cm3<br><br><div><span class=3D"ecxecxApple-sty=
>le-span" style=3D"border-collapse: separate=3B color: rgb(0=2C 0=2C 0)=3B f=
>ont-family: Helvetica=3B font-size: 12px=3B font-style: normal=3B font-vari=
>ant: normal=3B font-weight: normal=3B letter-spacing: normal=3B line-height=
>: normal=3B text-indent: 0px=3B text-transform: none=3B white-space: normal=
>=3B word-spacing: 0px=3B"><span class=3D"ecxecxApple-style-span" style=3D"b=
>order-collapse: separate=3B color: rgb(0=2C 0=2C 0)=3B font-family: Helveti=
>ca=3B font-size: 12px=3B font-style: normal=3B font-variant: normal=3B font=
>-weight: normal=3B letter-spacing: normal=3B line-height: normal=3B text-in=
>dent: 0px=3B text-transform: none=3B white-space: normal=3B word-spacing: 0=
>px=3B"><div style=3D"word-wrap: break-word=3B"><span class=3D"ecxecxApple-s=
>tyle-span" style=3D"border-collapse: separate=3B color: rgb(0=2C 0=2C 0)=3B=
> font-family: Helvetica=3B font-size: 12px=3B font-style: normal=3B font-va=
>riant: normal=3B font-weight: normal=3B letter-spacing: normal=3B line-heig=
>ht: normal=3B text-indent: 0px=3B text-transform: none=3B white-space: norm=
>al=3B word-spacing: 0px=3B"><span class=3D"ecxecxApple-style-span" style=3D=
>"border-collapse: separate=3B color: rgb(0=2C 0=2C 0)=3B font-family: Helve=
>tica=3B font-size: 12px=3B font-style: normal=3B font-variant: normal=3B fo=
>nt-weight: normal=3B letter-spacing: normal=3B line-height: normal=3B text-=
>indent: 0px=3B text-transform: none=3B white-space: normal=3B word-spacing:=
> 0px=3B"><span class=3D"ecxecxApple-style-span" style=3D"border-collapse: s=
>eparate=3B color: rgb(0=2C 0=2C 0)=3B font-family: Helvetica=3B font-size: =
>12px=3B font-style: normal=3B font-variant: normal=3B font-weight: normal=
>=3B letter-spacing: normal=3B line-height: normal=3B text-indent: 0px=3B te=
>xt-transform: none=3B white-space: normal=3B word-spacing: 0px=3B"><span cl=
>ass=3D"ecxecxApple-style-span" style=3D"border-collapse: separate=3B color:=
> rgb(0=2C 0=2C 0)=3B font-family: Helvetica=3B font-size: 12px=3B font-styl=
>e: normal=3B font-variant: normal=3B font-weight: normal=3B letter-spacing:=
> normal=3B line-height: normal=3B text-indent: 0px=3B text-transform: none=
>=3B white-space: normal=3B word-spacing: 0px=3B"><span class=3D"ecxecxApple=
>-style-span" style=3D"border-collapse: separate=3B color: rgb(0=2C 0=2C 0)=
>=3B font-family: Helvetica=3B font-size: 12px=3B font-style: normal=3B font=
>-variant: normal=3B font-weight: normal=3B letter-spacing: normal=3B line-h=
>eight: normal=3B text-indent: 0px=3B text-transform: none=3B white-space: n=
>ormal=3B word-spacing: 0px=3B"><span class=3D"ecxecxApple-style-span" style=
>=3D"border-collapse: separate=3B color: rgb(0=2C 0=2C 0)=3B font-family: He=
>lvetica=3B font-size: 12px=3B font-style: normal=3B font-variant: normal=3B=
> font-weight: normal=3B letter-spacing: normal=3B line-height: normal=3B te=
>xt-indent: 0px=3B text-transform: none=3B white-space: normal=3B word-spaci=
>ng: 0px=3B"><span class=3D"ecxecxApple-style-span" style=3D"border-collapse=
>: separate=3B color: rgb(0=2C 0=2C 0)=3B font-family: Helvetica=3B font-siz=
>e: 12px=3B font-style: normal=3B font-variant: normal=3B font-weight: norma=
>l=3B letter-spacing: normal=3B line-height: normal=3B text-indent: 0px=3B t=
>ext-transform: none=3B white-space: normal=3B word-spacing: 0px=3B"><span c=
>lass=3D"ecxecxApple-style-span" style=3D"border-collapse: separate=3B color=
>: rgb(0=2C 0=2C 0)=3B font-family: Helvetica=3B font-size: 12px=3B font-sty=
>le: normal=3B font-variant: normal=3B font-weight: normal=3B letter-spacing=
>: normal=3B line-height: normal=3B text-indent: 0px=3B text-transform: none=
>=3B white-space: normal=3B word-spacing: 0px=3B"><div><span class=3D"ecxecx=
>Apple-style-span" style=3D"font-size: medium=3B"><font class=3D"ecxecxApple=
>-style-span" color=3D"#0000ff" face=3D"'Gill Sans'">This suggests an m3cg b=
>ackend compiler problem for floating point on SPARC64.</font></span></div><=
>/span></span></span></span></span></span></span></span></div></span></span>=
></div><div><br></div><div><div>On 14 Dec 2009=2C at 14:40=2C Jay Krell wrot=
>e:</div><br class=3D"ecxecxApple-interchange-newline"><blockquote><div>CVSR=
>OOT:<span class=3D"ecxecxApple-tab-span" style=3D"white-space: pre=3B">	</s=
>pan>/usr/cvs<br>Changes by:<span class=3D"ecxecxApple-tab-span" style=3D"wh=
>ite-space: pre=3B">	</span>jkrell at birch.<span class=3D"ecxecxApple-tab-span=
>" style=3D"white-space: pre=3B">	</span>09/12/14 14:40:15<br><br>Modified f=
>iles:<br><span class=3D"ecxecxApple-tab-span" style=3D"white-space: pre=3B"=
>>	</span>cm3/m3-libs/m3core/src/runtime/SPARC64_SOLARIS/: RTMachine.i3<span=
> class=3D"ecxApple-converted-space">&nbsp=3B</span><br><span class=3D"ecxec=
>xApple-tab-span" style=3D"white-space: pre=3B">	</span>cm3/m3-libs/m3core/s=
>rc/unix/: m3makefile<span class=3D"ecxApple-converted-space">&nbsp=3B</span=
>><br>Removed files:<br><span class=3D"ecxecxApple-tab-span" style=3D"white-=
>space: pre=3B">	</span>cm3/m3-libs/m3core/src/runtime/SPARC64_SOLARIS/: RTS=
>ignal.m3<span class=3D"ecxApple-converted-space">&nbsp=3B</span><br><br>Log=
> message:<br><span class=3D"ecxecxApple-tab-span" style=3D"white-space: pre=
>=3B">	</span>updates so SPARC64_SOLARIS bootstrap can build<br><span class=
>=3D"ecxecxApple-tab-span" style=3D"white-space: pre=3B">	</span>(possible t=
>angent related to getting SPARC64_OPENBSD<br><span class=3D"ecxecxApple-tab=
>-span" style=3D"white-space: pre=3B">	</span>to work -- problem apparently =
>with the floating point<br><span class=3D"ecxecxApple-tab-span" style=3D"wh=
>ite-space: pre=3B">	</span>constants in RTCollector=2C such that Behind() i=
>s<br><span class=3D"ecxecxApple-tab-span" style=3D"white-space: pre=3B">	</=
>span>always TRUE=2C even for the first allocation=2C so<br><span class=3D"e=
>cxecxApple-tab-span" style=3D"white-space: pre=3B">	</span>access violate t=
>rying to garbage collect too<br><span class=3D"ecxecxApple-tab-span" style=
>=3D"white-space: pre=3B">	</span>early=2C when self is still NULL)<br></div=
>></blockquote></div><br></div></span><br class=3D"ecxApple-interchange-newl=
>ine"></blockquote></div><br> 		 	   		  </body>
></html>=
>
>--_53b61834-1f8f-4857-9285-039cb0730d0c_--



More information about the M3devel mailing list