[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