https://github.com/mozilla/gecko-dev
- HEAD
- refs/heads/FIREFOX_ESR_115_0_X_RELBRANCH
- refs/heads/FIREFOX_ESR_115_2_X_RELBRANCH
- refs/heads/FIREFOX_ESR_115_3_X_RELBRANCH
- refs/heads/FIREFOX_ESR_115_9_X_RELBRANCH
- refs/heads/FIREFOX_ESR_68_0_X_RELBRANCH
- refs/heads/FIREFOX_ESR_68_10_X_RELBRANCH
- refs/heads/FIREFOX_ESR_68_1_X_RELBRANCH
- refs/heads/FIREFOX_ESR_68_2_X_RELBRANCH
- refs/heads/FIREFOX_ESR_68_4_X_RELBRANCH
- refs/heads/FIREFOX_ESR_68_6_X_RELBRANCH
- refs/heads/FIREFOX_ESR_68_8_X_RELBRANCH
- refs/heads/FIREFOX_ESR_78_0_X_RELBRANCH
- refs/heads/FIREFOX_ESR_78_10_X_RELBRANCH
- refs/heads/FIREFOX_ESR_78_3_X_RELBRANCH
- refs/heads/FIREFOX_ESR_78_4_X_RELBRANCH
- refs/heads/FIREFOX_ESR_78_6_X_RELBRANCH
- refs/heads/FIREFOX_ESR_78_7_X_RELBRANCH
- refs/heads/FIREFOX_ESR_91_0_X_RELBRANCH
- refs/heads/FIREFOX_ESR_91_4_X_RELBRANCH
- refs/heads/FIREFOX_ESR_91_5_X_RELBRANCH
- refs/heads/FIREFOX_ESR_91_6_X_RELBRANCH
- refs/heads/FIREFOX_ESR_91_7_X_RELBRANCH
- refs/heads/FIREFOX_ESR_91_9_X_RELBRANCH
- refs/heads/GECKO1001_2012020805_RELBRANCH
- refs/heads/GECKO1002_2012021522_RELBRANCH
- refs/heads/GECKO100_2011122113_RELBRANCH
- refs/heads/GECKO100_2011122805_RELBRANCH
- refs/heads/GECKO100_2012010318_RELBRANCH
- refs/heads/GECKO100_2012010410_RELBRANCH
- refs/heads/GECKO100_2012011108_RELBRANCH
- refs/heads/GECKO100_2012011807_RELBRANCH
- refs/heads/GECKO100_2012012323_RELBRANCH
- refs/heads/GECKO100_2012012901_RELBRANCH
- refs/heads/GECKO110_2012020115_RELBRANCH
- refs/heads/GECKO110_2012020801_RELBRANCH
- refs/heads/GECKO110_2012021420_RELBRANCH
- refs/heads/GECKO110_2012021522_RELBRANCH
- refs/heads/GECKO110_2012022207_RELBRANCH
- refs/heads/GECKO110_2012022820_RELBRANCH
- refs/heads/GECKO110_2012030517_RELBRANCH
- refs/heads/GECKO110_2012030815_RELBRANCH
- refs/heads/GECKO110_2012030912_RELBRANCH
- refs/heads/GECKO110_2012031017_RELBRANCH
- refs/heads/GECKO110_2012031218_RELBRANCH
- refs/heads/GECKO120_2012031407_RELBRANCH
- refs/heads/GECKO120_2012031419_RELBRANCH
- refs/heads/GECKO120_2012032021_RELBRANCH
- refs/heads/GECKO120_2012032804_RELBRANCH
- refs/heads/GECKO120_2012040320_RELBRANCH
- refs/heads/GECKO120_2012041106_RELBRANCH
- refs/heads/GECKO120_2012041716_RELBRANCH
- refs/heads/GECKO120_2012042014_RELBRANCH
- refs/heads/GECKO1301_2012061411_RELBRANCH
- refs/heads/GECKO1302_2012062310_RELBRANCH
- refs/heads/GECKO130_2012042512_RELBRANCH
- refs/heads/GECKO130_2012050119_RELBRANCH
- refs/heads/GECKO130_2012050817_RELBRANCH
- refs/heads/GECKO130_2012051611_RELBRANCH
- refs/heads/GECKO130_2012052216_RELBRANCH
- refs/heads/GECKO130_2012052311_RELBRANCH
- refs/heads/GECKO130_2012052815_RELBRANCH
- refs/heads/GECKO130_2012053115_RELBRANCH
- refs/heads/GECKO130_2012060104_RELBRANCH
- refs/heads/GECKO1401_2012071313_RELBRANCH
- refs/heads/GECKO140_2012060421_RELBRANCH
- refs/heads/GECKO140_2012060511_RELBRANCH
- refs/heads/GECKO140_2012061213_RELBRANCH
- refs/heads/GECKO140_2012061216_RELBRANCH
- refs/heads/GECKO140_2012061918_RELBRANCH
- refs/heads/GECKO140_2012061920_RELBRANCH
- refs/heads/GECKO140_2012062401_RELBRANCH
- refs/heads/GECKO140_2012062805_RELBRANCH
- refs/heads/GECKO140_2012070408_RELBRANCH
- refs/heads/GECKO140_2012070409_RELBRANCH
- refs/heads/GECKO140_2012071012_RELBRANCH
- refs/heads/GECKO140_2012071119_RELBRANCH
- refs/heads/GECKO140_2012071314_RELBRANCH
- refs/heads/GECKO150_2012071710_RELBRANCH
- refs/heads/GECKO150_2012071711_RELBRANCH
- refs/heads/GECKO150_2012072419_RELBRANCH
- refs/heads/GECKO150_2012073114_RELBRANCH
- refs/heads/GECKO150_2012073115_RELBRANCH
- refs/heads/GECKO150_2012080812_RELBRANCH
- refs/heads/GECKO150_2012080818_RELBRANCH
- refs/heads/GECKO150_2012081422_RELBRANCH
- refs/heads/GECKO150_2012081508_RELBRANCH
- refs/heads/GECKO150_2012082116_RELBRANCH
- refs/heads/GECKO150_2012082118_RELBRANCH
- refs/heads/GECKO150_2012082415_RELBRANCH
- refs/heads/GECKO150_2012082417_RELBRANCH
- refs/heads/GECKO1601_2012101014_RELBRANCH
- refs/heads/GECKO1602_2012102407_RELBRANCH
- refs/heads/GECKO160_2012082808_RELBRANCH
- refs/heads/GECKO160_2012082817_RELBRANCH
- refs/heads/GECKO160_2012090412_RELBRANCH
- refs/heads/GECKO160_2012090515_RELBRANCH
- refs/heads/GECKO160_2012091123_RELBRANCH
- refs/heads/GECKO160_2012091906_RELBRANCH
- refs/heads/GECKO160_2012092515_RELBRANCH
- refs/heads/GECKO160_2012092520_RELBRANCH
- refs/heads/GECKO160_2012100207_RELBRANCH
- refs/heads/GECKO160_2012100209_RELBRANCH
- refs/heads/GECKO160_2012100513_RELBRANCH
- refs/heads/GECKO160_2012100515_RELBRANCH
- refs/heads/GECKO1701_2013010313_RELBRANCH
- refs/heads/GECKO170_2012100914_RELBRANCH
- refs/heads/GECKO170_2012101014_RELBRANCH
- refs/heads/GECKO170_2012101016_RELBRANCH
- refs/heads/GECKO170_2012101707_RELBRANCH
- refs/heads/GECKO170_2012102312_RELBRANCH
- refs/heads/GECKO170_2012103012_RELBRANCH
- refs/heads/GECKO170_2012103106_RELBRANCH
- refs/heads/GECKO170_2012110619_RELBRANCH
- refs/heads/GECKO170_2012111306_RELBRANCH
- refs/heads/GECKO170_2012111612_RELBRANCH
- refs/heads/GECKO170_2012111918_RELBRANCH
- refs/heads/GECKO1801_2013011610_RELBRANCH
- refs/heads/GECKO1802_2013020109_RELBRANCH
- refs/heads/GECKO180_2012112110_RELBRANCH
- refs/heads/GECKO180_2012112808_RELBRANCH
- refs/heads/GECKO180_2012112816_RELBRANCH
- refs/heads/GECKO180_2012120508_RELBRANCH
- refs/heads/GECKO180_2012121210_RELBRANCH
- refs/heads/GECKO180_2012121910_RELBRANCH
- refs/heads/GECKO180_2012122710_RELBRANCH
- refs/heads/GECKO180_2012123109_RELBRANCH
- refs/heads/GECKO180_2013010417_RELBRANCH
- refs/heads/GECKO1901_2013022619_RELBRANCH
- refs/heads/GECKO1902_2013030705_RELBRANCH
- refs/heads/GECKO190_2013010812_RELBRANCH
- refs/heads/GECKO190_2013010816_RELBRANCH
- refs/heads/GECKO190_2013010913_RELBRANCH
- refs/heads/GECKO190_2013011610_RELBRANCH
- refs/heads/GECKO190_2013011709_RELBRANCH
- refs/heads/GECKO190_2013012311_RELBRANCH
- refs/heads/GECKO190_2013013010_RELBRANCH
- refs/heads/GECKO190_2013020611_RELBRANCH
- refs/heads/GECKO190_2013021211_RELBRANCH
- refs/heads/GECKO190_2013021515_RELBRANCH
- refs/heads/GECKO2001_2013040922_RELBRANCH
- refs/heads/GECKO200_2013022008_RELBRANCH
- refs/heads/GECKO200_2013022013_RELBRANCH
- refs/heads/GECKO200_2013032617_RELBRANCH
- refs/heads/GECKO201_2011041321_RELBRANCH
- refs/heads/GECKO210_2013050704_RELBRANCH
- refs/heads/GECKO210_2013051114_RELBRANCH
- refs/heads/GECKO210_2013051217_RELBRANCH
- refs/heads/GECKO220_2013061806_RELBRANCH
- refs/heads/GECKO220_2013061915_RELBRANCH
- refs/heads/GECKO2301_2013081409_RELBRANCH
- refs/heads/GECKO2301_2013081518_RELBRANCH
- refs/heads/GECKO230_2013073013_RELBRANCH
- refs/heads/GECKO230_2013080122_RELBRANCH
- refs/heads/GECKO240_2013091018_RELBRANCH
- refs/heads/GECKO240esr_2013091022_RELBRANCH
- refs/heads/GECKO2411esr_2013111803_RELBRANCH
- refs/heads/GECKO2420esr_2013120417_RELBRANCH
- refs/heads/GECKO2420esr_2013120520_RELBRANCH
- refs/heads/GECKO2430esr_2014012816_RELBRANCH
- refs/heads/GECKO2430esr_2014013111_RELBRANCH
- refs/heads/GECKO2440esr_2014031511_RELBRANCH
- refs/heads/GECKO2450esr_2014042118_RELBRANCH
- refs/heads/GECKO2460esr_2014060313_RELBRANCH
- refs/heads/GECKO2460esr_2014060920_RELBRANCH
- refs/heads/GECKO2470esr_2014071418_RELBRANCH
- refs/heads/GECKO2480esr_2014082508_RELBRANCH
- refs/heads/GECKO2481esr_2014092322_RELBRANCH
- refs/heads/GECKO2501_2013111218_RELBRANCH
- refs/heads/GECKO250_2013102121_RELBRANCH
- refs/heads/GECKO250_2013102300_RELBRANCH
- refs/heads/GECKO250_2013102517_RELBRANCH
- refs/heads/GECKO260_2013120223_RELBRANCH
- refs/heads/GECKO260_2013120510_RELBRANCH
- refs/heads/GECKO2701_2014021215_RELBRANCH
- refs/heads/GECKO270_2014012722_RELBRANCH
- refs/heads/GECKO280_2014031020_RELBRANCH
- refs/heads/GECKO280_2014031500_RELBRANCH
- refs/heads/GECKO2901_2014050600_RELBRANCH
- refs/heads/GECKO2901_2014050617_RELBRANCH
- refs/heads/GECKO290_2014042200_RELBRANCH
- refs/heads/GECKO300_2014060316_RELBRANCH
- refs/heads/GECKO300_2014060520_RELBRANCH
- refs/heads/GECKO310_2014071417_RELBRANCH
- refs/heads/GECKO310_2014071621_RELBRANCH
- refs/heads/GECKO310esr_2014071418_RELBRANCH
- refs/heads/GECKO310esr_2014071715_RELBRANCH
- refs/heads/GECKO3110esr_2014082508_RELBRANCH
- refs/heads/GECKO3111esr_2014092321_RELBRANCH
- refs/heads/GECKO3120esr_2014100702_RELBRANCH
- refs/heads/GECKO3120esr_2014101105_RELBRANCH
- refs/heads/GECKO3120esr_2014101110_RELBRANCH
- refs/heads/GECKO3121esr_2014110314_RELBRANCH
- refs/heads/GECKO3130esr_2014112501_RELBRANCH
- refs/heads/GECKO3130esr_2014112505_RELBRANCH
- refs/heads/GECKO3140esr_2015010523_RELBRANCH
- refs/heads/GECKO3150esr_2015021614_RELBRANCH
- refs/heads/GECKO3150esr_2015021713_RELBRANCH
- refs/heads/GECKO3160esr_2015032414_RELBRANCH
- refs/heads/GECKO3160esr_2015032523_RELBRANCH
- refs/heads/GECKO3170esr_2015050415_RELBRANCH
- refs/heads/GECKO3170esr_2015050422_RELBRANCH
- refs/heads/GECKO3180esr_2015062417_RELBRANCH
- refs/heads/GECKO3201_2014091023_RELBRANCH
- refs/heads/GECKO3201_2014091117_RELBRANCH
- refs/heads/GECKO3202_2014091722_RELBRANCH
- refs/heads/GECKO3203_2014092320_RELBRANCH
- refs/heads/GECKO320_2014082522_RELBRANCH
- refs/heads/GECKO330_2014100710_RELBRANCH
- refs/heads/GECKO330_2014101104_RELBRANCH
- refs/heads/GECKO3311_2014111317_RELBRANCH
- refs/heads/GECKO331_2014102917_RELBRANCH
- refs/heads/GECKO331_2014103013_RELBRANCH
- refs/heads/GECKO331_2014110614_RELBRANCH
- refs/heads/GECKO3405_2014112606_RELBRANCH
- refs/heads/GECKO340_2014112423_RELBRANCH
- refs/heads/GECKO340_2014112520_RELBRANCH
- refs/heads/GECKO340_2014112606_RELBRANCH
- refs/heads/GECKO3501_2015012300_RELBRANCH
- refs/heads/GECKO350_2015010523_RELBRANCH
- refs/heads/GECKO350_2015010702_RELBRANCH
- refs/heads/GECKO350_2015010823_RELBRANCH
- refs/heads/GECKO3601_2015030416_RELBRANCH
- refs/heads/GECKO3601_2015030504_RELBRANCH
- refs/heads/GECKO3603_2015031922_RELBRANCH
- refs/heads/GECKO3604_2015032022_RELBRANCH
- refs/heads/GECKO360_2015021920_RELBRANCH
- refs/heads/GECKO360_2015022302_RELBRANCH
- refs/heads/GECKO3701_2015040222_RELBRANCH
- refs/heads/GECKO3702_2015041516_RELBRANCH
- refs/heads/GECKO370_2015032422_RELBRANCH
- refs/heads/GECKO370_2015032621_RELBRANCH
- refs/heads/GECKO3805_2015052119_RELBRANCH
- refs/heads/GECKO3805_2015052120_RELBRANCH
- refs/heads/GECKO3805_2015052516_RELBRANCH
- refs/heads/GECKO3806_2015060512_RELBRANCH
- refs/heads/GECKO380_2015050317_RELBRANCH
- refs/heads/GECKO380_2015050320_RELBRANCH
- refs/heads/GECKO380esr_2015050513_RELBRANCH
- refs/heads/GECKO3810esr_2015062417_RELBRANCH
- refs/heads/GECKO3810esr_2015070616_RELBRANCH
- refs/heads/GECKO3820esr_2015080322_RELBRANCH
- refs/heads/GECKO3820esr_2015080613_RELBRANCH
- refs/heads/GECKO3830esr_2015091419_RELBRANCH
- refs/heads/GECKO3830esr_2015091612_RELBRANCH
- refs/heads/GECKO3840esr_2015102712_RELBRANCH
- refs/heads/GECKO3840esr_2015102720_RELBRANCH
- refs/heads/GECKO3850esr_2015121010_RELBRANCH
- refs/heads/GECKO3850esr_2015121418_RELBRANCH
- refs/heads/GECKO3851esr_2015121812_RELBRANCH
- refs/heads/GECKO3852esr_2015122118_RELBRANCH
- refs/heads/GECKO3860esr_2016012100_RELBRANCH
- refs/heads/GECKO3870esr_2016030220_RELBRANCH
- refs/heads/GECKO3871esr_2016031517_RELBRANCH
- refs/heads/GECKO3880esr_2016042017_RELBRANCH
- refs/heads/GECKO390_2015062220_RELBRANCH
- refs/heads/GECKO390_2015062418_RELBRANCH
- refs/heads/GECKO390_2015062614_RELBRANCH
- refs/heads/GECKO390_2015063018_RELBRANCH
- refs/heads/GECKO4001_2015081122_RELBRANCH
- refs/heads/GECKO4002_2015081219_RELBRANCH
- refs/heads/GECKO4003_2015082605_RELBRANCH
- refs/heads/GECKO400_2015080313_RELBRANCH
- refs/heads/GECKO400_2015080415_RELBRANCH
- refs/heads/GECKO400_2015080613_RELBRANCH
- refs/heads/GECKO400_2015080618_RELBRANCH
- refs/heads/GECKO400_2015080711_RELBRANCH
- refs/heads/GECKO4101_2015092818_RELBRANCH
- refs/heads/GECKO4101_2015092917_RELBRANCH
- refs/heads/GECKO4102_2015101322_RELBRANCH
- refs/heads/GECKO4102_2015101417_RELBRANCH
- refs/heads/GECKO410_2015091421_RELBRANCH
- refs/heads/GECKO410_2015091623_RELBRANCH
- refs/heads/GECKO410_2015091718_RELBRANCH
- refs/heads/GECKO420_2015102619_RELBRANCH
- refs/heads/GECKO420_2015102918_RELBRANCH
- refs/heads/GECKO4301_2015121620_RELBRANCH
- refs/heads/GECKO4302_2015122116_RELBRANCH
- refs/heads/GECKO4303_2015122316_RELBRANCH
- refs/heads/GECKO4304_2016010417_RELBRANCH
- refs/heads/GECKO4304_2016010515_RELBRANCH
- refs/heads/GECKO4304_2016010519_RELBRANCH
- refs/heads/GECKO430_2015120812_RELBRANCH
- refs/heads/GECKO4401_2016020419_RELBRANCH
- refs/heads/GECKO4401_2016020518_RELBRANCH
- refs/heads/GECKO4402_2016020915_RELBRANCH
- refs/heads/GECKO4402_2016020917_RELBRANCH
- refs/heads/GECKO4402_2016021018_RELBRANCH
- refs/heads/GECKO440_2016011817_RELBRANCH
- refs/heads/GECKO440_2016012018_RELBRANCH
- refs/heads/GECKO440_2016012318_RELBRANCH
- refs/heads/GECKO4501_2016031518_RELBRANCH
- refs/heads/GECKO4501esr_2016031518_RELBRANCH
- refs/heads/GECKO4501esr_2016031618_RELBRANCH
- refs/heads/GECKO4502_2016040719_RELBRANCH
- refs/heads/GECKO4502esr_2016041116_RELBRANCH
- refs/heads/GECKO450_2016030103_RELBRANCH
- refs/heads/GECKO450_2016030316_RELBRANCH
- refs/heads/GECKO450esr_2016030316_RELBRANCH
- refs/heads/GECKO450esr_2016030414_RELBRANCH
- refs/heads/GECKO4510esr_2016042017_RELBRANCH
- refs/heads/GECKO4511esr_2016050218_RELBRANCH
- refs/heads/GECKO4520esr_2016060214_RELBRANCH
- refs/heads/GECKO501_2011070717_RELBRANCH
- refs/heads/GECKO50_2011051718_RELBRANCH
- refs/heads/GECKO50_2011052708_RELBRANCH
- refs/heads/GECKO50_2011060309_RELBRANCH
- refs/heads/GECKO50_2011060814_RELBRANCH
- refs/heads/GECKO50_2011061316_RELBRANCH
- refs/heads/GECKO50_2011061416_RELBRANCH
- refs/heads/GECKO50_2011061514_RELBRANCH
- refs/heads/GECKO601_2011083006_RELBRANCH
- refs/heads/GECKO602_2011083109_RELBRANCH
- refs/heads/GECKO60_2011070520_RELBRANCH
- refs/heads/GECKO60_2011071316_RELBRANCH
- refs/heads/GECKO60_2011072110_RELBRANCH
- refs/heads/GECKO60_2011072114_RELBRANCH
- refs/heads/GECKO60_2011072907_RELBRANCH
- refs/heads/GECKO60_2011080402_RELBRANCH
- refs/heads/GECKO60_2011081114_RELBRANCH
- refs/heads/GECKO701_2011092812_RELBRANCH
- refs/heads/GECKO70_2011081615_RELBRANCH
- refs/heads/GECKO70_2011082416_RELBRANCH
- refs/heads/GECKO70_2011083009_RELBRANCH
- refs/heads/GECKO70_2011083111_RELBRANCH
- refs/heads/GECKO70_2011090812_RELBRANCH
- refs/heads/GECKO70_2011091608_RELBRANCH
- refs/heads/GECKO70_2011092208_RELBRANCH
- refs/heads/GECKO80_2011092805_RELBRANCH
- refs/heads/GECKO80_2011100518_RELBRANCH
- refs/heads/GECKO80_2011101118_RELBRANCH
- refs/heads/GECKO80_2011101907_RELBRANCH
- refs/heads/GECKO80_2011102619_RELBRANCH
- refs/heads/GECKO80_2011103118_RELBRANCH
- refs/heads/GECKO80_2011110416_RELBRANCH
- refs/heads/GECKO901_2011122016_RELBRANCH
- refs/heads/GECKO90_2011110909_RELBRANCH
- refs/heads/GECKO90_2011110911_RELBRANCH
- refs/heads/GECKO90_2011111609_RELBRANCH
- refs/heads/GECKO90_2011112217_RELBRANCH
- refs/heads/GECKO90_2011113005_RELBRANCH
- refs/heads/GECKO90_2011120622_RELBRANCH
- refs/heads/GECKO90_2011121217_RELBRANCH
- refs/heads/GECKO90_2011121613_RELBRANCH
- refs/heads/MOBILE1001_2012020805_RELBRANCH
- refs/heads/MOBILE1002_2012021522_RELBRANCH
- refs/heads/MOBILE100_2011122112_RELBRANCH
- refs/heads/MOBILE100_2011122805_RELBRANCH
- refs/heads/MOBILE100_2012010318_RELBRANCH
- refs/heads/MOBILE100_2012010410_RELBRANCH
- refs/heads/MOBILE100_2012011108_RELBRANCH
- refs/heads/MOBILE100_2012011807_RELBRANCH
- refs/heads/MOBILE100_2012012323_RELBRANCH
- refs/heads/MOBILE100_2012012901_RELBRANCH
- refs/heads/MOBILE110_2012020115_RELBRANCH
- refs/heads/MOBILE110_2012020801_RELBRANCH
- refs/heads/MOBILE110_2012021420_RELBRANCH
- refs/heads/MOBILE110_2012021522_RELBRANCH
- refs/heads/MOBILE110_2012022207_RELBRANCH
- refs/heads/MOBILE110_2012022820_RELBRANCH
- refs/heads/MOBILE110_2012030517_RELBRANCH
- refs/heads/MOBILE120_2012031407_RELBRANCH
- refs/heads/MOBILE120_2012031419_RELBRANCH
- refs/heads/MOBILE120_2012032021_RELBRANCH
- refs/heads/MOBILE120_2012032804_RELBRANCH
- refs/heads/MOBILE120_2012040320_RELBRANCH
- refs/heads/MOBILE120_2012041106_RELBRANCH
- refs/heads/MOBILE120_2012041716_RELBRANCH
- refs/heads/MOBILE130_2012042512_RELBRANCH
- refs/heads/MOBILE130_2012042709_RELBRANCH
- refs/heads/MOBILE130_2012050119_RELBRANCH
- refs/heads/MOBILE130_2012050817_RELBRANCH
- refs/heads/MOBILE1401_2012071313_RELBRANCH
- refs/heads/MOBILE1401_2012071316_RELBRANCH
- refs/heads/MOBILE1402_2012080109_RELBRANCH
- refs/heads/MOBILE1402_2012080617_RELBRANCH
- refs/heads/MOBILE140_2012060523_RELBRANCH
- refs/heads/MOBILE140_2012061216_RELBRANCH
- refs/heads/MOBILE140_2012061918_RELBRANCH
- refs/heads/MOBILE140_2012062805_RELBRANCH
- refs/heads/MOBILE140_2012062810_RELBRANCH
- refs/heads/MOBILE140_2012070414_RELBRANCH
- refs/heads/MOBILE140_2012071012_RELBRANCH
- refs/heads/MOBILE1501_2012090514_RELBRANCH
- refs/heads/MOBILE1501_2012090620_RELBRANCH
- refs/heads/MOBILE150_2012071710_RELBRANCH
- refs/heads/MOBILE150_2012072419_RELBRANCH
- refs/heads/MOBILE150_2012073114_RELBRANCH
- refs/heads/MOBILE150_2012080812_RELBRANCH
- refs/heads/MOBILE150_2012081422_RELBRANCH
- refs/heads/MOBILE150_2012082116_RELBRANCH
- refs/heads/MOBILE150_2012082314_RELBRANCH
- refs/heads/MOBILE150_2012082415_RELBRANCH
- refs/heads/MOBILE1601_2012101014_RELBRANCH
- refs/heads/MOBILE1602_2012102407_RELBRANCH
- refs/heads/MOBILE160_2012082808_RELBRANCH
- refs/heads/MOBILE160_2012090412_RELBRANCH
- refs/heads/MOBILE160_2012091123_RELBRANCH
- refs/heads/MOBILE160_2012091906_RELBRANCH
- refs/heads/MOBILE160_2012092520_RELBRANCH
- refs/heads/MOBILE160_2012100207_RELBRANCH
- refs/heads/MOBILE160_2012100515_RELBRANCH
- refs/heads/MOBILE1701_2012112820_RELBRANCH
- refs/heads/MOBILE170_2012100914_RELBRANCH
- refs/heads/MOBILE170_2012101021_RELBRANCH
- refs/heads/MOBILE170_2012101707_RELBRANCH
- refs/heads/MOBILE170_2012102312_RELBRANCH
- refs/heads/MOBILE170_2012103106_RELBRANCH
- refs/heads/MOBILE170_2012110619_RELBRANCH
- refs/heads/MOBILE170_2012111306_RELBRANCH
- refs/heads/MOBILE170_2012111605_RELBRANCH
- refs/heads/MOBILE170_2012111611_RELBRANCH
- refs/heads/MOBILE1802_2013020621_RELBRANCH
- refs/heads/MOBILE180_2012112113_RELBRANCH
- refs/heads/MOBILE180_2012112808_RELBRANCH
- refs/heads/MOBILE180_2012120508_RELBRANCH
- refs/heads/MOBILE180_2012121210_RELBRANCH
- refs/heads/MOBILE180_2012121317_RELBRANCH
- refs/heads/MOBILE180_2012121910_RELBRANCH
- refs/heads/MOBILE180_2012122710_RELBRANCH
- refs/heads/MOBILE180_2012123109_RELBRANCH
- refs/heads/MOBILE180_2013010418_RELBRANCH
- refs/heads/MOBILE1901_2013030614_RELBRANCH
- refs/heads/MOBILE1902_2013030705_RELBRANCH
- refs/heads/MOBILE190_2013010812_RELBRANCH
- refs/heads/MOBILE190_2013010816_RELBRANCH
- refs/heads/MOBILE190_2013011610_RELBRANCH
- refs/heads/MOBILE190_2013012311_RELBRANCH
- refs/heads/MOBILE190_2013013010_RELBRANCH
- refs/heads/MOBILE190_2013020611_RELBRANCH
- refs/heads/MOBILE190_2013020621_RELBRANCH
- refs/heads/MOBILE190_2013021211_RELBRANCH
- refs/heads/MOBILE190_2013021515_RELBRANCH
- refs/heads/MOBILE2001_2013041018_RELBRANCH
- refs/heads/MOBILE200_2013022008_RELBRANCH
- refs/heads/MOBILE200_2013022119_RELBRANCH
- refs/heads/MOBILE200_2013022215_RELBRANCH
- refs/heads/MOBILE200_2013032617_RELBRANCH
- refs/heads/MOBILE210_2013050704_RELBRANCH
- refs/heads/MOBILE210_2013050901_RELBRANCH
- refs/heads/MOBILE220_2013061806_RELBRANCH
- refs/heads/MOBILE230_2013073014_RELBRANCH
- refs/heads/MOBILE240_2013091115_RELBRANCH
- refs/heads/MOBILE2501_2013111218_RELBRANCH
- refs/heads/MOBILE250_2013102121_RELBRANCH
- refs/heads/MOBILE250_2013102300_RELBRANCH
- refs/heads/MOBILE250_2013102517_RELBRANCH
- refs/heads/MOBILE2601_2013121917_RELBRANCH
- refs/heads/MOBILE2601_2013121920_RELBRANCH
- refs/heads/MOBILE260_2013120223_RELBRANCH
- refs/heads/MOBILE260_2013120510_RELBRANCH
- refs/heads/MOBILE270_2014012816_RELBRANCH
- refs/heads/MOBILE2801_2014032118_RELBRANCH
- refs/heads/MOBILE280_2014031500_RELBRANCH
- refs/heads/MOBILE2901_2014050600_RELBRANCH
- refs/heads/MOBILE290_2014042416_RELBRANCH
- refs/heads/MOBILE300_2014060520_RELBRANCH
- refs/heads/MOBILE310_2014071714_RELBRANCH
- refs/heads/MOBILE3201_2014090921_RELBRANCH
- refs/heads/MOBILE3203_2014092320_RELBRANCH
- refs/heads/MOBILE320_2014082615_RELBRANCH
- refs/heads/MOBILE330_2014100810_RELBRANCH
- refs/heads/MOBILE330_2014101104_RELBRANCH
- refs/heads/MOBILE331_2014110511_RELBRANCH
- refs/heads/MOBILE331_2014110613_RELBRANCH
- refs/heads/MOBILE3401_2014121722_RELBRANCH
- refs/heads/MOBILE3401_2014121819_RELBRANCH
- refs/heads/MOBILE340_2014112423_RELBRANCH
- refs/heads/MOBILE340_2014112520_RELBRANCH
- refs/heads/MOBILE340_2014112618_RELBRANCH
- refs/heads/MOBILE3501_2015020504_RELBRANCH
- refs/heads/MOBILE350_2015010823_RELBRANCH
- refs/heads/MOBILE3601_2015030417_RELBRANCH
- refs/heads/MOBILE3601_2015030509_RELBRANCH
- refs/heads/MOBILE3602_2015031211_RELBRANCH
- refs/heads/MOBILE3602_2015031403_RELBRANCH
- refs/heads/MOBILE3603_2015031922_RELBRANCH
- refs/heads/MOBILE3604_2015032022_RELBRANCH
- refs/heads/MOBILE360_2015021920_RELBRANCH
- refs/heads/MOBILE360_2015022513_RELBRANCH
- refs/heads/MOBILE3701_2015040222_RELBRANCH
- refs/heads/MOBILE3702_2015041320_RELBRANCH
- refs/heads/MOBILE370_2015032520_RELBRANCH
- refs/heads/MOBILE3805_2015052804_RELBRANCH
- refs/heads/MOBILE3901_2015070520_RELBRANCH
- refs/heads/MOBILE3901_2015070622_RELBRANCH
- refs/heads/MOBILE3902_2015071316_RELBRANCH
- refs/heads/MOBILE390_2015062418_RELBRANCH
- refs/heads/MOBILE390_2015062601_RELBRANCH
- refs/heads/MOBILE4003_2015082703_RELBRANCH
- refs/heads/MOBILE400_2015080510_RELBRANCH
- refs/heads/MOBILE4102_2015101322_RELBRANCH
- refs/heads/MOBILE4102_2015101417_RELBRANCH
- refs/heads/MOBILE410_2015091517_RELBRANCH
- refs/heads/MOBILE410_2015091623_RELBRANCH
- refs/heads/MOBILE410_2015091718_RELBRANCH
- refs/heads/MOBILE4201_2015111905_RELBRANCH
- refs/heads/MOBILE4202_2015120112_RELBRANCH
- refs/heads/MOBILE420_2015102816_RELBRANCH
- refs/heads/MOBILE420_2015102820_RELBRANCH
- refs/heads/MOBILE420_2015102905_RELBRANCH
- refs/heads/MOBILE4301_2015121519_RELBRANCH
- refs/heads/MOBILE430_2015121011_RELBRANCH
- refs/heads/MOBILE430_2015121419_RELBRANCH
- refs/heads/MOBILE4402_2016020915_RELBRANCH
- refs/heads/MOBILE4402_2016020917_RELBRANCH
- refs/heads/MOBILE4402_2016020922_RELBRANCH
- refs/heads/MOBILE4402_2016021011_RELBRANCH
- refs/heads/MOBILE440_2016012018_RELBRANCH
- refs/heads/MOBILE4501_2016031519_RELBRANCH
- refs/heads/MOBILE4502_2016040719_RELBRANCH
- refs/heads/MOBILE450_2016030216_RELBRANCH
- refs/heads/MOBILE450_2016030304_RELBRANCH
- refs/heads/MOBILE450_2016030316_RELBRANCH
- refs/heads/MOBILE4601_2016050218_RELBRANCH
- refs/heads/MOBILE460_2016042213_RELBRANCH
- refs/heads/MOBILE470_2016060220_RELBRANCH
- refs/heads/MOBILE470_2016060422_RELBRANCH
- refs/heads/MOBILE4803_2016090208_RELBRANCH
- refs/heads/MOBILE480_2016072616_RELBRANCH
- refs/heads/MOBILE4902_2016101815_RELBRANCH
- refs/heads/MOBILE4902_2016101919_RELBRANCH
- refs/heads/MOBILE490_2016090808_RELBRANCH
- refs/heads/MOBILE490_2016091217_RELBRANCH
- refs/heads/MOBILE490_2016091613_RELBRANCH
- refs/heads/MOBILE5001_2016112401_RELBRANCH
- refs/heads/MOBILE5002_2016112921_RELBRANCH
- refs/heads/MOBILE500_2016110523_RELBRANCH
- refs/heads/MOBILE5010_2016120721_RELBRANCH
- refs/heads/MOBILE5010_2016120821_RELBRANCH
- refs/heads/MOBILE5102_2017020604_RELBRANCH
- refs/heads/MOBILE5103_2017020816_RELBRANCH
- refs/heads/MOBILE5104_2017021320_RELBRANCH
- refs/heads/MOBILE510_2017011707_RELBRANCH
- refs/heads/MOBILE510_2017011818_RELBRANCH
- refs/heads/MOBILE510_2017011915_RELBRANCH
- refs/heads/MOBILE5201_2017031701_RELBRANCH
- refs/heads/MOBILE5202_2017032405_RELBRANCH
- refs/heads/MOBILE520_2017030210_RELBRANCH
- refs/heads/MOBILE520_2017030217_RELBRANCH
- refs/heads/MOBILE520_2017030305_RELBRANCH
- refs/heads/MOBILE5301_2017041915_RELBRANCH
- refs/heads/MOBILE601_2011083008_RELBRANCH
- refs/heads/MOBILE602_2011083111_RELBRANCH
- refs/heads/MOBILE60_2011071316_RELBRANCH
- refs/heads/MOBILE60_2011072110_RELBRANCH
- refs/heads/MOBILE60_2011072114_RELBRANCH
- refs/heads/MOBILE60_2011072907_RELBRANCH
- refs/heads/MOBILE60_2011080402_RELBRANCH
- refs/heads/MOBILE60_2011081016_RELBRANCH
- refs/heads/MOBILE60_2011081116_RELBRANCH
- refs/heads/MOBILE701_2011092812_RELBRANCH
- refs/heads/MOBILE70_2011081614_RELBRANCH
- refs/heads/MOBILE70_2011082416_RELBRANCH
- refs/heads/MOBILE70_2011083009_RELBRANCH
- refs/heads/MOBILE70_2011083111_RELBRANCH
- refs/heads/MOBILE70_2011090812_RELBRANCH
- refs/heads/MOBILE70_2011091608_RELBRANCH
- refs/heads/MOBILE70_2011092210_RELBRANCH
- refs/heads/MOBILE80_2011092805_RELBRANCH
- refs/heads/MOBILE80_2011100517_RELBRANCH
- refs/heads/MOBILE80_2011101117_RELBRANCH
- refs/heads/MOBILE80_2011101907_RELBRANCH
- refs/heads/MOBILE80_2011102618_RELBRANCH
- refs/heads/MOBILE80_2011103117_RELBRANCH
- refs/heads/MOBILE80_2011110415_RELBRANCH
- refs/heads/MOBILE90_2011110909_RELBRANCH
- refs/heads/MOBILE90_2011111608_RELBRANCH
- refs/heads/MOBILE90_2011112218_RELBRANCH
- refs/heads/MOBILE90_2011113006_RELBRANCH
- refs/heads/MOBILE90_2011120622_RELBRANCH
- refs/heads/MOBILE90_2011121217_RELBRANCH
- refs/heads/MOBILE90_2011121612_RELBRANCH
- refs/heads/aurora
- refs/heads/b2g-inbound
- refs/heads/b2g-ota
- refs/heads/b2g18
- refs/heads/b2g18_v1_0_0
- refs/heads/b2g18_v1_0_1
- refs/heads/b2g18_v1_1_0_hd
- refs/heads/b2g26_v1_2
- refs/heads/b2g26_v1_2f
- refs/heads/b2g28_v1_3
- refs/heads/b2g28_v1_3t
- refs/heads/b2g30_v1_4
- refs/heads/b2g32_v2_0
- refs/heads/b2g32_v2_0m
- refs/heads/b2g34_v2_1
- refs/heads/b2g34_v2_1s
- refs/heads/b2g37_v2_2
- refs/heads/b2g37_v2_2r
- refs/heads/b2g44_v2_5
- refs/heads/beta
- refs/heads/esr102
- refs/heads/esr115
- refs/heads/esr128
- refs/heads/esr17
- refs/heads/esr24
- refs/heads/esr31
- refs/heads/esr38
- refs/heads/esr45
- refs/heads/esr52
- refs/heads/esr60
- refs/heads/esr68
- refs/heads/esr78
- refs/heads/esr91
- refs/heads/fx-team
- refs/heads/inbound
- refs/heads/loop-ser
- refs/heads/master
- refs/heads/mozilla-b2g26_v1_2
- refs/heads/release
- refs/heads/renovate/configure
- refs/heads/tiling
- refs/tags/B2G_1_0_0_20130115070201
- refs/tags/B2G_1_0_0_20130125190500
- refs/tags/B2G_1_0_1_20130213094222
- refs/tags/B2G_1_0_1_20130213094222_BASE
- refs/tags/B2G_1_0_1_20130217163900
- refs/tags/B2G_1_1_0_hd_20130530182315
- refs/tags/B2G_1_1_0_hd_20130530182315_BASE
- refs/tags/B2G_1_1_0_hd_20140203_MERGEDAY
- refs/tags/B2G_1_1_0_hd_20140317_MERGEDAY
- refs/tags/B2G_1_1_0_hd_20140428_MERGEDAY
- refs/tags/B2G_1_1_20140203_MERGEDAY
- refs/tags/B2G_1_1_20140317_MERGEDAY
- refs/tags/B2G_1_1_20140428_MERGEDAY
- refs/tags/B2G_1_2_20140203_MERGEDAY
- refs/tags/B2G_1_2_20140317_MERGEDAY
- refs/tags/B2G_1_2_20140428_MERGEDAY
- refs/tags/B2G_1_3T_20140317_MERGEDAY
- refs/tags/B2G_1_3T_20140428_MERGEDAY
- refs/tags/B2G_1_3T_20140609_MERGEDAY
- refs/tags/B2G_1_3T_20140721_MERGEDAY
- refs/tags/B2G_1_3T_20140902_MERGEDAY
- refs/tags/B2G_1_3T_20141013_MERGEDAY
- refs/tags/B2G_1_3_20140203_MERGEDAY
- refs/tags/B2G_1_3_20140317_MERGEDAY
- refs/tags/B2G_1_3_20140428_MERGEDAY
- refs/tags/B2G_1_3_20140609_MERGEDAY
- refs/tags/B2G_1_3_20140721_MERGEDAY
- refs/tags/B2G_1_3_20140902_MERGEDAY
- refs/tags/B2G_1_4_20140317_MERGEDAY
- refs/tags/B2G_1_4_20140428_MERGEDAY
- refs/tags/B2G_1_4_20140609_MERGEDAY
- refs/tags/B2G_1_4_20140721_MERGEDAY
- refs/tags/B2G_1_4_20140902_MERGEDAY
- refs/tags/B2G_1_4_20141013_MERGEDAY
- refs/tags/B2G_1_4_20150112_MERGEDAY
- refs/tags/B2G_1_4_20150223_MERGEDAY
- refs/tags/B2G_1_4_20150330_MERGEDAY
- refs/tags/B2G_1_4_20150511_MERGEDAY
- refs/tags/B2G_2_0M_END
- refs/tags/B2G_2_0_20140609_MERGEDAY
- refs/tags/B2G_2_0_20140721_MERGEDAY
- refs/tags/B2G_2_0_20140902_MERGEDAY
- refs/tags/B2G_2_0_20141013_MERGEDAY
- refs/tags/B2G_2_0_20150112_MERGEDAY
- refs/tags/B2G_2_0_20150223_MERGEDAY
- refs/tags/B2G_2_0_20150511_MERGEDAY
- refs/tags/B2G_2_0_20150629_MERGEDAY
- refs/tags/B2G_2_0_END
- refs/tags/B2G_2_1_20140902_MERGEDAY
- refs/tags/B2G_2_1_20141013_MERGEDAY
- refs/tags/B2G_2_1_20150112_MERGEDAY
- refs/tags/B2G_2_1_20150223_MERGEDAY
- refs/tags/B2G_2_1_20150511_MERGEDAY
- refs/tags/B2G_2_1_20150629_MERGEDAY
- refs/tags/B2G_2_1_END
- refs/tags/B2G_2_1s_20150223_MERGEDAY
- refs/tags/B2G_2_1s_20150511_MERGEDAY
- refs/tags/B2G_2_1s_20150629_MERGEDAY
- refs/tags/B2G_2_1s_20150810_MERGEDAY
- refs/tags/B2G_2_1s_END
- refs/tags/B2G_2_2_20150223_MERGEDAY
- refs/tags/B2G_2_2_20150511_MERGEDAY
- refs/tags/B2G_2_2_20150629_MERGEDAY
- refs/tags/B2G_2_2_20150810_MERGEDAY
- refs/tags/B2G_2_2_20150921_MERGEDAY
- refs/tags/B2G_2_2_20151029_MERGEDAY
- refs/tags/B2G_2_2_20151214_MERGEDAY
- refs/tags/B2G_2_2r_20150810_MERGEDAY
- refs/tags/B2G_2_2r_20150921_MERGEDAY
- refs/tags/B2G_2_2r_20151029_MERGEDAY
- refs/tags/B2G_2_2r_20151214_MERGEDAY
- refs/tags/B2G_2_5_20151214_MERGEDAY
- refs/tags/B2G_2_5_20160125_MERGEDAY
- refs/tags/RELEASE_BASE_20110811
- refs/tags/RELEASE_BASE_20110922
- refs/tags/RELEASE_BASE_20111104
- refs/tags/RELEASE_BASE_20111216
- refs/tags/RELEASE_BASE_20120128
- refs/tags/RELEASE_BASE_20120308
- refs/tags/RELEASE_BASE_20120420
- refs/tags/RELEASE_BASE_20120531
- refs/tags/RELEASE_BASE_20120713
- refs/tags/RELEASE_BASE_20120824
- refs/tags/RELEASE_BASE_20121005
- refs/tags/RELEASE_BASE_20121114
- refs/tags/RELEASE_BASE_20130103
- refs/tags/RELEASE_BASE_20130214
- refs/tags/RELEASE_BASE_20130326
- refs/tags/RELEASE_BASE_20130506
- refs/tags/RELEASE_BASE_20130617
- refs/tags/RELEASE_BASE_20130729
- refs/tags/RELEASE_BASE_20130909
- refs/tags/RELEASE_BASE_20131021
- refs/tags/RELEASE_BASE_20131202
- refs/tags/RELEASE_BASE_20140127
- refs/tags/RELEASE_BASE_20140310
- refs/tags/RELEASE_BASE_20140421
- refs/tags/RELEASE_BASE_20140602
No releases to show
Raw File
Take a new snapshot of a software origin
If the archived software origin currently browsed is not synchronized with its upstream version (for instance when new commits have been issued), you can explicitly request Software Heritage to take a new snapshot of it.
Use the form below to proceed. Once a request has been submitted and accepted, it will be processed as soon as possible. You can then check its processing state by visiting this dedicated page.Processing "take a new snapshot" request ...
Permalinks
To reference or cite the objects present in the Software Heritage archive, permalinks based on SoftWare Hash IDentifiers (SWHIDs) must be used.
Select below a type of object currently browsed in order to display its associated SWHID and permalink.
Tip revision: 52b0c1f130625dcb557a7526de3c0f5a8dc495ae authored by seabld on 03 October 2012, 07:09:54 UTC
Added tag SEAMONKEY_2_13b6_RELEASE for changeset FIREFOX_16_0b6_BUILD1. CLOSED TREE a=release
Added tag SEAMONKEY_2_13b6_RELEASE for changeset FIREFOX_16_0b6_BUILD1. CLOSED TREE a=release
Tip revision: 52b0c1f
jsutil.cpp
/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 2 -*-
*
* This Source Code Form is subject to the terms of the Mozilla Public
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
/* Various JS utility functions. */
#include "mozilla/Assertions.h"
#include "mozilla/Attributes.h"
#include <stdio.h>
#include <stdlib.h>
#include "jstypes.h"
#include "jsutil.h"
#ifdef WIN32
# include "jswin.h"
#else
# include <signal.h>
#endif
#include "js/TemplateLib.h"
#include "js/Utility.h"
using namespace js;
#ifdef DEBUG
/* For JS_OOM_POSSIBLY_FAIL in jsutil.h. */
JS_PUBLIC_DATA(uint32_t) OOM_maxAllocations = UINT32_MAX;
JS_PUBLIC_DATA(uint32_t) OOM_counter = 0;
#endif
/*
* Checks the assumption that JS_FUNC_TO_DATA_PTR and JS_DATA_TO_FUNC_PTR
* macros uses to implement casts between function and data pointers.
*/
JS_STATIC_ASSERT(sizeof(void *) == sizeof(void (*)()));
JS_PUBLIC_API(void)
JS_Assert(const char *s, const char *file, int ln)
{
MOZ_ReportAssertionFailure(s, file, ln);
MOZ_CRASH();
}
#ifdef JS_BASIC_STATS
#include <math.h>
#include <string.h>
/*
* Histogram bins count occurrences of values <= the bin label, as follows:
*
* linear: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 or more
* 2**x: 0, 1, 2, 4, 8, 16, 32, 64, 128, 256, 512 or more
* 10**x: 0, 1, 10, 100, 1e3, 1e4, 1e5, 1e6, 1e7, 1e8, 1e9 or more
*
* We wish to count occurrences of 0 and 1 values separately, always.
*/
static uint32_t
BinToVal(unsigned logscale, unsigned bin)
{
JS_ASSERT(bin <= 10);
if (bin <= 1 || logscale == 0)
return bin;
--bin;
if (logscale == 2)
return JS_BIT(bin);
JS_ASSERT(logscale == 10);
return uint32_t(pow(10.0, (double) bin));
}
static unsigned
ValToBin(unsigned logscale, uint32_t val)
{
unsigned bin;
if (val <= 1)
return val;
bin = (logscale == 10)
? (unsigned) ceil(log10((double) val))
: (logscale == 2)
? (unsigned) JS_CEILING_LOG2W(val)
: val;
return JS_MIN(bin, 10);
}
void
JS_BasicStatsAccum(JSBasicStats *bs, uint32_t val)
{
unsigned oldscale, newscale, bin;
double mean;
++bs->num;
if (bs->max < val)
bs->max = val;
bs->sum += val;
bs->sqsum += (double)val * val;
oldscale = bs->logscale;
if (oldscale != 10) {
mean = bs->sum / bs->num;
if (bs->max > 16 && mean > 8) {
newscale = (bs->max > 1e6 && mean > 1000) ? 10 : 2;
if (newscale != oldscale) {
uint32_t newhist[11], newbin;
PodArrayZero(newhist);
for (bin = 0; bin <= 10; bin++) {
newbin = ValToBin(newscale, BinToVal(oldscale, bin));
newhist[newbin] += bs->hist[bin];
}
js_memcpy(bs->hist, newhist, sizeof bs->hist);
bs->logscale = newscale;
}
}
}
bin = ValToBin(bs->logscale, val);
++bs->hist[bin];
}
double
JS_MeanAndStdDev(uint32_t num, double sum, double sqsum, double *sigma)
{
double var;
if (num == 0 || sum == 0) {
*sigma = 0;
return 0;
}
var = num * sqsum - sum * sum;
if (var < 0 || num == 1)
var = 0;
else
var /= (double)num * (num - 1);
/* Windows says sqrt(0.0) is "-1.#J" (?!) so we must test. */
*sigma = (var != 0) ? sqrt(var) : 0;
return sum / num;
}
void
JS_DumpBasicStats(JSBasicStats *bs, const char *title, FILE *fp)
{
double mean, sigma;
mean = JS_MeanAndStdDevBS(bs, &sigma);
fprintf(fp, "\nmean %s %g, std. deviation %g, max %lu\n",
title, mean, sigma, (unsigned long) bs->max);
JS_DumpHistogram(bs, fp);
}
void
JS_DumpHistogram(JSBasicStats *bs, FILE *fp)
{
unsigned bin;
uint32_t cnt, max;
double sum, mean;
for (bin = 0, max = 0, sum = 0; bin <= 10; bin++) {
cnt = bs->hist[bin];
if (max < cnt)
max = cnt;
sum += cnt;
}
mean = sum / cnt;
for (bin = 0; bin <= 10; bin++) {
unsigned val = BinToVal(bs->logscale, bin);
unsigned end = (bin == 10) ? 0 : BinToVal(bs->logscale, bin + 1);
cnt = bs->hist[bin];
if (val + 1 == end)
fprintf(fp, " [%6u]", val);
else if (end != 0)
fprintf(fp, "[%6u, %6u]", val, end - 1);
else
fprintf(fp, "[%6u, +inf]", val);
fprintf(fp, ": %8u ", cnt);
if (cnt != 0) {
if (max > 1e6 && mean > 1e3)
cnt = uint32_t(ceil(log10((double) cnt)));
else if (max > 16 && mean > 8)
cnt = JS_CEILING_LOG2W(cnt);
for (unsigned i = 0; i < cnt; i++)
putc('*', fp);
}
putc('\n', fp);
}
}
#endif /* JS_BASIC_STATS */