Merge V8 5.2.361.47  DO NOT MERGE

https://chromium.googlesource.com/v8/v8/+/5.2.361.47

FPIIM-449

Change-Id: Ibec421b85a9b88cb3a432ada642e469fe7e78346
(cherry picked from commit bcf72ee8e3b26f1d0726869c7ddb3921c68b09a8)
diff --git a/src/compiler/instruction-scheduler.h b/src/compiler/instruction-scheduler.h
index 104c0b9..23950f7 100644
--- a/src/compiler/instruction-scheduler.h
+++ b/src/compiler/instruction-scheduler.h
@@ -180,7 +180,9 @@
     return (instr->arch_opcode() == kArchNop) &&
       (instr->OutputCount() == 1) &&
       (instr->OutputAt(0)->IsUnallocated()) &&
-      UnallocatedOperand::cast(instr->OutputAt(0))->HasFixedRegisterPolicy();
+      (UnallocatedOperand::cast(instr->OutputAt(0))->HasFixedRegisterPolicy() ||
+       UnallocatedOperand::cast(
+           instr->OutputAt(0))->HasFixedDoubleRegisterPolicy());
   }
 
   void ComputeTotalLatencies();
@@ -209,6 +211,9 @@
   // All these nops are chained together and added as a predecessor of every
   // other instructions in the basic block.
   ScheduleGraphNode* last_live_in_reg_marker_;
+
+  // Last deoptimization instruction encountered while building the graph.
+  ScheduleGraphNode* last_deopt_;
 };
 
 }  // namespace compiler