# Global Metrics

path: .metrics.cyclomatic.average
old: 1.8333333333333333
new: 1.9090909090909092
path: .metrics.cyclomatic.sum
old: 11.0
new: 21.0
path: .metrics.halstead.n2
old: 13.0
new: 44.0
path: .metrics.halstead.bugs
old: 0.15121415850414496
new: 0.5097824475829503
path: .metrics.halstead.difficulty
old: 21.23076923076923
new: 24.022727272727273
path: .metrics.halstead.time
old: 536.782146243704
new: 3322.66605118205
path: .metrics.halstead.estimated_program_length
old: 91.12526634448808
new: 293.5179601288475
path: .metrics.halstead.effort
old: 9662.078632386672
new: 59807.988921276905
path: .metrics.halstead.vocabulary
old: 25.0
new: 58.0
path: .metrics.halstead.length
old: 98.0
new: 425.0
path: .metrics.halstead.level
old: 0.04710144927536232
new: 0.04162724692526017
path: .metrics.halstead.N1
old: 52.0
new: 274.0
path: .metrics.halstead.purity_ratio
old: 0.9298496565764088
new: 0.6906304944208177
path: .metrics.halstead.volume
old: 455.097906597923
new: 2489.6419229292183
path: .metrics.halstead.N2
old: 46.0
new: 151.0
path: .metrics.halstead.n1
old: 12.0
new: 14.0
path: .metrics.nom.total
old: 5.0
new: 10.0
path: .metrics.nom.functions
old: 5.0
new: 10.0
path: .metrics.cognitive.sum
old: 0.0
new: 10.0
path: .metrics.cognitive.average
old: 0.0
new: 1.0
path: .metrics.nargs.sum
old: 8.0
new: 30.0
path: .metrics.nargs.average
old: 1.6
new: 3.0
path: .metrics.loc.blank
old: 5.0
new: 11.0
path: .metrics.loc.sloc
old: 15.0
new: 89.0
path: .metrics.loc.lloc
old: 5.0
new: 22.0
path: .metrics.loc.cloc
old: 1.0
new: 5.0
path: .metrics.loc.ploc
old: 9.0
new: 73.0
path: .metrics.nexits.sum
old: 5.0
new: 0.0
path: .metrics.nexits.average
old: 1.0
new: 0.0
path: .metrics.mi.mi_original
old: 92.77292135141988
new: 52.79064111040056
path: .metrics.mi.mi_sei
old: 78.73311713934415
new: 20.548057971604713
path: .metrics.mi.mi_visual_studio
old: 54.253170380947296
new: 30.871719947602664

# Spaces Data

## Minimal test - lines (13, 21)

path: .spaces[0].metrics.mi.mi_original
old: 148.8709771864156
new: 108.06753241814418
path: .spaces[0].metrics.mi.mi_sei
old: 139.27820824593195
new: 80.4112808275601
path: .spaces[0].metrics.mi.mi_visual_studio
old: 87.05905098620795
new: 63.19738737903169
path: .spaces[0].metrics.loc.sloc
old: 1.0
new: 9.0
path: .spaces[0].metrics.loc.lloc
old: 1.0
new: 3.0
path: .spaces[0].metrics.loc.ploc
old: 1.0
new: 9.0
path: .spaces[0].metrics.nargs.average
old: 2.0
new: 3.0
path: .spaces[0].metrics.nargs.sum
old: 2.0
new: 3.0
path: .spaces[0].metrics.cognitive.average
old: 0.0
new: 1.0
path: .spaces[0].metrics.cognitive.sum
old: 0.0
new: 1.0
path: .spaces[0].metrics.nexits.average
old: 1.0
new: 0.0
path: .spaces[0].metrics.nexits.sum
old: 1.0
new: 0.0
path: .spaces[0].metrics.halstead.length
old: 18.0
new: 40.0
path: .spaces[0].metrics.halstead.bugs
old: 0.02489144793101068
new: 0.03595020276929278
path: .spaces[0].metrics.halstead.effort
old: 645.293250129808
new: 1120.0409428085838
path: .spaces[0].metrics.halstead.N2
old: 10.0
new: 17.0
path: .spaces[0].metrics.halstead.estimated_program_length
old: 32.0
new: 71.54887502163469
path: .spaces[0].metrics.halstead.N1
old: 8.0
new: 23.0
path: .spaces[0].metrics.halstead.n1
old: 8.0
new: 9.0
path: .spaces[0].metrics.halstead.volume
old: 64.5293250129808
new: 175.69269691115042
path: .spaces[0].metrics.halstead.vocabulary
old: 12.0
new: 21.0
path: .spaces[0].metrics.halstead.level
old: 0.1
new: 0.1568627450980392
path: .spaces[0].metrics.halstead.time
old: 35.84962500721156
new: 62.2244968226991
path: .spaces[0].metrics.halstead.purity_ratio
old: 1.7777777777777777
new: 1.7887218755408671
path: .spaces[0].metrics.halstead.difficulty
old: 10.0
new: 6.375
path: .spaces[0].metrics.halstead.n2
old: 4.0
new: 12.0

