[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: 64-bit extensions



>What sice should your ADDRESS have then? 32 bit? 64 bit? Since it's
>untyped: how to assign from/to typed pointers?

OOC pointers are 32 bit on 32 bit systems, 64 bit on 64 bit systems.
SYSTEM.ADDRESS is always an integer type of the "right" size.
SYSTEM.ADR will return a value of type SYSTEM.ADDRESS.  
Note that for 32 bit systems this is euivalent to returning LONGINT, i.e.
existing software running on 32 bit machines isn't effected in any way.

>It's not the Oberon System that forces to resize LONGINT, bur the
>language
>definition: SYSTEM.ADR() is defined to deliver LONGINT, thus LONGINT
>mut be
>big enough to repersent all valid addresses. Remember: we are talking
>about a
>64-bit address machine, not about 64-bit arithmetics on a 32-bit address
>machine!

SYSTEM _isn't_ part of the language definition.  Don't derive 
properties of the programm languag Oberon-2 from a library  module.
And a module which is system dependent per definition!  You don't want
a system dependent language definition, do you?
 
>Futher: The language report does in no way specify the number range of
>LONGINT. Neither does it suggest a range.

It doesn't.  But if you want to exchange binary data (using C libs, file,
TCP streams) it is a necessity to fix the size of data types.  Otherwise e.g.
an O2 application running on a 32 bit machine can't communicate binary
data with itself if the other copy is running on a 64 bit machine.  This won't
happen if you fix the size of basic data types across all possible target
platforms.  Note that the size of pointers is _not_ fixed but depends on
the platform running the code.

> >As questioned before, give arguments, tell us detailed resons for that
> >besides history and compability.
>
>See above. If you don't beleave me: read the Oberon Report. Sorry for
>the
>rough words, but I'm too bored for repeating my arguments once again.
>And remember: 64 bit address machine!

I do remember what we are talking about.  And I'm sure I've mentioned
the stuff above in previous mails.  Unless someone clubs me with an idea
that he can prove to be better it's the "official" standpoint of OOC.  For
the reasons stated above.

-- mva