[openbeos] Re: question about 64-bit processors

  • From: "Axel Dörfler" <axeld@xxxxxxxxxxxxxxxx>
  • To: openbeos@xxxxxxxxxxxxx
  • Date: Thu, 16 Sep 2004 16:15:19 +0200 CEST

Waldemar Kornewald <Waldemar.Kornewald@xxxxxx> wrote:
> Axel Dörfler wrote:
> > If you use x86-64 there is little point in maintaining backwards 
> > compatibility (IMO); as with the PPC port, we would just use the 
> > latest 
> > compiler.
> But there is one little problem with future backwards compatibility:
> We currently reserve some memory in our classes (int32 
> _reserved[10]). 
> When we change the class members we can use that reserved memory.
> But when we add a pointer we currently take one int32 away (as 
> pointer 
> are 32bits in IA32 ;). This would break binary compatibility with 
> 64bit 
> systems.
> Should we use two memory areas?:
> addr_t _reserved_addr[3];
> int32 _reserved_mem[7];
> Or should we do something like this when we allocate a pointer:
> int32 _reserved[10 - sizeof(addr_t)].
> The latter will probably lead to people forgetting to use 
> sizeof(addr_t) 
> and thus to hard-to-find bugs.

True, the current way would possibly create binary compatibility 
problems. But I am not so worried about that at this point - I don't 
think we'll have lots of officially supported (especially 64bit) 
platforms for R1.
But you raised a very good point; we definitely have to come up with a 
solution for that problem then. Two different reserved areas would 
certainly be a solution, but not that nice, either, ah well.

Bye,
   Axel.


Other related posts: