Ignore:
Timestamp:
Nov 28, 2011, 2:48:17 PM (14 years ago)
Author:
[email protected]
Message:

Either remove the GetMethod node from the DFG backend, or find a use for it
https://bugs.webkit.org/show_bug.cgi?id=73178

Reviewed by Gavin Barraclough.

More testing seemed to imply that the GetMethod code was indeed not profitable
in any major test. So, it's probably best to just remove it.

  • bytecode/CodeBlock.cpp:

(JSC::MethodCallLinkInfo::reset):

  • dfg/DFGAbstractState.cpp:

(JSC::DFG::AbstractState::execute):

  • dfg/DFGJITCompiler.cpp:

(JSC::DFG::JITCompiler::link):

  • dfg/DFGJITCompiler.h:
  • dfg/DFGNode.h:

(JSC::DFG::Node::hasIdentifier):
(JSC::DFG::Node::hasHeapPrediction):

  • dfg/DFGOperations.cpp:
  • dfg/DFGOperations.h:
  • dfg/DFGPropagator.cpp:

(JSC::DFG::Propagator::propagateNodePredictions):

  • dfg/DFGRepatch.cpp:
  • dfg/DFGRepatch.h:
  • dfg/DFGSpeculativeJIT.h:
  • dfg/DFGSpeculativeJIT32_64.cpp:

(JSC::DFG::SpeculativeJIT::cachedGetById):
(JSC::DFG::SpeculativeJIT::compile):

  • dfg/DFGSpeculativeJIT64.cpp:

(JSC::DFG::SpeculativeJIT::cachedGetById):
(JSC::DFG::SpeculativeJIT::compile):

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/Source/JavaScriptCore/dfg/DFGOperations.cpp

    r100880 r101283  
    318318    PropertySlot slot(baseValue);
    319319    return JSValue::encode(baseValue.get(exec, *propertyName, slot));
    320 }
    321 
    322 J_FUNCTION_WRAPPER_WITH_RETURN_ADDRESS_ECI(operationGetMethodOptimize);
    323 EncodedJSValue DFG_OPERATION operationGetMethodOptimizeWithReturnAddress(ExecState* exec, JSCell* base, Identifier* propertyName, ReturnAddressPtr returnAddress)
    324 {
    325     JSValue baseValue(base);
    326     PropertySlot slot(baseValue);
    327     JSValue result = baseValue.get(exec, *propertyName, slot);
    328    
    329     CodeBlock* codeBlock = exec->codeBlock();
    330     MethodCallLinkInfo& methodInfo = codeBlock->getMethodCallLinkInfo(returnAddress);
    331     if (methodInfo.seenOnce())
    332         dfgRepatchGetMethod(exec, baseValue, *propertyName, slot, methodInfo);
    333     else
    334         methodInfo.setSeen();
    335 
    336     return JSValue::encode(result);
    337320}
    338321
Note: See TracChangeset for help on using the changeset viewer.