Upgrade V8 to version 4.9.385.28

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

FPIIM-449

Change-Id: I4b2e74289d4bf3667f2f3dc8aa2e541f63e26eb4
diff --git a/test/cctest/test-code-stubs-arm64.cc b/test/cctest/test-code-stubs-arm64.cc
index 6d5b0f4..f5a4078 100644
--- a/test/cctest/test-code-stubs-arm64.cc
+++ b/test/cctest/test-code-stubs-arm64.cc
@@ -51,7 +51,8 @@
       v8::base::OS::Allocate(actual_size, &actual_size, true));
   CHECK(buffer);
   HandleScope handles(isolate);
-  MacroAssembler masm(isolate, buffer, static_cast<int>(actual_size));
+  MacroAssembler masm(isolate, buffer, static_cast<int>(actual_size),
+                      v8::internal::CodeObjectRequired::kYes);
   DoubleToIStub stub(isolate, source_reg, destination_reg, 0, true,
                      inline_fastpath);
 
@@ -72,11 +73,13 @@
   // Save registers make sure they don't get clobbered.
   int source_reg_offset = kDoubleSize;
   int reg_num = 0;
-  for (;reg_num < Register::NumAllocatableRegisters(); ++reg_num) {
+  for (; reg_num < Register::kNumRegisters; ++reg_num) {
     Register reg = Register::from_code(reg_num);
-    if (!reg.is(destination_reg)) {
-      queue.Queue(reg);
-      source_reg_offset += kPointerSize;
+    if (reg.IsAllocatable()) {
+      if (!reg.is(destination_reg)) {
+        queue.Queue(reg);
+        source_reg_offset += kPointerSize;
+      }
     }
   }
   // Re-push the double argument.
@@ -101,10 +104,12 @@
   // // Make sure no registers have been unexpectedly clobbered
   for (--reg_num; reg_num >= 0; --reg_num) {
     Register reg = Register::from_code(reg_num);
-    if (!reg.is(destination_reg)) {
-      __ Pop(ip0);
-      __ cmp(reg, ip0);
-      __ Assert(eq, kRegisterWasClobbered);
+    if (reg.IsAllocatable()) {
+      if (!reg.is(destination_reg)) {
+        __ Pop(ip0);
+        __ cmp(reg, ip0);
+        __ Assert(eq, kRegisterWasClobbered);
+      }
     }
   }
 
@@ -122,7 +127,7 @@
 
   CodeDesc desc;
   masm.GetCode(&desc);
-  CpuFeatures::FlushICache(buffer, actual_size);
+  Assembler::FlushICache(isolate, buffer, actual_size);
   return (reinterpret_cast<ConvertDToIFunc>(
       reinterpret_cast<intptr_t>(buffer)));
 }
@@ -142,8 +147,8 @@
       Simulator::CallArgument(from),
       Simulator::CallArgument::End()
   };
-  return Simulator::current(Isolate::Current())->CallInt64(
-      FUNCTION_ADDR(func), args);
+  return static_cast<int32_t>(Simulator::current(CcTest::i_isolate())
+                                  ->CallInt64(FUNCTION_ADDR(func), args));
 #else
   return (*func)(from);
 #endif