On 30-10-2011 06:05, Andrew Wiley wrote:
On Sat, Oct 29, 2011 at 10:55 PM, Chante <udontspa...@never.will.u> wrote:
"Manu" <turkey...@gmail.com <mailto:turkey...@gmail.com>> wrote in
message
news:mailman.586.1319935753.24802.digitalmar...@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