....................................../////.===Shadow-Here===./////................................................ > < > < > < > < > < > < > < > < > < > < > < > < > < > < > < > < > < > < > < > < > < > < > < > < > < > < > < > < > < ------------------------------------------------------------------------------------------------------------------- /////////////////////////////////////////////////////////////////////////////////////////////////////////////////// RIFF¤ WEBPVP8 ˜ ðÑ *ôô>‘HŸK¥¤"§£±¨àð enü¹%½_F‘åè¿2ºQú³íªú`N¿­3ÿƒügµJžaÿ¯ÿ°~¼ÎùnúîÞÖô•òíôÁÉß®Sm¥Ü/ ‡ó˜f£Ùà<˜„xëJ¢Ù€SO3x<ªÔ©4¿+ç¶A`q@Ì“Úñè™ÍÿJÌ´ª-˜ÆtÊÛL]Ïq*‘Ý”ì#ŸÌÏãY]@ê`¿ /ªfkØB4·®£ó z—Üw¥Pxù–ÞLШKÇN¾AkÙTf½è'‰g gÆv›Øuh~ a˜Z— ïj*á¥t d£“uÒ ¨`K˜¹ßþ]b>˜]_ÏÔ6W—è2r4x•íÖ…"ƒÖNîä!¦å Ú}ýxGøÌ —@ ;ÆÚŠ=ɾ1ý8lªË¥ô ^yf®Œ¢u&2©nÙÇ›ñÂñŒ³ aPo['½»øFùà­+4ê“$!lövlüÞ=;N®3ð‚õ›DÉKòÞ>ÄÍ ¥ˆuߤ#ˆ$6ù™¥îЇy’ÍB¼ çxÛ;X"WL£R÷͝*ó-¶Zu}º.s¸sšXqù–DþÿvªhüïwyŸ ¯é³lÀ:KCûÄ£Ëá\…­ ~—ýóî ¼ûûÜTÓüÇy…ŽÆvc»¾×U ñ¸žþоP÷¦ó:Ò¨¨5;Ð#&#ÖúñläÿÁœ GxÉ­/ñ‡áQðìYÉtÒw޼GÔ´zàÒò ð*ëzƒ•4~H]Ø‹f ñÓÈñ`NåWçs'ÆÏW^ø¹!XžµmQ5ÃËoLœÎ: ÞËÍ¥J ù…î èo£ßPÎñ¶ž8.Œ]ʵ~5›ÙË-ù*8ÙÖß±~ ©¹rÓê‚j¶d¸{^Q'˜±Crß ÚH—#¥¥QlÀ×ëã‡DÜ«èî þ&Çæžî;ŽÏºò6ÒLÃXy&ZŒ'j‚¢Ù€IßÚù+–MGi‰*jE€‘JcÜ ÓÌ EÏÚj]o˜ Þr <¾U ûŪæÍ/šÝH¥˜b”¼ ÁñßX GP›ï2›4WŠÏà×£…íÓk†¦H·ÅíMh–*nó÷à]ÁjCº€b7<ب‹¨5車bp2:Á[UªM„QŒçiNMa#<5›áËó¸HýÊ"…×Éw¹¦ì2º–x<›»a±¸3Weü®FÝ⑱ö–î–³|LPÈ~çð~Çå‡|º kD¢µÏàÆAI %1À% ¹Ò – ”ϝS¦‰4&¶£°à Öý”û_Ò Áw°A«Å€?mÇÛgHÉ/8)á¾ÛìáöŽP í¨PŸNÙµº¦‡§Ùš"ÿ«>+ªÕ`Ê÷‡‚ß Õû˜þãÇ-PÍ.¾XV‘€ dÜ"þ4¹ ±Oú‘©t¥¦FªÄÃÄ•b‚znýu½—#cDs˜ÃiÑOˆñ×QO=*IAÊ,¶ŽZƒ;‡wøXè%EÐk:F±Ú” .Ѽ+Áu&Ç`."pÈÉw o&¿dE6‘’EqTuK@Ì¥ã™À(Êk(h‰,H}RÀIXÛš3µ1©_OqÚÒJAñ$ÊÙÜ;D3çŒ[þùœh¬Ã³™ö6ç†NY".Ú‰ï[ªŸŒ '²Ð öø_¨ÂÉ9ué¶³ÒŠõTàîMØ#û¯gN‡bÙ놚X„ö …ÉeüÌ^J ‹€.œ$Æ)βÄeæW#óüßĺŸ€ ÀzwV 9oä»f4V*uB «Ë†¹ì¯žR霓æHXa=&“I4K;¯ç‹h×·"UŠ~<•╪Vêª&ÍSÃÆÅ?ÔqÎ*mTM ˜›µwêd#[C¡©§‘D<©àb†–ÁœøvH/,í:¯( ²£|4-„Æövv„Yͼ™^Á$ˆ„¢Û[6yB.åH*V¨æ?$=˜Ñ€•ñ·­(VlŸ‘ nÀt8W÷´Bûba?q9ú¶Xƒl«ÿ\ù¶’þòUÐj/õ¢Ìµ³g$ƒÎR!¸»|Oߍë’BhîÚÑ¢ñåŒJ„®„£2Ð3•ô02Nt…!£Í]Ïc½Qÿ?ˆ<&ÃA¾Ú,JˆijÌ#5yz„‰Î|ÊŽ5QÏ:‹ÐaóVÔxW—CpeÏzÐïíçôÿÅ_[hãsÐ_/ŽTÝ?BîˆííV$<¿i>²F¬_Eß¿ †bÊŒº­ÿ®Z H“C}”¬,Mp ý/Bá£w>˜YV°aƒúh+cŠ- r/[%|üUMHäQ°X»|û/@|°¥Ð !BÔ Ç¢Ä©š+Õì D«7ìN¶ŽðÔ " ƶ’ÖçtA‰Û×}{tþz­¾GÍ›k¹OEJR$ Â׃ «ëÁ"oÉôž$oUK(Ä)Ãz³Ê-‹êN[Ò3Œñbï8P 4ƒ×q¢bo|?<ÛX¬òÄͰL–±›(™ûG?ýË©ÚÄ–ÂDØÐ_Ç¡ô ¾–ÄÏø ×e8Ë©$ÄF¹Å‹ì[©óìl:F¾f´‹‹Xì²ï®\¬ôùƒ ÿat¥óèÒùHß0äe‚;ü×h:ÆWðHž=Ã8骣"kœ'Y?³}Tûè€>?0l›e1Lòñ„aæKÆw…hÖŠùW…ÈÆÄ0ši·›[pcwËþñiêíY/~-Á5˜!¿†A›™Mÿþ(±“t@â“ö2­´TG5yé]çå僳 .·ÍïçÝ7UÚ±Ð/Nè»,_Ï ùdj7\ï Wì4›„»c¸àešg#ÒÊ⥭áØo5‘?ÌdÝô¯ ¹kzsƒ=´#ëÉK›Ø´±-¥eW?‡çßtòTã…$Ý+qÿ±ƒ÷_3Ô¥í÷:æ–ž<·Ö‡‰Å¢ š‡%Ô—utÌÈìðžgÖÀz²À—ï÷Óîäõ{K'´È÷³yaÏÁjƒô}ž§®æÊydÕÈë5¯èˆõvÕ©ã*çD„ “z„Ó‡^^xÂ3M§A´JG‚öï 3W'ˆ.OvXè¡ÊÕª?5º7†˜(˜Ç¶#çê’¶!ÌdZK§æ 0fãaN]òY³RV ™î$®K2R¨`W!1Ôó\;Ý ýB%qæK•&ÓÈe9È0êI±žeŸß -ú@žQr¦ ö4»M¼Áè¹µmw 9 EÆE_°2ó„ŸXKWÁ×Hóì^´²GѝF©óäR†¦‰ç"V»eØ<3ùd3ÿÚ¤Žú“Gi" —‘_ÙËÎ~Üö¯¥½Î»üŸEÚŽåmÞþí ;ÞólËΦMzA"Âf(´òá;Éï(/7½ûñÌ­cïÕçлþÝz¾-ÍvÑ“pH­–ðÓj$¸Äû¤‚‘ãUBË-n“2åPkS5&‹Â|+g^œ®Ì͆d!OïäîU«c;{Û!ÅŽ«ëZ9Ókóˆ]¯ƒ›né `ÇÒ+tÆš (ØKá¾—=3œ®•vuMñg²\ï Ec€ 05±d™‡×iÇ×›UúvÌ¢£Èþ¡ÕØô¶ßÎA"ß±#Ö²ˆÊŸ¦*Ä~ij|àø.-¼'»Ú¥£h ofº¦‡VsR=N½„Î v˜Z*SÌ{=jÑB‹tê…;’HžH¯8–îDù8ñ¢|Q•bÛçš–‹m³“ê¨ åÏ^m¬Žãþ©ïêO‡½6] µÆ„Ooòü ²x}N¦Ë3ïé¿»€›HA˜m%çÞ/¿í7Fø“‹léUk)É°Œµ8Q8›:ÀŠeT*šõ~ôڝG6 ¢}`ùH­–”¡k ‰P1>š†®9z11!X wKfmÁ¦xÑ,N1Q”–æB¶M…ÒÃv6SMˆhU¬ÊPŽï‘öj=·CŒ¯u¹ƒVIЃsx4’ömÛýcå¡¶7ßŠß 57^\wÒÐÆ k§h,Œý î«q^R½3]J¸ÇðN ‚çU¬ôº^Áì} ³f©Õœ§ˆã:FÄÈ‚é(€™?àýÓüè1Gô£¼éj‚OÅñ  #>×—ßtà 0G¥Åa뀐kßhc™À_ÉñÞ#±)GD" YîäË-ÿÙ̪ ¹™a¯´¢E\ÝÒö‚;™„ë]_ p8‰o¡ñ+^÷ 3‘'dT4œŽ ðVë½° :¬víÑ«£tßÚS-3¶“þ2 †üüʨòrš¹M{É_¤`Û¨0ìjœøJ‡:÷ÃáZ˜†@GP&œÑDGÏs¡þ¦þDGú‘1Yá9Ôþ¼ ûø…§÷8&–ÜÑnÄ_m®^üÆ`;ÉVÁJ£?â€-ßê}suÍ2sõA NÌúA磸‘îÿÚ»ƒìö·á¿±tÑÐ"Tÿü˜[@/äj¬€uüªìù¥Ý˜á8Ý´sõj 8@rˆð äþZÇD®ÿUÏ2ùôõrBzÆÏÞž>Ì™xœ“ wiÎ×7_… ¸ \#€MɁV¶¥üÕÿPÔ9Z‡ø§É8#H:ƒ5ÀÝå9ÍIŒ5åKÙŠ÷qÄ>1AÈøžj"µÂд/ªnÀ qªã}"iŸBå˜ÓÛŽ¦…&ݧ;G@—³b¯“•"´4í¨ôM¨åñC‹ïùÉó¯ÓsSH2Ý@ßáM‡ˆKÀªÛUeø/4\gnm¥‹ŸŒ qÄ b9ÞwÒNÏ_4Ég³ú=܆‚´ •â¥õeíþkjz>éÚyU«Íӝ݃6"8/ø{=Ô¢»G¥ äUw°W«,ô—¿ãㆅү¢³xŠUû™yŒ (øSópÐ 9\åTâ»—*oG$/×ÍT†Y¿1¤Þ¢_‡ ¼ „±ÍçèSaÓ 3ÛMÁBkxs‰’R/¡¤ˆÙçª(*õ„üXÌ´ƒ E§´¬EF"Ù”R/ÐNyÆÂ^°?™6¡œïJ·±$§?º>ÖüœcNÌù¯G ‹ñ2ЁBB„^·úìaz¨k:#¨Æ¨8LÎõލ£^§S&cŒÐU€ü(‡F±Š¼&P>8ÙÁ ‰ p5?0ÊÆƒZl¸aô š¼¡}gÿ¶zÆC²¹¬ÎÖG*HB¡O<º2#ñŒAƒ–¡B˜´É$¥›É:FÀÔx¾u?XÜÏÓvN©RS{2ʈãk9rmP¼Qq̳ è¼ÐFׄ^¡Öì fE“F4A…!ì/…¦Lƒ… … $%´¾yã@CI¬ á—3PþBÏNÿ<ý°4Ü ËÃ#ØÍ~âW«rEñw‹eùMMHß²`¬Öó½íf³:‹k˜¯÷}Z!ã¿<¥,\#öµÀ¯aÒNÆIé,Ћ–lŽ#Àæ9ÀÒS·I’½-Ïp Äz¤Š Â* ­íÄ9­< h>׍3ZkËU¹§˜ŒŠ±f­’¤º³Q ÏB?‹#µíÃ¥®@(Gs«†vI¥Mµ‹Á©e~2ú³ÁP4ìÕi‚²Ê^ö@-DþÓàlÜOÍ]n"µã:žpsŽ¢:! Aõ.ç~ÓBûH÷JCÌ]õVƒd «ú´QÙEA–¯¯Œ!.ˆˆëQ±ù œ·Ì!Õâ )ùL„ÅÀlÚè5@B…o´Æ¸XÓ&Û…O«˜”_#‡ƒ„ûÈt!¤ÁÏ›ÎÝŠ?c9 â\>lÓÁVÄÑ™£eØY]:fÝ–—ù+p{™ðè û³”g±OƒÚSù£áÁÊ„ä,ï7š²G ÕÌBk)~ÑiCµ|h#u¤¶îK¨² #²vݯGãeÖ϶ú…¾múÀ¶þÔñ‚Š9'^($¤§ò “š½{éúp÷J›ušS¹áªCÂubÃH9™D™/ZöØÁ‡¦ÝÙŸ·kð*_”.C‹{áXó€‡c¡c€§/šò/&éš÷,àéJþ‰X›fµ“C¨œ®r¬"kL‰Â_q…Z–.ÉL~O µ›zn‚¹À¦Öª7\àHµšÖ %»ÇníV[¥*Õ;ƒ#½¾HK-ÖIÊdÏEÚ#=o÷Óò³´Š: Ç?{¾+9›–‘OEáU·S€˜j"ÄaÜ ŒÛWt› á–c#a»pÔZÞdŽtWê=9éöÊ¢µ~ ë ;Öe‡Œ®:bî3±ýê¢wà¼îpêñ¹¾4 zc¾ðÖÿzdêŒÑÒŝÀ‰s6¤í³ÎÙB¿OZ”+F¤á‡3@Ñëäg©·Ž ˆèª<ù@É{&S„œÕúÀA)‰h:YÀ5^ÂÓŒ°õäU\ ùËÍû#²?Xe¬tu‰^zÒÔãë¼ÛWtEtû …‚g¶Úüâî*moGè¨7%u!]PhÏd™Ý%Îx: VÒ¦ôÊD3ÀŽKÛËãvÆî…N¯ä>Eró–ð`5 Œ%u5XkñÌ*NU%¶áœÊ:Qÿú»“úzyÏ6å-၇¾ ´ ÒÊ]y žO‘w2Äøæ…H’²f±ÎÇ.ª|¥'gîV•Ü .̘¯€šòü¤U~Ù†*¢!?ò wý,}´°ÔÞnïoKq5µb!áÓ3"vAßH¡³¡·G(ÐÎ0Îò¼MG!/ài®@—¬04*`…«é8ªøøló“ˆÊ”èù¤…ßÊoÿé'ËuÌÖ5×È¡§ˆˆfŽë9}hìâ_!!¯  B&Ëö¶‰ÀAÙNVŸ Wh›¸®XÑJì¨ú“¿÷3uj²˜¨ÍÎìë±aúŠÝå¯ð*Ó¨ôJ“yºØ)m°WýOè68†ŸÏ2—‰Ïüꪫٚ¥‹l1 ø ÏÄFjêµvÌbü¦èÝx:X±¢H=MÐß—,ˆÉÇ´(9ú¾^ÅÚ4¿m‡$âX‘å%(AlZo@½¨UOÌÕ”1ø¸jÎÀÃÃ_ µ‘Ü.œº¦Ut: Æï’!=¯uwû#,“pþÇúŒø(é@?³ü¥‘Mo §—s@Œ#)§ŒùkL}NOÆêA›¸~r½¼ÙA—HJ«eˆÖ´*¡ÓpÌŸö.m<-"³ûÈ$¬_6­åf£ïÚâj1y§ÕJ½@dÞÁr&Í\Z%D£Íñ·AZ Û³øüd/ªAi†/Й~  ‡âĮҮÏh§°b—›Û«mJžòG'[ÈYýŒ¦9psl ýÁ ®±f¦x,‰½tN ‚Xª9 ÙÖH.«Lo0×?͹m¡å†Ѽ+›2ƒF ±Ê8 7Hցϓ²Æ–m9…òŸï]Â1äN†VLâCˆU .ÿ‰Ts +ÅÎx(%¦u]6AF Š ØF鈄‘ |¢¶c±soŒ/t[a¾–û:s·`i햍ê›ËchÈ…8ßÀUÜewŒðNOƒõD%q#éû\9¤x¹&UE×G¥ Í—™$ð E6-‡¼!ýpãÔM˜ Âsìe¯ñµK¢Ç¡ùôléœ4Ö£”À Š®Ðc ^¨À}ÙËŸ§›ºê{ÊuÉC ×Sr€¤’fÉ*j!úÓ’Gsùìoîßîn%ò· àc Wp÷$¨˜)û»H ×8ŽÒ€Zj¤3ÀÙºY'Ql¦py{-6íÔCeiØp‘‡XÊîÆUߢ܂ž£Xé¼Y8þ©ëgñß}é.ÎógÒ„ÃØËø¯»™§Xýy M%@NŠ À(~áÐvu7&•,Ù˜ó€uP‡^^®=_E„jt’ 403WebShell
403Webshell
Server IP : 66.235.200.170  /  Your IP : 3.135.64.200
Web Server : Apache
System : Linux gator4410.hostgator.com 5.14.0-162.23.1.9991722448259.nf.el9.x86_64 #1 SMP PREEMPT_DYNAMIC Wed Jul 31 18:11:45 UTC 2024 x86_64
User : bmgxafte ( 1214)
PHP Version : 8.2.28
Disable Function : NONE
MySQL : OFF  |  cURL : ON  |  WGET : ON  |  Perl : ON  |  Python : OFF  |  Sudo : ON  |  Pkexec : ON
Directory :  /usr/share/emacs/27.2/lisp/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ Back ]     

