Index: src/sampler.h |
diff --git a/src/sampler.h b/src/sampler.h |
index a76d8b9a5785485d18389462e19a6dd22fbc4c8c..1d9ac8723bf0487ab6cd37ac4dc2af7b4d3c41c7 100644 |
--- a/src/sampler.h |
+++ b/src/sampler.h |
@@ -51,16 +51,21 @@ struct TickSample { |
sp(NULL), |
fp(NULL), |
external_callback(NULL), |
- frames_count(0) {} |
+ frames_count(0), |
+ has_external_callback(false) {} |
void Trace(Isolate* isolate); |
StateTag state; // The state of the VM. |
Address pc; // Instruction pointer. |
Address sp; // Stack pointer. |
Address fp; // Frame pointer. |
- Address external_callback; |
+ union { |
+ Address tos; // Top stack value (*sp). |
+ Address external_callback; |
+ }; |
static const int kMaxFramesCount = 64; |
Address stack[kMaxFramesCount]; // Call stack. |
int frames_count : 8; // Number of captured frames. |
+ bool has_external_callback : 1; |
}; |
class Sampler { |