Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(35)

Unified Diff: runtime/vm/snapshot.h

Issue 2723213002: DWARF and unwind support for AOT assembly output. (Closed)
Patch Set: . Created 3 years, 9 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: runtime/vm/snapshot.h
diff --git a/runtime/vm/snapshot.h b/runtime/vm/snapshot.h
index 60516398218ac4ac0cf9fbc478a27c5b4ae63143..da99863855b22335046a670e2ac180b8d0e03646 100644
--- a/runtime/vm/snapshot.h
+++ b/runtime/vm/snapshot.h
@@ -24,6 +24,7 @@ class Class;
class ClassTable;
class Closure;
class Code;
+class Dwarf;
class ExternalTypedData;
class GrowableObjectArray;
class Heap;
@@ -765,10 +766,7 @@ class AssemblyImageWriter : public ImageWriter {
public:
AssemblyImageWriter(uint8_t** assembly_buffer,
ReAlloc alloc,
- intptr_t initial_size)
- : ImageWriter(),
- assembly_stream_(assembly_buffer, alloc, initial_size),
- text_size_(0) {}
+ intptr_t initial_size);
virtual void WriteText(WriteStream* clustered_stream, bool vm);
virtual intptr_t text_size() { return text_size_; }
@@ -776,6 +774,9 @@ class AssemblyImageWriter : public ImageWriter {
intptr_t AssemblySize() const { return assembly_stream_.bytes_written(); }
private:
+ void FrameUnwindPrologue();
+ void FrameUnwindEpilogue();
+ void WriteByteSequence(uword start, uword end);
void WriteWordLiteralText(uword value) {
// Padding is helpful for comparing the .S with --disassemble.
#if defined(ARCH_IS_64_BIT)
@@ -788,6 +789,7 @@ class AssemblyImageWriter : public ImageWriter {
WriteStream assembly_stream_;
intptr_t text_size_;
+ Dwarf* dwarf_;
DISALLOW_COPY_AND_ASSIGN(AssemblyImageWriter);
};

Powered by Google App Engine
This is Rietveld 408576698