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/src/bit-vector.h b/src/bit-vector.h
index 9fc747d..3703f28 100644
--- a/src/bit-vector.h
+++ b/src/bit-vector.h
@@ -5,12 +5,8 @@
 #ifndef V8_DATAFLOW_H_
 #define V8_DATAFLOW_H_
 
-#include "src/v8.h"
-
 #include "src/allocation.h"
-#include "src/ast.h"
-#include "src/compiler.h"
-#include "src/zone-inl.h"
+#include "src/zone.h"
 
 namespace v8 {
 namespace internal {
@@ -70,7 +66,7 @@
       : length_(length),
         data_length_(SizeFor(length)),
         data_(zone->NewArray<uintptr_t>(data_length_)) {
-    DCHECK(length > 0);
+    DCHECK_LE(0, length);
     Clear();
   }
 
@@ -81,7 +77,10 @@
     CopyFrom(other);
   }
 
-  static int SizeFor(int length) { return 1 + ((length - 1) / kDataBits); }
+  static int SizeFor(int length) {
+    if (length == 0) return 1;
+    return 1 + ((length - 1) / kDataBits);
+  }
 
   void CopyFrom(const BitVector& other) {
     DCHECK(other.length() <= length());
@@ -104,6 +103,8 @@
     data_[i / kDataBits] |= (kOne << (i % kDataBits));
   }
 
+  void AddAll() { memset(data_, -1, sizeof(uintptr_t) * data_length_); }
+
   void Remove(int i) {
     DCHECK(i >= 0 && i < length());
     data_[i / kDataBits] &= ~(kOne << (i % kDataBits));