Ignore:
Timestamp:
Feb 1, 2014, 10:38:51 PM (11 years ago)
Author:
[email protected]
Message:

JSC profiler's stub info profiling support should work again
https://bugs.webkit.org/show_bug.cgi?id=128057

Reviewed by Mark Lam.

Source/JavaScriptCore:

  • bytecode/CodeBlock.cpp:

(JSC::CodeBlock::printGetByIdCacheStatus): We want to know if the cache was ever reset by GC, since the DFG uses this information.
(JSC::CodeBlock::printLocationAndOp): This shouldn't have been inline.
(JSC::CodeBlock::printLocationOpAndRegisterOperand): Ditto.
(JSC::CodeBlock::dumpBytecode): Dump the profiling field, and make sure that the caller can pass a StubInfoMap, which is necessary for dumping StructureStubInfo profiling.

  • bytecode/CodeBlock.h: Out-of-line some methods and add the StubInfoMap parameter.
  • profiler/ProfilerBytecodeSequence.cpp:

(JSC::Profiler::BytecodeSequence::BytecodeSequence): Create a StubInfoMap before dumping bytecodes.

Tools:

  • Scripts/display-profiler-output: Just make sure that there's always a space between the origin stack dump and the top bytecode index.
File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/Source/JavaScriptCore/profiler/ProfilerBytecodeSequence.cpp

    r161364 r163259  
    11/*
    2  * Copyright (C) 2012, 2013 Apple Inc. All rights reserved.
     2 * Copyright (C) 2012, 2013, 2014 Apple Inc. All rights reserved.
    33 *
    44 * Redistribution and use in source and binary forms, with or without
     
    4949    }
    5050   
     51    StubInfoMap stubInfos;
     52    codeBlock->getStubInfoMap(stubInfos);
     53   
    5154    for (unsigned bytecodeIndex = 0; bytecodeIndex < codeBlock->instructions().size();) {
    5255        out.reset();
    53         codeBlock->dumpBytecode(out, bytecodeIndex);
     56        codeBlock->dumpBytecode(out, bytecodeIndex, stubInfos);
    5457        m_sequence.append(Bytecode(bytecodeIndex, codeBlock->vm()->interpreter->getOpcodeID(codeBlock->instructions()[bytecodeIndex].u.opcode), out.toCString()));
    5558        bytecodeIndex += opcodeLength(
Note: See TracChangeset for help on using the changeset viewer.