Index: src/hydrogen.h |
diff --git a/src/hydrogen.h b/src/hydrogen.h |
index a9829a004f2c00f69bd19de4a4f310133177a8c4..6be75816826a9184bd772737af466afd16c9181b 100644 |
--- a/src/hydrogen.h |
+++ b/src/hydrogen.h |
@@ -1581,52 +1581,45 @@ class HPhase BASE_EMBEDDED { |
public: |
static const char* const kFullCodeGen; |
- explicit HPhase(const char* name) { Begin(name, NULL, NULL, NULL); } |
- HPhase(const char* name, HGraph* graph) { |
- Begin(name, graph, NULL, NULL); |
- } |
- HPhase(const char* name, LChunk* chunk) { |
- Begin(name, NULL, chunk, NULL); |
- } |
- HPhase(const char* name, LAllocator* allocator) { |
- Begin(name, NULL, NULL, allocator); |
- } |
- |
- ~HPhase() { |
- End(); |
- } |
+ HPhase(const char* name, Isolate* isolate); |
+ HPhase(const char* name, HGraph* graph); |
+ HPhase(const char* name, LChunk* chunk); |
+ HPhase(const char* name, LAllocator* allocator); |
+ ~HPhase(); |
private: |
- void Begin(const char* name, |
+ void Init(Isolate* isolate, |
+ const char* name, |
HGraph* graph, |
LChunk* chunk, |
LAllocator* allocator); |
- void End() const; |
- int64_t start_; |
+ Isolate* isolate_; |
const char* name_; |
HGraph* graph_; |
LChunk* chunk_; |
LAllocator* allocator_; |
+ int64_t start_ticks_; |
unsigned start_allocation_size_; |
}; |
class HTracer: public Malloced { |
public: |
+ explicit HTracer(int isolate_id) |
+ : trace_(&string_allocator_), indent_(0) { |
+ OS::SNPrintF(filename_, |
+ "hydrogen-%d-%d.cfg", |
+ OS::GetCurrentProcessId(), |
+ isolate_id); |
+ WriteChars(filename_.start(), "", 0, false); |
+ } |
+ |
void TraceCompilation(CompilationInfo* info); |
void TraceHydrogen(const char* name, HGraph* graph); |
void TraceLithium(const char* name, LChunk* chunk); |
void TraceLiveRanges(const char* name, LAllocator* allocator); |
- static HTracer* Instance() { |
- static SetOncePointer<HTracer> instance; |
- if (!instance.is_set()) { |
- instance.set(new HTracer("hydrogen.cfg")); |
- } |
- return instance.get(); |
- } |
- |
private: |
class Tag BASE_EMBEDDED { |
public: |
@@ -1651,11 +1644,6 @@ class HTracer: public Malloced { |
const char* name_; |
}; |
- explicit HTracer(const char* filename) |
- : filename_(filename), trace_(&string_allocator_), indent_(0) { |
- WriteChars(filename, "", 0, false); |
- } |
- |
void TraceLiveRange(LiveRange* range, const char* type, Zone* zone); |
void Trace(const char* name, HGraph* graph, LChunk* chunk); |
void FlushToFile(); |
@@ -1691,7 +1679,7 @@ class HTracer: public Malloced { |
} |
} |
- const char* filename_; |
+ EmbeddedVector<char, 64> filename_; |
HeapStringAllocator string_allocator_; |
StringStream trace_; |
int indent_; |