Searched defs:SnapshotSizeConstants (Results 1 - 1 of 1) sorted by relevance

/external/v8/src/
H A Dprofile-generator.cc1107 template <size_t ptr_size> struct SnapshotSizeConstants;
1109 template <> struct SnapshotSizeConstants<4> { struct in namespace:v8::internal::__anon12888
1115 template <> struct SnapshotSizeConstants<8> { struct in namespace:v8::internal::__anon12888
1139 SnapshotSizeConstants<kPointerSize>::kExpectedHeapGraphEdgeSize);
1142 SnapshotSizeConstants<kPointerSize>::kExpectedHeapEntrySize);
3407 SnapshotSizeConstants<kPointerSize>::kMaxSerializableSnapshotRawSize) {
3438 SnapshotSizeConstants<kPointerSize>::kMaxSerializableSnapshotRawSize / MB,
3327 ASSERT(chunk_pos_ < chunk_size_); chunk_[chunk_pos_++] = c; MaybeWriteChunk(); } void AddString(const char* s) { AddSubstring(s, StrLength(s)); } void AddSubstring(const char* s, int n) { if (n <= 0) return; ASSERT(static_cast<size_t>(n) <= strlen(s)); const char* s_end = s + n; while (s < s_end) { int s_chunk_size = Min( chunk_size_ - chunk_pos_, static_cast<int>(s_end - s)); ASSERT(s_chunk_size > 0); memcpy(chunk_.start() + chunk_pos_, s, s_chunk_size); s += s_chunk_size; chunk_pos_ += s_chunk_size; MaybeWriteChunk(); } } void AddNumber(int n) { AddNumberImpl<int>(n, Ó); } void AddNumber(unsigned n) { AddNumberImpl<unsigned>(n, Ó); } void AddNumber(uint64_t n) { AddNumberImpl<uint64_t>(n, Ó); } void Finalize() { if (aborted_) return; ASSERT(chunk_pos_ < chunk_size_); if (chunk_pos_ != 0) { WriteChunk(); } stream_->EndOfStream(); } private: template<typename T> void AddNumberImpl(T n, const char* format) { static const int kMaxNumberSize = MaxDecimalDigitsIn<sizeof(T)>::kUnsigned + 1; if (chunk_size_ - chunk_pos_ >= kMaxNumberSize) { int result = OS::SNPrintF( chunk_.SubVector(chunk_pos_, chunk_size_), format, n); ASSERT(result != -1); chunk_pos_ += result; MaybeWriteChunk(); } else { EmbeddedVector<char, kMaxNumberSize> buffer; int result = OS::SNPrintF(buffer, format, n); USE(result); ASSERT(result != -1); AddString(buffer.start()); } } void MaybeWriteChunk() { ASSERT(chunk_pos_ <= chunk_size_); if (chunk_pos_ == chunk_size_) { WriteChunk(); } } void WriteChunk() { if (aborted_) return; if (stream_->WriteAsciiChunk(chunk_.start(), chunk_pos_) == v8::OutputStream::kAbort) aborted_ = true; chunk_pos_ = 0; } v8::OutputStream* stream_; int chunk_size_; ScopedVector<char> chunk_; int chunk_pos_; bool aborted_; }; void HeapSnapshotJSONSerializer::Serialize(v8::OutputStream* stream) { ASSERT(writer_ == NULL); writer_ = new OutputStreamWriter(stream); HeapSnapshot* original_snapshot = NULL; if (snapshot_->raw_entries_size() >= SnapshotSizeConstants<kPointerSize>::kMaxSerializableSnapshotRawSize) argument

Completed in 51 milliseconds