Current File : /usr/share/emacs/27.2/lisp/profiler.elc
;ELC
;;; Compiled
;;; in Emacs version 27.2
;;; with all optimizations.

;;; This file uses dynamic docstrings, first added in Emacs 19.29.

;;; This file does not contain utf-8 non-ASCII characters,
;;; and so can be loaded in Emacs versions earlier than 23.

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;


(byte-code "\300\301!\210\302\303\304\305\306\307\310\311\312\313&	\207" [require cl-lib custom-declare-group profiler nil "Emacs profiler." :group lisp :version "24.3" :prefix "profiler-"] 10)
(defconst profiler-version "24.3")
(byte-code "\300\301\302\303\304DD\305\306\307\310\311&\207" [custom-declare-variable profiler-sampling-interval funcall function #[0 "\300\207" [1000000] 1] "Default sampling interval in nanoseconds." :type integer :group profiler] 8)
#@15 

(fn OBJECT)
(defalias 'profiler-ensure-string #[257 "\211;\203\207\2119\203\300!\207\211\247\203\301!\207\302\303\"\207" [symbol-name number-to-string format "%s"] 4 (#$ . 874)])
#@23 

(fn NUMBER DIVISOR)
(defalias 'profiler-format-percent #[514 "\300\301\302\303_\"\"\207" [format "%d%%" floor 100.0] 7 (#$ . 1070)])
#@54 Format NUMBER in human readable string.

(fn NUMBER)
(defalias 'profiler-format-number #[257 "\211\250\203V\211\300V\203V\301\302\303\"!T\304\246\305\306!\307\"\307\211:\203E@\262\300U\2034\211\310C\244\262\304\262\211C\244\262S\262A\262\202\311\312@\310=\203SA\202T\"\207\313!\207" [0 floor log 10 3 append number-to-string nil 44 apply string profiler-ensure-string] 9 (#$ . 1213)])
#@23 

(fn FMT &rest ARGS)
(defalias 'profiler-format #[385 "\300\211\211\211\300\211\211\211	:\203\304	@\262\211A\262\242\262	\211A\262\242\262@\262:\203\304@\262:\203B\301\302#\202g;\203P\303\"\202g9\203d\304!\203d!\202g\305!\262G\262W\203\213\211\306\307\310Z]\311\312%\210C\244\262\202\270\211\313\307Z]\314\"	\315\267\202\250P\202\262\211P\202\262\316\317\320#\205\262\300\262C\244\262	A\262\nA\262\202\n\301\321\"\207" [nil apply profiler-format format fboundp profiler-ensure-string put-text-property 0 2 invisible profiler make-string 32 #s(hash-table size 2 test eq rehash-size 1.5 rehash-threshold 0.8125 purecopy t data (left 156 right 162)) error "cl-ecase failed: %s, %s" (left right) concat] 19 (#$ . 1630)])
#@106 Format ENTRY in human readable string.  ENTRY would be a
function name of a function itself.

(fn ENTRY)
(defalias 'profiler-format-entry #[257 "\211\242\300>\203\301\302\303!\"\207\304!\203\301\305\303!\"\207\306!\204+\2119\204+\211;\2030\301\307\"\207\301\310\303!\"\207" [(closure lambda) format "#<lambda %#x>" sxhash byte-code-function-p "#<compiled %#x>" subrp "%s" "#<unknown %#x>"] 5 (#$ . 2433)])
#@14 

(fn ENTRY)
(defalias 'profiler-fixup-entry #[257 "\2119\203\207\300!\207" [profiler-format-entry] 3 (#$ . 2858)])
#@18 

(fn BACKTRACE)
(defalias 'profiler-fixup-backtrace #[257 "\300\301\302\303\"\"\207" [apply vector mapcar profiler-fixup-entry] 6 (#$ . 2983)])
#@57 Compare LOG1 with LOG2 and return diff.

(fn LOG1 LOG2)
(defalias 'profiler-compare-logs #[514 "\300\301\302\"\303\304\305\306\307\310!\311\"\312\313%\"\210\303\304\305\314\307\310\"\315\"\316\313%\"\210\211\207" [make-hash-table :test equal maphash make-byte-code 514 "\301\300#\207" vconcat vector [puthash] 6 "\n\n(fn BACKTRACE COUNT)" "\302\303\300\304#Z\301#\207" [puthash gethash 0] 8] 11 (#$ . 3135)])
#@12 

(fn LOG)
(defalias 'profiler-fixup-log #[257 "\300\301\302\"\303\304\305\306\307\310!\311\"\312\313%\"\210\211\207" [make-hash-table :test equal maphash make-byte-code 514 "\301\302!\300#\207" vconcat vector [puthash profiler-fixup-backtrace] 6 "\n\n(fn BACKTRACE COUNT)"] 9 (#$ . 3563)])
#@77 compiler-macro for inlining `profiler-profile-tag'.

(fn CL-WHOLE-ARG CL-X)
(defalias 'profiler-profile-tag--cmacro #[514 "\300\301\302\303\211\211&\207" [cl--defsubst-expand (cl-x) (cl-block profiler-profile-tag (progn (aref cl-x 0))) nil] 9 (#$ . 3865)])
(put 'profiler-profile-tag 'compiler-macro 'profiler-profile-tag--cmacro)
#@65 Access slot "tag" of `profiler-profile' struct CL-X.

(fn CL-X)
(defalias 'profiler-profile-tag #[257 "\211\300H\207" [0] 3 (#$ . 4205)])
(byte-code "\300\301\302\303#\300\207" [function-put profiler-profile-tag side-effect-free t] 4)
#@81 compiler-macro for inlining `profiler-profile-version'.

(fn CL-WHOLE-ARG CL-X)
(defalias 'profiler-profile-version--cmacro #[514 "\300\301\302\303\211\211&\207" [cl--defsubst-expand (cl-x) (cl-block profiler-profile-version (progn (aref cl-x 1))) nil] 9 (#$ . 4446)])
(put 'profiler-profile-version 'compiler-macro 'profiler-profile-version--cmacro)
#@69 Access slot "version" of `profiler-profile' struct CL-X.

(fn CL-X)
(defalias 'profiler-profile-version #[257 "\211\300H\207" [1] 3 (#$ . 4806)])
(byte-code "\300\301\302\303#\300\207" [function-put profiler-profile-version side-effect-free t] 4)
#@78 compiler-macro for inlining `profiler-profile-type'.

(fn CL-WHOLE-ARG CL-X)
(defalias 'profiler-profile-type--cmacro #[514 "\300\301\302\303\211\211&\207" [cl--defsubst-expand (cl-x) (cl-block profiler-profile-type (progn (aref cl-x 2))) nil] 9 (#$ . 5059)])
(put 'profiler-profile-type 'compiler-macro 'profiler-profile-type--cmacro)
#@66 Access slot "type" of `profiler-profile' struct CL-X.

(fn CL-X)
(defalias 'profiler-profile-type #[257 "\211\300H\207" [2] 3 (#$ . 5404)])
(byte-code "\300\301\302\303#\300\207" [function-put profiler-profile-type side-effect-free t] 4)
#@77 compiler-macro for inlining `profiler-profile-log'.

(fn CL-WHOLE-ARG CL-X)
(defalias 'profiler-profile-log--cmacro #[514 "\300\301\302\303\211\211&\207" [cl--defsubst-expand (cl-x) (cl-block profiler-profile-log (progn (aref cl-x 3))) nil] 9 (#$ . 5648)])
(put 'profiler-profile-log 'compiler-macro 'profiler-profile-log--cmacro)
#@65 Access slot "log" of `profiler-profile' struct CL-X.

(fn CL-X)
(defalias 'profiler-profile-log #[257 "\211\300H\207" [3] 3 (#$ . 5988)])
(byte-code "\300\301\302\303#\300\207" [function-put profiler-profile-log side-effect-free t] 4)
#@83 compiler-macro for inlining `profiler-profile-timestamp'.

(fn CL-WHOLE-ARG CL-X)
(defalias 'profiler-profile-timestamp--cmacro #[514 "\300\301\302\303\211\211&\207" [cl--defsubst-expand (cl-x) (cl-block profiler-profile-timestamp (progn (aref cl-x 4))) nil] 9 (#$ . 6229)])
(put 'profiler-profile-timestamp 'compiler-macro 'profiler-profile-timestamp--cmacro)
#@71 Access slot "timestamp" of `profiler-profile' struct CL-X.

(fn CL-X)
(defalias 'profiler-profile-timestamp #[257 "\211\300H\207" [4] 3 (#$ . 6599)])
(byte-code "\300\301\302\303#\300\207" [function-put profiler-profile-timestamp side-effect-free t] 4)
#@80 compiler-macro for inlining `profiler-profile-diff-p'.

(fn CL-WHOLE-ARG CL-X)
(defalias 'profiler-profile-diff-p--cmacro #[514 "\300\301\302\303\211\211&\207" [cl--defsubst-expand (cl-x) (cl-block profiler-profile-diff-p (progn (aref cl-x 5))) nil] 9 (#$ . 6858)])
(put 'profiler-profile-diff-p 'compiler-macro 'profiler-profile-diff-p--cmacro)
#@68 Access slot "diff-p" of `profiler-profile' struct CL-X.

(fn CL-X)
(defalias 'profiler-profile-diff-p #[257 "\211\300H\207" [5] 3 (#$ . 7213)])
(byte-code "\300\301\302\303#\304\305\306\"\207" [function-put profiler-profile-diff-p side-effect-free t defalias copy-profiler-profile copy-sequence] 4)
#@122 compiler-macro for inlining `profiler-make-profile'.

(fn CL-WHOLE &cl-quote &key TAG VERSION TYPE LOG TIMESTAMP DIFF-P)
(defalias 'profiler-make-profile--cmacro #[385 "\300\301\"\206\302A@\300\303\"\206\304A@\300\305\"A@\300\306\"A@\300\307\"A@\300\310\"A@\211\203Z\211@\311>\203B\211AA\262\202/\312>A@\203Q\313\262\202/\314\315@\"\210\202/\210\316\317\320\313\313&\207" [plist-member :tag (nil 'profiler-profile) :version (nil profiler-version) :type :log :timestamp :diff-p (:tag :version :type :log :timestamp :diff-p :allow-other-keys) :allow-other-keys nil error "Keyword argument %s not one of (:tag :version :type :log :timestamp :diff-p)" cl--defsubst-expand (tag version type log timestamp diff-p) (cl-block profiler-make-profile (vector tag version type log timestamp diff-p))] 20 (#$ . 7519)])
(put 'profiler-make-profile 'compiler-macro 'profiler-make-profile--cmacro)
#@102 Constructor for objects of type `profiler-profile'.

(fn &key TAG VERSION TYPE LOG TIMESTAMP DIFF-P)
(defalias 'profiler-make-profile #[128 "\301\302\"\206\303A@\301\304\"\206\305DA@\301\306\"A@\301\307\"A@\301\310\"A@\301\311\"A@\211\203\\\211@\312>\203D\211AA\262\2021\313>A@\203S\305\262\2021\314\315@\"\210\2021\210\316&\207" [profiler-version plist-member :tag (nil profiler-profile) :version nil :type :log :timestamp :diff-p (:tag :version :type :log :timestamp :diff-p :allow-other-keys) :allow-other-keys error "Keyword argument %s not one of (:tag :version :type :log :timestamp :diff-p)" vector] 14 (#$ . 8447)])
(byte-code "\300\301\302\303#\304\305\306\211\307\306\310\311\305\306&	\207" [function-put profiler-make-profile side-effect-free t cl-struct-define profiler-profile nil vector ((tag 'profiler-profile) (version profiler-version) (type) (log) (timestamp) (diff-p)) cl-struct-profiler-profile-tags] 11)
#@73 Compare PROFILE1 with PROFILE2 and return diff.

(fn PROFILE1 PROFILE2)
(defalias 'profiler-compare-profiles #[514 "\300H\300H=\204\301\302!\210\303\304\300H\305\306 \307\310\311\312\n\313H\n\313H\"&\207" [2 error "Can't compare different type of profiles" profiler-make-profile :type :timestamp current-time :diff-p t :log profiler-compare-logs 3] 14 (#$ . 9416)])
#@80 Fixup PROFILE so that the profile could be serialized into file.

(fn PROFILE)
(defalias 'profiler-fixup-profile #[257 "\300\301\302H\303\304H\305\306H\307\310	\311H!&\207" [profiler-make-profile :type 2 :timestamp 4 :diff-p 5 :log profiler-fixup-log 3] 12 (#$ . 9796)])
#@76 Write PROFILE into file FILENAME.

(fn PROFILE FILENAME &optional CONFIRM)
(defalias 'profiler-write-profile #[770 "\302\303!r\211q\210\304\305\306\307\310!\311\"\312$\216\313\211\314\315!p\"\210*\316\"*\207" [print-length print-level generate-new-buffer " *temp*" make-byte-code 0 "\301\300!\205	\302\300!\207" vconcat vector [buffer-name kill-buffer] 2 nil print profiler-fixup-profile write-file] 10 (#$ . 10079)])
#@49 Read profile from file FILENAME.

(fn FILENAME)
(defalias 'profiler-read-profile #[257 "\300\301!r\211q\210\302\303\304\305\306!\307\"\310$\216\311!\210eb\210\312p!*\207" [generate-new-buffer " *temp*" make-byte-code 0 "\301\300!\205	\302\300!\207" vconcat vector [buffer-name kill-buffer] 2 insert-file-contents read] 8 (#$ . 10510)])
#@142 Return non-nil if the profiler is running.
Optional argument MODE means only check for the specified mode (cpu or mem).

(fn &optional MODE)
(defalias 'profiler-running-p #[256 "\211\300\267\202\301\302!\205\302 \207\303 \207\304\305!\206\304\306!\207" [#s(hash-table size 2 test eq rehash-size 1.5 rehash-threshold 0.8125 purecopy t data (cpu 6 mem 15)) fboundp profiler-cpu-running-p profiler-memory-running-p profiler-running-p cpu mem] 3 (#$ . 10856)])
(defvar profiler-cpu-log nil)
(defvar profiler-memory-log nil)
#@21 Return CPU profile.
(defalias 'profiler-cpu-profile #[0 "\302\303\304	\305 \306&\207" [profiler-version profiler-cpu-log vector profiler-profile cpu current-time nil] 7 (#$ . 11388)])
#@24 Return memory profile.
(defalias 'profiler-memory-profile #[0 "\302\303\304	\305 \306&\207" [profiler-version profiler-memory-log vector profiler-profile memory current-time nil] 7 (#$ . 11580)])
#@76 compiler-macro for inlining `profiler-calltree-p'.

(fn CL-WHOLE-ARG CL-X)
(defalias 'profiler-calltree-p--cmacro #[514 "\300\301\302\303\211\211&\207" [cl--defsubst-expand (cl-x) (cl-block profiler-calltree-p (and (memq (type-of cl-x) cl-struct-profiler-calltree-tags) t)) nil] 9 (#$ . 11784)])
(put 'profiler-calltree-p 'compiler-macro 'profiler-calltree-p--cmacro)
#@13 

(fn CL-X)
(defalias 'profiler-calltree-p #[257 "\301!>\205	\302\207" [cl-struct-profiler-calltree-tags type-of t] 3 (#$ . 12161)])
(byte-code "\300\301\302\303#\304\305\306\301#\207" [function-put profiler-calltree-p side-effect-free error-free put profiler-calltree cl-deftype-satisfies] 5)
#@80 compiler-macro for inlining `profiler-calltree-entry'.

(fn CL-WHOLE-ARG CL-X)
(defalias 'profiler-calltree-entry--cmacro #[514 "\300\301\302\303\211\211&\207" [cl--defsubst-expand (cl-x) (cl-block profiler-calltree-entry (progn (or (profiler-calltree-p cl-x) (signal 'wrong-type-argument (list 'profiler-calltree cl-x))) (aref cl-x 1))) nil] 9 (#$ . 12464)])
(put 'profiler-calltree-entry 'compiler-macro 'profiler-calltree-entry--cmacro)
#@68 Access slot "entry" of `profiler-calltree' struct CL-X.

(fn CL-X)
(defalias 'profiler-calltree-entry #[257 "\301!>\204\302\303\304D\"\210\211\305H\207" [cl-struct-profiler-calltree-tags type-of signal wrong-type-argument profiler-calltree 1] 5 (#$ . 12913)])
(byte-code "\300\301\302\303#\300\207" [function-put profiler-calltree-entry side-effect-free t] 4)
#@80 compiler-macro for inlining `profiler-calltree-count'.

(fn CL-WHOLE-ARG CL-X)
(defalias 'profiler-calltree-count--cmacro #[514 "\300\301\302\303\211\211&\207" [cl--defsubst-expand (cl-x) (cl-block profiler-calltree-count (progn (or (profiler-calltree-p cl-x) (signal 'wrong-type-argument (list 'profiler-calltree cl-x))) (aref cl-x 2))) nil] 9 (#$ . 13284)])
(put 'profiler-calltree-count 'compiler-macro 'profiler-calltree-count--cmacro)
#@68 Access slot "count" of `profiler-calltree' struct CL-X.

(fn CL-X)
(defalias 'profiler-calltree-count #[257 "\301!>\204\302\303\304D\"\210\211\305H\207" [cl-struct-profiler-calltree-tags type-of signal wrong-type-argument profiler-calltree 2] 5 (#$ . 13733)])
(byte-code "\300\301\302\303#\300\207" [function-put profiler-calltree-count side-effect-free t] 4)
#@88 compiler-macro for inlining `profiler-calltree-count-percent'.

(fn CL-WHOLE-ARG CL-X)
(defalias 'profiler-calltree-count-percent--cmacro #[514 "\300\301\302\303\211\211&\207" [cl--defsubst-expand (cl-x) (cl-block profiler-calltree-count-percent (progn (or (profiler-calltree-p cl-x) (signal 'wrong-type-argument (list 'profiler-calltree cl-x))) (aref cl-x 3))) nil] 9 (#$ . 14104)])
(put 'profiler-calltree-count-percent 'compiler-macro 'profiler-calltree-count-percent--cmacro)
#@76 Access slot "count-percent" of `profiler-calltree' struct CL-X.

(fn CL-X)
(defalias 'profiler-calltree-count-percent #[257 "\301!>\204\302\303\304D\"\210\211\305H\207" [cl-struct-profiler-calltree-tags type-of signal wrong-type-argument profiler-calltree 3] 5 (#$ . 14593)])
(byte-code "\300\301\302\303#\300\207" [function-put profiler-calltree-count-percent side-effect-free t] 4)
#@81 compiler-macro for inlining `profiler-calltree-parent'.

(fn CL-WHOLE-ARG CL-X)
(defalias 'profiler-calltree-parent--cmacro #[514 "\300\301\302\303\211\211&\207" [cl--defsubst-expand (cl-x) (cl-block profiler-calltree-parent (progn (or (profiler-calltree-p cl-x) (signal 'wrong-type-argument (list 'profiler-calltree cl-x))) (aref cl-x 4))) nil] 9 (#$ . 14988)])
(put 'profiler-calltree-parent 'compiler-macro 'profiler-calltree-parent--cmacro)
#@69 Access slot "parent" of `profiler-calltree' struct CL-X.

(fn CL-X)
(defalias 'profiler-calltree-parent #[257 "\301!>\204\302\303\304D\"\210\211\305H\207" [cl-struct-profiler-calltree-tags type-of signal wrong-type-argument profiler-calltree 4] 5 (#$ . 15442)])
(byte-code "\300\301\302\303#\300\207" [function-put profiler-calltree-parent side-effect-free t] 4)
#@83 compiler-macro for inlining `profiler-calltree-children'.

(fn CL-WHOLE-ARG CL-X)
(defalias 'profiler-calltree-children--cmacro #[514 "\300\301\302\303\211\211&\207" [cl--defsubst-expand (cl-x) (cl-block profiler-calltree-children (progn (or (profiler-calltree-p cl-x) (signal 'wrong-type-argument (list 'profiler-calltree cl-x))) (aref cl-x 5))) nil] 9 (#$ . 15816)])
(put 'profiler-calltree-children 'compiler-macro 'profiler-calltree-children--cmacro)
#@71 Access slot "children" of `profiler-calltree' struct CL-X.

(fn CL-X)
(defalias 'profiler-calltree-children #[257 "\301!>\204\302\303\304D\"\210\211\305H\207" [cl-struct-profiler-calltree-tags type-of signal wrong-type-argument profiler-calltree 5] 5 (#$ . 16280)])
(byte-code "\300\301\302\303#\304\305\306\"\207" [function-put profiler-calltree-children side-effect-free t defalias copy-profiler-calltree copy-sequence] 4)
#@127 compiler-macro for inlining `profiler-make-calltree'.

(fn CL-WHOLE &cl-quote &key ENTRY COUNT COUNT-PERCENT PARENT CHILDREN)
(defalias 'profiler-make-calltree--cmacro #[385 "\300\301\"A@\300\302\"\206\303A@\300\304\"\206\305A@\300\306\"A@\300\307\"A@\211\203R\211@\310>\203:\211AA\262\202'\311>A@\203I\312\262\202'\313\314@\"\210\202'\210\315\316\317\312\n\312\n\n\n\n\n&\n\207" [plist-member :entry :count (nil 0) :count-percent (nil "") :parent :children (:entry :count :count-percent :parent :children :allow-other-keys) :allow-other-keys nil error "Keyword argument %s not one of (:entry :count :count-percent :parent :children)" cl--defsubst-expand (entry count count-percent parent children) (cl-block profiler-make-calltree (record 'profiler-calltree entry count count-percent parent children))] 18 (#$ . 16717)])
(put 'profiler-make-calltree 'compiler-macro 'profiler-make-calltree--cmacro)
#@107 Constructor for objects of type `profiler-calltree'.

(fn &key ENTRY COUNT COUNT-PERCENT PARENT CHILDREN)
(defalias 'profiler-make-calltree #[128 "\300\301\"A@\300\302\"\206\303A@\300\304\"\206\305A@\300\306\"A@\300\307\"A@\211\203R\211@\310>\203:\211AA\262\202'\311>A@\203I\312\262\202'\313\314@\"\210\202'\210\315\316&\207" [plist-member :entry :count (nil 0) :count-percent (nil "") :parent :children (:entry :count :count-percent :parent :children :allow-other-keys) :allow-other-keys nil error "Keyword argument %s not one of (:entry :count :count-percent :parent :children)" record profiler-calltree] 13 (#$ . 17651)])
(byte-code "\300\301\302\303#\304\305\306\307\310\306\311\312\305\303&	\207" [function-put profiler-make-calltree side-effect-free t cl-struct-define profiler-calltree nil cl-structure-object record ((cl-tag-slot) (entry) (count 0) (count-percent "") (parent) (children)) cl-struct-profiler-calltree-tags] 11)
#@13 

(fn TREE)
(defalias 'profiler-calltree-leaf-p #[257 "\301!>\204\302\303\304D\"\210\211\305H?\207" [cl-struct-profiler-calltree-tags type-of signal wrong-type-argument profiler-calltree 5] 5 (#$ . 18624)])
#@12 

(fn A B)
(defalias 'profiler-calltree-count< #[514 "\301!>\204\302\303\304D\"\210\305H\306=\203\306\207\301!>\204(\302\303\304D\"\210\211\305H\306=\2032\307\207\301!>\204A\302\303\304D\"\210\310H\301!>\204S\302\303\304D\"\210\310HW\207" [cl-struct-profiler-calltree-tags type-of signal wrong-type-argument profiler-calltree 1 t nil 2] 7 (#$ . 18842)])
#@12 

(fn A B)
(defalias 'profiler-calltree-count> #[514 "\300\"?\207" [profiler-calltree-count<] 5 (#$ . 19225)])
#@13 

(fn TREE)
(defalias 'profiler-calltree-depth #[257 "\301\302!>\204\303\304\305D\"\210\306H\211\262\203 \211T\262\202\211\207" [cl-struct-profiler-calltree-tags 0 type-of signal wrong-type-argument profiler-calltree 4] 6 (#$ . 19344)])
#@59 Return a child tree of ENTRY under TREE.

(fn TREE ENTRY)
(defalias 'profiler-calltree-find #[514 "\301\302!>\204\303\304\305D\"\210\306H\211\203?\204?\211@\307\302!>\204-\303\304\305D\"\210\310H\"\2038\211\262A\266\202\202\207" [cl-struct-profiler-calltree-tags nil type-of signal wrong-type-argument profiler-calltree 5 function-equal 1] 10 (#$ . 19598)])
#@26 

(fn CALLTREE FUNCTION)
(defalias 'profiler-calltree-walk #[514 "\211!\210\301!>\204\302\303\304D\"\210\305H\211\205(\211@\306\"\210A\266\202\202\207" [cl-struct-profiler-calltree-tags type-of signal wrong-type-argument profiler-calltree 5 profiler-calltree-walk] 7 (#$ . 19983)])
#@35 

(fn TREE LOG &optional REVERSE)
(defalias 'profiler-calltree-build-1 #[770 "\300\301\302\303\304\305\"\306\"\307\310%\"\207" [maphash make-byte-code 514 "\300G\211\303\211W\205x\211\301\203\202\304\305#H\211\203o\306\"\211\204R\307\310\303\311\312&\262\313!\n>\204F\314\315\310	D\"\210\211\316\316HBI\266\313!\n>\204a\314\315\310D\"\210\211\211\317\317H\\I\266\262\266\211T\262\202\266\202\207" vconcat vector [cl-struct-profiler-calltree-tags 0 - 1 profiler-calltree-find record profiler-calltree "" nil type-of signal wrong-type-argument 5 2] 16 "\n\n(fn BACKTRACE COUNT)"] 11 (#$ . 20284)])
(define-hash-table-test 'profiler-function-equal 'function-equal #[257 "\300!\203\n\211\301H\207\211\242\302=\203\211AA\207\207" [byte-code-function-p 1 closure] 3 "\n\n(fn F)"])
#@17 

(fn TREE LOG)
(defalias 'profiler-calltree-build-unified #[514 "\301\302\303\"\301\302\304\"\305\306\307\310!\311$\312!>\204!\313\314\315D\"\210\211\316\316HBI\266\317\320\321\322\323\324!\325\"\326\327%\"\210\317\320\321\330\323\324\"\331\"\332\327%\"\210\317\320\321\333\323\324\n#\334\"\335\327%\"\207" [cl-struct-profiler-calltree-tags make-hash-table :test profiler-function-equal eq profiler-make-calltree :entry intern "..." :parent type-of signal wrong-type-argument profiler-calltree 5 maphash make-byte-code 514 "G\211S\301\211W\205.\211H\211\203%B\300\302\303\"B#\266\266\211T\262\202\266\202\207" vconcat vector [0 puthash gethash] 16 "\n\n(fn BACKTRACE COUNT)" "GSH\302T\303\300\"\211\211\203\232\211@\211@A\211\nY\204'\304\305!\210\306HH\"\2048\304\307!\210\211S\262S\262\211\310V\203R\306HH\"\2048\nW\203\221\fZ\nX\204g\304\311!\210\312\211=\203w\302\211\262\202|\303\301\"A\211\262\204i\203\217\262\fB\262
\266\266A\266\202\202\210\313\301#\207" [nil gethash cl--assertion-failed (>= match imatch) function-equal (function-equal (aref backtrace max) (aref parent i)) 0 (<= (- max i) best-match) t puthash] 20 "\300\304BC\211G\305\301\"\211\262\203B\262A\262\202@ASH\203E\306\302!>\2046\307\310\311\302D\"\210\302\211\312\312H\\I\266\302\262\211\205\302\211@\211@A\211S\211V\203\271HS\262\211\203\265\313\f\"\211\204\230\314\311\315\316\317&\262\306
!>\204\214\307\310\311D\"\210\f\211\320\320HBI\266\306!>\204\247\307\310\311D\"\210\211\211\312\312H\\I\266\262\f\210\202U\266A\266\202\202F\262\207" [cl-struct-profiler-calltree-tags -1 gethash type-of signal wrong-type-argument profiler-calltree 2 profiler-calltree-find record 0 "" nil 5] 22] 14 (#$ . 21117)])
#@13 

(fn TREE)
(defalias 'profiler-calltree-compute-percentages #[257 "\301C\302!>\204\303\304\305D\"\210\306H\211\2039\211@\211\242\302!>\204,\303\304\305D\"\210\307H\\\240\210A\266\202\202\210\211\242\301U?\205R\310\311\312\313\314\315!\316\"\317\320%\"\207" [cl-struct-profiler-calltree-tags 0 type-of signal wrong-type-argument profiler-calltree 5 2 profiler-calltree-walk make-byte-code 257 "\302!	>\204\303\304\305D\"\210\211\211\306\307\302!	>\204#\303\304\305D\"\210\310H\300\242\"I\207" vconcat vector [cl-struct-profiler-calltree-tags type-of signal wrong-type-argument profiler-calltree 3 profiler-format-percent 2] 9 "\n\n(fn NODE)"] 10 (#$ . 22975)])
#@25 

(fn LOG &key REVERSE)
(defalias 'profiler-calltree-build #[385 "\300\301\"A@\211\2031\211@\302>\203\211AA\262\202\303>A@\203(\304\262\202\305\306@\"\210\202\210\307\310\304\311\312\304\211&\203H\313#\210\202M\314\"\210\315!\210\211\262\207" [plist-member :reverse (:reverse :allow-other-keys) :allow-other-keys nil error "Keyword argument %s not one of (:reverse)" record profiler-calltree 0 "" profiler-calltree-build-1 profiler-calltree-build-unified profiler-calltree-compute-percentages] 10 (#$ . 23671)])
#@23 

(fn TREE PREDICATE)
(defalias 'profiler-calltree-sort #[514 "\301!>\204\302\303\304D\"\210\305H\301!>\204!\302\303\304D\"\210\211\305\306\"I\266\301!>\204;\302\303\304D\"\210\305H\211\205P\211@\307\"\210A\266\202\202>\262\207" [cl-struct-profiler-calltree-tags type-of signal wrong-type-argument profiler-calltree 5 sort profiler-calltree-sort] 9 (#$ . 24216)])
(byte-code "\300\301\302\303\304DD\305\306\307\310\311&\210\300\312\302\303\313DD\314\306\307\310\311&\210\300\315\302\303\316DD\317\306\307\310\311&\207" [custom-declare-variable profiler-report-closed-mark funcall function #[0 "\300\207" [#1="+"] 1 #1#] "An indicator of closed calltrees." :type string :group profiler profiler-report-open-mark #[0 "\300\207" [#2="-"] 1 #2#] "An indicator of open calltrees." profiler-report-leaf-mark #[0 "\300\207" [#3=" "] 1 #3#] "An indicator of calltree leaves."] 8)
(defvar profiler-report-cpu-line-format '((50 left) (24 right ((19 right) (5 right)))))
(defvar profiler-report-memory-line-format '((55 left) (19 right ((14 right profiler-format-number) (5 right)))))
#@22 The current profile.
(defvar profiler-report-profile nil (#$ . 25325))
(make-variable-buffer-local 'profiler-report-profile)
#@82 True if calltree is rendered in bottom-up.  Do not touch this
variable directly.
(defvar profiler-report-reversed nil (#$ . 25456))
(make-variable-buffer-local 'profiler-report-reversed)
#@85 The value can be `ascending' or `descending'.  Do not touch
this variable directly.
(defvar profiler-report-order nil (#$ . 25649))
(make-variable-buffer-local 'profiler-report-order)
#@14 

(fn ENTRY)
(defalias 'profiler-report-make-entry-part #[257 "\211\300=\203\n\301\202)\2119\203&\302!\203&\303\304!\305\306\307\310\311\312\313\314&	\202)\315!\303\316#\207" [t "Others" fboundp propertize symbol-name face link follow-link "
" mouse-face highlight help-echo "mouse-2: jump to definition\nRET: expand or collapse" profiler-format-entry profiler-entry] 11 (#$ . 25839)])
#@13 

(fn TREE)
(defalias 'profiler-report-make-name-part #[257 "\303!>\204\304\305\306D\"\210\211\307H\310!\311S\312\\\313\"\314!\203&	\202'\n\315!\316\317$\207" [cl-struct-profiler-calltree-tags profiler-report-leaf-mark profiler-report-closed-mark type-of signal wrong-type-argument profiler-calltree 1 profiler-calltree-depth make-string 0 32 profiler-calltree-leaf-p profiler-report-make-entry-part format "%s%s %s"] 11 (#$ . 26241)])
#@23 

(fn FMT &rest ARGS)
(defalias 'profiler-report-header-line-format #[385 "\300\301#\302\303\304#\305P\207" [apply profiler-format replace-regexp-in-string "%" "%%" " "] 7 (#$ . 26697)])
#@13 

(fn TREE)
(defalias 'profiler-report-line-format #[257 "\304H\305!\306!	>\204\307\310\311D\"\210\312H\306!	>\204(\307\310\311D\"\210\313H\314\312H\211\315\267\202=\n\202F\202F\316\317\320#\205F\321\262\203b\322V\203\\\323\324\"\202]\325D\202eD#\207" [profiler-report-profile cl-struct-profiler-calltree-tags profiler-report-cpu-line-format profiler-report-memory-line-format 5 profiler-report-make-name-part type-of signal wrong-type-argument profiler-calltree 2 3 profiler-format #s(hash-table size 2 test eq rehash-size 1.5 rehash-threshold 0.8125 purecopy t data (cpu 53 memory 57)) error "cl-ecase failed: %s, %s" (cpu memory) nil 0 format "+%s" ""] 11 (#$ . 26894)])
#@13 

(fn TREE)
(defalias 'profiler-report-insert-calltree #[257 "\300!\301\302P\303#c\207" [profiler-report-line-format propertize "\n" calltree] 6 (#$ . 27607)])
#@13 

(fn TREE)
(defalias 'profiler-report-insert-calltree-children #[257 "\301\302\303!>\204\304\305\306D\"\210\307H\"\207" [cl-struct-profiler-calltree-tags mapc profiler-report-insert-calltree type-of signal wrong-type-argument profiler-calltree 5] 7 (#$ . 27776)])
#@36 Keymap for `profiler-report-mode'.
(defvar profiler-report-mode-map (byte-code "\300 \301\302\303#\210\301\304\305#\210\301\306\307#\210\301\310\307#\210\301\311\307#\210\301\312\313#\210\301\314\313#\210\301\315\316#\210\301\317\313#\210\301\320\321#\210\301\322\323#\210\301\324\325#\210\301\326\327#\210\301\330\331#\210\301\332\333#\210\301\334\335#\210\336\337!\210\340\341\342\343$\210\211\207" [make-sparse-keymap define-key "n" profiler-report-next-entry "p" profiler-report-previous-entry "
" profiler-report-toggle-entry "	" "i" "f" profiler-report-find-entry "j" [follow-link] mouse-face [mouse-2] "d" profiler-report-describe-entry "C" profiler-report-render-calltree "B" profiler-report-render-reversed-calltree "A" profiler-report-ascending-sort "D" profiler-report-descending-sort "=" profiler-report-compare-profile "" profiler-report-write-profile (lambda (#1=#:def-tmp-var) (defvar profiler-report-menu #1# #2="Menu for Profiler Report mode.")) nil easy-menu-do-define profiler-report-menu #2# ("Profiler" ["Next Entry" profiler-report-next-entry :active t :help "Move to next entry"] ["Previous Entry" profiler-report-previous-entry :active t :help "Move to previous entry"] "--" ["Toggle Entry" profiler-report-toggle-entry :active (profiler-report-calltree-at-point) :help "Expand or collapse the current entry"] ["Find Entry" profiler-report-find-entry :active (profiler-report-calltree-at-point) :help "Find the definition of the current entry"] ["Describe Entry" profiler-report-describe-entry :active (profiler-report-calltree-at-point) :help "Show the documentation of the current entry"] "--" ["Show Calltree" profiler-report-render-calltree :active profiler-report-reversed :help "Show calltree view"] ["Show Reversed Calltree" profiler-report-render-reversed-calltree :active (not profiler-report-reversed) :help "Show reversed calltree view"] ["Sort Ascending" profiler-report-ascending-sort :active (not (eq profiler-report-order 'ascending)) :help "Sort calltree view in ascending order"] ["Sort Descending" profiler-report-descending-sort :active (not (eq profiler-report-order 'descending)) :help "Sort calltree view in descending order"] "--" ["Compare Profile..." profiler-report-compare-profile :active t :help "Compare current profile with another"] ["Write Profile..." profiler-report-write-profile :active t :help "Write current profile to a file"] "--" ["Start Profiler" profiler-start :active (not (profiler-running-p)) :help "Start profiling"] ["Stop Profiler" profiler-stop :active (profiler-running-p) :help "Stop profiling"] ["New Report" profiler-report :active (profiler-running-p) :help "Make a new report"])] 6) (#$ . 28053))
#@16 

(fn PROFILE)
(defalias 'profiler-report-make-buffer-name #[257 "\300\301\302H\211\303\267\202\304\202\305\202\306\307\310#\205\311\262\312\313\314H\"#\207" [format "*%s-Profiler-Report %s*" 2 #s(hash-table size 2 test eq rehash-size 1.5 rehash-threshold 0.8125 purecopy t data (cpu 11 memory 15)) CPU Memory error "cl-ecase failed: %s, %s" (cpu memory) nil format-time-string "%Y-%m-%d %T" 4] 8 (#$ . 30754)])
#@56 Make a buffer for PROFILE and return it.

(fn PROFILE)
(defalias 'profiler-report-setup-buffer-1 #[257 "\303!\304!r\211q\210\305 \210\306\307)\207" [profiler-report-profile profiler-report-reversed profiler-report-order profiler-report-make-buffer-name get-buffer-create profiler-report-mode nil descending] 4 (#$ . 31184)])
#@83 Make a buffer for PROFILE with rendering the profile and
return it.

(fn PROFILE)
(defalias 'profiler-report-setup-buffer #[257 "\300!r\211q\210\301 \210)\211\207" [profiler-report-setup-buffer-1 profiler-report-render-calltree] 3 (#$ . 31521)])
(defalias 'profiler--xref-backend #[0 "\300\207" [elisp] 1])
(defvar profiler-report-mode-hook nil)
(byte-code "\300\301N\204\f\302\300\301\303#\210\304\305!\204\302\305\306\307#\210\300\207" [profiler-report-mode-hook variable-documentation put "Hook run after entering Profiler-Report mode.\nNo problems result if this variable is not bound.\n`add-hook' automatically binds it.  (This is true for all hook variables.)" boundp profiler-report-mode-map definition-name profiler-report-mode] 4)
(defvar profiler-report-mode-map (make-sparse-keymap))
(byte-code "\301\302N\204\303\301\302\304\305!#\210\306\307!\204\303\307\310\311#\210\312\313 !\210\307\302N\204-\303\307\302\304\314!#\210\306\300!\204B\303\300\310\311#\210\315\316\300\317\"\210!\210\300\302N\204P\303\300\302\304\320!#\210\303\311\321\322#\207" [profiler-report-mode-abbrev-table profiler-report-mode-map variable-documentation put purecopy "Keymap for `profiler-report-mode'." boundp profiler-report-mode-syntax-table definition-name profiler-report-mode (lambda (#1=#:def-tmp-var) (defvar profiler-report-mode-syntax-table #1#)) make-syntax-table "Syntax table for `profiler-report-mode'." (lambda (#1#) (defvar profiler-report-mode-abbrev-table #1#)) define-abbrev-table nil "Abbrev table for `profiler-report-mode'." derived-mode-parent special-mode] 5)
#@234 Profiler Report Mode.

In addition to any hooks its parent mode `special-mode' might have run,
this mode runs the hook `profiler-report-mode-hook', as the final or penultimate step
during initialization.

\{profiler-report-mode-map}
(defalias 'profiler-report-mode #[0 "\306\300!\210\307\310 \210\311\312\310\313N\203\314\311\313\310\313N#\210\315!\204'\316\317 \"\210\320\f!\211\2035\211\321 =\203;\322\f\323 \"\210\210\324
\325\"\204R
!=\204R\326
\325!C#\210\327!\210\330\f!\210
!\331\332!\210\333\334\335\336\307$\210\307\211\"#\307$)\337\340!\207" [delay-mode-hooks major-mode mode-name profiler-report-mode-map profiler-report-mode-syntax-table profiler-report-mode-abbrev-table make-local-variable t special-mode profiler-report-mode "Profiler-Report" mode-class put keymap-parent set-keymap-parent current-local-map char-table-parent standard-syntax-table set-char-table-parent syntax-table abbrev-table-get :parents abbrev-table-put use-local-map set-syntax-table add-to-invisibility-spec (profiler . t) add-hook xref-backend-functions profiler--xref-backend nil run-mode-hooks profiler-report-mode-hook local-abbrev-table buffer-read-only buffer-undo-list truncate-lines] 6 (#$ . 33112) nil])
#@24 

(fn &optional POINT)
(defalias 'profiler-report-calltree-at-point #[256 "\300\206`\301\"\207" [get-text-property calltree] 4 (#$ . 34339)])
(defalias 'profiler-report-move-to-entry #[0 "\300\301 \302\"\211\203\211b\202\303 \207" [next-single-property-change line-beginning-position profiler-entry back-to-indentation] 3])
#@28 Move cursor to next entry.
(defalias 'profiler-report-next-entry #[0 "\300y\210\301 \207" [nil profiler-report-move-to-entry] 1 (#$ . 34676) nil])
#@32 Move cursor to previous entry.
(defalias 'profiler-report-previous-entry #[0 "\300y\210\301 \207" [-1 profiler-report-move-to-entry] 1 (#$ . 34829) nil])
#@95 Expand entry at point.
With a prefix argument, expand the whole subtree.

(fn &optional FULL)
(defalias 'profiler-report-expand-entry #[256 "\212\303 \210\304\305P\306 \307#\205E\310 \211\205C\307\311\n\305P!\210\312y\210`\313`\307\"\314!\210\203?b\210`W\203?\315 \210\316y\210\2020\266)\307\262)\207" [profiler-report-closed-mark inhibit-read-only profiler-report-open-mark beginning-of-line search-forward " " line-end-position t profiler-report-calltree-at-point replace-match nil copy-marker profiler-report-insert-calltree-children profiler-report-expand-entry 1] 6 (#$ . 34989) "P"])
#@26 Collapse entry at point.
(defalias 'profiler-report-collapse-entry #[0 "\212\303 \210\304\305P\306 \307#\205N\310 \311!\312\313!\314\203K\307\315\n\305P!\210\314y\316=\203E\317`\320\"\211\205:\311!\211\262\247\262\203E\211V\204$\312 |\210)\266\307)\207" [profiler-report-open-mark inhibit-read-only profiler-report-closed-mark beginning-of-line search-forward " " line-end-position t profiler-report-calltree-at-point profiler-calltree-depth line-beginning-position 2 nil replace-match 0 get-text-property calltree] 7 (#$ . 35598) nil])
#@156 Expand entry at point if the tree is collapsed,
otherwise collapse.  With prefix argument, expand all subentries
below entry at point.

(fn &optional ARG)
(defalias 'profiler-report-toggle-entry #[256 "\300!\206\301 \207" [profiler-report-expand-entry profiler-report-collapse-entry] 3 (#$ . 36158) "P"])
#@44 Find entry at point.

(fn &optional EVENT)
(defalias 'profiler-report-find-entry #[256 "r\211\203\301\302!\211@\262!\202pq\210\211\203%\303!\211\262\203%\304!\210\305 \211\205B\306!>\204:\307\310\311D\"\210\211\312H\313!\262\262)\207" [cl-struct-profiler-calltree-tags window-buffer event-start event-end posn-set-point profiler-report-calltree-at-point type-of signal wrong-type-argument profiler-calltree 1 find-function] 6 (#$ . 36472) (list last-nonmenu-event)])
#@26 Describe entry at point.
(defalias 'profiler-report-describe-entry #[0 "\301 \211\205!\302!>\204\303\304\305D\"\210\211\306H\307\310!\210\311!\262\207" [cl-struct-profiler-calltree-tags profiler-report-calltree-at-point type-of signal wrong-type-argument profiler-calltree 1 require help-fns describe-function] 5 (#$ . 36964) nil])
#@51 

(fn PROFILE &key REVERSE (ORDER \='descending))
(defalias 'profiler-report-render-calltree-1 #[385 "\304\305\"A@\304\306\"\206\307A@\211\203;\211@\310>\203$\211AA\262\202\311>A@\2032\312\262\202\313\314@\"\210\202\210\315\316H\305#\317H\211\320\267\202`\321\322\323\324D#\202i\321	\322\325\324D#\202i\313\326\327#\205i\312\262\330\267\202z\331\202\203\332\202\203\313\326\333#\205\203\312\334\"\266\335\336 \210\337!\210eb\210\340 )\262\207" [profiler-report-cpu-line-format profiler-report-memory-line-format header-line-format inhibit-read-only plist-member :reverse :order (nil descending) (:reverse :order :allow-other-keys) :allow-other-keys nil error "Keyword argument %s not one of (:reverse :order)" profiler-calltree-build 3 2 #s(hash-table size 2 test eq rehash-size 1.5 rehash-threshold 0.8125 purecopy t data (cpu 76 memory 86)) profiler-report-header-line-format "Function" "CPU samples" "%" "Bytes" "cl-ecase failed: %s, %s" (cpu memory) #s(hash-table size 2 test eq rehash-size 1.5 rehash-threshold 0.8125 purecopy t data (ascending 114 descending 118)) profiler-calltree-count< profiler-calltree-count> (ascending descending) profiler-calltree-sort t erase-buffer profiler-report-insert-calltree-children profiler-report-move-to-entry] 11 (#$ . 37310)])
(defalias 'profiler-report-rerender-calltree #[0 "\303\304	\305\n%\207" [profiler-report-profile profiler-report-reversed profiler-report-order profiler-report-render-calltree-1 :reverse :order] 6])
#@23 Render calltree view.
(defalias 'profiler-report-render-calltree #[0 "\301\302 \207" [profiler-report-reversed nil profiler-report-rerender-calltree] 1 (#$ . 38829) nil])
#@32 Render reversed calltree view.
(defalias 'profiler-report-render-reversed-calltree #[0 "\301\302 \207" [profiler-report-reversed t profiler-report-rerender-calltree] 1 (#$ . 39007) nil])
#@40 Sort calltree view in ascending order.
(defalias 'profiler-report-ascending-sort #[0 "\301\302 \207" [profiler-report-order ascending profiler-report-rerender-calltree] 1 (#$ . 39201) nil])
#@41 Sort calltree view in descending order.
(defalias 'profiler-report-descending-sort #[0 "\301\302 \207" [profiler-report-order descending profiler-report-rerender-calltree] 1 (#$ . 39398) nil])
#@16 

(fn PROFILE)
(defalias 'profiler-report-profile #[257 "\300\301!!\207" [switch-to-buffer profiler-report-setup-buffer] 4 (#$ . 39598)])
#@16 

(fn PROFILE)
(defalias 'profiler-report-profile-other-window #[257 "\300\301!!\207" [switch-to-buffer-other-window profiler-report-setup-buffer] 4 (#$ . 39743)])
#@16 

(fn PROFILE)
(defalias 'profiler-report-profile-other-frame #[257 "\300\301!!\207" [switch-to-buffer-other-frame profiler-report-setup-buffer] 4 (#$ . 39914)])
#@56 Compare the current profile with another.

(fn BUFFER)
(defalias 'profiler-report-compare-profile #[257 "r\211q\210)\301\"\300!\207" [profiler-report-profile profiler-compare-profiles] 6 (#$ . 40083) (byte-code "\300\301!C\207" [read-buffer "Compare to: "] 2)])
#@80 Write the current profile into file FILENAME.

(fn FILENAME &optional CONFIRM)
(defalias 'profiler-report-write-profile #[513 "\301#\207" [profiler-report-profile profiler-write-profile] 6 (#$ . 40356) (byte-code "\302\303\"	?D\207" [default-directory current-prefix-arg read-file-name "Write profile: "] 3)])
#@227 Start/restart profilers.
MODE can be one of `cpu', `mem', or `cpu+mem'.
If MODE is `cpu' or `cpu+mem', time-based profiler will be started.
Also, if MODE is `mem' or `cpu+mem', then memory profiler will be started.

(fn MODE)
(defalias 'profiler-start #[257 "\211\301\267\202 \302!\210\303\304!\207\305 \210\303\306!\207\302!\210\305 \210\303\307!\207\310\311\312#\205)\313\207" [profiler-sampling-interval #s(hash-table size 3 test eq rehash-size 1.5 rehash-threshold 0.8125 purecopy t data (cpu 6 mem 14 cpu+mem 21)) profiler-cpu-start message "CPU profiler started" profiler-memory-start "Memory profiler started" "CPU and memory profiler started" error "cl-ecase failed: %s, %s" (cpu mem cpu+mem) nil] 5 (#$ . 40677) (byte-code "\300\301!\204\n\302\202\303\304\305\306\307\310\307\211\311&!C\207" [fboundp profiler-cpu-start mem intern completing-read "Mode (default cpu): " ("cpu" "mem" "cpu+mem") nil t "cpu"] 9)])
#@54 Stop started profilers.  Profiler logs will be kept.
(defalias 'profiler-stop #[0 "\302\303!\203\303 \203\300 \304 \203\301 \302\305!\205\305 \306 \307\310\203.\203.\311\202?\2036\312\202?\203>\313\202?\314\"\207" [profiler-cpu-log profiler-memory-log fboundp profiler-cpu-running-p profiler-memory-running-p profiler-cpu-stop profiler-memory-stop message "%s profiler stopped" "CPU and memory" "Memory" "CPU" "No"] 5 (#$ . 41613) nil])
#@22 Reset profiler logs.
(defalias 'profiler-reset #[0 "\302\303!\203\303 \203\304 \210\305 \203\306 \210\307\211\211\207" [profiler-cpu-log profiler-memory-log fboundp profiler-cpu-running-p profiler-cpu-stop profiler-memory-running-p profiler-memory-stop nil] 3 (#$ . 42077) nil])
(defalias 'profiler-report-cpu #[0 "\205\301\302 !\207" [profiler-cpu-log profiler-report-profile-other-window profiler-cpu-profile] 2])
(defalias 'profiler-report-memory #[0 "\205\301\302 !\207" [profiler-memory-log profiler-report-profile-other-window profiler-memory-profile] 2])
#@27 Report profiling results.
(defalias 'profiler-report #[0 "\302\303!\203\303 \203\300 \304 \203\301 \204\"	\204\"\305\306!\207\307 \210\310 \207" [profiler-cpu-log profiler-memory-log fboundp profiler-cpu-running-p profiler-memory-running-p user-error "No profiler run recorded" profiler-report-cpu profiler-report-memory] 2 (#$ . 42659) nil])
#@39 Open profile FILENAME.

(fn FILENAME)
(defalias 'profiler-find-profile #[257 "\300\301!!\207" [profiler-report-profile profiler-read-profile] 4 (#$ . 43019) (byte-code "\301\302\"C\207" [default-directory read-file-name "Find profile: "] 3)])
#@39 Open profile FILENAME.

(fn FILENAME)
(defalias 'profiler-find-profile-other-window #[257 "\300\301!!\207" [profiler-report-profile-other-window profiler-read-profile] 4 (#$ . 43270) (byte-code "\301\302\"C\207" [default-directory read-file-name "Find profile: "] 3)])
#@39 Open profile FILENAME.

(fn FILENAME)
(defalias 'profiler-find-profile-other-frame #[257 "\300\301!!\207" [profiler-report-profile-other-frame profiler-read-profile] 4 (#$ . 43547) (byte-code "\301\302\"C\207" [default-directory read-file-name "Find profile: "] 3)])
(provide 'profiler)

Youez - 2016 - github.com/yon3zu
LinuXploit