LTO build: fix perf regression from strict alias violation and incorrect inline assem...
authorkchoi <code.kchoi@gmail.com>
Fri, 2 Sep 2016 11:00:41 +0000 (04:00 -0700)
committerJan Vorlicek <janvorli@microsoft.com>
Fri, 2 Sep 2016 11:00:41 +0000 (13:00 +0200)
commit882a634da1fb2c6acc0b2414be43ceed28544fbf
treea0aebe0718efb750b87cb1cde53b0e557045a3f7
parentdc0bdc8d9ef0d63174435fa9ec6307d8ea30816e
LTO build: fix perf regression from strict alias violation and incorrect inline assembly (#7018)

Fix inline assembly implementation of getextcpuid() and strict aliasing violations in its callers

The implementation writes to the unsigned char result array, so
the clobber "memory" is needed.

As well its callers have strict aliasing violations from reading the
result array as a DWORD array. The fix is to memcpy the resulting
buffer onto the DWORD array.
src/vm/amd64/unixstubs.cpp
src/vm/util.cpp