[haiku-commits] Re: BRANCH xyzzy-github.x86_64 - src/system/kernel/arch/x86 src/system/kernel/arch/x86/32 src/system/kernel/arch/x86/64 headers/private/kernel/arch/x86

  • From: Alex Smith <alex@xxxxxxxxxxxxxxxx>
  • To: haiku-commits@xxxxxxxxxxxxx
  • Date: Tue, 10 Jul 2012 10:53:11 +0100

On 10 July 2012 10:05, Philippe Houdoin <philippe.houdoin@xxxxxxxxx> wrote:

> > I find neither naming scheme optimal. The best I've come up with is to
> use
> > a placeholder character instead (like "xax", "_ax", or "$ax"), but that
> > isn't that beautiful either. So, either way is fine by me.
>
> Can't we use union trick (with some padding love) to represent all of
> them at once : lower 16bits ax, lower 32bits eax and full 64bits rax?
> Just my .00002 cents, as I'm clearly not an assembly guy.
>

The reason for the change was to allow the same name to refer to the
native-sized version of the register on both 32-bit and 64-bit. That
wouldn't help here. Could possibly use unions to make both the unprefixed
and prefixed names available (use the former in generic code, and the
latter in 32/64 specific code), though that would make the struct iframe
definition a bit ugly and would probably lead to more confusion, as having
the prefixed version available makes it seem like the unprefixed one is
only the 16-bit version.

FWIW, I had a look at Linux, they're also using the names without any
prefix like I've done.

Thanks,
Alex

Other related posts: