[Webkit-unassigned] [Bug 133395] Web Inspector: debugger should be able to show variable types

bugzilla-daemon at webkit.org bugzilla-daemon at webkit.org
Mon Jun 30 18:40:34 PDT 2014


https://bugs.webkit.org/show_bug.cgi?id=133395


Saam Barati <sbarati at apple.com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
 Attachment #234049|0                           |1
        is obsolete|                            |
 Attachment #234137|                            |review?, commit-queue?
               Flag|                            |




--- Comment #28 from Saam Barati <sbarati at apple.com>  2014-06-30 18:40:52 PST ---
Created an attachment (id=234137)
 --> (https://bugs.webkit.org/attachment.cgi?id=234137&action=review)
patch

2014-06-30  Saam Barati  <sbarati at apple.com>

        Web Inspector: debugger should be able to show variable types
        https://bugs.webkit.org/show_bug.cgi?id=133395

        Reviewed by NOBODY (OOPS!).

        More operations are now being recorded by the profile_types_with_high_fidelity 
        opcode. Specifically: function parameters, function return values,
        function 'this' value, get_by_id, get_by_value, function return values
        at the call site. Added more flags to the profile_types_with_high_fidelity
        opcode so more focused tasks can take place when the instruction is
        being linked in CodeBlock. Re-worked the type profiler to search 
        through character offset ranges when asked for the type of an expression
        at a given offset.

        * bytecode/CodeBlock.cpp:
        (JSC::CodeBlock::CodeBlock):
        * bytecode/CodeBlock.h:
        (JSC::CodeBlock::returnStatementTypeSet):
        * bytecode/TypeLocation.h:
        * bytecode/UnlinkedCodeBlock.cpp:
        (JSC::UnlinkedCodeBlock::highFidelityTypeProfileExpressionInfoForBytecodeOffset):
        (JSC::UnlinkedCodeBlock::addHighFidelityTypeProfileExpressionInfo):
        * bytecode/UnlinkedCodeBlock.h:
        * bytecompiler/BytecodeGenerator.cpp:
        (JSC::BytecodeGenerator::emitMove):
        (JSC::BytecodeGenerator::emitProfileTypesWithHighFidelity):
        (JSC::BytecodeGenerator::emitPutById):
        (JSC::BytecodeGenerator::emitPutByVal):
        * bytecompiler/BytecodeGenerator.h:
        (JSC::BytecodeGenerator::emitHighFidelityTypeProfilingExpressionInfo):
        * bytecompiler/NodesCodegen.cpp:
        (JSC::BracketAccessorNode::emitBytecode):
        (JSC::DotAccessorNode::emitBytecode):
        (JSC::FunctionCallValueNode::emitBytecode):
        (JSC::FunctionCallResolveNode::emitBytecode):
        (JSC::FunctionCallBracketNode::emitBytecode):
        (JSC::FunctionCallDotNode::emitBytecode):
        (JSC::CallFunctionCallDotNode::emitBytecode):
        (JSC::ApplyFunctionCallDotNode::emitBytecode):
        (JSC::PostfixNode::emitResolve):
        (JSC::PostfixNode::emitBracket):
        (JSC::PostfixNode::emitDot):
        (JSC::PrefixNode::emitResolve):
        (JSC::PrefixNode::emitBracket):
        (JSC::PrefixNode::emitDot):
        (JSC::ReadModifyResolveNode::emitBytecode):
        (JSC::AssignResolveNode::emitBytecode):
        (JSC::AssignDotNode::emitBytecode):
        (JSC::ReadModifyDotNode::emitBytecode):
        (JSC::AssignBracketNode::emitBytecode):
        (JSC::ReadModifyBracketNode::emitBytecode):
        (JSC::ReturnNode::emitBytecode):
        (JSC::FunctionBodyNode::emitBytecode):
        (JSC::FuncDeclNode::emitBytecode):
        * inspector/agents/InspectorRuntimeAgent.cpp:
        (Inspector::InspectorRuntimeAgent::getRuntimeTypeForVariableAtOffset):
        (Inspector::InspectorRuntimeAgent::getRuntimeTypeForVariableInTextRange): Deleted.
        * inspector/agents/InspectorRuntimeAgent.h:
        * inspector/protocol/Runtime.json:
        * runtime/HighFidelityLog.cpp:
        (JSC::HighFidelityLog::processHighFidelityLog):
        * runtime/HighFidelityTypeProfiler.cpp:
        (JSC::HighFidelityTypeProfiler::getTypesForVariableInAtOffset):
        (JSC::HighFidelityTypeProfiler::getGlobalTypesForVariableAtOffset):
        (JSC::HighFidelityTypeProfiler::getLocalTypesForVariableAtOffset):
        (JSC::HighFidelityTypeProfiler::insertNewLocation):
        (JSC::HighFidelityTypeProfiler::findLocation):
        (JSC::HighFidelityTypeProfiler::getTypesForVariableInRange): Deleted.
        (JSC::HighFidelityTypeProfiler::getGlobalTypesForVariableInRange): Deleted.
        (JSC::HighFidelityTypeProfiler::getLocalTypesForVariableInRange): Deleted.
        (JSC::HighFidelityTypeProfiler::getLocationBasedHash): Deleted.
        * runtime/HighFidelityTypeProfiler.h:
        (JSC::LocationKey::LocationKey): Deleted.
        (JSC::LocationKey::hash): Deleted.
        (JSC::LocationKey::operator==): Deleted.
        * runtime/VM.cpp:
        (JSC::VM::getTypesForVariableAtOffset):
        (JSC::VM::dumpHighFidelityProfilingTypes):
        (JSC::VM::getTypesForVariableInRange): Deleted.
        * runtime/VM.h:

-- 
Configure bugmail: https://bugs.webkit.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug.



More information about the webkit-unassigned mailing list