I was following a thread on Mozilla Firefox and the bug had to do with executing AVX (Advanced
vector extensions) instructions and the code crashing with exception_illegal_instruction.
For these instructions to work, the CPU be must at or newer than Sandy Hook or
Bulldozer (AMD). Also, for AVX, the Windows version must be at least Windows 7 SP1.,
otherwise similar fail.
Now there are routines in the Mozilla code to test for the operating environment, but it is
sometimes fails, does not detect the situation properly, and crashes.
There is a scenario I've personally experienced but I've yet to prove it, that may affect the
above programming. A processor that supports the instructions and Windows XP. My
theory is that those with a dual boot system, for example Windows 10, first loads the Win 10
boot loader, then passes control to NTLDR to complete the XP logon. This is Vs. a native XP installation, where the XP bootsector / NTLDR gets control directly.
Could there be something lurking in the environment, perhaps the contents of a register that is
affecting the code that determines if it safe to run AVX instructions?
vector extensions) instructions and the code crashing with exception_illegal_instruction.
For these instructions to work, the CPU be must at or newer than Sandy Hook or
Bulldozer (AMD). Also, for AVX, the Windows version must be at least Windows 7 SP1.,
otherwise similar fail.
Now there are routines in the Mozilla code to test for the operating environment, but it is
sometimes fails, does not detect the situation properly, and crashes.
There is a scenario I've personally experienced but I've yet to prove it, that may affect the
above programming. A processor that supports the instructions and Windows XP. My
theory is that those with a dual boot system, for example Windows 10, first loads the Win 10
boot loader, then passes control to NTLDR to complete the XP logon. This is Vs. a native XP installation, where the XP bootsector / NTLDR gets control directly.
Could there be something lurking in the environment, perhaps the contents of a register that is
affecting the code that determines if it safe to run AVX instructions?