Index: runtime/vm/debuginfo.h |
diff --git a/runtime/vm/debuginfo.h b/runtime/vm/debuginfo.h |
deleted file mode 100644 |
index fd942680fd87978d9fb84c06ae2fb5c035e0d0a2..0000000000000000000000000000000000000000 |
--- a/runtime/vm/debuginfo.h |
+++ /dev/null |
@@ -1,102 +0,0 @@ |
-// Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file |
-// for details. All rights reserved. Use of this source code is governed by a |
-// BSD-style license that can be found in the LICENSE file. |
- |
-#ifndef VM_DEBUGINFO_H_ |
-#define VM_DEBUGINFO_H_ |
- |
-#include "platform/assert.h" |
-#include "platform/utils.h" |
-#include "vm/globals.h" |
- |
-namespace dart { |
- |
-// DebugInfo is used to generate minimal debug information containing code, |
-// symbols, and line numbers for generated code in the dart VM. This information |
-// can be used in two ways: |
-// - for debugging using a debugger |
-// - for generating information to be read by pprof to analyze Dart programs. |
-class DebugInfo { |
- public: |
- // A basic ByteBuffer which is growable and uses malloc/free. |
- class ByteBuffer { |
- public: |
- ByteBuffer() : size_(0), capacity_(0), data_(NULL) { } |
- ~ByteBuffer() { |
- free(data_); |
- size_ = 0; |
- capacity_ = 0; |
- data_ = NULL; |
- } |
- |
- uint8_t at(int index) const { |
- ASSERT(0 <= index); |
- ASSERT(index < size_); |
- ASSERT(size_ <= capacity_); |
- return data_[index]; |
- } |
- |
- uint8_t* data() const { return data_; } |
- void set_data(uint8_t* value) { data_ = value; } |
- int size() const { return size_; } |
- |
- // Append an element. |
- void Add(const uint8_t value) { |
- Resize(size() + 1); |
- data_[size() - 1] = value; |
- } |
- |
- private: |
- void Resize(int new_size) { |
- if (new_size > capacity_) { |
- int new_capacity = Utils::RoundUpToPowerOfTwo(new_size); |
- uint8_t* new_data = |
- reinterpret_cast<uint8_t*>(realloc(data_, new_capacity)); |
- ASSERT(new_data != NULL); |
- data_ = new_data; |
- capacity_ = new_capacity; |
- } |
- size_ = new_size; |
- } |
- |
- int size_; |
- int capacity_; |
- uint8_t* data_; |
- |
- // Disallow assignment |
- DISALLOW_COPY_AND_ASSIGN(ByteBuffer); |
- }; |
- |
- ~DebugInfo(); |
- |
- // Add the code starting at pc. |
- void AddCode(uword pc, intptr_t size); |
- |
- // Add symbol information for a region (includes the start and end symbol), |
- // does not add the actual code. |
- void AddCodeRegion(const char* name, uword pc, intptr_t size); |
- |
- // Write out all the debug information info the memory region. |
- bool WriteToMemory(ByteBuffer* region); |
- |
- // Create a new debug information generator. |
- static DebugInfo* NewGenerator(); |
- |
- // Register this generated section with debuggger using the JIT interface. |
- static void RegisterSection(const char* name, |
- uword entry_point, |
- intptr_t size); |
- |
- // Unregister all generated section from debuggger. |
- static void UnregisterAllSections(); |
- |
- private: |
- void* handle_; |
- DebugInfo(); |
- |
- DISALLOW_COPY_AND_ASSIGN(DebugInfo); |
-}; |
- |
-} // namespace dart |
- |
-#endif // VM_DEBUGINFO_H_ |