Reviewers: Mads Ager,

Description:
X64: Always use rax as left register from DoInstanceOfKnownGlobal.

On IA32 we use InstanceofStub::left(), but on x64 we have just used rax and rdx
directly. This fixes the assertion crashes on x64 crankshaft.



Please review this at http://codereview.chromium.org/6596101/

SVN Base: http://v8.googlecode.com/svn/branches/bleeding_edge/

Affected files:
  M     src/x64/lithium-x64.cc


Index: src/x64/lithium-x64.cc
===================================================================
--- src/x64/lithium-x64.cc      (revision 6999)
+++ src/x64/lithium-x64.cc      (working copy)
@@ -1158,7 +1158,7 @@
 LInstruction* LChunkBuilder::DoInstanceOfKnownGlobal(
     HInstanceOfKnownGlobal* instr) {
   LInstanceOfKnownGlobal* result =
-      new LInstanceOfKnownGlobal(UseRegisterAtStart(instr->value()));
+      new LInstanceOfKnownGlobal(UseFixed(instr->value(), rax));
   return MarkAsCall(DefineFixed(result, rax), instr);
 }



--
v8-dev mailing list
[email protected]
http://groups.google.com/group/v8-dev

Reply via email to