Ignore:
Timestamp:
Nov 4, 2019, 3:47:07 PM (6 years ago)
Author:
Truitt Savell
Message:

Unreviewed, rolling out r252015.

Broke the Windows build

Reverted changeset:

"Split ArithProfile into a Unary and a Binary version"
https://bugs.webkit.org/show_bug.cgi?id=202832
https://trac.webkit.org/changeset/252015

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/Source/JavaScriptCore/bytecode/CodeBlock.cpp

    r252015 r252021  
    14791479}
    14801480
    1481 JITAddIC* CodeBlock::addJITAddIC(BinaryArithProfile* arithProfile)
     1481JITAddIC* CodeBlock::addJITAddIC(ArithProfile* arithProfile)
    14821482{
    14831483    ConcurrentJSLocker locker(m_lock);
     
    14851485}
    14861486
    1487 JITMulIC* CodeBlock::addJITMulIC(BinaryArithProfile* arithProfile)
     1487JITMulIC* CodeBlock::addJITMulIC(ArithProfile* arithProfile)
    14881488{
    14891489    ConcurrentJSLocker locker(m_lock);
     
    14911491}
    14921492
    1493 JITSubIC* CodeBlock::addJITSubIC(BinaryArithProfile* arithProfile)
     1493JITSubIC* CodeBlock::addJITSubIC(ArithProfile* arithProfile)
    14941494{
    14951495    ConcurrentJSLocker locker(m_lock);
     
    14971497}
    14981498
    1499 JITNegIC* CodeBlock::addJITNegIC(UnaryArithProfile* arithProfile)
     1499JITNegIC* CodeBlock::addJITNegIC(ArithProfile* arithProfile)
    15001500{
    15011501    ConcurrentJSLocker locker(m_lock);
     
    30843084}
    30853085
    3086 BinaryArithProfile* CodeBlock::binaryArithProfileForBytecodeIndex(BytecodeIndex bytecodeIndex)
    3087 {
    3088     return binaryArithProfileForPC(instructions().at(bytecodeIndex.offset()).ptr());
    3089 }
    3090 
    3091 UnaryArithProfile* CodeBlock::unaryArithProfileForBytecodeIndex(BytecodeIndex bytecodeIndex)
    3092 {
    3093     return unaryArithProfileForPC(instructions().at(bytecodeIndex.offset()).ptr());
    3094 }
    3095 
    3096 BinaryArithProfile* CodeBlock::binaryArithProfileForPC(const Instruction* pc)
     3086ArithProfile* CodeBlock::arithProfileForBytecodeIndex(BytecodeIndex bytecodeIndex)
     3087{
     3088    return arithProfileForPC(instructions().at(bytecodeIndex.offset()).ptr());
     3089}
     3090
     3091ArithProfile* CodeBlock::arithProfileForPC(const Instruction* pc)
    30973092{
    30983093    switch (pc->opcodeID()) {
     3094    case op_negate:
     3095        return &pc->as<OpNegate>().metadata(this).m_arithProfile;
    30993096    case op_add:
    31003097        return &pc->as<OpAdd>().metadata(this).m_arithProfile;
     
    31123109}
    31133110
    3114 UnaryArithProfile* CodeBlock::unaryArithProfileForPC(const Instruction* pc)
    3115 {
    3116     switch (pc->opcodeID()) {
    3117     case op_negate:
    3118         return &pc->as<OpNegate>().metadata(this).m_arithProfile;
    3119     default:
    3120         break;
    3121     }
    3122 
    3123     return nullptr;
    3124 }
    3125 
    31263111bool CodeBlock::couldTakeSpecialArithFastCase(BytecodeIndex bytecodeIndex)
    31273112{
    31283113    if (!hasBaselineJITProfiling())
    31293114        return false;
    3130     BinaryArithProfile* profile = binaryArithProfileForBytecodeIndex(bytecodeIndex);
     3115    ArithProfile* profile = arithProfileForBytecodeIndex(bytecodeIndex);
    31313116    if (!profile)
    31323117        return false;
Note: See TracChangeset for help on using the changeset viewer.