Restore rsi on x64 when probing for CPU features.
authoryangguo@chromium.org <yangguo@chromium.org@ce2b1a6d-e550-0410-aec6-3dcde31c8c00>
Wed, 18 Jul 2012 13:02:27 +0000 (13:02 +0000)
committeryangguo@chromium.org <yangguo@chromium.org@ce2b1a6d-e550-0410-aec6-3dcde31c8c00>
Wed, 18 Jul 2012 13:02:27 +0000 (13:02 +0000)
BUG=v8:2238
TEST=

Review URL: https://chromiumcodereview.appspot.com/10801012

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12126 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

src/x64/assembler-x64.cc

index 89b971070ebdfeee26853233219fb6b0f0942545..77f92d844d5bd7798eb647082ba6545916709ea6 100644 (file)
@@ -75,6 +75,7 @@ void CpuFeatures::Probe() {
   // Save old rsp, since we are going to modify the stack.
   __ push(rbp);
   __ pushfq();
+  __ push(rsi);
   __ push(rcx);
   __ push(rbx);
   __ movq(rbp, rsp);
@@ -128,6 +129,7 @@ void CpuFeatures::Probe() {
   __ movq(rsp, rbp);
   __ pop(rbx);
   __ pop(rcx);
+  __ pop(rsi);
   __ popfq();
   __ pop(rbp);
   __ ret(0);