summaryrefslogtreecommitdiff
path: root/Source/JavaScriptCore/bytecode
diff options
context:
space:
mode:
Diffstat (limited to 'Source/JavaScriptCore/bytecode')
-rw-r--r--Source/JavaScriptCore/bytecode/SamplingTool.h26
1 files changed, 5 insertions, 21 deletions
diff --git a/Source/JavaScriptCore/bytecode/SamplingTool.h b/Source/JavaScriptCore/bytecode/SamplingTool.h
index 8f90c3e17..6c9df62ee 100644
--- a/Source/JavaScriptCore/bytecode/SamplingTool.h
+++ b/Source/JavaScriptCore/bytecode/SamplingTool.h
@@ -230,17 +230,18 @@ namespace JSC {
class SamplingTool {
public:
friend struct CallRecord;
- friend class HostCallRecord;
#if ENABLE(OPCODE_SAMPLING)
class CallRecord {
WTF_MAKE_NONCOPYABLE(CallRecord);
public:
- CallRecord(SamplingTool* samplingTool)
+ CallRecord(SamplingTool* samplingTool, bool isHostCall = false)
: m_samplingTool(samplingTool)
, m_savedSample(samplingTool->m_sample)
, m_savedCodeBlock(samplingTool->m_codeBlock)
{
+ if (isHostcall)
+ samplingTool->m_sample |= 0x1;
}
~CallRecord()
@@ -254,32 +255,15 @@ namespace JSC {
intptr_t m_savedSample;
CodeBlock* m_savedCodeBlock;
};
-
- class HostCallRecord : public CallRecord {
- public:
- HostCallRecord(SamplingTool* samplingTool)
- : CallRecord(samplingTool)
- {
- samplingTool->m_sample |= 0x1;
- }
- };
#else
class CallRecord {
WTF_MAKE_NONCOPYABLE(CallRecord);
public:
- CallRecord(SamplingTool*)
+ CallRecord(SamplingTool*, bool = false)
{
}
};
-
- class HostCallRecord : public CallRecord {
- public:
- HostCallRecord(SamplingTool* samplingTool)
- : CallRecord(samplingTool)
- {
- }
- };
-#endif
+#endif
SamplingTool(Interpreter* interpreter)
: m_interpreter(interpreter)