Index: src/external-reference-table.h |
diff --git a/src/external-reference-table.h b/src/external-reference-table.h |
index fb671a86307d285903cb21f728c5629e0db0f279..e1b97f957c32fca8bd567315523cbb2d2784af3b 100644 |
--- a/src/external-reference-table.h |
+++ b/src/external-reference-table.h |
@@ -23,18 +23,34 @@ class ExternalReferenceTable { |
Address address(uint32_t i) { return refs_[i].address; } |
const char* name(uint32_t i) { return refs_[i].name; } |
+#ifdef DEBUG |
+ void increment_count(uint32_t i) { refs_[i].count++; } |
+ int count(uint32_t i) { return refs_[i].count; } |
+ void ResetCount(); |
+ void PrintCount(); |
+#endif // DEBUG |
+ |
+ static const char* ResolveSymbol(void* address); |
+ |
static const int kDeoptTableSerializeEntryCount = 64; |
private: |
struct ExternalReferenceEntry { |
Address address; |
const char* name; |
+#ifdef DEBUG |
+ int count; |
+#endif // DEBUG |
}; |
explicit ExternalReferenceTable(Isolate* isolate); |
void Add(Address address, const char* name) { |
+#ifdef DEBUG |
+ ExternalReferenceEntry entry = {address, name, 0}; |
+#else |
ExternalReferenceEntry entry = {address, name}; |
+#endif // DEBUG |
refs_.Add(entry); |
} |