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/string-stream.cc b/src/string-stream.cc
index 21f66a6..2801d23 100644
--- a/src/string-stream.cc
+++ b/src/string-stream.cc
@@ -18,6 +18,18 @@
}
+char* FixedStringAllocator::allocate(unsigned bytes) {
+ CHECK_LE(bytes, length_);
+ return buffer_;
+}
+
+
+char* FixedStringAllocator::grow(unsigned* old) {
+ *old = length_;
+ return buffer_;
+}
+
+
bool StringStream::Put(char c) {
if (full()) return false;
DCHECK(length_ < capacity_);
@@ -170,7 +182,7 @@
} else if (o->IsNumber() || o->IsOddball()) {
return;
}
- if (o->IsHeapObject()) {
+ if (o->IsHeapObject() && object_print_mode_ == kPrintObjectVerbose) {
HeapObject* ho = HeapObject::cast(o);
DebugObjectCache* debug_object_cache = ho->GetIsolate()->
string_stream_debug_object_cache();
@@ -238,11 +250,11 @@
}
-SmartArrayPointer<const char> StringStream::ToCString() const {
+base::SmartArrayPointer<const char> StringStream::ToCString() const {
char* str = NewArray<char>(length_ + 1);
MemCopy(str, buffer_, length_);
str[length_] = '\0';
- return SmartArrayPointer<const char>(str);
+ return base::SmartArrayPointer<const char>(str);
}
@@ -284,7 +296,8 @@
#ifdef DEBUG
bool StringStream::IsMentionedObjectCacheClear(Isolate* isolate) {
- return isolate->string_stream_debug_object_cache()->length() == 0;
+ return object_print_mode_ == kPrintObjectConcise ||
+ isolate->string_stream_debug_object_cache()->length() == 0;
}
#endif
@@ -335,7 +348,7 @@
DescriptorArray* descs = map->instance_descriptors();
for (int i = 0; i < real_size; i++) {
PropertyDetails details = descs->GetDetails(i);
- if (details.type() == FIELD) {
+ if (details.type() == DATA) {
Object* key = descs->GetKey(i);
if (key->IsString() || key->IsNumber()) {
int len = 3;
@@ -403,6 +416,7 @@
void StringStream::PrintMentionedObjectCache(Isolate* isolate) {
+ if (object_print_mode_ == kPrintObjectConcise) return;
DebugObjectCache* debug_object_cache =
isolate->string_stream_debug_object_cache();
Add("==== Key ============================================\n\n");
@@ -517,7 +531,7 @@
PrototypeIterator::START_AT_RECEIVER);
!iter.IsAtEnd(); iter.Advance()) {
if (iter.GetCurrent()->IsJSObject()) {
- Object* key = JSObject::cast(iter.GetCurrent())->SlowReverseLookup(fun);
+ Object* key = iter.GetCurrent<JSObject>()->SlowReverseLookup(fun);
if (key != isolate->heap()->undefined_value()) {
if (!name->IsString() ||
!key->IsString() ||
@@ -562,4 +576,5 @@
}
-} } // namespace v8::internal
+} // namespace internal
+} // namespace v8