### Code

    void CycleCollectionNoteEdgeNameImpl(
        nsCycleCollectionTraversalCallback& aCallback, const char* aName,
        uint32_t aFlags) {
      nsAutoCString arrayEdgeName(aName);
      if (aFlags & CycleCollectionEdgeNameArrayFlag) {
        arrayEdgeName.AppendLiteral("[i]");
      }
      aCallback.NoteNextEdgeName(arrayEdgeName.get());
    }

## Minimal test - lines (41, 46)

path: .spaces[3].metrics.nargs.average
old: 1.0
new: 3.0
path: .spaces[3].metrics.nargs.sum
old: 1.0
new: 3.0
path: .spaces[3].metrics.cognitive.sum
old: 0.0
new: 1.0
path: .spaces[3].metrics.cognitive.average
old: 0.0
new: 1.0
path: .spaces[3].metrics.loc.ploc
old: 1.0
new: 6.0
path: .spaces[3].metrics.loc.lloc
old: 1.0
new: 2.0
path: .spaces[3].metrics.loc.sloc
old: 1.0
new: 6.0
path: .spaces[3].metrics.mi.mi_original
old: 150.36315950777282
new: 114.0615996477848
path: .spaces[3].metrics.mi.mi_sei
old: 141.4309722810562
new: 89.05889189451764
path: .spaces[3].metrics.mi.mi_visual_studio
old: 87.93167222676773
new: 66.70268985250573
path: .spaces[3].metrics.nexits.sum
old: 1.0
new: 0.0
path: .spaces[3].metrics.nexits.average
old: 1.0
new: 0.0
path: .spaces[3].metrics.halstead.N2
old: 5.0
new: 15.0
path: .spaces[3].metrics.halstead.vocabulary
old: 11.0
new: 22.0
path: .spaces[3].metrics.halstead.N1
old: 9.0
new: 29.0
path: .spaces[3].metrics.halstead.difficulty
old: 4.375
new: 9.0
path: .spaces[3].metrics.halstead.bugs
old: 0.011847297864723376
new: 0.04869995296435862
path: .spaces[3].metrics.halstead.n1
old: 7.0
new: 12.0
path: .spaces[3].metrics.halstead.length
old: 14.0
new: 44.0
path: .spaces[3].metrics.halstead.n2
old: 4.0
new: 10.0
path: .spaces[3].metrics.halstead.purity_ratio
old: 1.9751060324573737
new: 1.7327007035801705
path: .spaces[3].metrics.halstead.level
old: 0.22857142857142856
new: 0.1111111111111111
path: .spaces[3].metrics.halstead.volume
old: 48.43204266092216
new: 196.21499122004107
path: .spaces[3].metrics.halstead.effort
old: 211.89018664153448
new: 1765.9349209803695
path: .spaces[3].metrics.halstead.estimated_program_length
old: 27.651484454403228
new: 76.2388309575275
path: .spaces[3].metrics.halstead.time
old: 11.771677035640804
new: 98.10749561002054

### Code

    void TraceCallbackFunc::Trace(JS::Heap* aPtr, const char* aName,
                                  void* aClosure) const {
      if (aPtr->unbarrieredGet().isGCThing()) {
        mCallback(aPtr->unbarrieredGet().toGCCellPtr(), aName, aClosure);
      }
    }

## Minimal test - lines (23, 32)

