core.cpuid

Alex Rønne Petersen xtzgzorex at gmail.com
Sun Oct 30 09:48:25 PDT 2011


On 30-10-2011 06:05, Andrew Wiley wrote:
> On Sat, Oct 29, 2011 at 10:55 PM, Chante <udontspamme at never.will.u> wrote:
>
>
>     "Manu" <turkeyman at gmail.com <mailto:turkeyman at gmail.com>> wrote in
>     message
>     news:mailman.586.1319935753.24802.digitalmars-d at puremagic.com...
>
>      > What's the deal with core.cpuid?
>
>     I think they just want the "mainstream"
>     ("sheeple"/"followers"/"believers"/"90210_ers"/"younsters", etc.).
>     If you
>     don't fit into their petri-dish and aren't cog to add to their
>     self-aggrandizement, they won't let you log in anymore.
>
>
>
> There are a few things like this around, and if you look far enough
> back, it's quite simple why things like this happened. Originally, when
> D was new, DMD essentially was the definition of D, x86 was the only
> real architecture around, with x86_64 starting to come into play. Now we
> have more compilers, and x86/64 isn't looking quite like the monopoly it
> used to be, so this interface will probably need to change.
>
> There's no conspiracy here, it's just "what worked" back in the day, and
> either it's unused or unimportant such that no one has tried to update
> it thus far. Since this is in core, it's mostly Sean's territory, but
> I'm sure he'd welcome ideas.

I actually do use core.cpuid and find it very useful.

I think what we need to do is have separate modules for the various 
architectures, and then have some central wrapper module that wraps the 
common stuff that most archs share (i.e. "are we using 64-bit 
pointers?", etc...). We still need to keep the modules with more 
arch-specific checks public, because someone might actually need to use 
that information (in my case, I need it to decide which instructions I 
can emit in my JIT compiler).

Speaking of all this, we really need to standardize version identifiers 
for !x86 architectures in the web site...

- Alex


More information about the Digitalmars-d mailing list