<html><head><base href="x-msg://219/"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; "><div><div>On Mar 14, 2011, at 6:33 PM, Jay K wrote:</div><br class="Apple-interchange-newline"><blockquote type="cite"><span class="Apple-style-span" style="border-collapse: separate; font-family: Helvetica; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; font-size: medium; "><div class="hmmessage" style="font-size: 10pt; font-family: Tahoma; "> - That error is likely from the frontend and will likely occur for any target. Tony's reply implies this as well.<br> <br> - LONGINT is believed to fully work on NT386. But more testing is welcome.<br> <br> - (atomics ditto -- believed to work, testing welcome -- and we should probably use them some, e.g. in MUTEX initialization)<br></div></span></blockquote><div><br></div><div>They are still slightly broken.  I have some fixes still to check in.  If only I could find some time to test everything...</div><div>But, they will be essential if we ever do cooperative thread suspension.</div><br><blockquote type="cite"><span class="Apple-style-span" style="border-collapse: separate; font-family: Helvetica; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; font-size: medium; "><div class="hmmessage" style="font-size: 10pt; font-family: Tahoma; ">  - I would be curious to see if threadtest only fails on 64bit Windows. I haven't tried 32bit yet but I will soon.<br>   - I was thinking more about this WOW64 GetThreadContext problem and ways to mitigate it, other than cooperative suspend.<br>     I had already suggested and started to implement scanning the entire stack -- i.e. not depending on an ability to get ESP from a suspended thread.<br>     Like how FreeBSD and OpenBSD work, albeit it is a significant deoptimization.<br>     Regarding the rest of the context, perhaps it is a reasonable assumption for now to declare that it doesn't matter? e.g. to know/assume<br>     that m3back never leaves a value only in registers, that anything in a register will also be on the stack? And to disable optimization on the<br>     hypothetical MINGW platforms. ?<br>     But still to confirm if there are no problems on 32bit, and to mull over implementing cooperative suspend..in the little time available...<br>     (Oh, and also, I wonder if SuspendThread can suspend a thread while in the kernel, probably, and if GetThreadContext returns<br>     the kernel context in that case; should be easy to determine via some experimentation -- which would imply a problem on 32bit Windows also.)<br> <br> <br> - Jay<br> <br><hr id="stopSpelling">From:<span class="Apple-converted-space"> </span><a href="mailto:hosking@cs.purdue.edu">hosking@cs.purdue.edu</a><br>Date: Mon, 14 Mar 2011 17:21:01 -0400<br>To:<span class="Apple-converted-space"> </span><a href="mailto:rcolebur@SCIRES.COM">rcolebur@SCIRES.COM</a><br>CC:<span class="Apple-converted-space"> </span><a href="mailto:m3devel@elegosoft.com">m3devel@elegosoft.com</a><br>Subject: Re: [M3devel] question re LONGINT<br><br>This is a known problem which I am still to fix.  I know what the issue is...<div>You can probably make do by reading counts[i] to a variable, incrementing, and assigning.<br><div><br><div><div>On Mar 14, 2011, at 5:14 PM, Coleburn, Randy wrote:</div><br class="ecxApple-interchange-newline"><blockquote><span class="ecxApple-style-span" style="text-transform: none; text-indent: 0px; border-collapse: separate; font: normal normal normal medium/normal Helvetica; white-space: normal; letter-spacing: normal; word-spacing: 0px; "><div lang="EN-US"><div class="ecxWordSection1" style="page: WordSection1; "><div style="font-family: Calibri, sans-serif; margin-bottom: 0pt; margin-left: 0in; font-size: 11pt; margin-right: 0in; ">I was making some local mods to Mika’s threadtest program to help me debug things a bit more on Windows.</div><div style="font-family: Calibri, sans-serif; margin-bottom: 0pt; margin-left: 0in; font-size: 11pt; margin-right: 0in; "> </div><div style="font-family: Calibri, sans-serif; margin-bottom: 0pt; margin-left: 0in; font-size: 11pt; margin-right: 0in; ">I am trying to do:</div><div style="font-family: Calibri, sans-serif; margin-bottom: 0pt; margin-left: 0in; font-size: 11pt; margin-right: 0in; ">   INC(counts[i]);</div><div style="font-family: Calibri, sans-serif; margin-bottom: 0pt; margin-left: 0in; font-size: 11pt; margin-right: 0in; ">Where counts is REF ARRAY OF LONGINT</div><div style="font-family: Calibri, sans-serif; margin-bottom: 0pt; margin-left: 0in; font-size: 11pt; margin-right: 0in; "> </div><div style="font-family: Calibri, sans-serif; margin-bottom: 0pt; margin-left: 0in; font-size: 11pt; margin-right: 0in; ">The compiler is complaining:</div><div style="font-family: Calibri, sans-serif; margin-bottom: 0pt; margin-left: 0in; font-size: 11pt; margin-right: 0in; ">"..\src\Main.m3", line 189: ** INTERNAL CG ERROR *** unable to find integer type?  type=Int.64  s/o/a=64/0/32</div><div style="font-family: Calibri, sans-serif; margin-bottom: 0pt; margin-left: 0in; font-size: 11pt; margin-right: 0in; "> </div><div style="font-family: Calibri, sans-serif; margin-bottom: 0pt; margin-left: 0in; font-size: 11pt; margin-right: 0in; ">I’m not sure what the status of LONGINT is on Windows.  If it is not fully implemented, let me know and I’ll switch to REF ARRAY OF INTEGER, but I really need LONGINT.</div><div style="font-family: Calibri, sans-serif; margin-bottom: 0pt; margin-left: 0in; font-size: 11pt; margin-right: 0in; "> </div><div style="font-family: Calibri, sans-serif; margin-bottom: 0pt; margin-left: 0in; font-size: 11pt; margin-right: 0in; ">Regards,</div><div style="font-family: Calibri, sans-serif; margin-bottom: 0pt; margin-left: 0in; font-size: 11pt; margin-right: 0in; ">Randy Coleburn</div><div style="font-family: Calibri, sans-serif; margin-bottom: 0pt; margin-left: 0in; font-size: 11pt; margin-right: 0in; "> </div></div></div></span></blockquote></div><br></div></div></div></span><br class="Apple-interchange-newline"></blockquote></div><br></body></html>