path: .spaces[1].metrics.nargs.sum
old: 2.0
new: 3.0
path: .spaces[1].metrics.nargs.average
old: 2.0
new: 3.0
path: .spaces[1].metrics.halstead.vocabulary
old: 12.0
new: 24.0
path: .spaces[1].metrics.halstead.N2
old: 10.0
new: 19.0
path: .spaces[1].metrics.halstead.n2
old: 4.0
new: 11.0
path: .spaces[1].metrics.halstead.volume
old: 64.5293250129808
new: 233.83308753677895
path: .spaces[1].metrics.halstead.N1
old: 8.0
new: 32.0
path: .spaces[1].metrics.halstead.effort
old: 645.293250129808
new: 2625.3078464356545
path: .spaces[1].metrics.halstead.purity_ratio
old: 1.7777777777777777
new: 1.6894012576636168
path: .spaces[1].metrics.halstead.length
old: 18.0
new: 51.0
path: .spaces[1].metrics.halstead.level
old: 0.1
new: 0.08906882591093118
path: .spaces[1].metrics.halstead.estimated_program_length
old: 32.0
new: 86.15946414084446
path: .spaces[1].metrics.halstead.difficulty
old: 10.0
new: 11.227272727272728
path: .spaces[1].metrics.halstead.bugs
old: 0.02489144793101068
new: 0.06343548086412405
path: .spaces[1].metrics.halstead.n1
old: 8.0
new: 13.0
path: .spaces[1].metrics.halstead.time
old: 35.84962500721156
new: 145.85043591309193
path: .spaces[1].metrics.mi.mi_original
old: 148.8709771864156
new: 104.87416218299124
path: .spaces[1].metrics.mi.mi_sei
old: 139.27820824593195
new: 75.80422142558253
path: .spaces[1].metrics.mi.mi_visual_studio
old: 87.05905098620795
new: 61.32991940525803
path: .spaces[1].metrics.cognitive.average
old: 0.0
new: 1.0
path: .spaces[1].metrics.cognitive.sum
old: 0.0
new: 1.0
path: .spaces[1].metrics.nexits.average
old: 1.0
new: 0.0
path: .spaces[1].metrics.nexits.sum
old: 1.0
new: 0.0
path: .spaces[1].metrics.loc.ploc
old: 1.0
new: 10.0
path: .spaces[1].metrics.loc.lloc
old: 1.0
new: 3.0
path: .spaces[1].metrics.loc.sloc
old: 1.0
new: 10.0

### Code

    void nsCycleCollectionParticipant::NoteJSChild(JS::GCCellPtr aGCThing,
                                                   const char* aName,
                                                   void* aClosure) {
      nsCycleCollectionTraversalCallback* cb =
          static_cast(aClosure);
      NS_CYCLE_COLLECTION_NOTE_EDGE_NAME(*cb, aName);
      if (JS::IsCCTraceKind(aGCThing.kind())) {
        cb->NoteJSChild(aGCThing);
      }
    }

## Minimal test - lines (48, 53)

path: .spaces[4].metrics.cognitive.average
old: 0.0
new: 1.0
path: .spaces[4].metrics.cognitive.sum
old: 0.0
new: 1.0
path: .spaces[4].metrics.cyclomatic.average
old: 1.0
new: 2.0
path: .spaces[4].metrics.cyclomatic.sum
old: 1.0
new: 2.0
path: .spaces[4].metrics.halstead.estimated_program_length
old: 20.264662506490403
new: 66.58307281799108
path: .spaces[4].metrics.halstead.time
old: 8.4531333371795
new: 76.30070587270282
path: .spaces[4].metrics.halstead.n2
old: 3.0
new: 9.0
path: .spaces[4].metrics.halstead.length
old: 12.0
new: 40.0
path: .spaces[4].metrics.halstead.level
old: 0.25
new: 0.12587412587412586
path: .spaces[4].metrics.halstead.effort
old: 152.15640006923098
new: 1373.4127057086507
path: .spaces[4].metrics.halstead.n1
old: 6.0
new: 11.0
path: .spaces[4].metrics.halstead.bugs
old: 0.009500334461331307
new: 0.04118566846082715
path: .spaces[4].metrics.halstead.difficulty
old: 4.0
new: 7.944444444444445
path: .spaces[4].metrics.halstead.N2
old: 4.0
new: 13.0
path: .spaces[4].metrics.halstead.vocabulary
old: 9.0
new: 20.0
path: .spaces[4].metrics.halstead.volume
old: 38.039100017307746
new: 172.8771237954945
path: .spaces[4].metrics.halstead.N1
old: 8.0
new: 27.0
path: .spaces[4].metrics.halstead.purity_ratio
old: 1.6887218755408668
new: 1.664576820449777
path: .spaces[4].metrics.nexits.sum
old: 1.0
new: 0.0
path: .spaces[4].metrics.nexits.average
old: 1.0
new: 0.0
path: .spaces[4].metrics.nargs.sum
old: 1.0
new: 3.0
path: .spaces[4].metrics.nargs.average
old: 1.0
new: 3.0
path: .spaces[4].metrics.loc.sloc
old: 1.0
new: 6.0
path: .spaces[4].metrics.loc.lloc
old: 1.0
new: 2.0
path: .spaces[4].metrics.loc.ploc
old: 1.0
new: 6.0
path: .spaces[4].metrics.mi.mi_visual_studio
old: 88.80070420559018
new: 67.08776316268458
path: .spaces[4].metrics.mi.mi_sei
old: 143.47306171748977
new: 90.00887103152274
path: .spaces[4].metrics.mi.mi_original
old: 151.8492041915592
new: 114.72007500819063

