Ignore:
Timestamp:
Mar 26, 2012, 3:58:35 PM (13 years ago)
Author:
[email protected]
Message:

DFG should assert that argument value recoveries can only be
AlreadyInRegisterFile or Constant
https://bugs.webkit.org/show_bug.cgi?id=82249

Reviewed by Michael Saboff.

Made the assertions that the DFG makes for argument value recoveries match
what Arguments expects.

  • bytecode/ValueRecovery.h:

(JSC::ValueRecovery::isConstant):
(ValueRecovery):
(JSC::ValueRecovery::isAlreadyInRegisterFile):

  • dfg/DFGSpeculativeJIT.cpp:

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

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/Source/JavaScriptCore/bytecode/ValueRecovery.h

    r106590 r112164  
    193193    ValueRecoveryTechnique technique() const { return m_technique; }
    194194   
     195    bool isConstant() const { return m_technique == Constant; }
     196   
    195197    bool isInRegisters() const
    196198    {
     
    209211    }
    210212   
     213    bool isAlreadyInRegisterFile() const
     214    {
     215        switch (technique()) {
     216        case AlreadyInRegisterFile:
     217        case AlreadyInRegisterFileAsUnboxedInt32:
     218        case AlreadyInRegisterFileAsUnboxedCell:
     219        case AlreadyInRegisterFileAsUnboxedBoolean:
     220        case AlreadyInRegisterFileAsUnboxedDouble:
     221            return true;
     222        default:
     223            return false;
     224        }
     225    }
     226   
    211227    MacroAssembler::RegisterID gpr() const
    212228    {
Note: See TracChangeset for help on using the changeset viewer.