[M3devel] RTMachine.PointerAlignment = 1 on NT?
Jay K
jay.krell at cornell.edu
Tue Apr 6 07:31:39 CEST 2010
> I dream of the day when multilanguage programming can be done cleanly
> for other than the malloc/free kinds of languages.
The point of .NET, eh?
> The one big problem with garbage-collected languages at the moment is
> that they interwork very poorly because they have incompatible storage
> layouts.
"storage layout"? Isn't that kind of underselling it?
Seems to me these things encompass like the whole system.
You either play into it or you don't.
There is a bit of a pick and chose option as I understand, like with "managed C++" you can have native code instead of IL+JIT.
Seems to me, syntax isn't all that interesting, but libraries and runtimes are.
Syntax matters to the extent that editor supports it.
While .NET may support various syntaxes, the point is really to use the one and only runtime and library. You might as well just use C#. Mono works fairly well.
Imho.
..Jay
> Date: Wed, 7 Apr 2010 14:56:54 -0400
> From: hendrik at topoi.pooq.com
> To: m3devel at elegosoft.com
> Subject: Re: [M3devel] RTMachine.PointerAlignment = 1 on NT?
>
> On Mon, Apr 05, 2010 at 11:41:10AM +0000, Jay K wrote:
> >
> > For the vast majority of platforms:
> >
> > RTMachine.PointerAlignment = BYTESIZE(INTEGER).
> >
> > except 1 for NT386, 2 for M68K (dead).
> >
> > PointerAlignment = BYTESIZE(INTEGER);
> > (* The C compiler allocates all pointers on 'PointerAlignment'-byte
> > boundaries. The garbage collector scans thread stacks, but only
> > looks at these possible pointer locations. Setting this value
> > smaller than is needed will only make your system run slower.
> > Setting it too large will cause the collector to collect storage
> > that is not free. *)
> >
> > I suggest this is not exactly true.
> >
> > 1) Of what relevance is the C compiler? vs. the Modula-3 compiler.
>
> The C compiler is not that relevant. What is relevant is possible other
> languages that might want to share a garbage collector.
>
> I dream of the day when multilanguage programming can be done cleanly
> for other than the malloc/free kinds of languages.
>
> The one big problem with garbage-collected languages at the moment is
> that they interwork very poorly because they have incompatible storage
> layouts.
>
> Let's not make it harder than necessary.
>
> As far as I know, most allocate pointers on pointer-sized boundaries.
> But pointers may point into objects as well as to them, not necessarily
> at nice boundaries.
>
> -- hendrik
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://m3lists.elegosoft.com/pipermail/m3devel/attachments/20100406/5b587c5d/attachment-0002.html>
More information about the M3devel
mailing list