Index: runtime/vm/assembler.h |
diff --git a/runtime/vm/assembler.h b/runtime/vm/assembler.h |
index c08f923f5afe4911c2081f1513265a7747689926..043ea565e9e8872ebd7f90688680b3ad21140b2d 100644 |
--- a/runtime/vm/assembler.h |
+++ b/runtime/vm/assembler.h |
@@ -53,6 +53,8 @@ class AssemblerFixup : public ZoneAllocated { |
public: |
virtual void Process(const MemoryRegion& region, intptr_t position) = 0; |
+ virtual bool IsPointerOffset() const = 0; |
+ |
// It would be ideal if the destructor method could be made private, |
// but the g++ compiler complains when this is subclassed. |
virtual ~AssemblerFixup() { UNREACHABLE(); } |
@@ -118,6 +120,10 @@ class AssemblerBuffer : public ValueObject { |
fixup_ = fixup; |
} |
+ // Count the fixups that produce a pointer offset, without processing |
+ // the fixups. |
+ intptr_t CountPointerOffsets() const; |
+ |
// Get the size of the emitted code. |
intptr_t Size() const { return cursor_ - contents_; } |
uword contents() const { return contents_; } |