[M3devel] Release notes comments

Jay K jay.krell at cornell.edu
Thu Jul 16 20:41:52 CEST 2009


Yes. These are subtle but true points.

 

 

os = cygwin or mingwin or interix or nt

   but mingwin is really nt, this is clarified below 

ostype = win32 or posix

  but this maps directly from os so isn't a multiplicative factor 

fork = fast or slow or none

  also maps from os/runtime 

backend = gcc or integrated

  gcc backend BITSIZE(LONGINT)==64

  integrated backend BITSIZE(LONGINT)==32

 

 

I386_CYGWIN (NT386GNU)

  Posix, slow fork

  gcc backend, BITSIZE(LONGINT)==64

 

I386_MINGWIN (NT386MINGNU)

  Win32, probably no fork (though in reality there some hybrid aspects, intended

    only for the use of the compiler/linker/etc., intended not to be injected into stuff you build) 

  gcc backend, BITSIZE(LONGINT)==64

 

I386_INTERIX

  Posix, fast fork

  uses gcc backend, BITSIZE(LONGINT)==64

 

I386_NT (NT386)

  Win32, no fork

  integrated backend, BITSIZE(LONGINT)==32


Cygwin hangs in one of the test cases.

Mingw had some major problem last I checked like crashing in all gui apps.

 

More combinations than this make sense.

You could use the integrated backend with Cygwin or Interix for example.

Mingwin, you know, is meant to be NT386 with the gcc backend.

Mingwin is not an OS or runtime.

 

Three runtimes: Cygwin, Interix, NT

two backends: integrated, gcc

 

therefore 6 combinations of which 4 are named above

 

Consider that integrated backend could be adapted for I386_LINUX, I386_SOLARIS, I386_FREEBSD ("FreeBSD4"), I386_OPENBSD, I386_NETBSD, I386_PLAN9, I386_DRAGONFLYBSD, I386_DARWIN, etc...

 
 - Jay

 


From: hosking at cs.purdue.edu
To: wagner at elegosoft.com
Date: Thu, 16 Jul 2009 10:39:03 -0400
CC: m3devel at elegosoft.com
Subject: Re: [M3devel] Release notes comments





Are there any Windows targets using the gcc-based backend?  If so then they will have BITSIZE(LONGINT)=64 too.  It is just the integrated non-optimizing x86 back-end that currently defines BITSIZE(LONGINT)=32.


On 16 Jul 2009, at 02:24, Olaf Wagner wrote:

Quoting "Rodney M. Bates" <rodney.m.bates at cox.net>:


A couple of comments on the release notes for 5.8.2:     <li>System

pthread threading is now the default on all

    platforms. The original (fast) M3 user level thread code is

    still there and can be used if necessary (on most platforms). On

    many systems, this allows M3 applications to scale over all

    available hardware processors.</li>



This sounds like it is the original user level threads that allow

scaling over multiple processors, which I believe is backwards.  I

suggest swapping the second and third sentences be for clarity.

<li>New data type LONGINT (64 bit integer) on all target

    platforms except Windows (still in the queue).</li>



As I understand it, LONGINT is in Windows too, it just isn't 64

bits yet.

Thanks Rodney, that was fast. After browsing the change logs for several
hours, I just checked in that draft last night before falling asleep.

I'd like everybody to have a look at them and correct, extend or add
topics they'd like to change or see. Probably I've missed at least some.
Order should also be considered.

You can browse them at http://www.opencm3.net/releng/relnotes-5.8-RC2.html
now if you don't want to read them in your CVS workspace.

Let me know what you think and feel free to improve the checked-in source,

Olaf
-- 
Olaf Wagner -- elego Software Solutions GmbH
              Gustav-Meyer-Allee 25 / Gebäude 12, 13355 Berlin, Germany
phone: +49 30 23 45 86 96  mobile: +49 177 2345 869  fax: +49 30 23 45 86 95
  http://www.elegosoft.com | Geschäftsführer: Olaf Wagner | Sitz: Berlin
Handelregister: Amtsgericht Charlottenburg HRB 77719 | USt-IdNr: DE163214194


-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://m3lists.elegosoft.com/pipermail/m3devel/attachments/20090716/5007d2b4/attachment-0002.html>


More information about the M3devel mailing list