Changeset 202131 in webkit


Ignore:
Timestamp:
Jun 16, 2016, 11:25:54 AM (9 years ago)
Author:
mark.lam@apple.com
Message:

Add collecting of LLINT slow path stats.
https://bugs.webkit.org/show_bug.cgi?id=158829

Reviewed by Keith Miller.

  • llint/LLIntData.cpp:

(JSC::LLInt::Data::dumpStats):

  • llint/LLIntData.h:
  • llint/LLIntSlowPaths.cpp:

(JSC::LLInt::LLINT_SLOW_PATH_DECL):

  • llint/LLIntSlowPaths.h:
  • llint/LowLevelInterpreter.asm:
  • llint/LowLevelInterpreter32_64.asm:
  • llint/LowLevelInterpreter64.asm:
Location:
trunk/Source/JavaScriptCore
Files:
8 edited

Legend:

Unmodified
Added
Removed
  • trunk/Source/JavaScriptCore/ChangeLog

    r202125 r202131  
     12016-06-16  Mark Lam  <mark.lam@apple.com>
     2
     3        Add collecting of LLINT slow path stats.
     4        https://bugs.webkit.org/show_bug.cgi?id=158829
     5
     6        Reviewed by Keith Miller.
     7
     8        * llint/LLIntData.cpp:
     9        (JSC::LLInt::Data::dumpStats):
     10        * llint/LLIntData.h:
     11        * llint/LLIntSlowPaths.cpp:
     12        (JSC::LLInt::LLINT_SLOW_PATH_DECL):
     13        * llint/LLIntSlowPaths.h:
     14        * llint/LowLevelInterpreter.asm:
     15        * llint/LowLevelInterpreter32_64.asm:
     16        * llint/LowLevelInterpreter64.asm:
     17
    1182016-06-15  Keith Miller  <keith_miller@apple.com>
    219
  • trunk/Source/JavaScriptCore/llint/LLIntData.cpp

    r202125 r202131  
    237237    auto statsCopy = *s_opcodeStatsArray;
    238238    std::sort(statsCopy.begin(), statsCopy.end(), [] (OpcodeStats& a, OpcodeStats& b) -> bool {
    239         return a.count > b.count;
     239        if (a.count > b.count)
     240            return true;
     241        if (a.count < b.count)
     242            return false;
     243        return a.slowPathCount > b.slowPathCount;
    240244    });
    241245   
     
    244248    for (auto& stats : statsCopy) {
    245249        if (stats.count)
    246             dataLog("   [", i++, "]: fast:", stats.count, " ", opcodeNames[stats.id], "\n");
     250            dataLog("   [", i++, "]: fast:", stats.count, " slow:", stats.slowPathCount, " ", opcodeNames[stats.id], "\n");
    247251    }
    248252#endif
  • trunk/Source/JavaScriptCore/llint/LLIntData.h

    r201990 r202131  
    4747    OpcodeID id;
    4848    size_t count { 0 };
     49    size_t slowPathCount { 0 };
    4950};
    5051typedef std::array<OpcodeStats, numOpcodeIDs> OpcodeStatsArray;
  • trunk/Source/JavaScriptCore/llint/LLIntSlowPaths.cpp

    r202003 r202131  
    16561656}
    16571657
     1658LLINT_SLOW_PATH_DECL(count_opcode_slow_path)
     1659{
     1660    OpcodeID opcodeID = exec->vm().interpreter->getOpcodeID(pc[0].u.opcode);
     1661    Data::opcodeStats(opcodeID).slowPathCount++;
     1662    LLINT_END_IMPL();
     1663}
     1664
    16581665#endif // ENABLE(LLINT_STATS)
    16591666
  • trunk/Source/JavaScriptCore/llint/LLIntSlowPaths.h

    r202003 r202131  
    5656LLINT_SLOW_PATH_HIDDEN_DECL(special_trace);
    5757LLINT_SLOW_PATH_HIDDEN_DECL(count_opcode);
     58LLINT_SLOW_PATH_HIDDEN_DECL(count_opcode_slow_path);
    5859LLINT_SLOW_PATH_HIDDEN_DECL(entry_osr);
    5960LLINT_SLOW_PATH_HIDDEN_DECL(entry_osr_function_for_call);
  • trunk/Source/JavaScriptCore/llint/LowLevelInterpreter.asm

    r202125 r202131  
    736736end
    737737
     738macro traceSlowPathExecution()
     739    if COLLECT_STATS
     740        callSlowPath(_llint_count_opcode_slow_path)
     741    end
     742end
     743
     744macro callOpcodeSlowPath(slowPath)
     745    traceSlowPathExecution()
     746    callSlowPath(slowPath)
     747end
     748
    738749macro callTargetFunction(callee)
    739750    if C_LOOP
     
    800811
    801812macro slowPathForCall(slowPath, prepareCall)
     813    traceSlowPathExecution()
    802814    callCallSlowPath(
    803815        slowPath,
     
    840852        10,
    841853        macro ()
    842             callSlowPath(_llint_replace)
     854            callOpcodeSlowPath(_llint_replace)
    843855        end)
    844856end
     
    12231235_llint_op_create_direct_arguments:
    12241236    traceExecution()
    1225     callSlowPath(_slow_path_create_direct_arguments)
     1237    callOpcodeSlowPath(_slow_path_create_direct_arguments)
    12261238    dispatch(2)
    12271239
     
    12291241_llint_op_create_scoped_arguments:
    12301242    traceExecution()
    1231     callSlowPath(_slow_path_create_scoped_arguments)
     1243    callOpcodeSlowPath(_slow_path_create_scoped_arguments)
    12321244    dispatch(3)
    12331245
     
    12351247_llint_op_create_cloned_arguments:
    12361248    traceExecution()
    1237     callSlowPath(_slow_path_create_cloned_arguments)
     1249    callOpcodeSlowPath(_slow_path_create_cloned_arguments)
    12381250    dispatch(2)
    12391251
     
    12411253_llint_op_new_func:
    12421254    traceExecution()
    1243     callSlowPath(_llint_slow_path_new_func)
     1255    callOpcodeSlowPath(_llint_slow_path_new_func)
    12441256    dispatch(4)
    12451257
     
    12471259_llint_op_new_generator_func:
    12481260    traceExecution()
    1249     callSlowPath(_llint_slow_path_new_generator_func)
     1261    callOpcodeSlowPath(_llint_slow_path_new_generator_func)
    12501262    dispatch(4)
    12511263
     
    12531265_llint_op_new_array:
    12541266    traceExecution()
    1255     callSlowPath(_llint_slow_path_new_array)
     1267    callOpcodeSlowPath(_llint_slow_path_new_array)
    12561268    dispatch(5)
    12571269
     
    12591271_llint_op_new_array_with_size:
    12601272    traceExecution()
    1261     callSlowPath(_llint_slow_path_new_array_with_size)
     1273    callOpcodeSlowPath(_llint_slow_path_new_array_with_size)
    12621274    dispatch(4)
    12631275
     
    12651277_llint_op_new_array_buffer:
    12661278    traceExecution()
    1267     callSlowPath(_llint_slow_path_new_array_buffer)
     1279    callOpcodeSlowPath(_llint_slow_path_new_array_buffer)
    12681280    dispatch(5)
    12691281
     
    12711283_llint_op_new_regexp:
    12721284    traceExecution()
    1273     callSlowPath(_llint_slow_path_new_regexp)
     1285    callOpcodeSlowPath(_llint_slow_path_new_regexp)
    12741286    dispatch(3)
    12751287
     
    12771289_llint_op_less:
    12781290    traceExecution()
    1279     callSlowPath(_slow_path_less)
     1291    callOpcodeSlowPath(_slow_path_less)
    12801292    dispatch(4)
    12811293
     
    12831295_llint_op_lesseq:
    12841296    traceExecution()
    1285     callSlowPath(_slow_path_lesseq)
     1297    callOpcodeSlowPath(_slow_path_lesseq)
    12861298    dispatch(4)
    12871299
     
    12891301_llint_op_greater:
    12901302    traceExecution()
    1291     callSlowPath(_slow_path_greater)
     1303    callOpcodeSlowPath(_slow_path_greater)
    12921304    dispatch(4)
    12931305
     
    12951307_llint_op_greatereq:
    12961308    traceExecution()
    1297     callSlowPath(_slow_path_greatereq)
     1309    callOpcodeSlowPath(_slow_path_greatereq)
    12981310    dispatch(4)
    12991311
     
    13011313_llint_op_mod:
    13021314    traceExecution()
    1303     callSlowPath(_slow_path_mod)
     1315    callOpcodeSlowPath(_slow_path_mod)
    13041316    dispatch(4)
    13051317
     
    13071319_llint_op_typeof:
    13081320    traceExecution()
    1309     callSlowPath(_slow_path_typeof)
     1321    callOpcodeSlowPath(_slow_path_typeof)
    13101322    dispatch(3)
    13111323
     
    13131325_llint_op_is_object_or_null:
    13141326    traceExecution()
    1315     callSlowPath(_slow_path_is_object_or_null)
     1327    callOpcodeSlowPath(_slow_path_is_object_or_null)
    13161328    dispatch(3)
    13171329
    13181330_llint_op_is_function:
    13191331    traceExecution()
    1320     callSlowPath(_slow_path_is_function)
     1332    callOpcodeSlowPath(_slow_path_is_function)
    13211333    dispatch(3)
    13221334
     
    13241336_llint_op_in:
    13251337    traceExecution()
    1326     callSlowPath(_slow_path_in)
     1338    callOpcodeSlowPath(_slow_path_in)
    13271339    dispatch(4)
    13281340
     
    13301342_llint_op_try_get_by_id:
    13311343    traceExecution()
    1332     callSlowPath(_llint_slow_path_try_get_by_id)
     1344    callOpcodeSlowPath(_llint_slow_path_try_get_by_id)
    13331345    dispatch(4)
    13341346
     
    13361348_llint_op_del_by_id:
    13371349    traceExecution()
    1338     callSlowPath(_llint_slow_path_del_by_id)
     1350    callOpcodeSlowPath(_llint_slow_path_del_by_id)
    13391351    dispatch(4)
    13401352
     
    13421354_llint_op_del_by_val:
    13431355    traceExecution()
    1344     callSlowPath(_llint_slow_path_del_by_val)
     1356    callOpcodeSlowPath(_llint_slow_path_del_by_val)
    13451357    dispatch(4)
    13461358
     
    13481360_llint_op_put_by_index:
    13491361    traceExecution()
    1350     callSlowPath(_llint_slow_path_put_by_index)
     1362    callOpcodeSlowPath(_llint_slow_path_put_by_index)
    13511363    dispatch(4)
    13521364
     
    13541366_llint_op_put_getter_by_id:
    13551367    traceExecution()
    1356     callSlowPath(_llint_slow_path_put_getter_by_id)
     1368    callOpcodeSlowPath(_llint_slow_path_put_getter_by_id)
    13571369    dispatch(5)
    13581370
     
    13601372_llint_op_put_setter_by_id:
    13611373    traceExecution()
    1362     callSlowPath(_llint_slow_path_put_setter_by_id)
     1374    callOpcodeSlowPath(_llint_slow_path_put_setter_by_id)
    13631375    dispatch(5)
    13641376
     
    13661378_llint_op_put_getter_setter_by_id:
    13671379    traceExecution()
    1368     callSlowPath(_llint_slow_path_put_getter_setter_by_id)
     1380    callOpcodeSlowPath(_llint_slow_path_put_getter_setter_by_id)
    13691381    dispatch(6)
    13701382
     
    13721384_llint_op_put_getter_by_val:
    13731385    traceExecution()
    1374     callSlowPath(_llint_slow_path_put_getter_by_val)
     1386    callOpcodeSlowPath(_llint_slow_path_put_getter_by_val)
    13751387    dispatch(5)
    13761388
     
    13781390_llint_op_put_setter_by_val:
    13791391    traceExecution()
    1380     callSlowPath(_llint_slow_path_put_setter_by_val)
     1392    callOpcodeSlowPath(_llint_slow_path_put_setter_by_val)
    13811393    dispatch(5)
    13821394
     
    14971509_llint_op_switch_string:
    14981510    traceExecution()
    1499     callSlowPath(_llint_slow_path_switch_string)
     1511    callOpcodeSlowPath(_llint_slow_path_switch_string)
    15001512    dispatch(0)
    15011513
     
    15031515_llint_op_new_func_exp:
    15041516    traceExecution()
    1505     callSlowPath(_llint_slow_path_new_func_exp)
     1517    callOpcodeSlowPath(_llint_slow_path_new_func_exp)
    15061518    dispatch(4)
    15071519
    15081520_llint_op_new_generator_func_exp:
    15091521    traceExecution()
    1510     callSlowPath(_llint_slow_path_new_generator_func_exp)
     1522    callOpcodeSlowPath(_llint_slow_path_new_generator_func_exp)
    15111523    dispatch(4)
    15121524
    15131525_llint_op_set_function_name:
    15141526    traceExecution()
    1515     callSlowPath(_llint_slow_path_set_function_name)
     1527    callOpcodeSlowPath(_llint_slow_path_set_function_name)
    15161528    dispatch(3)
    15171529
     
    15321544
    15331545macro doCallVarargs(frameSlowPath, slowPath, prepareCall)
    1534     callSlowPath(frameSlowPath)
     1546    callOpcodeSlowPath(frameSlowPath)
    15351547    branchIfException(_llint_throw_from_slow_path_trampoline)
    15361548    # calleeFrame in r1
     
    16191631_llint_op_strcat:
    16201632    traceExecution()
    1621     callSlowPath(_slow_path_strcat)
     1633    callOpcodeSlowPath(_slow_path_strcat)
    16221634    dispatch(4)
    16231635
     
    16251637_llint_op_push_with_scope:
    16261638    traceExecution()
    1627     callSlowPath(_slow_path_push_with_scope)
     1639    callOpcodeSlowPath(_slow_path_push_with_scope)
    16281640    dispatch(4)
    16291641
     
    16311643_llint_op_assert:
    16321644    traceExecution()
    1633     callSlowPath(_slow_path_assert)
     1645    callOpcodeSlowPath(_slow_path_assert)
    16341646    dispatch(3)
    16351647
     
    16371649_llint_op_save:
    16381650    traceExecution()
    1639     callSlowPath(_slow_path_save)
     1651    callOpcodeSlowPath(_slow_path_save)
    16401652    dispatch(4)
    16411653
     
    16431655_llint_op_resume:
    16441656    traceExecution()
    1645     callSlowPath(_slow_path_resume)
     1657    callOpcodeSlowPath(_slow_path_resume)
    16461658    dispatch(3)
    16471659
     
    16491661_llint_op_create_lexical_environment:
    16501662    traceExecution()
    1651     callSlowPath(_slow_path_create_lexical_environment)
     1663    callOpcodeSlowPath(_slow_path_create_lexical_environment)
    16521664    dispatch(5)
    16531665
     
    16551667_llint_op_throw:
    16561668    traceExecution()
    1657     callSlowPath(_llint_slow_path_throw)
     1669    callOpcodeSlowPath(_llint_slow_path_throw)
    16581670    dispatch(2)
    16591671
     
    16611673_llint_op_throw_static_error:
    16621674    traceExecution()
    1663     callSlowPath(_llint_slow_path_throw_static_error)
     1675    callOpcodeSlowPath(_llint_slow_path_throw_static_error)
    16641676    dispatch(3)
    16651677
     
    16701682    loadi CodeBlock::m_debuggerRequests[t0], t0
    16711683    btiz t0, .opDebugDone
    1672     callSlowPath(_llint_slow_path_debug)
     1684    callOpcodeSlowPath(_llint_slow_path_debug)
    16731685.opDebugDone:                   
    16741686    dispatch(3)
     
    16841696_llint_op_get_enumerable_length:
    16851697    traceExecution()
    1686     callSlowPath(_slow_path_get_enumerable_length)
     1698    callOpcodeSlowPath(_slow_path_get_enumerable_length)
    16871699    dispatch(3)
    16881700
    16891701_llint_op_has_indexed_property:
    16901702    traceExecution()
    1691     callSlowPath(_slow_path_has_indexed_property)
     1703    callOpcodeSlowPath(_slow_path_has_indexed_property)
    16921704    dispatch(5)
    16931705
    16941706_llint_op_has_structure_property:
    16951707    traceExecution()
    1696     callSlowPath(_slow_path_has_structure_property)
     1708    callOpcodeSlowPath(_slow_path_has_structure_property)
    16971709    dispatch(5)
    16981710
    16991711_llint_op_has_generic_property:
    17001712    traceExecution()
    1701     callSlowPath(_slow_path_has_generic_property)
     1713    callOpcodeSlowPath(_slow_path_has_generic_property)
    17021714    dispatch(4)
    17031715
    17041716_llint_op_get_direct_pname:
    17051717    traceExecution()
    1706     callSlowPath(_slow_path_get_direct_pname)
     1718    callOpcodeSlowPath(_slow_path_get_direct_pname)
    17071719    dispatch(7)
    17081720
    17091721_llint_op_get_property_enumerator:
    17101722    traceExecution()
    1711     callSlowPath(_slow_path_get_property_enumerator)
     1723    callOpcodeSlowPath(_slow_path_get_property_enumerator)
    17121724    dispatch(3)
    17131725
    17141726_llint_op_enumerator_structure_pname:
    17151727    traceExecution()
    1716     callSlowPath(_slow_path_next_structure_enumerator_pname)
     1728    callOpcodeSlowPath(_slow_path_next_structure_enumerator_pname)
    17171729    dispatch(4)
    17181730
    17191731_llint_op_enumerator_generic_pname:
    17201732    traceExecution()
    1721     callSlowPath(_slow_path_next_generic_enumerator_pname)
     1733    callOpcodeSlowPath(_slow_path_next_generic_enumerator_pname)
    17221734    dispatch(4)
    17231735
    17241736_llint_op_to_index_string:
    17251737    traceExecution()
    1726     callSlowPath(_slow_path_to_index_string)
     1738    callOpcodeSlowPath(_slow_path_to_index_string)
    17271739    dispatch(3)
    17281740
    17291741_llint_op_copy_rest:
    17301742    traceExecution()
    1731     callSlowPath(_slow_path_copy_rest)
     1743    callOpcodeSlowPath(_slow_path_copy_rest)
    17321744    dispatch(4)
    17331745
    17341746_llint_op_instanceof:
    17351747    traceExecution()
    1736     callSlowPath(_llint_slow_path_instanceof)
     1748    callOpcodeSlowPath(_llint_slow_path_instanceof)
    17371749    dispatch(4)
    17381750
    17391751_llint_op_get_by_id_with_this:
    17401752    traceExecution()
    1741     callSlowPath(_slow_path_get_by_id_with_this)
     1753    callOpcodeSlowPath(_slow_path_get_by_id_with_this)
    17421754    dispatch(5)
    17431755
    17441756_llint_op_get_by_val_with_this:
    17451757    traceExecution()
    1746     callSlowPath(_slow_path_get_by_val_with_this)
     1758    callOpcodeSlowPath(_slow_path_get_by_val_with_this)
    17471759    dispatch(5)
    17481760
    17491761_llint_op_put_by_id_with_this:
    17501762    traceExecution()
    1751     callSlowPath(_slow_path_put_by_id_with_this)
     1763    callOpcodeSlowPath(_slow_path_put_by_id_with_this)
    17521764    dispatch(5)
    17531765
    17541766_llint_op_put_by_val_with_this:
    17551767    traceExecution()
    1756     callSlowPath(_slow_path_put_by_val_with_this)
     1768    callOpcodeSlowPath(_slow_path_put_by_val_with_this)
    17571769    dispatch(5)
    17581770
  • trunk/Source/JavaScriptCore/llint/LowLevelInterpreter32_64.asm

    r202125 r202131  
    674674    btinz t2, .opEnterLoop
    675675.opEnterDone:
    676     callSlowPath(_slow_path_enter)
     676    callOpcodeSlowPath(_slow_path_enter)
    677677    dispatch(1)
    678678
     
    720720
    721721.opCreateThisSlow:
    722     callSlowPath(_slow_path_create_this)
     722    callOpcodeSlowPath(_slow_path_create_this)
    723723    dispatch(5)
    724724
     
    735735
    736736.opToThisSlow:
    737     callSlowPath(_slow_path_to_this)
     737    callOpcodeSlowPath(_slow_path_to_this)
    738738    dispatch(4)
    739739
     
    751751
    752752.opNewObjectSlow:
    753     callSlowPath(_llint_slow_path_new_object)
     753    callOpcodeSlowPath(_llint_slow_path_new_object)
    754754    dispatch(4)
    755755
     
    760760    loadConstantOrVariableTag(t0, t1)
    761761    bineq t1, EmptyValueTag, .opNotTDZ
    762     callSlowPath(_slow_path_throw_tdz_error)
     762    callOpcodeSlowPath(_slow_path_throw_tdz_error)
    763763
    764764.opNotTDZ:
     
    788788
    789789.opNotSlow:
    790     callSlowPath(_slow_path_not)
     790    callOpcodeSlowPath(_slow_path_not)
    791791    dispatch(3)
    792792
     
    808808
    809809.opEqSlow:
    810     callSlowPath(_slow_path_eq)
     810    callOpcodeSlowPath(_slow_path_eq)
    811811    dispatch(4)
    812812
     
    855855
    856856.opNeqSlow:
    857     callSlowPath(_slow_path_neq)
     857    callOpcodeSlowPath(_slow_path_neq)
    858858    dispatch(4)
    859859   
     
    904904
    905905.slow:
    906     callSlowPath(slowPath)
     906    callOpcodeSlowPath(slowPath)
    907907    dispatch(4)
    908908end
     
    928928
    929929.opIncSlow:
    930     callSlowPath(_slow_path_inc)
     930    callOpcodeSlowPath(_slow_path_inc)
    931931    dispatch(2)
    932932
     
    942942
    943943.opDecSlow:
    944     callSlowPath(_slow_path_dec)
     944    callOpcodeSlowPath(_slow_path_dec)
    945945    dispatch(2)
    946946
     
    959959
    960960.opToNumberSlow:
    961     callSlowPath(_slow_path_to_number)
     961    callOpcodeSlowPath(_slow_path_to_number)
    962962    dispatch(3)
    963963
     
    976976
    977977.opToStringSlow:
    978     callSlowPath(_slow_path_to_string)
     978    callOpcodeSlowPath(_slow_path_to_string)
    979979    dispatch(3)
    980980
     
    999999
    10001000.opNegateSlow:
    1001     callSlowPath(_slow_path_negate)
     1001    callOpcodeSlowPath(_slow_path_negate)
    10021002    dispatch(3)
    10031003
     
    10411041
    10421042.slow:
    1043     callSlowPath(slowPath)
     1043    callOpcodeSlowPath(slowPath)
    10441044    dispatch(5)
    10451045end
     
    11221122
    11231123.slow:
    1124     callSlowPath(slowPath)
     1124    callOpcodeSlowPath(slowPath)
    11251125    dispatch(advance)
    11261126end
     
    11601160    dispatch(3)
    11611161.opUnsignedSlow:
    1162     callSlowPath(_slow_path_unsigned)
     1162    callOpcodeSlowPath(_slow_path_unsigned)
    11631163    dispatch(3)
    11641164
     
    12201220_llint_op_instanceof_custom:
    12211221    traceExecution()
    1222     callSlowPath(_llint_slow_path_instanceof_custom)
     1222    callOpcodeSlowPath(_llint_slow_path_instanceof_custom)
    12231223    dispatch(5)
    12241224
     
    13831383
    13841384.opGetByIdSlow:
    1385     callSlowPath(_llint_slow_path_get_by_id)
     1385    callOpcodeSlowPath(_llint_slow_path_get_by_id)
    13861386    dispatch(9)
    13871387
     
    14031403
    14041404.opGetByIdProtoSlow:
    1405     callSlowPath(_llint_slow_path_get_by_id)
     1405    callOpcodeSlowPath(_llint_slow_path_get_by_id)
    14061406    dispatch(9)
    14071407
     
    14201420
    14211421.opGetByIdUnsetSlow:
    1422     callSlowPath(_llint_slow_path_get_by_id)
     1422    callOpcodeSlowPath(_llint_slow_path_get_by_id)
    14231423    dispatch(9)
    14241424
     
    14431443
    14441444.opGetArrayLengthSlow:
    1445     callSlowPath(_llint_slow_path_get_by_id)
     1445    callOpcodeSlowPath(_llint_slow_path_get_by_id)
    14461446    dispatch(9)
    14471447
     
    15741574
    15751575.opPutByIdSlow:
    1576     callSlowPath(_llint_slow_path_put_by_id)
     1576    callOpcodeSlowPath(_llint_slow_path_put_by_id)
    15771577    dispatch(9)
    15781578
     
    16281628    storeb 1, ArrayProfile::m_outOfBounds[t0]
    16291629.opGetByValSlow:
    1630     callSlowPath(_llint_slow_path_get_by_val)
     1630    callOpcodeSlowPath(_llint_slow_path_get_by_val)
    16311631    dispatch(6)
    16321632
     
    17201720    storeb 1, ArrayProfile::m_outOfBounds[t0]
    17211721.opPutByValSlow:
    1722     callSlowPath(slowPath)
     1722    callOpcodeSlowPath(slowPath)
    17231723    dispatch(5)
    17241724end
     
    17451745
    17461746.slow:
    1747     callSlowPath(slow)
     1747    callOpcodeSlowPath(slow)
    17481748    dispatch(0)
    17491749end
     
    18431843
    18441844.slow:
    1845     callSlowPath(slowPath)
     1845    callOpcodeSlowPath(slowPath)
    18461846    dispatch(0)
    18471847end
     
    18721872
    18731873.opSwitchImmSlow:
    1874     callSlowPath(_llint_slow_path_switch_imm)
     1874    callOpcodeSlowPath(_llint_slow_path_switch_imm)
    18751875    dispatch(0)
    18761876
     
    19091909
    19101910.opSwitchOnRope:
    1911     callSlowPath(_llint_slow_path_switch_char)
     1911    callOpcodeSlowPath(_llint_slow_path_switch_char)
    19121912    dispatch(0)
    19131913
     
    19681968
    19691969.opToPrimitiveSlowCase:
    1970     callSlowPath(_slow_path_to_primitive)
     1970    callOpcodeSlowPath(_slow_path_to_primitive)
    19711971    dispatch(3)
    19721972
     
    19881988    loadi VM::targetInterpreterPCForThrow[t3], PC
    19891989
    1990     callSlowPath(_llint_slow_path_check_if_exception_is_uncatchable_and_notify_profiler)
     1990    callOpcodeSlowPath(_llint_slow_path_check_if_exception_is_uncatchable_and_notify_profiler)
    19911991    bpeq r1, 0, .isCatchableException
    19921992    jmp _llint_throw_from_slow_path_trampoline
     
    21832183
    21842184.rDynamic:
    2185     callSlowPath(_slow_path_resolve_scope)
     2185    callOpcodeSlowPath(_slow_path_resolve_scope)
    21862186    dispatch(7)
    21872187
     
    22832283
    22842284.gDynamic:
    2285     callSlowPath(_llint_slow_path_get_from_scope)
     2285    callOpcodeSlowPath(_llint_slow_path_get_from_scope)
    22862286    dispatch(8)
    22872287
     
    23942394.pModuleVar:
    23952395    bineq t0, ModuleVar, .pDynamic
    2396     callSlowPath(_slow_path_throw_strict_mode_readonly_property_write_error)
     2396    callOpcodeSlowPath(_slow_path_throw_strict_mode_readonly_property_write_error)
    23972397    dispatch(7)
    23982398
    23992399.pDynamic:
    2400     callSlowPath(_llint_slow_path_put_to_scope)
     2400    callOpcodeSlowPath(_llint_slow_path_put_to_scope)
    24012401    dispatch(7)
    24022402
     
    24782478    loadp TypeProfilerLog::m_logEndPtr[t1], t1
    24792479    bpneq t2, t1, .opProfileTypeDone
    2480     callSlowPath(_slow_path_profile_type_clear_log)
     2480    callOpcodeSlowPath(_slow_path_profile_type_clear_log)
    24812481
    24822482.opProfileTypeDone:
     
    25252525    dispatch(2)
    25262526.opLogShadowChickenPrologueSlow:
    2527     callSlowPath(_llint_slow_path_log_shadow_chicken_prologue)
     2527    callOpcodeSlowPath(_llint_slow_path_log_shadow_chicken_prologue)
    25282528    dispatch(2)
    25292529
     
    25452545    dispatch(3)
    25462546.opLogShadowChickenTailSlow:
    2547     callSlowPath(_llint_slow_path_log_shadow_chicken_tail)
    2548     dispatch(3)
     2547    callOpcodeSlowPath(_llint_slow_path_log_shadow_chicken_tail)
     2548    dispatch(3)
  • trunk/Source/JavaScriptCore/llint/LowLevelInterpreter64.asm

    r202125 r202131  
    581581    btqnz t2, .opEnterLoop
    582582.opEnterDone:
    583     callSlowPath(_slow_path_enter)
     583    callOpcodeSlowPath(_slow_path_enter)
    584584    dispatch(1)
    585585
     
    624624
    625625.opCreateThisSlow:
    626     callSlowPath(_slow_path_create_this)
     626    callOpcodeSlowPath(_slow_path_create_this)
    627627    dispatch(5)
    628628
     
    640640
    641641.opToThisSlow:
    642     callSlowPath(_slow_path_to_this)
     642    callOpcodeSlowPath(_slow_path_to_this)
    643643    dispatch(4)
    644644
     
    655655
    656656.opNewObjectSlow:
    657     callSlowPath(_llint_slow_path_new_object)
     657    callOpcodeSlowPath(_llint_slow_path_new_object)
    658658    dispatch(4)
    659659
     
    664664    loadConstantOrVariable(t0, t1)
    665665    bqneq t1, ValueEmpty, .opNotTDZ
    666     callSlowPath(_slow_path_throw_tdz_error)
     666    callOpcodeSlowPath(_slow_path_throw_tdz_error)
    667667
    668668.opNotTDZ:
     
    691691
    692692.opNotSlow:
    693     callSlowPath(_slow_path_not)
     693    callOpcodeSlowPath(_slow_path_not)
    694694    dispatch(3)
    695695
     
    708708
    709709.slow:
    710     callSlowPath(slowPath)
     710    callOpcodeSlowPath(slowPath)
    711711    dispatch(4)
    712712end
     
    783783
    784784.slow:
    785     callSlowPath(slowPath)
     785    callOpcodeSlowPath(slowPath)
    786786    dispatch(4)
    787787end
     
    810810
    811811.slow:
    812     callSlowPath(slowPath)
     812    callOpcodeSlowPath(slowPath)
    813813    dispatch(2)
    814814end
     
    838838
    839839.opToNumberSlow:
    840     callSlowPath(_slow_path_to_number)
     840    callOpcodeSlowPath(_slow_path_to_number)
    841841    dispatch(3)
    842842
     
    854854
    855855.opToStringSlow:
    856     callSlowPath(_slow_path_to_string)
     856    callOpcodeSlowPath(_slow_path_to_string)
    857857    dispatch(3)
    858858
     
    876876
    877877.opNegateSlow:
    878     callSlowPath(_slow_path_negate)
     878    callOpcodeSlowPath(_slow_path_negate)
    879879    dispatch(3)
    880880
     
    925925
    926926.slow:
    927     callSlowPath(slowPath)
     927    callOpcodeSlowPath(slowPath)
    928928    dispatch(5)
    929929end
     
    997997            _slow_path_div)
    998998    else
    999         callSlowPath(_slow_path_div)
     999        callOpcodeSlowPath(_slow_path_div)
    10001000        dispatch(5)
    10011001    end
     
    10161016
    10171017.slow:
    1018     callSlowPath(slowPath)
     1018    callOpcodeSlowPath(slowPath)
    10191019    dispatch(advance)
    10201020end
     
    10531053    dispatch(3)
    10541054.opUnsignedSlow:
    1055     callSlowPath(_slow_path_unsigned)
     1055    callOpcodeSlowPath(_slow_path_unsigned)
    10561056    dispatch(3)
    10571057
     
    11061106_llint_op_instanceof_custom:
    11071107    traceExecution()
    1108     callSlowPath(_llint_slow_path_instanceof_custom)
     1108    callOpcodeSlowPath(_llint_slow_path_instanceof_custom)
    11091109    dispatch(5)
    11101110
     
    12541254
    12551255.opGetByIdSlow:
    1256     callSlowPath(_llint_slow_path_get_by_id)
     1256    callOpcodeSlowPath(_llint_slow_path_get_by_id)
    12571257    dispatch(9)
    12581258
     
    12741274
    12751275.opGetByIdProtoSlow:
    1276     callSlowPath(_llint_slow_path_get_by_id)
     1276    callOpcodeSlowPath(_llint_slow_path_get_by_id)
    12771277    dispatch(9)
    12781278
     
    12911291
    12921292.opGetByIdUnsetSlow:
    1293     callSlowPath(_llint_slow_path_get_by_id)
     1293    callOpcodeSlowPath(_llint_slow_path_get_by_id)
    12941294    dispatch(9)
    12951295
     
    13141314
    13151315.opGetArrayLengthSlow:
    1316     callSlowPath(_llint_slow_path_get_by_id)
     1316    callOpcodeSlowPath(_llint_slow_path_get_by_id)
    13171317    dispatch(9)
    13181318
     
    14531453
    14541454.opPutByIdSlow:
    1455     callSlowPath(_llint_slow_path_put_by_id)
     1455    callOpcodeSlowPath(_llint_slow_path_put_by_id)
    14561456    dispatch(9)
    14571457
     
    15901590
    15911591.opGetByValSlow:
    1592     callSlowPath(_llint_slow_path_get_by_val)
     1592    callOpcodeSlowPath(_llint_slow_path_get_by_val)
    15931593    dispatch(6)
    15941594
     
    16781678    storeb 1, ArrayProfile::m_outOfBounds[t0]
    16791679.opPutByValSlow:
    1680     callSlowPath(slowPath)
     1680    callOpcodeSlowPath(slowPath)
    16811681    dispatch(5)
    16821682end
     
    17061706
    17071707.slow:
    1708     callSlowPath(slow)
     1708    callOpcodeSlowPath(slow)
    17091709    dispatch(0)
    17101710end
     
    18051805
    18061806.slow:
    1807     callSlowPath(slowPath)
     1807    callOpcodeSlowPath(slowPath)
    18081808    dispatch(0)
    18091809end
     
    18341834
    18351835.opSwitchImmSlow:
    1836     callSlowPath(_llint_slow_path_switch_imm)
     1836    callOpcodeSlowPath(_llint_slow_path_switch_imm)
    18371837    dispatch(0)
    18381838
     
    18711871
    18721872.opSwitchOnRope:
    1873     callSlowPath(_llint_slow_path_switch_char)
     1873    callOpcodeSlowPath(_llint_slow_path_switch_char)
    18741874    dispatch(0)
    18751875
     
    19281928
    19291929.opToPrimitiveSlowCase:
    1930     callSlowPath(_slow_path_to_primitive)
     1930    callOpcodeSlowPath(_slow_path_to_primitive)
    19311931    dispatch(3)
    19321932
     
    19521952    rshiftp 3, PC
    19531953
    1954     callSlowPath(_llint_slow_path_check_if_exception_is_uncatchable_and_notify_profiler)
     1954    callOpcodeSlowPath(_llint_slow_path_check_if_exception_is_uncatchable_and_notify_profiler)
    19551955    bpeq r1, 0, .isCatchableException
    19561956    jmp _llint_throw_from_slow_path_trampoline
     
    21302130
    21312131.rDynamic:
    2132     callSlowPath(_slow_path_resolve_scope)
     2132    callOpcodeSlowPath(_slow_path_resolve_scope)
    21332133    dispatch(7)
    21342134
     
    22262226
    22272227.gDynamic:
    2228     callSlowPath(_llint_slow_path_get_from_scope)
     2228    callOpcodeSlowPath(_llint_slow_path_get_from_scope)
    22292229    dispatch(8)
    22302230
     
    23472347.pModuleVar:
    23482348    bineq t0, ModuleVar, .pDynamic
    2349     callSlowPath(_slow_path_throw_strict_mode_readonly_property_write_error)
     2349    callOpcodeSlowPath(_slow_path_throw_strict_mode_readonly_property_write_error)
    23502350    dispatch(7)
    23512351
    23522352.pDynamic:
    2353     callSlowPath(_llint_slow_path_put_to_scope)
     2353    callOpcodeSlowPath(_llint_slow_path_put_to_scope)
    23542354    dispatch(7)
    23552355
     
    24212421    loadp TypeProfilerLog::m_logEndPtr[t1], t1
    24222422    bpneq t2, t1, .opProfileTypeDone
    2423     callSlowPath(_slow_path_profile_type_clear_log)
     2423    callOpcodeSlowPath(_slow_path_profile_type_clear_log)
    24242424
    24252425.opProfileTypeDone:
     
    24622462    dispatch(2)
    24632463.opLogShadowChickenPrologueSlow:
    2464     callSlowPath(_llint_slow_path_log_shadow_chicken_prologue)
     2464    callOpcodeSlowPath(_llint_slow_path_log_shadow_chicken_prologue)
    24652465    dispatch(2)
    24662466
     
    24802480    dispatch(3)
    24812481.opLogShadowChickenTailSlow:
    2482     callSlowPath(_llint_slow_path_log_shadow_chicken_tail)
    2483     dispatch(3)
     2482    callOpcodeSlowPath(_llint_slow_path_log_shadow_chicken_tail)
     2483    dispatch(3)
Note: See TracChangeset for help on using the changeset viewer.