Ignore:
Timestamp:
Mar 4, 2014, 11:25:02 PM (11 years ago)
Author:
[email protected]
Message:

Unreviewed, rolling out r165085.
http://trac.webkit.org/changeset/165085
https://bugs.webkit.org/show_bug.cgi?id=129729

Broke imported/w3c/html-templates/template-element/template-
content.html (Requested by ap on #webkit).

Source/JavaScriptCore:

  • bytecode/SpeculatedType.cpp:

(JSC::speculationToAbbreviatedString):

  • bytecode/SpeculatedType.h:
  • dfg/DFGAbstractInterpreterInlines.h:

(JSC::DFG::AbstractInterpreter<AbstractStateType>::executeEffects):

  • dfg/DFGArrayMode.cpp:

(JSC::DFG::ArrayMode::refine):

  • dfg/DFGArrayMode.h:
  • dfg/DFGFixupPhase.cpp:

(JSC::DFG::FixupPhase::fixupNode):
(JSC::DFG::FixupPhase::attemptToMakeGetArrayLength):

  • dfg/DFGNode.h:

(JSC::DFG::Node::shouldSpeculateBoolean):

  • dfg/DFGSafeToExecute.h:

(JSC::DFG::SafeToExecuteEdge::operator()):

  • dfg/DFGSpeculativeJIT.cpp:

(JSC::DFG::SpeculativeJIT::compileStrictEq):
(JSC::DFG::SpeculativeJIT::speculate):

  • dfg/DFGSpeculativeJIT.h:
  • dfg/DFGSpeculativeJIT32_64.cpp:
  • dfg/DFGSpeculativeJIT64.cpp:
  • dfg/DFGUseKind.cpp:

(WTF::printInternal):

  • dfg/DFGUseKind.h:

(JSC::DFG::typeFilterFor):

  • ftl/FTLCapabilities.cpp:

(JSC::FTL::canCompile):

  • ftl/FTLLowerDFGToLLVM.cpp:

(JSC::FTL::LowerDFGToLLVM::compileNode):
(JSC::FTL::LowerDFGToLLVM::compileCompareEq):
(JSC::FTL::LowerDFGToLLVM::compileCompareStrictEq):
(JSC::FTL::LowerDFGToLLVM::speculate):

  • tests/stress/float32-array-out-of-bounds.js: Removed.
  • tests/stress/weird-equality-folding-cases.js: Removed.

LayoutTests:

  • js/regress/fold-strict-eq-expected.txt: Removed.
  • js/regress/fold-strict-eq.html: Removed.
  • js/regress/misc-strict-eq-expected.txt: Removed.
  • js/regress/misc-strict-eq.html: Removed.
  • js/regress/script-tests/fold-strict-eq.js: Removed.
  • js/regress/script-tests/misc-strict-eq.js: Removed.
File:
1 edited

Legend:

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

    r165085 r165098  
    38033803    }
    38043804       
    3805     case MiscUse: {
    3806         compileMiscStrictEq(node);
    3807         return false;
    3808     }
    3809        
    38103805    case UntypedUse: {
    38113806        return nonSpeculativeStrictEq(node);
     
    48364831}
    48374832
    4838 void SpeculativeJIT::speculateMisc(Edge edge, JSValueRegs regs)
    4839 {
    4840 #if USE(JSVALUE64)
    4841     typeCheck(
    4842         regs, edge, SpecMisc,
    4843         m_jit.branch64(MacroAssembler::Above, regs.gpr(), MacroAssembler::TrustedImm64(TagBitTypeOther | TagBitBool | TagBitUndefined)));
    4844 #else
    4845     typeCheck(
    4846         regs, edge, SpecMisc | SpecInt32,
    4847         m_jit.branch32(MacroAssembler::Equal, regs.tagGPR(), MacroAssembler::TrustedImm32(JSValue::Int32Tag)));
    4848     typeCheck(
    4849         regs, edge, SpecMisc,
    4850         m_jit.branch32(MacroAssembler::Below, regs.tagGPR(), MacroAssembler::TrustedImm32(JSValue::UndefinedTag)));
    4851 #endif
    4852 }
    4853 
    4854 void SpeculativeJIT::speculateMisc(Edge edge)
    4855 {
    4856     if (!needsTypeCheck(edge, SpecMisc))
    4857         return;
    4858    
    4859     JSValueOperand operand(this, edge, ManualOperandSpeculation);
    4860     speculateMisc(edge, operand.jsValueRegs());
    4861 }
    4862 
    48634833void SpeculativeJIT::speculate(Node*, Edge edge)
    48644834{
     
    49224892    case OtherUse:
    49234893        speculateOther(edge);
    4924         break;
    4925     case MiscUse:
    4926         speculateMisc(edge);
    49274894        break;
    49284895    default:
Note: See TracChangeset for help on using the changeset viewer.