diff options
| author | Iain Buclaw <ibuclaw@gdcproject.org> | 2023-12-07 11:55:12 +0100 |
|---|---|---|
| committer | Iain Buclaw <ibuclaw@gdcproject.org> | 2023-12-11 11:06:23 +0100 |
| commit | f9b4dbb8ac75f96c4897ba9aafcaf0bbad4fbe44 (patch) | |
| tree | 0cbb768778c3ece2ccdae2f1e34aceb483917c1d /libphobos/libdruntime | |
| parent | 63194a0e8ede9e15dfa01c6ec7aeea8f7702d3b7 (diff) | |
d: Merge upstream dmd, druntime 2bbf64907c, phobos b64bfbf91
D front-end changes:
- Import dmd v2.106.0.
D runtime changes:
- Import druntime v2.106.0.
Phobos changes:
- Import phobos v2.106.0.
gcc/d/ChangeLog:
* Make-lang.in (D_FRONTEND_OBJS): Rename d/common-string.o to
d/common-smallbuffer.o.
* dmd/MERGE: Merge upstream dmd 2bbf64907c.
* dmd/VERSION: Bump version to v2.106.0.
* modules.cc (layout_moduleinfo_fields): Update for new front-end
interface.
(layout_moduleinfo): Likewise.
libphobos/ChangeLog:
* libdruntime/MERGE: Merge upstream druntime 2bbf64907c.
* src/MERGE: Merge upstream phobos b64bfbf91.
Diffstat (limited to 'libphobos/libdruntime')
| -rw-r--r-- | libphobos/libdruntime/MERGE | 2 | ||||
| -rw-r--r-- | libphobos/libdruntime/core/cpuid.d | 7 |
2 files changed, 5 insertions, 4 deletions
diff --git a/libphobos/libdruntime/MERGE b/libphobos/libdruntime/MERGE index aa0062c10eb..5edcee1c84d 100644 --- a/libphobos/libdruntime/MERGE +++ b/libphobos/libdruntime/MERGE @@ -1,4 +1,4 @@ -ff57fec51558013b25cadb7e83da9f4675915d56 +2bbf64907cbbb483d003e0a8fcf8b502e4883799 The first line of this file holds the git revision number of the last merge done from the dlang/dmd repository. diff --git a/libphobos/libdruntime/core/cpuid.d b/libphobos/libdruntime/core/cpuid.d index 9c5735728b5..62edbac34f3 100644 --- a/libphobos/libdruntime/core/cpuid.d +++ b/libphobos/libdruntime/core/cpuid.d @@ -628,16 +628,17 @@ void getAMDcacheinfo() if (max_extended_cpuid >= 0x8000_0006) { // AMD K6-III or K6-2+ or later. - ubyte numcores = 1; + uint numcores = 1; if (max_extended_cpuid >= 0x8000_0008) { + // read the number of physical cores (minus 1) from the 8 lowest ECX bits version (GNU_OR_LDC) asm pure nothrow @nogc { "cpuid" : "=a" (dummy), "=c" (numcores) : "a" (0x8000_0008) : "ebx", "edx"; } else asm pure nothrow @nogc { mov EAX, 0x8000_0008; cpuid; - mov numcores, CL; + mov numcores, ECX; } - ++numcores; + numcores = (numcores & 0xFF) + 1; if (numcores>cpuFeatures.maxCores) cpuFeatures.maxCores = numcores; } |
