Ignore:
Timestamp:
May 8, 2009, 3:18:34 AM (16 years ago)
Author:
[email protected]
Message:

2009-05-08 Gavin Barraclough <[email protected]>

Reviewed by Oliver "I see lots of ifdefs" Hunt.

Fix (kinda) for sampling tool breakage. The codeblock sampling tool has become
b0rked due to recent changes in native function calling. The initialization of
a ScopeNode appears to now occur before the sampling tool (or possibly the
interpreter has been brought into existence, wihich leads to crashyness).

This patch doesn't fix the problem. The crash occurs when tracking a Scope, but
we shouldn't need to track scopes when we're just sampling opcodes, not
codeblocks. Not retaining Scopes when just opcode sampling will reduce sampling
overhead reducing any instrumentation skew, which is a good thing. As a side
benefit this patch also gets the opcode sampling going again, albeit in a bit of
a lame way. Will come back later with a proper fix from codeblock sampling.

  • JavaScriptCore.exp:
  • bytecode/SamplingTool.cpp: (JSC::compareLineCountInfoSampling): (JSC::SamplingTool::dump):
  • bytecode/SamplingTool.h: (JSC::SamplingTool::SamplingTool):
  • parser/Nodes.cpp: (JSC::ScopeNode::ScopeNode):
File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/JavaScriptCore/parser/Nodes.cpp

    r43339 r43395  
    25492549    , m_features(NoFeatures)
    25502550{
    2551 #if ENABLE(OPCODE_SAMPLING)
     2551#if ENABLE(CODEBLOCK_SAMPLING)
    25522552    globalData->interpreter->sampler()->notifyOfScope(this);
    25532553#endif
     
    25602560    , m_source(source)
    25612561{
    2562 #if ENABLE(OPCODE_SAMPLING)
     2562#if ENABLE(CODEBLOCK_SAMPLING)
    25632563    globalData->interpreter->sampler()->notifyOfScope(this);
    25642564#endif
Note: See TracChangeset for help on using the changeset viewer.