Index: src/IceInstrumentation.h |
diff --git a/src/IceInstrumentation.h b/src/IceInstrumentation.h |
index 32979634a9f363508bed7abb8025544c1de47a09..dcc116686f3ed7f40fa4f14d5eb6edc9829433b9 100644 |
--- a/src/IceInstrumentation.h |
+++ b/src/IceInstrumentation.h |
@@ -43,9 +43,11 @@ public: |
Instrumentation(GlobalContext *Ctx) : Ctx(Ctx) {} |
virtual void instrumentGlobals(VariableDeclarationList &) {} |
void instrumentFunc(Cfg *Func); |
+ void setHasSeenGlobals(); |
protected: |
virtual void instrumentInst(LoweringContext &Context); |
+ LockedPtr<VariableDeclarationList> getGlobals(); |
private: |
virtual bool isInstrumentable(Cfg *) { return true; } |
@@ -78,6 +80,11 @@ private: |
protected: |
GlobalContext *Ctx; |
+ |
+private: |
+ bool HasSeenGlobals = false; |
+ std::mutex GlobalsSeenMutex; |
+ std::condition_variable GlobalsSeenCV; |
}; |
} // end of namespace Ice |