Skip to content
  • 卜部昌平's avatar
    d74fa8e5
    reuse cc->call · d74fa8e5
    卜部昌平 authored
    I noticed that in case of cache misshit, re-calculated cc->me can
    be the same method entry than the pevious one.  That is an okay
    situation but can't we partially reuse the cache, because cc->call
    should still be valid then?
    
    One thing that has to be special-cased is when the method entry
    gets amended by some refinements.  That happens behind-the-scene
    of call cache mechanism.  We have to check if cc->me->def points to
    the previously saved one.
    
    Calculating -------------------------------------
                              trunk        ours
    vm2_poly_same_method     1.534M      2.025M i/s -      6.000M times in 3.910203s 2.962752s
    
    Comparison:
                 vm2_poly_same_method
                    ours:   2025143.9 i/s
                   trunk:   1534447.2 i/s - 1.32x  slower
    d74fa8e5
    reuse cc->call
    卜部昌平 authored
    I noticed that in case of cache misshit, re-calculated cc->me can
    be the same method entry than the pevious one.  That is an okay
    situation but can't we partially reuse the cache, because cc->call
    should still be valid then?
    
    One thing that has to be special-cased is when the method entry
    gets amended by some refinements.  That happens behind-the-scene
    of call cache mechanism.  We have to check if cc->me->def points to
    the previously saved one.
    
    Calculating -------------------------------------
                              trunk        ours
    vm2_poly_same_method     1.534M      2.025M i/s -      6.000M times in 3.910203s 2.962752s
    
    Comparison:
                 vm2_poly_same_method
                    ours:   2025143.9 i/s
                   trunk:   1534447.2 i/s - 1.32x  slower
Loading