### Code

    void TraceCallbackFunc::Trace(JS::Heap* aPtr, const char* aName,
                                  void* aClosure) const {
      if (*aPtr) {
        mCallback(JS::GCCellPtr(aPtr->unbarrieredGet()), aName, aClosure);
      }
    }

## Minimal test - lines (34, 39)

path: .spaces[2].metrics.loc.sloc
old: 2.0
new: 6.0
path: .spaces[2].metrics.loc.ploc
old: 2.0
new: 6.0
path: .spaces[2].metrics.loc.lloc
old: 1.0
new: 2.0
path: .spaces[2].metrics.cognitive.average
old: 0.0
new: 1.0
path: .spaces[2].metrics.cognitive.sum
old: 0.0
new: 1.0
path: .spaces[2].metrics.nexits.average
old: 1.0
new: 0.0
path: .spaces[2].metrics.nexits.sum
old: 1.0
new: 0.0
path: .spaces[2].metrics.mi.mi_visual_studio
old: 78.96003173670219
new: 66.63435134348192
path: .spaces[2].metrics.mi.mi_original
old: 135.02165426976077
new: 113.94474079735409
path: .spaces[2].metrics.mi.mi_sei
old: 119.39967861380858
new: 88.8903002105173
path: .spaces[2].metrics.cyclomatic.average
old: 3.0
new: 2.0
path: .spaces[2].metrics.cyclomatic.sum
old: 3.0
new: 2.0
path: .spaces[2].metrics.nargs.sum
old: 2.0
new: 3.0
path: .spaces[2].metrics.nargs.average
old: 2.0
new: 3.0
path: .spaces[2].metrics.halstead.N1
old: 13.0
new: 30.0
path: .spaces[2].metrics.halstead.effort
old: 875.8848945536441
new: 1806.0698055481053
path: .spaces[2].metrics.halstead.n2
old: 7.0
new: 10.0
path: .spaces[2].metrics.halstead.bugs
old: 0.03051477014956942
new: 0.04943506391040499
path: .spaces[2].metrics.halstead.n1
old: 10.0
new: 12.0
path: .spaces[2].metrics.halstead.purity_ratio
old: 2.114830616131074
new: 1.694196243500611
path: .spaces[2].metrics.halstead.level
old: 0.11666666666666668
new: 0.1111111111111111
path: .spaces[2].metrics.halstead.N2
old: 12.0
new: 15.0
path: .spaces[2].metrics.halstead.difficulty
old: 8.571428571428571
new: 9.0
path: .spaces[2].metrics.halstead.estimated_program_length
old: 52.87076540327685
new: 76.2388309575275
path: .spaces[2].metrics.halstead.volume
old: 102.18657103125848
new: 200.67442283867837
path: .spaces[2].metrics.halstead.vocabulary
old: 17.0
new: 22.0
path: .spaces[2].metrics.halstead.length
old: 25.0
new: 45.0
path: .spaces[2].metrics.halstead.time
old: 48.660271919646895
new: 100.33721141933918

### Code

    void TraceCallbackFunc::Trace(JS::Heap* aPtr, const char* aName,
                                  void* aClosure) const {
      if (aPtr->unbarrieredGet().isGCThing()) {
        mCallback(aPtr->unbarrieredGet().toGCCellPtr(), aName, aClosure);
      }
    }