Changeset 48662 in webkit for trunk/JavaScriptCore/bytecode


Ignore:
Timestamp:
Sep 22, 2009, 5:40:58 PM (16 years ago)
Author:
[email protected]
Message:

Code sampling builds are broken.
https://bugs.webkit.org/show_bug.cgi?id=29662

Reviewed by Geoff Garen

Fix build.

Location:
trunk/JavaScriptCore/bytecode
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • trunk/JavaScriptCore/bytecode/EvalCodeCache.h

    r47738 r48662  
    5151
    5252            if (!evalExecutable) {
    53                 evalExecutable = EvalExecutable::create(makeSource(evalSource));
     53                evalExecutable = EvalExecutable::create(exec, makeSource(evalSource));
    5454                exceptionValue = evalExecutable->compile(exec, scopeChain);
    5555                if (exceptionValue)
  • trunk/JavaScriptCore/bytecode/SamplingTool.cpp

    r47412 r48662  
    158158
    159159
    160 void ScopeSampleRecord::sample(CodeBlock* codeBlock, Instruction* vPC)
     160void ScriptSampleRecord::sample(CodeBlock* codeBlock, Instruction* vPC)
    161161{
    162162    if (!m_samples) {
     
    197197#if ENABLE(CODEBLOCK_SAMPLING)
    198198    if (CodeBlock* codeBlock = sample.codeBlock()) {
    199         MutexLocker locker(m_scopeSampleMapMutex);
    200         ScopeSampleRecord* record = m_scopeSampleMap->get(codeBlock->ownerExecutable());
     199        MutexLocker locker(m_scriptSampleMapMutex);
     200        ScriptSampleRecord* record = m_scopeSampleMap->get(codeBlock->ownerExecutable());
    201201        ASSERT(record);
    202202        record->sample(codeBlock, sample.vPC());
     
    210210}
    211211
    212 void SamplingTool::notifyOfScope(ScopeNode* scope)
     212void SamplingTool::notifyOfScope(ScriptExecutable* script)
    213213{
    214214#if ENABLE(CODEBLOCK_SAMPLING)
    215     MutexLocker locker(m_scopeSampleMapMutex);
    216     m_scopeSampleMap->set(scope, new ScopeSampleRecord(scope));
     215    MutexLocker locker(m_scriptSampleMapMutex);
     216    m_scopeSampleMap->set(script, new ScriptSampleRecord(script));
    217217#else
    218     UNUSED_PARAM(scope);
     218    UNUSED_PARAM(script);
    219219#endif
    220220}
     
    255255}
    256256
    257 static int compareScopeSampleRecords(const void* left, const void* right)
    258 {
    259     const ScopeSampleRecord* const leftValue = *static_cast<const ScopeSampleRecord* const *>(left);
    260     const ScopeSampleRecord* const rightValue = *static_cast<const ScopeSampleRecord* const *>(right);
     257static int compareScriptSampleRecords(const void* left, const void* right)
     258{
     259    const ScriptSampleRecord* const leftValue = *static_cast<const ScriptSampleRecord* const *>(left);
     260    const ScriptSampleRecord* const rightValue = *static_cast<const ScriptSampleRecord* const *>(right);
    261261
    262262    return (leftValue->m_sampleCount < rightValue->m_sampleCount) ? 1 : (leftValue->m_sampleCount > rightValue->m_sampleCount) ? -1 : 0;
     
    319319
    320320    int scopeCount = m_scopeSampleMap->size();
    321     Vector<ScopeSampleRecord*> codeBlockSamples(scopeCount);
    322     ScopeSampleRecordMap::iterator iter = m_scopeSampleMap->begin();
     321    Vector<ScriptSampleRecord*> codeBlockSamples(scopeCount);
     322    ScriptSampleRecordMap::iterator iter = m_scopeSampleMap->begin();
    323323    for (int i = 0; i < scopeCount; ++i, ++iter)
    324324        codeBlockSamples[i] = iter->second;
    325325
    326     qsort(codeBlockSamples.begin(), scopeCount, sizeof(ScopeSampleRecord*), compareScopeSampleRecords);
     326    qsort(codeBlockSamples.begin(), scopeCount, sizeof(ScriptSampleRecord*), compareScriptSampleRecords);
    327327
    328328    // (4) Print data from 'codeBlockSamples' array.
     
    331331
    332332    for (int i = 0; i < scopeCount; ++i) {
    333         ScopeSampleRecord* record = codeBlockSamples[i];
     333        ScriptSampleRecord* record = codeBlockSamples[i];
    334334        CodeBlock* codeBlock = record->m_codeBlock;
    335335
     
    338338        if (blockPercent >= 1) {
    339339            //Instruction* code = codeBlock->instructions().begin();
    340             printf("#%d: %s:%d: %d / %lld (%.3f%%)\n", i + 1, record->m_scope->sourceURL().UTF8String().c_str(), codeBlock->lineNumberForBytecodeOffset(exec, 0), record->m_sampleCount, m_sampleCount, blockPercent);
     340            printf("#%d: %s:%d: %d / %lld (%.3f%%)\n", i + 1, record->m_executable->sourceURL().UTF8String().c_str(), codeBlock->lineNumberForBytecodeOffset(exec, 0), record->m_sampleCount, m_sampleCount, blockPercent);
    341341            if (i < 10) {
    342342                HashMap<unsigned,unsigned> lineCounts;
  • trunk/JavaScriptCore/bytecode/SamplingTool.h

    r46528 r48662  
    3939namespace JSC {
    4040
     41    class ScriptExecutable;
     42
    4143    class SamplingFlags {
    4244        friend class JIT;
     
    9395    struct Instruction;
    9496
    95     struct ScopeSampleRecord {
    96         ScopeSampleRecord(ScopeNode* scope)
    97             : m_scope(scope)
     97    struct ScriptSampleRecord {
     98        ScriptSampleRecord(ScriptExecutable* executable)
     99            : m_executable(executable)
    98100            , m_codeBlock(0)
    99101            , m_sampleCount(0)
     
    104106        }
    105107       
    106         ~ScopeSampleRecord()
     108        ~ScriptSampleRecord()
    107109        {
    108110            if (m_samples)
     
    112114        void sample(CodeBlock*, Instruction*);
    113115
    114         RefPtr<ScopeNode> m_scope;
     116        ScriptExecutable* m_executable;
    115117        CodeBlock* m_codeBlock;
    116118        int m_sampleCount;
     
    120122    };
    121123
    122     typedef WTF::HashMap<ScopeNode*, ScopeSampleRecord*> ScopeSampleRecordMap;
     124    typedef WTF::HashMap<ScriptExecutable*, ScriptSampleRecord*> ScriptSampleRecordMap;
    123125
    124126    class SamplingThread {
     
    194196            , m_opcodeSampleCount(0)
    195197#if ENABLE(CODEBLOCK_SAMPLING)
    196             , m_scopeSampleMap(new ScopeSampleRecordMap())
     198            , m_scopeSampleMap(new ScriptSampleRecordMap())
    197199#endif
    198200        {
     
    211213        void dump(ExecState*);
    212214
    213         void notifyOfScope(ScopeNode* scope);
     215        void notifyOfScope(ScriptExecutable* scope);
    214216
    215217        void sample(CodeBlock* codeBlock, Instruction* vPC)
     
    267269       
    268270#if ENABLE(CODEBLOCK_SAMPLING)
    269         Mutex m_scopeSampleMapMutex;
    270         OwnPtr<ScopeSampleRecordMap> m_scopeSampleMap;
     271        Mutex m_scriptSampleMapMutex;
     272        OwnPtr<ScriptSampleRecordMap> m_scopeSampleMap;
    271273#endif
    272274    };
Note: See TracChangeset for help on using the changeset viewer.