! / 1169001830 0 0 0 14194 ` 777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777ȶȶȶȶȶȶȶȶȶȶȶȶxnxnxnxnxnRRRRRRRRRRRRRRRRRRRRRRRRRvvvvvvvvvvvvvvvvvvvv j j j j j j j j j j j j                           R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R                                  XXXXXXXXXXXXXXXXXXXXXJJJJJJJJJJJJJJJJJJJJJJJJJJJn^n^n^n^n^n^????????????????????????????????????????????^^^^^********************hhhhhhhhhhh**********OOOOOOOOnnnnnnZZZZZZZvvvvvvvvvvvjjjjjjjj~~~%%%%%VVVVVVVVVVVVVVVVVViiiiiiiiiiiiiiiii !!!!!!!!!!!!!!!!!!!!!!!!""""""###########$$$$%z%z&&&&R&R'a'a''''''''')K^)K^)K^)K^)K^)K^*eJ*eJ*eJ*eJ*eJ*eJ+|+|+|+|+|+|+|+|+|+|+|+J+J+J+J+J+J+J+J+J+J,),),),),),),),),)mpsiSrcIdmps_rank_ambigmps_rank_exactmps_rank_weakmps_arena_extendmps_arena_reservedmps_space_reservedmps_arena_committedmps_space_committedmps_arena_spare_committedmps_arena_commit_limitmps_arena_commit_limit_setmps_arena_spare_commit_limit_setmps_arena_spare_commit_limitmps_arena_clampmps_space_clampmps_arena_releasemps_space_releasemps_arena_parkmps_space_parkmps_arena_exposemps_arena_unsafe_expose_remember_protectionmps_arena_unsafe_restore_protectionmps_arena_start_collectmps_arena_collectmps_arena_stepmps_space_collectmps_arena_createmps_arena_create_vmps_space_createmps_arena_destroymps_space_destroymps_arena_has_addrmps_fmt_create_Amps_fmt_create_Bmps_fmt_create_auto_headermps_fmt_create_fixedmps_fmt_destroymps_pool_createmps_pool_create_vmps_pool_destroymps_allocmps_alloc_vmps_freemps_ap_createmps_ap_create_vmps_ap_destroymps_reservemps_ap_fillmps_reserve_with_reservoir_permitmps_ap_fill_with_reservoir_permitmps_commitmps_ap_tripmps_ap_frame_pushmps_ap_frame_popmps_sac_createmps_sac_destroymps_sac_flushmps_sac_fillmps_sac_emptymps_sac_allocmps_sac_freemps_root_createmps_root_create_tablemps_root_create_table_maskedmps_root_create_fmtmps_root_create_regmps_stack_scan_ambigmps_root_destroymps_trampmps_thread_regmps_thread_deregmps_ld_resetmps_ld_addmps_ld_mergemps_ld_isstalemps_fixmps_collectionsmps_finalizemps_definalizemps_message_pollmps_message_typemps_message_discardmps_message_type_enablemps_message_type_disablemps_message_getmps_message_queue_typemps_message_finalization_refmps_message_gc_live_sizemps_message_gc_condemned_sizemps_message_gc_not_condemned_sizemps_telemetry_controlmps_telemetry_internmps_telemetry_labelmps_telemetry_flushmps_alloc_pattern_rampmps_alloc_pattern_ramp_collect_allmps_ap_alloc_pattern_beginmps_ap_alloc_pattern_endmps_ap_alloc_pattern_resetmps_reservoir_limit_setmps_reservoir_limitmps_reservoir_availablemps_chain_createmps_chain_destroympmSrcIdWordIsAlignedWordAlignUpWordRoundUpWordAlignDownSizeIsP2SizeFloorLog2SizeLog2AddrAlignDownResIsAllocFailureWriteFStringLengtharenavmSrcIdmps_arena_class_vmEnsureVMArenaClassEnsureVMNZArenaClassmps_arena_class_vmnzarenaclSrcIdClientArenaClassGetEnsureClientArenaClassmps_arena_class_clarenaSrcIdAbstractArenaClassGetEnsureAbstractArenaClassArenaNoSpareCommitExceededArenaNoExtendArenaClassCheckArenaCheckArenaInitArenaCreateVControlInitControlFinishArenaFinishArenaDestroyArenaDescribeArenaDescribeTractsControlAllocControlFreeArenaAllocArenaFreeArenaReservedArenaCommittedArenaSpareCommittedArenaSpareCommitLimitArenaSetSpareCommitLimitArenaCommitLimitArenaSetCommitLimitArenaAvailArenaExtendArenaHasAddrglobalSrcIdArenaEnterArenaLeaveGlobalsCheckGlobalsInitGlobalsCompleteCreateGlobalsFinishGlobalsPrepareToDestroyGlobalsRememberedSummaryRingarenaEnterLockArenaEnterRecursivearenaLeaveLockArenaLeaveRecursivemps_exception_infoArenaAccessArenaPollArenaStepArenaFinalizeArenaDefinalizeArenaPeekArenaPeekSegArenaPokeArenaPokeSegArenaReadGlobalsDescribelocusSrcIdSegPrefCheckSegPrefDefaultSegPrefExpressChainCreateChainCheckChainDestroyChainGensChainDeferralChainCondemnAutoChainCondemnAllChainStartGCChainEndGCPoolGenInitPoolGenFinishPoolGenCheckPoolGenUpdateZonesLocusInitLocusFinishLocusChecktractSrcIdTractCheckTractInitTractFinishTractBaseTractLimitChunkCheckChunkInitChunkFinishChunkCacheEntryCheckChunkCacheEntryInitChunkEncacheChunkOfAddrArenaIsReservedAddrIndexOfAddrTractOfAddrTractOfBaseAddrTractFirstTractNextPageAllocPageInitPageFreewalkSrcIdmps_arena_formatted_objects_walkmps_arena_roots_walkreservSrcIdReservoirPoolClassGetEnsureReservoirPoolClassReservoirCheckReservoirEnsureFullReservoirWithdrawReservoirDepositReservoirSetLimitReservoirLimitReservoirAvailableReservoirInitReservoirFinishprotocolSrcIdProtocolClassCheckProtocolInstCheckProtocolIsSubclassProtocolClassGetEnsureProtocolClasspoolSrcIdPoolClassCheckPoolCheckPoolInitPoolInitVPoolCreatePoolCreateVPoolFinishPoolDestroyPoolDefaultBufferClassPoolAllocPoolFreePoolAccessPoolWhitenPoolGreyPoolBlackenPoolScanPoolFixPoolFixEmergencyPoolReclaimPoolWalkPoolFreeWalkPoolDescribePoolFormatPoolOfAddrPoolHasAddrpoolabsSrcIdPoolClassMixInAllocFreePoolTrivAllocPoolTrivFreePoolClassMixInBufferPoolTrivBufferFillPoolTrivBufferEmptyPoolTrivFramePushPoolTrivFramePopPoolClassMixInScanPoolSegAccessPoolTrivBlackenPoolTrivGreyPoolClassMixInFormatPoolClassMixInCollectPoolTrivWhitenPoolTrivRampBeginPoolTrivRampEndAbstractPoolClassGetEnsureAbstractPoolClassPoolTrivInitPoolTrivFinishPoolNoAllocPoolNoFreePoolNoBufferFillPoolNoBufferEmptyPoolNoAccessPoolNoWhitenPoolNoGreyPoolNoBlackenPoolNoScanPoolNoFixPoolNoReclaimPoolNoRampBeginPoolNoRampEndPoolNoFramePushPoolNoFramePopPoolNoFramePopPendingPoolNoWalkPoolNoFreeWalkPoolNoBufferClassPoolTrivDescribeAbstractAllocFreePoolClassGetEnsureAbstractAllocFreePoolClassAbstractBufferPoolClassGetEnsureAbstractBufferPoolClassAbstractSegBufPoolClassGetEnsureAbstractSegBufPoolClassAbstractScanPoolClassGetEnsureAbstractScanPoolClassAbstractCollectPoolClassGetEnsureAbstractCollectPoolClassPoolNoTraceBeginPoolTrivTraceBeginPoolSingleAccesstraceSrcIdScanStateCheckScanStateInitTraceFixTraceFixEmergencyScanStateFinishTraceIdCheckTraceSetCheckTraceCheckTraceAddWhiteTraceCondemnZonesTraceCreateTraceDestroyScanStateSetSummaryScanStateSummaryTraceSegAccessTraceScanSingleRefTraceScanAreaTraceScanAreaTaggedTraceScanAreaMaskedTraceTopGenMortalityTraceWorkFactorTraceStartTracePollArenaClampArenaReleasearenaForgetProtectionArenaParkrememberedSummaryBlockInitarenaRememberSummaryOneArenaExposeRememberArenaRestoreProtectionArenaStartCollectArenaCollectrootSrcIdRootVarCheckRootModeCheckRootCheckRootDestroyRootCreateTableRootCreateTableMaskedRootCreateRegRootCreateFmtRootCreateFunRootArenaRootRankRootPMRootSummaryRootGreyRootScanRootOfAddrRootAccessRootsIterateRootDescribeRootsDescribesegSrcIdSegAllocSegFreeSegSizeSegSetGreySegSetWhiteSegSetRankSetSegSetSummarySegSetRankAndSummarySegBufferSegSetBufferSegDescribeSegBaseSegLimitSegOfAddrSegFirstSegNextSegMergeSegSplitSegCheckGCSegCheckGCSegClassGetSegClassCheckSegClassGetEnsureSegClassEnsureGCSegClassSegClassMixInNoSplitMergeformatSrcIdFormatCheckFormatCreateFormatDestroyFormatArenaFormatDescribebufferSrcIdBufferCheckBufferIsTrappedBufferDescribeBufferCreateBufferCreateVBufferDetachBufferIsResetBufferFrameSetStateBufferDestroyBufferFinishBufferIsTrappedByMutatorBufferIsReadyBufferIsMutatorBufferFrameStateBufferSetAllocAddrBufferFramePushBufferFramePopBufferReserveBufferFillBufferAttachBufferCommitBufferTripBufferFlipBufferRankSetBufferScanLimitBufferSegBufferSetRankSetBufferReassignSegAllocPatternRampStructAllocPatternRampAllocPatternRampCollectAllStructAllocPatternRampCollectAllBufferRampBeginBufferRampEndBufferRampResetBufferClassCheckBufferClassGetEnsureBufferClassSegBufCheckSegBufClassGetEnsureSegBufClassRankBufClassGetEnsureRankBufClassrefSrcIdRankCheckRankSetCheckZoneSetOfRangeZoneSetOfSegbtSrcIdBTCreateBTDestroyBTSizeBTGetBTSetBTResBTSetRangeBTIsResRangeBTIsSetRangeBTResRangeBTFindLongResRangeBTFindLongResRangeHighBTFindShortResRangeBTFindShortResRangeHighBTRangesSameBTCopyInvertRangeBTCopyRangeBTCopyOffsetRangeBTCountResRangeringSrcIdRingCheckRingCheckSingleRingIsSingleRingInitRingFinishRingAppendRingInsertRingRemoveRingNextRingPrevshieldSrcIdShieldSuspendShieldResumeShieldRaiseShieldLowerShieldEnterShieldFlushShieldLeaveShieldExposeShieldCoverldSrcIdLDResetLDAddLDIsStaleLDAgeLDMergeeventSrcIdEventSyncEventInitEventFinishEventControlEventInternStringEventInternGenStringEventLabelAddrsacSrcIdSACCreateSACDestroySACFlushSACFillSACEmptymessageSrcIdMessageTypeCheckMessageCheckMessageClassCheckMessageArenaMessageGetClassMessageInitMessageFinishMessagePostMessageDiscardMessageGetTypeMessagePollMessageQueueTypeMessageEmptyMessageGetMessageTypeEnableMessageTypeDisableMessageFinalizationRefMessageGCLiveSizeMessageGCCondemnedSizeMessageGCNotCondemnedSizeMessageNoFinalizationRefMessageNoGCLiveSizeMessageNoGCCondemnedSizeMessageNoGCNotCondemnedSizepoolmrgSrcIdEnsureMRGLinkSegClassEnsureMRGRefSegClassMRGRegisterMRGDeregisterMRGPoolClassGetEnsureMRGPoolClassPoolClassMRGpoolmfsSrcIdMFSGetInfoMFSPoolMFSPoolClassGetEnsureMFSPoolClassPoolClassMFSMFSCheckpoolmvSrcIdMVPoolClassGetEnsureMVPoolClassPoolClassMVMVDebugPoolClassGetEnsureMVDebugPoolClassmps_class_mvmps_class_mv_debugmps_mv_free_sizemps_mv_sizeMVCheckdbgpoolSrcIdPoolDebugMixinCheckPoolNoDebugMixinDebugPoolCheckFencesDebugPoolFreeSplatDebugPoolFreeCheckDebugPoolCheckFreeSpacePoolClassMixInDebugdbgpooliSrcIdmps_pool_check_fencepostsmps_pool_check_free_spacebootSrcIdBootBlockCheckBootBlockInitBootBlockFinishBootAllocatedBootAllocmeterSrcIdMeterInitMeterAccumulateMeterWriteMeterEmitsplaySrcIdSplayTreeCheckSplayNodeCheckSplayTreeInitSplayNodeInitSplayNodeFinishSplayTreeFinishSplayTreeInsertSplayTreeDeleteSplayTreeSearchSplayTreeNeighboursSplayTreeFirstSplayTreeNextSplayFindFirstSplayFindLastSplayRootSplayNodeRefreshSplayTreeDescribecbsSrcIdCBSCheckCBSBlockCheckCBSBlockSizeCBSInitCBSFinishCBSInsertReturningRangeCBSInsertCBSDeleteCBSBlockDescribeCBSIterateCBSIterateLargeCBSSetMinSizeCBSFindFirstCBSFindLastCBSFindLargestCBSDescribeversionSrcIdMPSCopyrightNoticeMPSVersionStringMPSVersionlockfrSrcIdLockSizeLockCheckLockInitLockFinishLockClaimLockReleaseMPMLockClaimRecursiveLockReleaseRecursiveLockClaimGlobalRecursiveLockReleaseGlobalRecursiveLockClaimGlobalLockReleaseGlobalthfri4SrcIdThreadCheckThreadCheckSimpleThreadRegisterThreadDeregisterThreadRingSuspendThreadRingResumeThreadRingThreadThreadArenaThreadScanThreadDescribepthreadextSrcIdPThreadextCheckPThreadextInitPThreadextFinishPThreadextSuspendPThreadextResumevmfrSrcIdVMAlignVMCheckVMCreateVMDestroyVMBaseVMLimitVMReservedVMMappedVMMapVMUnmapprotfrSrcIdProtSetProtSyncProtTrampprotfri3SrcIdProtSetupprmcanSrcIdProtCanStepInstructionProtStepInstructionssfri3SrcIdStackScanspanSrcIdStackProbepoolamcSrcIdEnsureamcSegClassEnsureamcBufClassEnsureAMCPoolClassAMCZPoolClassGetEnsureAMCZPoolClassmps_class_amcmps_class_amczmps_amc_applypoolloSrcIdLOSegClassGetEnsureLOSegClassLOPoolClassGetEnsureLOPoolClassmps_class_lopoolsncSrcIdEnsureSNCBufClassEnsureSNCSegClassSNCPoolClassGetEnsureSNCPoolClassmps_class_sncdylan_wrapper_checkdylan_weak_dependentdylan_scan1dylan_scan1_weakdylan_paddylan_fmt_Adylan_fmt_Bdylan_fmtdylan_fmt_A_weakdylan_fmt_B_weakdylan_fmt_weakno_scanno_skipno_copyno_fwdno_isfwdno_padno_classno_fmt_Ano_fmt_Bno_fmtpoolawlSrcIdEnsureAWLSegClassAWLSegSALimitAWLHaveSegSALimitAWLTotalSALimitAWLHaveTotalSALimitAWLPoolClassGetEnsureAWLPoolClassmps_class_awlmpsi.o/ 1169001561 1001 1001 100644 102596 ` ELF (:4(UÉUÉUÉUÉUVS] S uu SƉ$e[^ÐUVS] S$Ɖ$e[^UuUVS] S$Ɖ$e[^UuUVS] S$Ɖ$e[^UVS] S$Ɖ$e[^UVS] Su SƉ$e[^US]Su S$]ÍvUVS] S$Ɖ$e[^US]S$$]ÍvUuUS]S$$]ÍvUuUS]S$$]ÍvUuUS]SjS$]US]SjS$]US]S$$]ÍvUVS] S$Ɖ$e[^UVS] S$Ɖ$e[^UVS] Suuuu SƃSe[^ÉUuU EPu uÐU uu EP…u uUEU h@PuÍvUS]S$]ÍvUuUVS] Su SƉ$e[^UVSu ]Vjjss ssssj3VEPÃ$V؅u UEe[^ÐUVSu ]Vjsss ssssj3VEPÃ$V؅u UEe[^UVSu ]Vsjsjss ssj3VEPÃ$V؅u UEe[^ÐUVSu ]Vjjsjs sjsj3VEPÃ$V؅u UEe[^ÍvUVSu VÉ$4$$e[^ÉUEPuu uÉUVS] SuuSEPƉ$u UEe[^UVS]s V$4$e[^ÐUVSu ^ S$juVEPƉ$u UEe[^ÍvU uu uÉUVS]s V uu S4$e[^ÉUWVS] { Wu$4$jSPEPÃW؅uU $ > : ; I I&I : ;  : ; I8 < : ; I  : ;I8 : ;I8  : ; I8  : ; I 8  : ;I 8  : ;I 8  : ; ' II' ' I : ;  : ;  : ; I: ;II!I/  : ;.: ; ' I@ .? : ; ' I@ .? : ; ' I@ !: ; I "4: ; I#4: ; I $4: ; I %.? : ;' I@ &: ;I '4: ;I (4: ;I).? : ;' @ *4: ;I +,: ;I - .4: ;I/.? : ;' @ 0.? : ;' I@ 14: ; I?  Q;XX# pC intF 8WG  _Lo |B]7zGE"" $#%%#&#U'# "! 2 . Sigl ResE l "ou #Y$Y%YY&Y 'WY(W Ref)d ,Y--Y.W/W^0W1{2W3W4Wa 5W6W7W BT:XY!;io "< `< sigsC# t# u# v # .w# x!# Ty# zd# {s#$ q|s#, | }d#4 )~d#8  %#< d#T #X qW#\W>d5@> ~D8## E# TF# {G# H# I# J#$ K#( segL#, M>#0 N_#4 O#8 sigPC#<AW)C {ad# "bd# cd# dd# e# : f#D"<D sigC# # lC#  # !# #  #  !# #<^?)#@@P#DAw#HfixB#LC#PmD#TE#XF#\G<#`Hm#dI#hJ#lK#pdL #tM. #xhNT #|O#sigPC#O O sigC# ti #  # # # "# # Lo # {# {#$ {#( {#, h!#0 $#4 j#8  #< {#@ !#D #H {#L R#P #T !{#X w #\ ' #` '#d t #h | #l #p  #t  #x  {#| h # .  {# # #P! ' o TP fixn# Y# # a# sigC#  # # 4# # #$ w #( ' #, '#0 t #4 | #8 #< {#@ h#D . {#H ?{#L "{#PQz   Qsig>C#? #@!#A#B#/C##"R  I R.#p#| d## W# !ST Z k 8SsigC## #B!#  {##| d# d# Y #$ #(N#,4@"#0#4T sigC# EI # | d# d# "# /#UUtheh"# SegV[V sigC# # c #  !#  d#u W#pm -#sm -#^####dXLX~8###T#{#1# # d #$#(N#,p#0{#4R #8)#<O#@#DsigC#HZ  Z sig0C# j1# 2# 3# 4# gen5#\ H\ ~&8## '0%# T(# )# {*# +&# !,C#$ -d#( .o#, "/#0 0#4 1#8 2(#< 3E#@ sig4C#D^ (^ po6%# p#t r #x t#| Du$# _w%# y{# z{# |{# c }{# # # ~ # d# I # B!# # f$%# 0## !# F# L!# / N# # # !# `# # !B%# {# G {# {# G# | # # R%# ws# Ls# vY# b%# # !# # # r%# sigC#/)t_ sigBC# E!# "F# >Is# !J# K# Ls# Ms#( Ns#0 Os#8 pPs#@ 4S#H QV#L Y!#P >Z#X 3 ]!#\ ^#d !a!#h d#p a:@ *bQW  dhn e Sg *hhB##?  #X{#\{#`sigC#dg n N  8 "o17C pNTd{ q1 rzN d{ tN{d ud{v (NI ^( w39EI MxPVkN k'.WwsigC# #{q## !#n sigC## u #T ǒ # ʹ #A  #@! #C#yN wdldd1Nd{8<BNGY_pY ju)u'!4:ONkZ`Nddd8ZNu8uuddd{(.>uIO_u!jpuuNuk7N8  <N{GMcd{;ntNu{wĨuddNd-] )N,4:PK[aw!̂N :θN и4uk%+<u GMgNgu}x~Nu٣u*"l   i" ( 9 ? T Nko_ e u t   |    |D   {|  J !!N dd&!,!6U&' !=E&'buf!?uS*!@ V%;;s!V'8yU,p_o!U)V&' !UE&Q&T!US'res!W'P-Fr*;!_0%P*c!_0%R%;!h'|U,p_o!f)V&' !gE&Q&T!gS'res!i'P-*;!q0%P*c!q0%R%; !'U&' !E&R,p!' &T!%y< !'j U&!y<V&' !E&R-( ` 'buf!uS*! W*!p'res!NSp'%<!'l U&' !E&R&!p'W- 'buf!uS*! V'res!NS%l=. !' 0 U,p_o!)P&' !E& &T!'buf!uV*! S'p!dt'res!NV%= ! '0 U,p_o! )P&' ! E& &T! 'buf! uV*!  S'p!dt'res!NV%\>2!.' U&' !-E&,p!-' &T!-'buf!/uS*!0 V'b!1S%>g!I'  U&!G>P&!G%S& !H&!H>(.!J*!K V(!L,-'sac!M,t'res!NNS'()F? !d A U&C !c''sac!e,S*!f V)?C!vD u U&C !u''sac!w,S*!x V%@#!'x U,p_o!)P&C !' &T!&!''sac!,S*! V'p!dt'res!NS)y@I!  U&C !',p!' &T!'sac!,S*! V%A%!' U,p_o!)V&C !'S&T!&!''res!NP- *!R*"!Q)lA!  U&C !'S,p!'V&T!- *!R*"!Q%!B!' f U&!!BP&m!%S&!'& !'&!(,p!,s! (! (4!*>!/t'res!NV&%B9!'h U&!!BP&m!%V&!'& !'&| !)S&T!P(! (4!*>!/t(!'res!NS%C ! ' U&!!BP&m!%V&! '& ! '&| ! )S&T! P&! ' (!  (4!*>!/t(!'res!NS%oD !+'qU&!'!BP&m!'%S&!('& !('&u!)(&| !*'& !*' (!, (4!-(!. *>!//t(!0'res!1NV%CE!C'tU&!?!BP&m!?%S&!@'& !@'&!A.&&"!A )&G !B &a!B$(!D (4!E(x!FF*>!G/t'res!HNV%E !f'U&!d&&!e.& ,p!e,s!e.ss!g (x!hF)E"!pU&>!o&V(>!q/*!r S)?F_!1U,r_o!~?F,f! , ,p!,s!%F !'4yU&y!FP&m!%S(! *x!Ft'res!NV.&)F<!|U&!.&V(x!F*! S);GO!U&*!&&m!%S(! .ld!)G!U&*!&&m!% &!'(! .ld!)H9! U&*!&&m!% &!&(! .ld!(!%nH!' "U&*!&&m!% &!'(! .ld!'b!P%I!'$qU&!&S&e!)W'res!'R-3g._ss!&* !'Q( !'* !'V* !'P%8I !'tU&m!%P(! %I !'U&m!%S&!) 'res!NV*!dP(! %I! 'U&m! %S&! ) 'res!NV*!dP(! %?J! '(U&m!%S'b!!V(!" %J !/'(WU&m!-%V&!.B' (!0 ( !1|*{!2qS)J !?XU&m!=%S&!>B' (!@ ( !A|);K"!LU&m!J%S&P!K' (!M ({!Nq)K!YU&m!W%S&P!X' (!Z ({![q%L!g'U&?!dLP&m!e%S&P!f''b!hV(!i ({!jq* !k|tB'%jL!z' `U&_ !xjLP&m!y%S(!{ *{!|qt'b!}V')L!`U&!)&m!%S&!B'(! ( !|'ref!x%!v.QP&m!v%S&!w&M!w4Q(!y *L!zo t'res!{NV%+){Q7!;U&!%S*! V(L!o $!81!8 /usr/include/usr/include/sys/usr/include/machinempm.hconfig.hmpstd.hmisc.hstddef.hcdefs.h_null.h_types.h_types.hcheck.hmpslib.hevent.heventcom.hmpmtypes.hstdarg.heventgen.hlock.hth.hring.hss.htract.hbt.hmpmst.hprotocol.hchain.hmps.hlimits.hlimits.h_limits.hsyslimits.hmpsavm.hsac.hmpsi.c!9 ;;;:Ԃd.d.Ԃddd/dd/dd.dYdXddd2g:@ c:*JrKd[dd1: e; &Ve; 'Vye; &Ve; $Vf:Ke=,t;;e 9VgK;? ;g: :*IV ;gI:*IVVh;  , , +q:TKeHt?;;rWW:TKe:rru>;;I j;e>Vvj;e>V qVi;=Ղ ;f,wVgeVgejee,Vgexym e=tVeAVe@Ve;VeAV hKhYe__GNUCLIKE___OFFSETOF 1?__GNUCLIKE___SECTION 1A__GNUCLIKE_ATTRIBUTE_MODE_DI 1D__GNUCLIKE_CTOR_SECTION_HANDLING 1G__GNUCLIKE_BUILTIN_CONSTANT_P 1N__GNUCLIKE_BUILTIN_VARARGS 1O__GNUCLIKE_BUILTIN_STDARG 1P__GNUCLIKE_BUILTIN_VAALIST 1T__GNUC_VA_LIST_COMPATIBILITY 1X__GNUCLIKE_BUILTIN_NEXT_ARG 1Y__GNUCLIKE_MATH_BUILTIN_RELOPS \__GNUCLIKE_BUILTIN_MEMCPY 1___CC_SUPPORTS_INLINE 1`__CC_SUPPORTS___INLINE 1a__CC_SUPPORTS___INLINE__ 1c__CC_SUPPORTS___FUNC__ 1d__CC_SUPPORTS_WARNING 1f__CC_SUPPORTS_VARADIC_XXX 1h__CC_SUPPORTS_DYNAMIC_ARRAY_INIT 1k__CC_INT_IS_32BIT 1s__GNUC_PREREQ__(ma,mi) (__GNUC__ > (ma) || __GNUC__ == (ma) && __GNUC_MINOR__ >= (mi))__P(protos) protos__CONCAT1(x,y) x ## y__CONCAT(x,y) __CONCAT1(x,y)__STRING(x) #x__XSTRING(x) __STRING(x)__const const__signed signed__volatile volatile__dead2 __attribute__((__noreturn__))__pure2 __attribute__((__const__))__unused __attribute__((__unused__))__used __attribute__((__used__))__packed __attribute__((__packed__))__aligned(x) __attribute__((__aligned__(x)))__section(x) __attribute__((__section__(x)))__pure __attribute__((__pure__))__always_inline __attribute__((__always_inline__))__nonnull(x) __attribute__((__nonnull__(x)))__restrict __predict_true(exp) __builtin_expect((exp), 1)__predict_false(exp) __builtin_expect((exp), 0)__offsetof(type,field) ((size_t)(&((type *)0)->field))__rangeof(type,start,end) (__offsetof(type, end) - __offsetof(type, start))__printflike(fmtarg,firstvararg) __attribute__((__format__ (__printf__, fmtarg, firstvararg)))__scanflike(fmtarg,firstvararg) __attribute__((__format__ (__scanf__, fmtarg, firstvararg)))__format_arg(fmtarg) __attribute__((__format_arg__ (fmtarg)))__printf0like(fmtarg,firstvararg) __attribute__((__format__ (__printf0__, fmtarg, firstvararg)))__strong_reference(sym,aliassym) extern __typeof (sym) aliassym __attribute__ ((__alias__ (#sym)));__weak_reference(sym,alias) __asm__(".weak " #alias); __asm__(".equ " #alias ", " #sym)__warn_references(sym,msg) __asm__(".section .gnu.warning." #sym); __asm__(".asciz \"" msg "\""); __asm__(".previous")__IDSTRING(name,string) __asm__(".ident\t\"" string "\"")__FBSDID(s) __IDSTRING(__CONCAT(__rcsid_,__LINE__),s)__RCSID(s) __IDSTRING(__CONCAT(__rcsid_,__LINE__),s)__RCSID_SOURCE(s) __IDSTRING(__CONCAT(__rcsid_source_,__LINE__),s)__SCCSID(s) __IDSTRING(__CONCAT(__sccsid_,__LINE__),s)__COPYRIGHT(s) __IDSTRING(__CONCAT(__copyright_,__LINE__),s)__DECONST(type,var) ((type)(uintptr_t)(const void *)(var))__DEVOLATILE(type,var) ((type)(uintptr_t)(volatile void *)(var))__DEQUALIFY(type,var) ((type)(uintptr_t)(const volatile void *)(var))__POSIX_VISIBLE 200112__XSI_VISIBLE 600__BSD_VISIBLE 1__ISO_C_VISIBLE 1999* NULL ((void *)0)+_SYS__TYPES_H_ ! (_MACHINE__TYPES_H_ .__NO_STRICT_ALIGNMENT __GNUC_VA_LIST 2_RUNE_T_DECLARED 8_SIZE_T_DECLARED >_WCHAR_T_DECLARED Boffsetof(type,member) __offsetof(type, member)*SRCID(id,scmid) static SrcIdStruct FileSrcIdStruct = {__FILE__, (scmid), __DATE__, __TIME__}; SrcId id ## SrcId = &FileSrcIdStruct;BEGIN do {> (i)) & 1)BS_UNION(s1,s2) ((s1) | (s2))BS_ADD(ty,s,i) BS_UNION((s), BS_SINGLE(ty, (i)))BS_INTER(s1,s2) ((s1) & (s2))BS_DIFF(s1,s2) BS_INTER((s1), BS_COMP(s2))BS_DEL(ty,s,i) BS_DIFF((s), BS_SINGLE(ty, (i)))BS_SUPER(s1,s2) (BS_INTER((s1), (s2)) == (s2))BS_SUB(s1,s2) BS_SUPER((s2), (s1))BS_IS_SINGLE(s) (((s) & ((s)-1)) == 0)BS_SYM_DIFF(s1,s2) ((s1) ^ (s2)) check_h  mpslib_h mps_lib_EOF (mps_lib_get_EOF())mps_lib_stderr (mps_lib_get_stderr())mps_lib_stdout (mps_lib_get_stdout())0AVER(cond) DISCARD(cond)1AVERT(type,val) DISCARD(type ## Check(val))2AVER_CRITICAL(cond) DISCARD(cond)3AVERT_CRITICAL(type,val) DISCARD(type ## Check(val))MASSERT(cond,condstring) BEGIN if (cond) NOOP; else mps_lib_assert_fail(condstring "\n" __FILE__ "\n" STR(__LINE__)); END_NOTREACHED NOOPjCHECKT(type,val) ((val) != NULL && (val)->sig == type ## Sig)pCHECKS(type,val) DISCARD(CHECKT(type, val))qCHECKL(cond) DISCARD(cond)rCHECKD(type,val) DISCARD(CHECKT(type, val))sCHECKD_NOSIG(type,val) DISCARD((val) != NULL)tCHECKU(type,val) DISCARD(CHECKT(type, val))uCHECKU_NOSIG(type,val) DISCARD((val) != NULL)CHECKLVALUE(lv1,lv2) ((void)sizeof((lv1) = (lv2)), (void)sizeof((lv2) = (lv1)), TRUE)CHECKTYPE(t1,t2) (sizeof(t1) == sizeof(t2) && CHECKLVALUE(*((t1 *)0), *((t2 *)0)))CHECKFIELDAPPROX(s1,f1,s2,f2) (sizeof(((s1 *)0)->f1) == sizeof(((s2 *)0)->f2) && offsetof(s1, f1) == offsetof(s2, f2))CHECKFIELD(s1,f1,s2,f2) (CHECKFIELDAPPROX(s1, f1, s2, f2) && CHECKLVALUE(((s1 *)0)->f1, ((s2 *)0)->f2)) event_h   eventcom_h  mpmtypes_h '_MACHINE_STDARG_H_ -_VA_LIST_DECLARED 3va_start(ap,last) __builtin_stdarg_start((ap), (last))6va_arg(ap,type) __builtin_va_arg((ap), type):va_copy(dest,src) __builtin_va_copy((dest), (src))>va_end(ap) __builtin_va_end(ap)SigInvalid ((Sig)0x51915BAD)SizeMAX ((Size)-1)AccessSetEMPTY ((AccessSet)0)AccessREAD ((AccessSet)(1<<0))AccessWRITE ((AccessSet)(1<<1))AccessSetWIDTH (2)RefSetEMPTY BS_EMPTY(RefSet)RefSetUNIV BS_UNIV(RefSet)ZoneSetEMPTY BS_EMPTY(ZoneSet)ZoneSetUNIV BS_UNIV(ZoneSet)TraceSetEMPTY BS_EMPTY(TraceSet)TraceSetUNIV ((TraceSet)((1u << TraceLIMIT) - 1))RankSetEMPTY BS_EMPTY(RankSet)RankSetUNIV ((RankSet)((1u << RankLIMIT) - 1))AttrFMT ((Attr)(1<<0))AttrSCAN ((Attr)(1<<1))AttrPM_NO_READ ((Attr)(1<<2))AttrPM_NO_WRITE ((Attr)(1<<3))AttrALLOC ((Attr)(1<<4))AttrFREE ((Attr)(1<<5))AttrBUF ((Attr)(1<<6))AttrBUF_RESERVE ((Attr)(1<<7))AttrBUF_ALLOC ((Attr)(1<<8))AttrGC ((Attr)(1<<9))AttrINCR_RB ((Attr)(1<<10))AttrINCR_WB ((Attr)(1<<11))AttrMOVINGGC ((Attr)(1<<12))AttrMASK (AttrFMT | AttrSCAN | AttrPM_NO_READ | AttrPM_NO_WRITE | AttrALLOC | AttrFREE | AttrBUF | AttrBUF_RESERVE | AttrBUF_ALLOC | AttrGC | AttrINCR_RB | AttrINCR_WB | AttrMOVINGGC)BufferModeATTACHED ((BufferMode)(1<<0))BufferModeFLIPPED ((BufferMode)(1<<1))BufferModeLOGGED ((BufferMode)(1<<2))BufferModeTRANSITION ((BufferMode)(1<<3))RootModeCONSTANT ((RootMode)1<<0)RootModePROTECTABLE ((RootMode)1<<1)RootModePROTECTABLE_INNER ((RootMode)1<<2)STATISTIC_DECL(field) field!EventNameMAX ((size_t)19)"EventCodeMAX ((EventCode)0x0069)&EVENT_0(type) NOOPEVENT_A(type,p0) NOOPEVENT_AW(type,p0,p1) NOOPEVENT_P(type,p0) NOOPEVENT_PAA(type,p0,p1,p2) NOOPEVENT_PAW(type,p0,p1,p2) NOOPEVENT_PAWA(type,p0,p1,p2,p3) NOOPEVENT_PDDWWW(type,p0,p1,p2,p3,p4,p5) NOOPEVENT_PP(type,p0,p1) NOOPEVENT_PPAU(type,p0,p1,p2,p3) NOOPEVENT_PPAWP(type,p0,p1,p2,p3,p4) NOOPEVENT_PPP(type,p0,p1,p2) NOOPEVENT_PPPA(type,p0,p1,p2,p3) NOOPEVENT_PPPU(type,p0,p1,p2,p3) NOOPEVENT_PPPUU(type,p0,p1,p2,p3,p4) NOOPEVENT_PPU(type,p0,p1,p2) NOOPEVENT_PPUU(type,p0,p1,p2,p3) NOOPEVENT_PPUWWW(type,p0,p1,p2,p3,p4,p5) NOOPEVENT_PPWW(type,p0,p1,p2,p3) NOOPEVENT_PPWWW(type,p0,p1,p2,p3,p4) NOOPEVENT_PPWWWUUU(type,p0,p1,p2,p3,p4,p5,p6,p7) NOOPEVENT_PU(type,p0,p1) NOOPEVENT_PW(type,p0,p1) NOOPEVENT_PWA(type,p0,p1,p2) NOOPEVENT_PWAW(type,p0,p1,p2,p3) NOOPEVENT_PWP(type,p0,p1,p2) NOOPEVENT_PWU(type,p0,p1,p2) NOOPEVENT_PWW(type,p0,p1,p2) NOOPEVENT_PWWWWDD(type,p0,p1,p2,p3,p4,p5,p6) NOOPEVENT_PWWWWW(type,p0,p1,p2,p3,p4,p5) NOOPEVENT_PWWWWWWWWW(type,p0,p1,p2,p3,p4,p5,p6,p7,p8,p9) NOOPEVENT_PWWWWWWWWWWWW(type,p0,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11,p12) NOOPEVENT_UUPA(type,p0,p1,p2,p3) NOOPEVENT_UUPP(type,p0,p1,p2,p3) NOOPEVENT_UUPPP(type,p0,p1,p2,p3,p4) NOOPEVENT_WS(type,p0,p1,l1) NOOP:EventEventTime ((EventType)0xEF213E99);EventPoolInit ((EventType)0xEFB07141)EventPoolFree ((EventType)0xEFB07F6E)?EventArenaCreateVM ((EventType)0xEFA64CF3)@EventArenaCreateVMNZ ((EventType)0xEFA64CF2)AEventArenaCreateCL ((EventType)0xEFA64CC7)BEventArenaDestroy ((EventType)0xEFA64DE5)CEventArenaAlloc ((EventType)0xEFA64A77)DEventArenaFree ((EventType)0xEFA64F6E)EEventSegAlloc ((EventType)0xEF5E9A77)FEventSegFree ((EventType)0xEF5E9F6E)GEventSegMerge ((EventType)0xEF5E93E6)HEventSegSplit ((EventType)0xEF5E95B7)IEventAMCGenCreate ((EventType)0xEFA3C94C)JEventAMCGenDestroy ((EventType)0xEFA3C94D)KEventAMCInit ((EventType)0xEFA3C141)LEventAMCFinish ((EventType)0xEFA3CF14)MEventAMCTraceBegin ((EventType)0xEFA3C26B)NEventAMCScanBegin ((EventType)0xEFA3C5CB)OEventAMCScanEnd ((EventType)0xEFA3C5CE)PEventAMCFix ((EventType)0xEFA3CF18)QEventAMCFixInPlace ((EventType)0xEFA3CF8A)REventAMCFixForward ((EventType)0xEFA3CF8F)SEventAMCReclaim ((EventType)0xEFA3C6EC)TEventTraceStart ((EventType)0xEF26AC52)UEventTraceCreate ((EventType)0xEF26ACC6)VEventTraceDestroy ((EventType)0xEF26ACDE)WEventSegSetGrey ((EventType)0xEF59596A)XEventTraceFlipBegin ((EventType)0xEF26AF7B)YEventTraceFlipEnd ((EventType)0xEF26AF7E)ZEventTraceReclaim ((EventType)0xEF26A6EC)[EventTraceScanSeg ((EventType)0xEF26A559)\EventTraceScanSingleRef ((EventType)0xEF26A556)^EventTraceAccess ((EventType)0xEF26AACC)_EventTracePoll ((EventType)0xEF26AB01)`EventTraceStep ((EventType)0xEF26A52B)aEventTraceFix ((EventType)0xEF26AF18)bEventTraceFixSeg ((EventType)0xEF26AF85)cEventTraceFixWhite ((EventType)0xEF26AF83)dEventTraceScanArea ((EventType)0xEF26A5CA)eEventTraceScanAreaTagged ((EventType)0xEF26A5C2)fEventVMCreate ((EventType)0xEFF3C6EA)gEventVMDestroy ((EventType)0xEFF3DE52)hEventVMMap ((EventType)0xEFF33AB9)iEventVMUnmap ((EventType)0xEFF3043B)jEventIntern ((EventType)0xEF142E64)kEventArenaExtend ((EventType)0xEFA64E82)lEventArenaRetract ((EventType)0xEFA646E2)mEventRootScan ((EventType)0xEF625CA4)nEventLabel ((EventType)0xEF7ABE79)oEventTraceSegGreyen ((EventType)0xEF26A599)pEventBufferReserve ((EventType)0xEFB0FF6E)qEventBufferCommit ((EventType)0xEFB0FFC0)rEventBufferInit ((EventType)0xEFB0FF14)sEventBufferInitSeg ((EventType)0xEFB0F15E)tEventBufferInitRank ((EventType)0xEFB0F16A)uEventBufferInitEPVM ((EventType)0xEFB0F1EF)vEventBufferFinish ((EventType)0xEFB0FFF1)wEventBufferFill ((EventType)0xEFB0FFF7)xEventBufferEmpty ((EventType)0xEFB0FFE3)yEventArenaAllocFail ((EventType)0xEFA64A7F)zEventSegAllocFail ((EventType)0xEF5E9A7F){EventMeterInit ((EventType)0xEF3E2141)|EventMeterValues ((EventType)0xEF3E2FA7)}EventCBSInit ((EventType)0xEFCB5141)~EventTraceStatCondemn ((EventType)0xEF26A5C0)EventTraceStatScan ((EventType)0xEF26A55C)EventTraceStatFix ((EventType)0xEF26A5F8)EventTraceStatReclaim ((EventType)0xEF26A56E)EventArenaWriteFaults ((EventType)0xEFA6436F)EventPoolInitMV ((EventType)0xEFB0713F)EventPoolInitMVFF ((EventType)0xEFB071FF)EventPoolInitMFS ((EventType)0xEFB07135)EventPoolInitEPVM ((EventType)0xEFB071EF)EventPoolInitEPDL ((EventType)0xEFB071E7)EventPoolInitAMS ((EventType)0xEFB071A5)EventPoolInitAMC ((EventType)0xEFB071AC)EventPoolInitAMCZ ((EventType)0xEFB071A2)EventPoolInitAWL ((EventType)0xEFB071A3)EventPoolInitLO ((EventType)0xEFB07170)EventPoolInitSNC ((EventType)0xEFB07154)EventPoolInitMVT ((EventType)0xEFB07132)EventPoolPush ((EventType)0xEFB07B58)EventPoolPop ((EventType)0xEFB07B0B)EventReservoirLimitSet ((EventType)0xEF6E5713)EventCommitLimitSet ((EventType)0xEFC03713)EventSpareCommitLimitSet ((EventType)0xEF5BC713)hEventInit() NOOPiEventFinish() NOOPjEventControl(r,f) (UNUSED(r), UNUSED(f), (Word)0)kEventInternString(s) (UNUSED(s), (Word)0)lEventInternGenString(l,s) (UNUSED(l), UNUSED(s), (Word)0)mEventLabelAddr(a,i) BEGIN UNUSED(a); UNUSED(i); ENDPlock_h ULockSig ((Sig)0x51970CC9) th_h  ring_h RingNONE ((Ring)0)$RingInit(ring) BEGIN Ring _ring = (ring); AVER(_ring != NULL); _ring->next = _ring; _ring->prev = _ring; AVER(RingCheck(_ring)); END/RingFinish(ring) BEGIN Ring _ring = (ring); AVER(RingCheckSingle(_ring)); _ring->next = RingNONE; _ring->prev = RingNONE; END9RingAppend(ring,new) BEGIN Ring _ring = (ring), _new = (new); AVER(RingCheck(_ring)); AVER(RingCheckSingle(_new)); _new->prev = _ring->prev; _new->next = _ring; _ring->prev->next = _new; _ring->prev = _new; ENDFRingInsert(ring,new) BEGIN Ring _ring = (ring), _new = (new); AVER(RingCheck(_ring)); AVER(RingCheckSingle(_new)); _new->prev = _ring; _new->next = _ring->next; _ring->next->prev = _new; _ring->next = _new; ENDSRingRemove(old) BEGIN Ring _old = (old); AVER(RingCheck(_old)); AVER(!RingIsSingle(_old)); _old->next->prev = _old->prev; _old->prev->next = _old->next; _old->next = _old; _old->prev = _old; END`RingNext(ring) ((ring)->next)dRingPrev(ring) ((ring)->prev)gRING_ELT(type,field,node) ((type)(void *)((char *)(node) - (size_t)(&((type)0)->field)))kRING_FOR(node,ring,next) for(node = RingNext(ring), next = RingNext(node); node != (ring); node = (next), next = RingNext(node))ThreadSig ((Sig)0x519286ED) ss_h  tract_h   bt_h BTSize(n) (((n) + MPS_WORD_WIDTH-1) / MPS_WORD_WIDTH * sizeof(Word))BTGet(a,i) ((Bool)(((a)[((i) >> MPS_WORD_SHIFT)] >> ((i) & ~((Word)-1 << MPS_WORD_SHIFT))) & (Word)1))BTSet(a,i) BEGIN (a)[((i)>>MPS_WORD_SHIFT)] |= (Word)1<<((i)&~((Word)-1<>MPS_WORD_SHIFT)] &= ~((Word)1 << ((i) & ~((Word)-1<base)&TractPool(tract) ((tract)->pool)'TractP(tract) ((tract)->p)(TractSetP(tract,pp) ((void)((tract)->p = (pp))))TractHasSeg(tract) ((Bool)(tract)->hasSeg)*TractSetHasSeg(tract,b) ((void)((tract)->hasSeg = (b)))+TractWhite(tract) ((tract)->white),TractSetWhite(tract,w) ((void)((tract)->white = (w)))8TRACT_SEG(segReturn,tract) (TractHasSeg(tract) && ((*(segReturn) = (Seg)TractP(tract)), TRUE));TRACT_SET_SEG(tract,seg) (TractSetHasSeg(tract, TRUE), TractSetP(tract, seg))>TRACT_UNSET_SEG(tract) (TractSetHasSeg(tract, FALSE), TractSetP(tract, NULL))nPageTract(page) (&(page)->the.tractStruct)rPageOfTract(tract) PARENT(PageStruct, the.tractStruct, (tract))vPagePool(page) ((page)->the.rest.pool)}PageIsAllocated(page) ((page)->the.rest.pool != NULL)PageType(page) ((page)->the.rest.type)ChunkSig ((Sig)0x519C804C)ChunkArena(chunk) ((chunk)->arena)ChunkPageSize(chunk) ((chunk)->pageSize)ChunkPageShift(chunk) ((chunk)->pageShift)ChunkPagesToSize(chunk,pages) ((Size)(pages) << (chunk)->pageShift)ChunkSizeToPages(chunk,size) ((Count)((size) >> (chunk)->pageShift))CHUNK_OF_ADDR(chunkReturn,arena,addr) (((arena)->chunkCache.base <= (addr) && (addr) < (arena)->chunkCache.limit) ? (*(chunkReturn) = (arena)->chunkCache.chunk, TRUE) : ChunkOfAddr(chunkReturn, arena, addr))AddrPageBase(chunk,addr) AddrAlignDown((addr), ChunkPageSize(chunk))TRACT_OF_ADDR(tractReturn,arena,addr) BEGIN Arena _arena = (arena); Addr _addr = (addr); Chunk _chunk; Index _i; if (CHUNK_OF_ADDR(&_chunk, _arena, _addr)) { _i = INDEX_OF_ADDR(_chunk, _addr); if (BTGet(_chunk->allocTable, _i)) *(tractReturn) = PageTract(&_chunk->pageTable[_i]); else *(tractReturn) = NULL; } else *(tractReturn) = NULL; ENDINDEX_OF_ADDR(chunk,addr) ((Index)ChunkSizeToPages(chunk, AddrOffset((chunk)->base, addr)))PageIndexBase(chunk,i) AddrAdd((chunk)->base, ChunkPagesToSize(chunk, i))TractAverContiguousRange(arena,rangeBase,rangeLimit) BEGIN Chunk _ch = NULL; UNUSED(_ch); AVER(ChunkOfAddr(&_ch, arena, rangeBase) && (rangeLimit) <= _ch->limit); ENDTRACT_TRACT_FOR(tract,addr,arena,firstTract,limit) tract = (firstTract); addr = TractBase(tract); TractAverContiguousRange(arena, addr, limit); for(; tract != NULL; (addr = AddrAdd(addr, (arena)->alignment)), (addr < (limit) ? (tract = PageTract(PageOfTract(tract) + 1)) : (tract = NULL) ))TRACT_FOR(tract,addr,arena,base,limit) TRACT_TRACT_FOR(tract, addr, arena, TractOfBaseAddr(arena, base), limit)mpmst_h protocol_h DERIVE_LOCAL(name) protocol ## nameDERIVE_STRUCT(name) name ## StructDERIVE_ENSURE(name) name ## GetDERIVE_ENSURE_OLD(name) Ensure ## nameDERIVE_ENSURE_INTERNAL(name) protocolGet ## nameDERIVE_GUARDIAN(name) protocol ## name ## GuardianDERIVE_STATIC_STORAGE(name) protocol ## name ## StructProtocolClassSetSuperclassPoly(class,super) (((ProtocolClass)(class))->superclass) = (ProtocolClass)(super)$DEFINE_CLASS(className,var) static Bool DERIVE_GUARDIAN(className) = FALSE; static DERIVE_STRUCT(className) DERIVE_STATIC_STORAGE(className); static void DERIVE_ENSURE_INTERNAL(className)(className); extern className DERIVE_ENSURE(className)(void); className DERIVE_ENSURE(className)(void) { if (DERIVE_GUARDIAN(className) == FALSE) { LockClaimGlobalRecursive(); if (DERIVE_GUARDIAN(className) == FALSE) { DERIVE_ENSURE_INTERNAL(className) (&DERIVE_STATIC_STORAGE(className)); DERIVE_GUARDIAN(className) = TRUE; } LockReleaseGlobalRecursive(); } return &DERIVE_STATIC_STORAGE(className); } extern className DERIVE_ENSURE_OLD(className)(void); className DERIVE_ENSURE_OLD(className)(void) { return DERIVE_ENSURE(className)(); } static void DERIVE_ENSURE_INTERNAL(className) (className var)AINHERIT_CLASS(this,parentName) BEGIN parentName DERIVE_LOCAL(parentName) = DERIVE_ENSURE(parentName)(); *this = *(DERIVE_LOCAL(parentName)); ProtocolClassSetSuperclassPoly(this, DERIVE_LOCAL(parentName)); ENDODEFINE_ALIAS_CLASS(className,typeName,var) typedef typeName className; typedef DERIVE_STRUCT(typeName) DERIVE_STRUCT(className); DEFINE_CLASS(className, var)VProtocolClassSig ((Sig)0x519B60C7)WProtocolInstSig ((Sig)0x519B6014)ProtocolClassSuperclassPoly(class) (((ProtocolClass)(class))->superclass)ClassOfPoly(inst) ((ProtocolInst)(inst)->class)IsSubclassPoly(sub,super) ProtocolIsSubclass((ProtocolClass)(sub), (ProtocolClass)(super))SUPERCLASS(className) ProtocolClassSuperclassPoly(DERIVE_ENSURE(className)())chain_h GenDescSig ((Sig)0x5199E4DE)+PoolGenSig ((Sig)0x519B009E);ChainSig ((Sig)0x519C8A14)XPoolGenNr(gen) ((gen)->nr)/PoolClassSig ((Sig)0x519C7A55)]PoolSig ((Sig)0x519B0019)}MFSSig ((Sig)0x5193F599)MVSig ((Sig)0x5193B999)ReservoirSig ((Sig)0x5196e599)MessageClassSig ((Sig)0x519359c1)MessageSig ((Sig)0x5193e559)SegClassSig ((Sig)0x5195E9C7)SegSig ((Sig)0x5195E999)GCSegSig ((Sig)0x5199C5E9)SegPrefSig ((Sig)0x5195E9B6)BufferClassSig ((Sig)0x519B0FC7)BufferSig ((Sig)0x519B0FFE)SegBufSig ((Sig)0x51959B0F)FormatSig ((Sig)0x519F63A2)ScanStateSig ((Sig)0x5195CA45)TraceSig ((Sig)0x51924ACE)ChunkCacheEntrySig ((Sig)0x519C80CE)ArenaClassSig ((Sig)0x519A6C1A)GlobalsSig ((Sig)0x519970BA)ArenaSig ((Sig)0x519A6E4A)%BoolCheck(b) ((unsigned)(b) <= 1)(FUNCHECK(f) (FunCheck((Fun)f))4WordIsAligned(w,a) (((w) & ((a) - 1)) == 0)7WordAlignUp(w,a) (((w) + (a) - 1) & ~((Word)(a) - 1));WordRoundUp(w,r) (((w)+(r)-1) - ((w)+(r)-1)%(r))>WordAlignDown(w,a) ((w) & ~((Word)(a) - 1))@size_tAlignUp(s,a) ((size_t)WordAlignUp((Word)(s), a))BPointerAdd(p,s) ((void *)((char *)(p) + (s)))CPointerSub(p,s) ((void *)((char *)(p) - (s)))EPointerOffset(base,limit) ((size_t)((char *)(limit) - (char *)(base)))HPointerAlignUp(p,s) ((void *)WordAlignUp((Word)(p), (Align)(s)))KAddrAdd(p,s) ((Addr)PointerAdd((void *)(p), s))LAddrSub(p,s) ((Addr)PointerSub((void *)(p), s))NAddrOffset(b,l) ((Size)(PointerOffset((void *)(b), (void *)(l))))RAddrAlignDown(p,a) ((Addr)WordAlignDown((Word)(p), a))TAlignWord(s) ((Word)(s))VAddrIsAligned(p,a) WordIsAligned((Word)(p), a)WAddrAlignUp(p,a) ((Addr)WordAlignUp((Word)(p), a))YSizeIsAligned(s,a) WordIsAligned((Word)(s), a)ZSizeAlignUp(s,a) ((Size)WordAlignUp((Word)(s), a))[SizeAlignDown(s,a) ((Size)WordAlignDown((Word)(s), a))]SizeRoundUp(s,r) ((Size)WordRoundUp((Word)(s), (Size)(r)))_IndexIsAligned(s,a) WordIsAligned((Word)(s), a)`IndexAlignUp(s,a) ((Index)WordAlignUp((Word)(s), a))aIndexAlignDown(s,a) ((Index)WordAlignDown((Word)(s), a))cAlignIsAligned(a1,a2) WordIsAligned((Word)(a1), a2)iAddrSet(target,value,size) mps_lib_memset(target, (int)(value), size)mAddrCopy(target,source,size) mps_lib_memcpy(target, source, size)qAddrComp(a,b,size) mps_lib_memcmp(a, b, size)wADDR_PTR(type,addr) ((type *)(addr))PoolArena(pool) ((pool)->arena)PoolAlignment(pool) ((pool)->alignment)PoolSegRing(pool) (&(pool)->segRing)PoolFix(pool,ss,seg,refIO) ((*(pool)->fix)(pool, ss, seg, refIO))ClassOfPool(pool) ((pool)->class)SuperclassOfPool(pool) ((PoolClass)ProtocolClassSuperclassPoly((pool)->class))DEFINE_POOL_CLASS(className,var) DEFINE_ALIAS_CLASS(className, PoolClass, var)POOL_SUPERCLASS(className) ((PoolClass)SUPERCLASS(className))TraceSetSingle(trace) BS_SINGLE(TraceSet, (trace)->ti)TraceSetIsSingle(ts) BS_IS_SINGLE(ts)TraceSetIsMember(ts,trace) BS_IS_MEMBER(ts, (trace)->ti)TraceSetAdd(ts,trace) BS_ADD(TraceSet, ts, (trace)->ti)TraceSetDel(ts,trace) BS_DEL(TraceSet, ts, (trace)->ti)TraceSetUnion(ts1,ts2) BS_UNION(ts1, ts2)TraceSetInter(ts1,ts2) BS_INTER(ts1, ts2)TraceSetDiff(ts1,ts2) BS_DIFF(ts1, ts2)TraceSetSuper(ts1,ts2) BS_SUPER(ts1, ts2)TraceSetSub(ts1,ts2) BS_SUB(ts1, ts2)TraceSetComp(ts) BS_COMP(ts)TRACE_SET_ITER(ti,trace,ts,arena) for(ti = 0, trace = ArenaTrace(arena, ti); ti < TraceLIMIT; ++ti, trace = ArenaTrace(arena, ti)) BEGIN if (TraceSetIsMember(ts, trace)) {TRACE_SET_ITER_END(ti,trace,ts,arena) } ENDTRACE_SCAN_BEGIN(ss) BEGIN Shift SCANzoneShift = (ss)->zoneShift; ZoneSet SCANwhite = (ss)->white; RefSet SCANsummary = (ss)->unfixedSummary; Word SCANt; {TRACE_FIX1(ss,ref) (SCANt = (Word)1 << ((Word)(ref) >> SCANzoneShift & (MPS_WORD_WIDTH-1)), SCANsummary |= SCANt, SCANwhite & SCANt)TRACE_FIX2(ss,refIO) ((*(ss)->fix)(ss, refIO))TRACE_FIX(ss,refIO) (TRACE_FIX1(ss, *(refIO)) ? TRACE_FIX2(ss, refIO) : ResOK)TRACE_SCAN_END(ss) } (ss)->unfixedSummary = SCANsummary; ENDDEFINE_ARENA_CLASS(className,var) DEFINE_ALIAS_CLASS(className, ArenaClass, var)ARENA_SUPERCLASS(className) ((ArenaClass)SUPERCLASS(className))ArenaGlobals(arena) (&(arena)->globals)GlobalsArena(glob) PARENT(ArenaStruct, globals, glob)ArenaRootRing(arena) (&(arena)->rootRing)ArenaTraceRing(arena) (&(arena)->traceRing)ArenaThreadRing(arena) (&(arena)->threadRing)ArenaEpoch(arena) ((arena)->epoch)ArenaTrace(arena,ti) (&(arena)->trace[ti])ArenaZoneShift(arena) ((arena)->zoneShift)ArenaAlign(arena) ((arena)->alignment)ArenaGreyRing(arena,rank) (&(arena)->greyRing[rank])ArenaReservoir(arena) (&(arena)->reservoirStruct)DEFINE_SEG_CLASS(className,var) DEFINE_ALIAS_CLASS(className, SegClass, var)SEG_SUPERCLASS(className) ((SegClass)SUPERCLASS(className))ClassOfSeg(seg) ((seg)->class)SegBase(seg) (TractBase((seg)->firstTract))SegLimit(seg) ((seg)->limit)SegPool(seg) (TractPool((seg)->firstTract))SegRankSet(seg) ((RankSet)(seg)->rankSet)SegPM(seg) ((AccessSet)(seg)->pm)SegSM(seg) ((AccessSet)(seg)->sm)SegDepth(seg) ((unsigned)(seg)->depth)SegGrey(seg) ((TraceSet)(seg)->grey)SegWhite(seg) ((TraceSet)(seg)->white)SegNailed(seg) ((TraceSet)(seg)->nailed)SegOfPoolRing(node) (RING_ELT(Seg, poolRing, (node)))SegOfGreyRing(node) (&(RING_ELT(GCSeg, greyRing, (node)) ->segStruct))SegSummary(seg) (((GCSeg)(seg))->summary)SegSetPM(seg,mode) ((void)((seg)->pm = (mode)))SegSetSM(seg,mode) ((void)((seg)->sm = (mode)))SegSetDepth(seg,d) ((void)((seg)->depth = (d)))SegSetNailed(seg,ts) ((void)((seg)->nailed = (ts)))BUFFER_RESERVE(pReturn,buffer,size,withReservoirPermit) (AddrAdd(BufferAlloc(buffer), size) > BufferAlloc(buffer) && AddrAdd(BufferAlloc(buffer), size) <= BufferAP(buffer)->limit ? (*(pReturn) = BufferAlloc(buffer), BufferAP(buffer)->alloc = AddrAdd(BufferAlloc(buffer), size), ResOK) : BufferFill(pReturn, buffer, size, withReservoirPermit))BUFFER_COMMIT(buffer,p,size) (BufferAP(buffer)->init = BufferAlloc(buffer), BufferAP(buffer)->limit != 0 || BufferTrip(buffer, p, size))BufferAP(buffer) (&(buffer)->apStruct)BufferOfAP(ap) PARENT(BufferStruct, apStruct, ap)BufferArena(buffer) ((buffer)->arena)BufferPool(buffer) ((buffer)->pool)BufferBase(buffer) ((buffer)->base)BufferGetInit(buffer) (BufferAP(buffer)->init)BufferAlloc(buffer) (BufferAP(buffer)->alloc)BufferLimit(buffer) ((buffer)->poolLimit)DEFINE_BUFFER_CLASS(className,var) DEFINE_ALIAS_CLASS(className, BufferClass, var)BUFFER_SUPERCLASS(className) ((BufferClass)SUPERCLASS(className))RankSetIsMember(rs,r) BS_IS_MEMBER((rs), (r))RankSetSingle(r) BS_SINGLE(RankSet, (r))RankSetIsSingle(r) BS_IS_SINGLE(r)RankSetUnion(rs1,rs2) BS_UNION((rs1), (rs2))RankSetDel(rs,r) BS_DEL(RankSet, (rs), (r))AddrZone(arena,addr) (((Word)(addr) >> (arena)->zoneShift) & (MPS_WORD_WIDTH - 1))RefSetUnion(rs1,rs2) BS_UNION((rs1), (rs2))RefSetInter(rs1,rs2) BS_INTER((rs1), (rs2))RefSetDiff(rs1,rs2) BS_DIFF((rs1), (rs2))RefSetAdd(arena,rs,addr) BS_ADD(RefSet, rs, AddrZone(arena, addr))RefSetIsMember(arena,rs,addr) BS_IS_MEMBER(rs, AddrZone(arena, addr))RefSetSuper(rs1,rs2) BS_SUPER((rs1), (rs2))RefSetSub(rs1,rs2) BS_SUB((rs1), (rs2))ZoneSetUnion(zs1,zs2) BS_UNION(zs1, zs2)ZoneSetInter(zs1,zs2) BS_INTER(zs1, zs2)ZoneSetDiff(zs1,zs2) BS_DIFF(zs1, zs2)ZoneSetAdd(arena,zs,addr) BS_ADD(ZoneSet, zs, AddrZone(arena, addr))ZoneSetIsMember(arena,zs,addr) BS_IS_MEMBER(zs, AddrZone(arena, addr))ZoneSetSub(zs1,zs2) BS_SUB(zs1, zs2)ZoneSetSuper(zs1,zs2) BS_SUPER(zs1, zs2)ZoneSetComp(zs) BS_COMP(zs)STATISTIC(gather) BEGIN (gather); ENDSTATISTIC_STAT(gather) BEGIN gather; ENDSTATISTIC_WRITE(format,arg) (format), (arg),3 mps_h &_LIMITS_H_ +_POSIX_ARG_MAX 4096,_POSIX_CHILD_MAX 25-_POSIX_LINK_MAX 8._POSIX_MAX_CANON 255/_POSIX_MAX_INPUT 2550_POSIX_NAME_MAX 141_POSIX_NGROUPS_MAX 82_POSIX_OPEN_MAX 203_POSIX_PATH_MAX 2564_POSIX_PIPE_BUF 5125_POSIX_SSIZE_MAX 327676_POSIX_STREAM_MAX 87_POSIX_TZNAME_MAX 69BC_BASE_MAX 99:BC_DIM_MAX 2048;BC_SCALE_MAX 99EXPR_NEST_MAX 32?LINE_MAX 2048@RE_DUP_MAX 255B_POSIX2_BC_BASE_MAX 99C_POSIX2_BC_DIM_MAX 2048D_POSIX2_BC_SCALE_MAX 99E_POSIX2_BC_STRING_MAX 1000F_POSIX2_EQUIV_CLASS_MAX 2G_POSIX2_EXPR_NEST_MAX 32H_POSIX2_LINE_MAX 2048I_POSIX2_RE_DUP_MAX 255M_POSIX_AIO_LISTIO_MAX 16N_POSIX_AIO_MAX 1O_POSIX_DELAYTIMER_MAX 32P_POSIX_MQ_OPEN_MAX 8Q_POSIX_MQ_PRIO_MAX 32R_POSIX_RTSIG_MAX 8S_POSIX_SEM_NSEMS_MAX 256T_POSIX_SEM_VALUE_MAX 32767U_POSIX_SIGQUEUE_MAX 32V_POSIX_TIMER_MAX 32Z_POSIX_THREAD_DESTRUCTOR_ITERATIONS 4[_POSIX_THREAD_KEYS_MAX 128\_POSIX_THREAD_THREADS_MAX 64`_POSIX_HOST_NAME_MAX 255a_POSIX_LOGIN_NAME_MAX 9b_POSIX_SS_REPL_MAX 4c_POSIX_SYMLINK_MAX 255d_POSIX_SYMLOOP_MAX 8e_POSIX_TRACE_EVENT_NAME_MAX 30f_POSIX_TRACE_NAME_MAX 8g_POSIX_TRACE_SYS_MAX 8h_POSIX_TRACE_USER_EVENT_MAX 32i_POSIX_TTY_NAME_MAX 9j_POSIX2_CHARCLASS_NAME_MAX 14k_POSIX2_COLL_WEIGHTS_MAX 2m_POSIX_RE_DUP_MAX _POSIX2_RE_DUP_MAXq_XOPEN_IOV_MAX 16r_XOPEN_NAME_MAX 255s_XOPEN_PATH_MAX 1024tPASS_MAX 128vNL_ARGMAX 99wNL_LANGMAX 31xNL_MSGMAX 32767yNL_NMAX 1zNL_SETMAX 255{NL_TEXTMAX 2048~MB_LEN_MAX 6!_SYS_LIMITS_H_ $"_MACHINE__LIMITS_H_ /__CHAR_BIT 81__SCHAR_MAX 0x7f2__SCHAR_MIN (-0x7f - 1)4__UCHAR_MAX 0xff6__USHRT_MAX 0xffff7__SHRT_MAX 0x7fff8__SHRT_MIN (-0x7fff - 1):__UINT_MAX 0xffffffffU;__INT_MAX 0x7fffffff<__INT_MIN (-0x7fffffff - 1)D__ULONG_MAX 0xffffffffULE__LONG_MAX 0x7fffffffLF__LONG_MIN (-0x7fffffffL - 1)J__ULLONG_MAX 0xffffffffffffffffULLK__LLONG_MAX 0x7fffffffffffffffLLL__LLONG_MIN (-0x7fffffffffffffffLL - 1)N__SSIZE_MAX __INT_MAXP__SIZE_T_MAX __UINT_MAXR__OFF_MAX __LLONG_MAXS__OFF_MIN __LLONG_MINV__UQUAD_MAX __ULLONG_MAXW__QUAD_MAX __LLONG_MAXX__QUAD_MIN __LLONG_MIN]__LONG_BIT 32___WORD_BIT 32&CHAR_BIT __CHAR_BIT(SCHAR_MAX __SCHAR_MAX)SCHAR_MIN __SCHAR_MIN+UCHAR_MAX __UCHAR_MAX1CHAR_MAX SCHAR_MAX2CHAR_MIN SCHAR_MIN5USHRT_MAX __USHRT_MAX6SHRT_MAX __SHRT_MAX7SHRT_MIN __SHRT_MIN9UINT_MAX __UINT_MAX:INT_MAX __INT_MAX;INT_MIN __INT_MIN=ULONG_MAX __ULONG_MAX>LONG_MAX __LONG_MAX?LONG_MIN __LONG_MINHSSIZE_MAX __SSIZE_MAXLSIZE_T_MAX __SIZE_T_MAXNOFF_MAX __OFF_MAXOOFF_MIN __OFF_MINSGID_MAX UINT_MAXTUID_MAX UINT_MAXVUQUAD_MAX (__UQUAD_MAX)WQUAD_MAX (__QUAD_MAX)XQUAD_MIN (__QUAD_MIN)\LONG_BIT __LONG_BIT]WORD_BIT __WORD_BIT"_SYS_SYSLIMITS_H_ 4ARG_MAX 2621447CHILD_MAX 409LINK_MAX 32767:MAX_CANON 255;MAX_INPUT 255 (sac)->mps_middle) { _mps_i = 0; while (_mps_s > (sac)->mps_freelists[_mps_i].mps_size) _mps_i += 2; } else { _mps_i = 1; while (_mps_s <= (sac)->mps_freelists[_mps_i].mps_size) _mps_i += 2; } if ((sac)->mps_freelists[_mps_i].mps_count != 0) { (p_o) = (sac)->mps_freelists[_mps_i].mps_blocks; (sac)->mps_freelists[_mps_i].mps_blocks = *(mps_addr_t *)(p_o); --(sac)->mps_freelists[_mps_i].mps_count; (res_o) = MPS_RES_OK; } else (res_o) = mps_sac_fill(&(p_o), sac, _mps_s, has_reservoir_permit); MPS_ENDMPS_SAC_FREE_FAST(sac,p,size) MPS_BEGIN size_t _mps_i, _mps_s; _mps_s = (size); if (_mps_s > (sac)->mps_middle) { _mps_i = 0; while (_mps_s > (sac)->mps_freelists[_mps_i].mps_size) _mps_i += 2; } else { _mps_i = 1; while (_mps_s <= (sac)->mps_freelists[_mps_i].mps_size) _mps_i += 2; } if ((sac)->mps_freelists[_mps_i].mps_count < (sac)->mps_freelists[_mps_i].mps_count_max) { *(mps_addr_t *)(p) = (sac)->mps_freelists[_mps_i].mps_blocks; (sac)->mps_freelists[_mps_i].mps_blocks = (p); ++(sac)->mps_freelists[_mps_i].mps_count; } else mps_sac_empty(sac, p, _mps_s); MPS_ENDMPS_SAC_ALLOC(res_o,p_o,sac,size,has_reservoir_permit) MPS_SAC_ALLOC_FAST(res_o, p_o, sac, size, has_reservoir_permit)MPS_SAC_FREE(sac,p,size) MPS_SAC_FREE_FAST(sac, p, size)mps_reserve(_p_o,_mps_ap,_size) ((char *)(_mps_ap)->alloc + (_size) > (char *)(_mps_ap)->alloc && (char *)(_mps_ap)->alloc + (_size) <= (char *)(_mps_ap)->limit ? ((_mps_ap)->alloc = (mps_addr_t)((char *)(_mps_ap)->alloc + (_size)), *(_p_o) = (_mps_ap)->init, MPS_RES_OK) : mps_ap_fill(_p_o, _mps_ap, _size))MPS_RESERVE_BLOCK(_res_v,_p_v,_mps_ap,_size) MPS_BEGIN char *_alloc = (char *)(_mps_ap)->alloc; char *_next = _alloc + (_size); if(_next > _alloc && _next <= (char *)(_mps_ap)->limit) { (_mps_ap)->alloc = (mps_addr_t)_next; (_p_v) = (_mps_ap)->init; (_res_v) = MPS_RES_OK; } else (_res_v) = mps_ap_fill(&(_p_v), _mps_ap, _size); MPS_ENDMPS_RESERVE_WITH_RESERVOIR_PERMIT_BLOCK(_res_v,_p_v,_mps_ap,_size) MPS_BEGIN char *_alloc = (char *)(_mps_ap)->alloc; char *_next = _alloc + (_size); if(_next > _alloc && _next <= (char *)(_mps_ap)->limit) { (_mps_ap)->alloc = (mps_addr_t)_next; (_p_v) = (_mps_ap)->init; (_res_v) = MPS_RES_OK; } else (_res_v) = mps_ap_fill_with_reservoir_permit(&(_p_v), _mps_ap, _size); MPS_ENDmps_commit(_mps_ap,_p,_size) ((_mps_ap)->init = (_mps_ap)->alloc, (_mps_ap)->limit != 0 || mps_ap_trip(_mps_ap, _p, _size))MPS_SCAN_BEGIN(ss) MPS_BEGIN mps_ss_t _ss = (ss); mps_word_t _mps_w0 = (_ss)->w0; mps_word_t _mps_w1 = (_ss)->w1; mps_word_t _mps_w2 = (_ss)->w2; mps_word_t _mps_wt; {MPS_FIX1(ss,ref) (_mps_wt = 1uL << ((mps_word_t)(ref) >> _mps_w0 & (sizeof(mps_word_t) * CHAR_BIT - 1)), _mps_w2 |= _mps_wt, _mps_w1 & _mps_wt)MPS_FIX2(ss,ref_io) ((*(ss)->fix)(ss, ref_io))MPS_FIX12(ss,ref_io) (MPS_FIX1(ss, *(ref_io)) ? MPS_FIX2(ss, ref_io) : MPS_RES_OK)MPS_FIX(ss,ref_io) MPS_FIX12(ss, ref_io)MPS_FIX_CALL(ss,call) MPS_BEGIN (call); _mps_w2 |= (ss)->w2; MPS_ENDMPS_SCAN_END(ss) } (ss)->w2 = _mps_w2; MPS_END4mpsavm_h 5 sac_h sacClassLIMIT ((Count)8))SACSig ((Sig)0x5195AC99)5SACOfExternalSAC(esac) PARENT(SACStruct, esacStruct, esac)7ExternalSACOfSAC(sac) (&((sac)->esacStruct))9SACArena(sac) PoolArena((sac)->pool)mpsi.cJan 17 200703:39:21$Id: //info.ravenbrook.com/project/mps/master/code/mpsi.c#18 $|  AB  AB  AB $ AB 03AB BG.d,AB BG.AB F.,AB BG.AB F.,AB BG.,AB BG.40AB BG.d)AB DD.,AB BG.%AB DD.AB F.%AB DD.AB F.,%AB DD.TAB F.d(AB DD.(AB DD.%AB DD.,AB BG.,AB BG.$4:AB BG.U. K.pAB F.AB M.<AB M.!AB K.L.AB DD.AB F.(0AB BG.$XcAB EG.g.0K.$dAB EG.h.0K.$ cAB EG.g.0K.$aAB EG.e.0K.2AB BG.AB P.8HAB ED.+AB BJ.UAB EG.AB L.2AB BJ.$P\AB FG.[. K.$ZAB EG.[. K..AB BM.8AAB Bm.|AAB Bm.<AB D]. nAB Fm. l jAB Fz. XAB EJ.0 XAB EJ. 9AB BM. LAB EG. 1AB BP.D 1AB BP.x WAB EM. 8AB BP.  AB Bu. AB Bi.$ RAB ED.Y. K.$h WAB EG.[. K.$ ZAB EG.^. K.$UAB ED.\. K.$tUAB ED.\. K.AB L.2AB BG.AB O.4EAB ED.|4AB BG.)AB DD.AB L.AB L. AB L. $MAB Fm.tAB :AB BG.:AB BG.,AB BG.(/AB BG.X)AB DD.)AB DD.)AB DD.CAB ED. @AB ED.`<AB DD./AB BG./AB BG./AB BG., AB 8 AB DAB L AB \ AB l AB |7AB BM.:AB BM.;AB BM.,/AB DD.\2AB BG.2AB BG.KAB ED.+AB BJ. Q-mps_rank_ambig-mps_rank_exact-mps_rank_weak-mps_arena_extend,.mps_arena_reservedm.mps_space_reserved.mps_arena_committed.mps_space_committed/mps_arena_spare_committedC/mps_arena_commit_limit/mps_arena_commit_limit_set/mps_arena_spare_commit_limit_set0mps_arena_spare_commit_limit_0mps_arena_clamp0mps_space_clamp0mps_arena_release0mps_space_release1mps_arena_parkH1mps_space_parkp1mps_arena_expose1mps_arena_unsafe_expose_remember_protection1mps_arena_unsafe_restore_protection 2mps_arena_start_collectN2mps_arena_collect2mps_arena_step2mps_space_collect 3mps_arena_create~3mps_arena_create_v3mps_space_create4mps_arena_destroyI4mps_space_destroyq4mps_arena_has_addr4mps_fmt_create_A=5mps_fmt_create_B5mps_fmt_create_auto_header)6mps_fmt_create_fixed6mps_fmt_destroy6mps_pool_createM7mps_pool_create_v7mps_pool_destroy8mps_alloc8mps_alloc_v8mps_free\9mps_ap_create9mps_ap_create_v|:mps_ap_destroy:mps_reserve;;mps_reserve_with_reservoir_permit;mps_commit;mps_ap_frame_push<mps_ap_frame_pop<mps_ap_filll=mps_ap_fill_with_reservoir_permit=mps_ap_trip\>mps_sac_create?mps_sac_destroyF?mps_sac_flush?mps_sac_fill@mps_sac_emptyy@mps_sac_allocAmps_sac_freelAmps_root_create'Bmps_root_create_tableBmps_root_create_table_maskedCmps_root_create_fmtoDmps_root_create_regCEmps_stack_scan_ambigEmps_root_destroyEmps_trampEFmps_thread_regFmps_thread_deregFmps_ld_reset;Gmps_ld_addGmps_ld_mergeHmps_ld_isstalenHmps_fixImps_collections8Imps_finalizeImps_definalizeImps_message_poll?Jmps_message_typeJmps_message_discardJmps_message_type_enable;Kmps_message_type_disableKmps_message_get Lmps_message_queue_typepLmps_message_finalization_refLmps_message_gc_live_size  K      #- < K$ Y03jud,,,%,<M40h|d),%%&3E,%T^Tmd(~(%,#,5B4:Q[pm~<!(0';XcLYdj ca28H+U#-92BKP\Yp~Z.8A X|A0 X< 9n0@l jQ`kv L 1D 1x W 8   R&h W<L ZiUtU2 4E-<|4MYj)w $Mt::  ,+ 7 (/H W X)k z )  )  C  @  `<0 G Q /j | /  /  ,  8  D, L @ J \ a r l   |7  :  ; - ,/E W \2k z 2  K  + mpsi.cFileSrcIdStructmpsi_checkmpsiSrcIdmps_rank_ambigmps_rank_exactmps_rank_weakmps_arena_extendArenaEnterArenaExtendArenaLeavemps_arena_reservedArenaReservedmps_space_reservedmps_arena_committedArenaCommittedmps_space_committedmps_arena_spare_committedArenaSpareCommittedmps_arena_commit_limitArenaCommitLimitmps_arena_commit_limit_setArenaSetCommitLimitmps_arena_spare_commit_limit_setArenaSetSpareCommitLimitmps_arena_spare_commit_limitArenaSpareCommitLimitmps_arena_clampArenaClampmps_space_clampmps_arena_releaseArenaReleasemps_space_releasemps_arena_parkArenaParkmps_space_parkmps_arena_exposeArenaExposeRemembermps_arena_unsafe_expose_remember_protectionmps_arena_unsafe_restore_protectionArenaRestoreProtectionmps_arena_start_collectArenaStartCollectmps_arena_collectArenaCollectmps_arena_stepArenaStepmps_space_collectmps_arena_createmps_arena_create_vArenaCreateVmps_space_createmps_arena_class_vmmps_arena_destroyArenaDestroymps_space_destroymps_arena_has_addrArenaEnterRecursiveArenaHasAddrArenaLeaveRecursivemps_fmt_create_AFormatCreatemps_fmt_create_Bmps_fmt_create_auto_headermps_fmt_create_fixedmps_fmt_destroyFormatArenaFormatDestroymps_pool_createmps_pool_create_vPoolCreateVmps_pool_destroyPoolDestroymps_allocArenaPollPoolAllocmps_alloc_vmps_freePoolFreemps_ap_createPoolDefaultBufferClassBufferCreateVmps_ap_create_vmps_ap_destroyBufferDestroymps_reservemps_ap_fillmps_reserve_with_reservoir_permitmps_ap_fill_with_reservoir_permitmps_commitmps_ap_tripmps_ap_frame_pushBufferFramePushmps_ap_frame_popBufferFramePopBufferFillBufferTripmps_sac_createSACCreatemps_sac_destroySACDestroymps_sac_flushSACFlushmps_sac_fillSACFillmps_sac_emptySACEmptymps_sac_allocmps_sac_freemps_root_createRootCreateFunmps_root_create_tableRootCreateTablemps_root_create_table_maskedRootCreateTableMaskedmps_root_create_fmtRootCreateFmtmps_root_create_regRootCreateRegmps_stack_scan_ambigThreadScanmps_root_destroyRootArenaRootDestroymps_trampProtTrampmps_thread_regThreadRegistermps_thread_deregThreadArenaThreadDeregistermps_ld_resetLDResetmps_ld_addLDAddmps_ld_mergeLDMergemps_ld_isstaleLDIsStalemps_fixmps_collectionsmps_finalizeArenaPeekArenaFinalizemps_definalizeArenaDefinalizemps_message_pollMessagePollmps_message_typeMessageGetTypemps_message_discardMessageDiscardmps_message_type_enableMessageTypeEnablemps_message_type_disableMessageTypeDisablemps_message_getMessageGetmps_message_queue_typeMessageQueueTypemps_message_finalization_refMessageFinalizationRefArenaPokemps_message_gc_live_sizeMessageGCLiveSizemps_message_gc_condemned_sizeMessageGCCondemnedSizemps_message_gc_not_condemned_sizeMessageGCNotCondemnedSizemps_telemetry_controlmps_telemetry_internmps_telemetry_labelmps_telemetry_flushEventSyncmps_alloc_pattern_rampAllocPatternRampmps_alloc_pattern_ramp_collect_allAllocPatternRampCollectAllmps_ap_alloc_pattern_beginBufferRampBeginmps_ap_alloc_pattern_endBufferRampEndmps_ap_alloc_pattern_resetBufferRampResetmps_reservoir_limit_setReservoirSetLimitmps_reservoir_limitReservoirLimitmps_reservoir_availableReservoirAvailablemps_chain_createChainCreatemps_chain_destroyChainDestroy=LVqy"$'AM&Wp|(*,+/&.8@2H^1p{558:<'AV>az;ABD@ F"E5IAJKKhMM0WMbMRS0UEXVbXZ[Y,;^Cal`|a`a#d+kfhj3 @ lW   n   Z o C K Z] og   p   r & . t6 Z b vj   x   z  w y! : ~E x      )EP +ANX 5@Jdpx-:Dl| ScsZ Z8JRiw (0  !%*18?MX_fmt{(39Zev| #.9D_pv )8GVet (7Fet|!0?N]l{-CQ_m{%3AO]ky!/=KYgu # 2 A P _ n }           " 1 @ O ^ m |           , C R a            $ 3 B Q ` p           ' 8 J _ u          "9HWfu M_q#1?M[iw !)8GVet  )8GVeu%5EUeu%5EUeu !0?N]l{ 0AGX^ou'Dep)Fr} (6DR`o2Oq|*P?` =d*Qx=n / U v      !=!_!j!u!!!!!!!!!""*"6"G"\"r"""""""#9#H#^#l#z##########$$!$>$J$Y$b$p$~$$$$$$$$% %%%%7%%%%%%%%%%%%&&&)&/&@&F&[&c&q&&&&&&&&'C'T'Z'k'q''''''''''''' ((-(5(C(Q(_(n((((((((!)Q)r))))))** *.*J*g*v*~********++"+>+Z+i+x+++++++++),2,@,N,a,i,w,,,,,,,-----B-J-X-f-u-----------------..2.=.A.H.U.`.s.~.............////+/6/I/T/X/_/l/w////////////0 0,00070E0Q0e0m0q0x0000000000000011#1'1.1<1N1V1Z1a1v1~11111111111111222&2B2T2`2d2k22222222223 33&32363=3L3j3333333333344$4(4/4=4O4W4[4b4w4444444444455C5O5S5Z5h5v55555555556/6;6?6F6T6b6p6|66666666666 7797S7_7c7j7x77777777778 8 8,808E8S8c8o88888889 99939B9N9b9n9r9y9999999:: ::(:7:C:`:::::::::::;;;,;A;M;Q;f;t;;;;;;;;;;<<<<(<6<:<M<[<<<<<<<<<<<==&=C=r=~=======> >%>B>b>n>r>y>>>>>>>????8?L?T?X?_?|????????@'@+@2@N@k@@@@@@@@@@@ AAAA7AFAJAOA]ArA~AAAAAAAAAB-B9B=BDBRB`BoB~BBBBBBBBBBCC#C2C@CNC]CiCuCCCCCCCCCCDD"D.D:DFDUDuDDDDDDDDDDDEEE&EIEUEYE`EoEEEEEEEEEEFKFWF[FbFpF~FFFFFFFFFFGGG$GAGIGMGTGcGrGGGGGGGGGGHHHH-HIJINIUIcIIIIIIIIIIJJJJ3JEJQJUJ\JjJyJJJJJJJJJJJJJKK#K/KAKIKMKTKbKqK}KKKKKKKKKKLL L'L5LCLOLvL~LLLLLLLLLLLMM"M.MBMNMRMYMgMvMMMMMMMMMMMNNNN(N=NINMNTNiNqNuN|NNNNNNNNNNNNNNN O'O;OGOKOROaO~OOOOOOOOOO PP*P6P:PAPOP[PoP{PPPPPPPPPPPPQQ@QHQLQSQaQoQ|QQ QQ    04HL`dx|04PTpt (,HLdh,0HLdh$(LPtx8<TXtx$(DHhl ,0LPlp$(LPtx  4 8 T X p t           $ ( D H d h           $ ( D H d h               4 8 T X t x         mpm.o/ 1169001561 1001 1001 100644 44924 ` ELF T4(UE HEÉUU EH!ÉUVSU u֍NȉӺ)N[^ÉUE H#EÉUUt BuUUv@wÉUuÍvUE H#EÉUUBvuÍvUWVSt>$t+uP9F$3$$jj0u*[jjj0u6EEjjDPuCvu09vu09jj0uIt~jj 0u)t^pj j0u tBTuj$9u%2p0uOuF>6e[^_UU:t@<uC% $ > $ > : ; I I&I : ;  : ; I8 < : ; I  : ;I ' I.? : ; ' I@ : ; I 4: ; I : ; I .: ; ' I@ 4: ; I I!I/ .: ;' I@ : ;I : ;I 4: ;I 4: ;I4: ;I  U.? : ;' I@   4: ;I! "4: ; I?  RQ5e"~int0 8W(P _L |(7zE""$#t%#Z&#'# "q 2 A. ResE l!0"ou j#N&N'WR* ' d \ d N ll l T   E s_UN N&UNRN(RUN{RDNTbUN .;dUu{RbzUu{RlPUu{,dUd̆ UresCRCdU:wNPWVWWpad"!bufiWSrES" t^Cd;U:ds Fs\EERiEQxEzEI"E&s^'tXbuf*j+ESU\EQ #C<8U: VrESiSresCP8W4 pdfp fp b|#T sT c w u b! dY28QUsRiP"# /usr/include/usr/include/sys/usr/include/machinecheck.hconfig.hmpstd.hmisc.hstddef.hcdefs.h_null.h_types.h_types.hmpslib.hmpm.hevent.heventcom.hmpmtypes.hstdarg.heventgen.hlock.hth.hring.hss.htract.hbt.hmpmst.hprotocol.hchain.hfloat.hlimits.hlimits.h_limits.hsyslimits.hmpm.c;MeGV;MdMdZTtJ;[;Odd qVW,,MTJV: d/WVTVK,SKHYHVHVV HV,❀%lYVVdVXV!bW:IWTcV __GNUCLIKE___OFFSETOF 1?__GNUCLIKE___SECTION 1A__GNUCLIKE_ATTRIBUTE_MODE_DI 1D__GNUCLIKE_CTOR_SECTION_HANDLING 1G__GNUCLIKE_BUILTIN_CONSTANT_P 1N__GNUCLIKE_BUILTIN_VARARGS 1O__GNUCLIKE_BUILTIN_STDARG 1P__GNUCLIKE_BUILTIN_VAALIST 1T__GNUC_VA_LIST_COMPATIBILITY 1X__GNUCLIKE_BUILTIN_NEXT_ARG 1Y__GNUCLIKE_MATH_BUILTIN_RELOPS \__GNUCLIKE_BUILTIN_MEMCPY 1___CC_SUPPORTS_INLINE 1`__CC_SUPPORTS___INLINE 1a__CC_SUPPORTS___INLINE__ 1c__CC_SUPPORTS___FUNC__ 1d__CC_SUPPORTS_WARNING 1f__CC_SUPPORTS_VARADIC_XXX 1h__CC_SUPPORTS_DYNAMIC_ARRAY_INIT 1k__CC_INT_IS_32BIT 1s__GNUC_PREREQ__(ma,mi) (__GNUC__ > (ma) || __GNUC__ == (ma) && __GNUC_MINOR__ >= (mi))__P(protos) protos__CONCAT1(x,y) x ## y__CONCAT(x,y) __CONCAT1(x,y)__STRING(x) #x__XSTRING(x) __STRING(x)__const const__signed signed__volatile volatile__dead2 __attribute__((__noreturn__))__pure2 __attribute__((__const__))__unused __attribute__((__unused__))__used __attribute__((__used__))__packed __attribute__((__packed__))__aligned(x) __attribute__((__aligned__(x)))__section(x) __attribute__((__section__(x)))__pure __attribute__((__pure__))__always_inline __attribute__((__always_inline__))__nonnull(x) __attribute__((__nonnull__(x)))__restrict __predict_true(exp) __builtin_expect((exp), 1)__predict_false(exp) __builtin_expect((exp), 0)__offsetof(type,field) ((size_t)(&((type *)0)->field))__rangeof(type,start,end) (__offsetof(type, end) - __offsetof(type, start))__printflike(fmtarg,firstvararg) __attribute__((__format__ (__printf__, fmtarg, firstvararg)))__scanflike(fmtarg,firstvararg) __attribute__((__format__ (__scanf__, fmtarg, firstvararg)))__format_arg(fmtarg) __attribute__((__format_arg__ (fmtarg)))__printf0like(fmtarg,firstvararg) __attribute__((__format__ (__printf0__, fmtarg, firstvararg)))__strong_reference(sym,aliassym) extern __typeof (sym) aliassym __attribute__ ((__alias__ (#sym)));__weak_reference(sym,alias) __asm__(".weak " #alias); __asm__(".equ " #alias ", " #sym)__warn_references(sym,msg) __asm__(".section .gnu.warning." #sym); __asm__(".asciz \"" msg "\""); __asm__(".previous")__IDSTRING(name,string) __asm__(".ident\t\"" string "\"")__FBSDID(s) __IDSTRING(__CONCAT(__rcsid_,__LINE__),s)__RCSID(s) __IDSTRING(__CONCAT(__rcsid_,__LINE__),s)__RCSID_SOURCE(s) __IDSTRING(__CONCAT(__rcsid_source_,__LINE__),s)__SCCSID(s) __IDSTRING(__CONCAT(__sccsid_,__LINE__),s)__COPYRIGHT(s) __IDSTRING(__CONCAT(__copyright_,__LINE__),s)__DECONST(type,var) ((type)(uintptr_t)(const void *)(var))__DEVOLATILE(type,var) ((type)(uintptr_t)(volatile void *)(var))__DEQUALIFY(type,var) ((type)(uintptr_t)(const volatile void *)(var))__POSIX_VISIBLE 200112__XSI_VISIBLE 600__BSD_VISIBLE 1__ISO_C_VISIBLE 1999* NULL ((void *)0)+_SYS__TYPES_H_ ! (_MACHINE__TYPES_H_ .__NO_STRICT_ALIGNMENT __GNUC_VA_LIST 2_RUNE_T_DECLARED 8_SIZE_T_DECLARED >_WCHAR_T_DECLARED Boffsetof(type,member) __offsetof(type, member)*SRCID(id,scmid) static SrcIdStruct FileSrcIdStruct = {__FILE__, (scmid), __DATE__, __TIME__}; SrcId id ## SrcId = &FileSrcIdStruct;BEGIN do {> (i)) & 1)BS_UNION(s1,s2) ((s1) | (s2))BS_ADD(ty,s,i) BS_UNION((s), BS_SINGLE(ty, (i)))BS_INTER(s1,s2) ((s1) & (s2))BS_DIFF(s1,s2) BS_INTER((s1), BS_COMP(s2))BS_DEL(ty,s,i) BS_DIFF((s), BS_SINGLE(ty, (i)))BS_SUPER(s1,s2) (BS_INTER((s1), (s2)) == (s2))BS_SUB(s1,s2) BS_SUPER((s2), (s1))BS_IS_SINGLE(s) (((s) & ((s)-1)) == 0)BS_SYM_DIFF(s1,s2) ((s1) ^ (s2)) mpslib_h mps_lib_EOF (mps_lib_get_EOF())mps_lib_stderr (mps_lib_get_stderr())mps_lib_stdout (mps_lib_get_stdout())0AVER(cond) DISCARD(cond)1AVERT(type,val) DISCARD(type ## Check(val))2AVER_CRITICAL(cond) DISCARD(cond)3AVERT_CRITICAL(type,val) DISCARD(type ## Check(val))MASSERT(cond,condstring) BEGIN if (cond) NOOP; else mps_lib_assert_fail(condstring "\n" __FILE__ "\n" STR(__LINE__)); END_NOTREACHED NOOPjCHECKT(type,val) ((val) != NULL && (val)->sig == type ## Sig)pCHECKS(type,val) DISCARD(CHECKT(type, val))qCHECKL(cond) DISCARD(cond)rCHECKD(type,val) DISCARD(CHECKT(type, val))sCHECKD_NOSIG(type,val) DISCARD((val) != NULL)tCHECKU(type,val) DISCARD(CHECKT(type, val))uCHECKU_NOSIG(type,val) DISCARD((val) != NULL)CHECKLVALUE(lv1,lv2) ((void)sizeof((lv1) = (lv2)), (void)sizeof((lv2) = (lv1)), TRUE)CHECKTYPE(t1,t2) (sizeof(t1) == sizeof(t2) && CHECKLVALUE(*((t1 *)0), *((t2 *)0)))CHECKFIELDAPPROX(s1,f1,s2,f2) (sizeof(((s1 *)0)->f1) == sizeof(((s2 *)0)->f2) && offsetof(s1, f1) == offsetof(s2, f2))CHECKFIELD(s1,f1,s2,f2) (CHECKFIELDAPPROX(s1, f1, s2, f2) && CHECKLVALUE(((s1 *)0)->f1, ((s2 *)0)->f2))  mpm_h  event_h   eventcom_h  mpmtypes_h '_MACHINE_STDARG_H_ -_VA_LIST_DECLARED 3va_start(ap,last) __builtin_stdarg_start((ap), (last))6va_arg(ap,type) __builtin_va_arg((ap), type):va_copy(dest,src) __builtin_va_copy((dest), (src))>va_end(ap) __builtin_va_end(ap)SigInvalid ((Sig)0x51915BAD)SizeMAX ((Size)-1)AccessSetEMPTY ((AccessSet)0)AccessREAD ((AccessSet)(1<<0))AccessWRITE ((AccessSet)(1<<1))AccessSetWIDTH (2)RefSetEMPTY BS_EMPTY(RefSet)RefSetUNIV BS_UNIV(RefSet)ZoneSetEMPTY BS_EMPTY(ZoneSet)ZoneSetUNIV BS_UNIV(ZoneSet)TraceSetEMPTY BS_EMPTY(TraceSet)TraceSetUNIV ((TraceSet)((1u << TraceLIMIT) - 1))RankSetEMPTY BS_EMPTY(RankSet)RankSetUNIV ((RankSet)((1u << RankLIMIT) - 1))AttrFMT ((Attr)(1<<0))AttrSCAN ((Attr)(1<<1))AttrPM_NO_READ ((Attr)(1<<2))AttrPM_NO_WRITE ((Attr)(1<<3))AttrALLOC ((Attr)(1<<4))AttrFREE ((Attr)(1<<5))AttrBUF ((Attr)(1<<6))AttrBUF_RESERVE ((Attr)(1<<7))AttrBUF_ALLOC ((Attr)(1<<8))AttrGC ((Attr)(1<<9))AttrINCR_RB ((Attr)(1<<10))AttrINCR_WB ((Attr)(1<<11))AttrMOVINGGC ((Attr)(1<<12))AttrMASK (AttrFMT | AttrSCAN | AttrPM_NO_READ | AttrPM_NO_WRITE | AttrALLOC | AttrFREE | AttrBUF | AttrBUF_RESERVE | AttrBUF_ALLOC | AttrGC | AttrINCR_RB | AttrINCR_WB | AttrMOVINGGC)BufferModeATTACHED ((BufferMode)(1<<0))BufferModeFLIPPED ((BufferMode)(1<<1))BufferModeLOGGED ((BufferMode)(1<<2))BufferModeTRANSITION ((BufferMode)(1<<3))RootModeCONSTANT ((RootMode)1<<0)RootModePROTECTABLE ((RootMode)1<<1)RootModePROTECTABLE_INNER ((RootMode)1<<2)STATISTIC_DECL(field) field!EventNameMAX ((size_t)19)"EventCodeMAX ((EventCode)0x0069)&EVENT_0(type) NOOPEVENT_A(type,p0) NOOPEVENT_AW(type,p0,p1) NOOPEVENT_P(type,p0) NOOPEVENT_PAA(type,p0,p1,p2) NOOPEVENT_PAW(type,p0,p1,p2) NOOPEVENT_PAWA(type,p0,p1,p2,p3) NOOPEVENT_PDDWWW(type,p0,p1,p2,p3,p4,p5) NOOPEVENT_PP(type,p0,p1) NOOPEVENT_PPAU(type,p0,p1,p2,p3) NOOPEVENT_PPAWP(type,p0,p1,p2,p3,p4) NOOPEVENT_PPP(type,p0,p1,p2) NOOPEVENT_PPPA(type,p0,p1,p2,p3) NOOPEVENT_PPPU(type,p0,p1,p2,p3) NOOPEVENT_PPPUU(type,p0,p1,p2,p3,p4) NOOPEVENT_PPU(type,p0,p1,p2) NOOPEVENT_PPUU(type,p0,p1,p2,p3) NOOPEVENT_PPUWWW(type,p0,p1,p2,p3,p4,p5) NOOPEVENT_PPWW(type,p0,p1,p2,p3) NOOPEVENT_PPWWW(type,p0,p1,p2,p3,p4) NOOPEVENT_PPWWWUUU(type,p0,p1,p2,p3,p4,p5,p6,p7) NOOPEVENT_PU(type,p0,p1) NOOPEVENT_PW(type,p0,p1) NOOPEVENT_PWA(type,p0,p1,p2) NOOPEVENT_PWAW(type,p0,p1,p2,p3) NOOPEVENT_PWP(type,p0,p1,p2) NOOPEVENT_PWU(type,p0,p1,p2) NOOPEVENT_PWW(type,p0,p1,p2) NOOPEVENT_PWWWWDD(type,p0,p1,p2,p3,p4,p5,p6) NOOPEVENT_PWWWWW(type,p0,p1,p2,p3,p4,p5) NOOPEVENT_PWWWWWWWWW(type,p0,p1,p2,p3,p4,p5,p6,p7,p8,p9) NOOPEVENT_PWWWWWWWWWWWW(type,p0,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11,p12) NOOPEVENT_UUPA(type,p0,p1,p2,p3) NOOPEVENT_UUPP(type,p0,p1,p2,p3) NOOPEVENT_UUPPP(type,p0,p1,p2,p3,p4) NOOPEVENT_WS(type,p0,p1,l1) NOOP:EventEventTime ((EventType)0xEF213E99);EventPoolInit ((EventType)0xEFB07141)EventPoolFree ((EventType)0xEFB07F6E)?EventArenaCreateVM ((EventType)0xEFA64CF3)@EventArenaCreateVMNZ ((EventType)0xEFA64CF2)AEventArenaCreateCL ((EventType)0xEFA64CC7)BEventArenaDestroy ((EventType)0xEFA64DE5)CEventArenaAlloc ((EventType)0xEFA64A77)DEventArenaFree ((EventType)0xEFA64F6E)EEventSegAlloc ((EventType)0xEF5E9A77)FEventSegFree ((EventType)0xEF5E9F6E)GEventSegMerge ((EventType)0xEF5E93E6)HEventSegSplit ((EventType)0xEF5E95B7)IEventAMCGenCreate ((EventType)0xEFA3C94C)JEventAMCGenDestroy ((EventType)0xEFA3C94D)KEventAMCInit ((EventType)0xEFA3C141)LEventAMCFinish ((EventType)0xEFA3CF14)MEventAMCTraceBegin ((EventType)0xEFA3C26B)NEventAMCScanBegin ((EventType)0xEFA3C5CB)OEventAMCScanEnd ((EventType)0xEFA3C5CE)PEventAMCFix ((EventType)0xEFA3CF18)QEventAMCFixInPlace ((EventType)0xEFA3CF8A)REventAMCFixForward ((EventType)0xEFA3CF8F)SEventAMCReclaim ((EventType)0xEFA3C6EC)TEventTraceStart ((EventType)0xEF26AC52)UEventTraceCreate ((EventType)0xEF26ACC6)VEventTraceDestroy ((EventType)0xEF26ACDE)WEventSegSetGrey ((EventType)0xEF59596A)XEventTraceFlipBegin ((EventType)0xEF26AF7B)YEventTraceFlipEnd ((EventType)0xEF26AF7E)ZEventTraceReclaim ((EventType)0xEF26A6EC)[EventTraceScanSeg ((EventType)0xEF26A559)\EventTraceScanSingleRef ((EventType)0xEF26A556)^EventTraceAccess ((EventType)0xEF26AACC)_EventTracePoll ((EventType)0xEF26AB01)`EventTraceStep ((EventType)0xEF26A52B)aEventTraceFix ((EventType)0xEF26AF18)bEventTraceFixSeg ((EventType)0xEF26AF85)cEventTraceFixWhite ((EventType)0xEF26AF83)dEventTraceScanArea ((EventType)0xEF26A5CA)eEventTraceScanAreaTagged ((EventType)0xEF26A5C2)fEventVMCreate ((EventType)0xEFF3C6EA)gEventVMDestroy ((EventType)0xEFF3DE52)hEventVMMap ((EventType)0xEFF33AB9)iEventVMUnmap ((EventType)0xEFF3043B)jEventIntern ((EventType)0xEF142E64)kEventArenaExtend ((EventType)0xEFA64E82)lEventArenaRetract ((EventType)0xEFA646E2)mEventRootScan ((EventType)0xEF625CA4)nEventLabel ((EventType)0xEF7ABE79)oEventTraceSegGreyen ((EventType)0xEF26A599)pEventBufferReserve ((EventType)0xEFB0FF6E)qEventBufferCommit ((EventType)0xEFB0FFC0)rEventBufferInit ((EventType)0xEFB0FF14)sEventBufferInitSeg ((EventType)0xEFB0F15E)tEventBufferInitRank ((EventType)0xEFB0F16A)uEventBufferInitEPVM ((EventType)0xEFB0F1EF)vEventBufferFinish ((EventType)0xEFB0FFF1)wEventBufferFill ((EventType)0xEFB0FFF7)xEventBufferEmpty ((EventType)0xEFB0FFE3)yEventArenaAllocFail ((EventType)0xEFA64A7F)zEventSegAllocFail ((EventType)0xEF5E9A7F){EventMeterInit ((EventType)0xEF3E2141)|EventMeterValues ((EventType)0xEF3E2FA7)}EventCBSInit ((EventType)0xEFCB5141)~EventTraceStatCondemn ((EventType)0xEF26A5C0)EventTraceStatScan ((EventType)0xEF26A55C)EventTraceStatFix ((EventType)0xEF26A5F8)EventTraceStatReclaim ((EventType)0xEF26A56E)EventArenaWriteFaults ((EventType)0xEFA6436F)EventPoolInitMV ((EventType)0xEFB0713F)EventPoolInitMVFF ((EventType)0xEFB071FF)EventPoolInitMFS ((EventType)0xEFB07135)EventPoolInitEPVM ((EventType)0xEFB071EF)EventPoolInitEPDL ((EventType)0xEFB071E7)EventPoolInitAMS ((EventType)0xEFB071A5)EventPoolInitAMC ((EventType)0xEFB071AC)EventPoolInitAMCZ ((EventType)0xEFB071A2)EventPoolInitAWL ((EventType)0xEFB071A3)EventPoolInitLO ((EventType)0xEFB07170)EventPoolInitSNC ((EventType)0xEFB07154)EventPoolInitMVT ((EventType)0xEFB07132)EventPoolPush ((EventType)0xEFB07B58)EventPoolPop ((EventType)0xEFB07B0B)EventReservoirLimitSet ((EventType)0xEF6E5713)EventCommitLimitSet ((EventType)0xEFC03713)EventSpareCommitLimitSet ((EventType)0xEF5BC713) hEventInit() NOOPiEventFinish() NOOPjEventControl(r,f) (UNUSED(r), UNUSED(f), (Word)0)kEventInternString(s) (UNUSED(s), (Word)0)lEventInternGenString(l,s) (UNUSED(l), UNUSED(s), (Word)0)mEventLabelAddr(a,i) BEGIN UNUSED(a); UNUSED(i); ENDPlock_h ULockSig ((Sig)0x51970CC9) th_h  ring_h RingNONE ((Ring)0)$RingInit(ring) BEGIN Ring _ring = (ring); AVER(_ring != NULL); _ring->next = _ring; _ring->prev = _ring; AVER(RingCheck(_ring)); END/RingFinish(ring) BEGIN Ring _ring = (ring); AVER(RingCheckSingle(_ring)); _ring->next = RingNONE; _ring->prev = RingNONE; END9RingAppend(ring,new) BEGIN Ring _ring = (ring), _new = (new); AVER(RingCheck(_ring)); AVER(RingCheckSingle(_new)); _new->prev = _ring->prev; _new->next = _ring; _ring->prev->next = _new; _ring->prev = _new; ENDFRingInsert(ring,new) BEGIN Ring _ring = (ring), _new = (new); AVER(RingCheck(_ring)); AVER(RingCheckSingle(_new)); _new->prev = _ring; _new->next = _ring->next; _ring->next->prev = _new; _ring->next = _new; ENDSRingRemove(old) BEGIN Ring _old = (old); AVER(RingCheck(_old)); AVER(!RingIsSingle(_old)); _old->next->prev = _old->prev; _old->prev->next = _old->next; _old->next = _old; _old->prev = _old; END`RingNext(ring) ((ring)->next)dRingPrev(ring) ((ring)->prev)gRING_ELT(type,field,node) ((type)(void *)((char *)(node) - (size_t)(&((type)0)->field)))kRING_FOR(node,ring,next) for(node = RingNext(ring), next = RingNext(node); node != (ring); node = (next), next = RingNext(node))ThreadSig ((Sig)0x519286ED) ss_h  tract_h   bt_h BTSize(n) (((n) + MPS_WORD_WIDTH-1) / MPS_WORD_WIDTH * sizeof(Word))BTGet(a,i) ((Bool)(((a)[((i) >> MPS_WORD_SHIFT)] >> ((i) & ~((Word)-1 << MPS_WORD_SHIFT))) & (Word)1))BTSet(a,i) BEGIN (a)[((i)>>MPS_WORD_SHIFT)] |= (Word)1<<((i)&~((Word)-1<>MPS_WORD_SHIFT)] &= ~((Word)1 << ((i) & ~((Word)-1<base)&TractPool(tract) ((tract)->pool)'TractP(tract) ((tract)->p)(TractSetP(tract,pp) ((void)((tract)->p = (pp))))TractHasSeg(tract) ((Bool)(tract)->hasSeg)*TractSetHasSeg(tract,b) ((void)((tract)->hasSeg = (b)))+TractWhite(tract) ((tract)->white),TractSetWhite(tract,w) ((void)((tract)->white = (w)))8TRACT_SEG(segReturn,tract) (TractHasSeg(tract) && ((*(segReturn) = (Seg)TractP(tract)), TRUE));TRACT_SET_SEG(tract,seg) (TractSetHasSeg(tract, TRUE), TractSetP(tract, seg))>TRACT_UNSET_SEG(tract) (TractSetHasSeg(tract, FALSE), TractSetP(tract, NULL))nPageTract(page) (&(page)->the.tractStruct)rPageOfTract(tract) PARENT(PageStruct, the.tractStruct, (tract))vPagePool(page) ((page)->the.rest.pool)}PageIsAllocated(page) ((page)->the.rest.pool != NULL)PageType(page) ((page)->the.rest.type)ChunkSig ((Sig)0x519C804C)ChunkArena(chunk) ((chunk)->arena)ChunkPageSize(chunk) ((chunk)->pageSize)ChunkPageShift(chunk) ((chunk)->pageShift)ChunkPagesToSize(chunk,pages) ((Size)(pages) << (chunk)->pageShift)ChunkSizeToPages(chunk,size) ((Count)((size) >> (chunk)->pageShift))CHUNK_OF_ADDR(chunkReturn,arena,addr) (((arena)->chunkCache.base <= (addr) && (addr) < (arena)->chunkCache.limit) ? (*(chunkReturn) = (arena)->chunkCache.chunk, TRUE) : ChunkOfAddr(chunkReturn, arena, addr))AddrPageBase(chunk,addr) AddrAlignDown((addr), ChunkPageSize(chunk))TRACT_OF_ADDR(tractReturn,arena,addr) BEGIN Arena _arena = (arena); Addr _addr = (addr); Chunk _chunk; Index _i; if (CHUNK_OF_ADDR(&_chunk, _arena, _addr)) { _i = INDEX_OF_ADDR(_chunk, _addr); if (BTGet(_chunk->allocTable, _i)) *(tractReturn) = PageTract(&_chunk->pageTable[_i]); else *(tractReturn) = NULL; } else *(tractReturn) = NULL; ENDINDEX_OF_ADDR(chunk,addr) ((Index)ChunkSizeToPages(chunk, AddrOffset((chunk)->base, addr)))PageIndexBase(chunk,i) AddrAdd((chunk)->base, ChunkPagesToSize(chunk, i))TractAverContiguousRange(arena,rangeBase,rangeLimit) BEGIN Chunk _ch = NULL; UNUSED(_ch); AVER(ChunkOfAddr(&_ch, arena, rangeBase) && (rangeLimit) <= _ch->limit); ENDTRACT_TRACT_FOR(tract,addr,arena,firstTract,limit) tract = (firstTract); addr = TractBase(tract); TractAverContiguousRange(arena, addr, limit); for(; tract != NULL; (addr = AddrAdd(addr, (arena)->alignment)), (addr < (limit) ? (tract = PageTract(PageOfTract(tract) + 1)) : (tract = NULL) ))TRACT_FOR(tract,addr,arena,base,limit) TRACT_TRACT_FOR(tract, addr, arena, TractOfBaseAddr(arena, base), limit)mpmst_h protocol_h DERIVE_LOCAL(name) protocol ## nameDERIVE_STRUCT(name) name ## StructDERIVE_ENSURE(name) name ## GetDERIVE_ENSURE_OLD(name) Ensure ## nameDERIVE_ENSURE_INTERNAL(name) protocolGet ## nameDERIVE_GUARDIAN(name) protocol ## name ## GuardianDERIVE_STATIC_STORAGE(name) protocol ## name ## StructProtocolClassSetSuperclassPoly(class,super) (((ProtocolClass)(class))->superclass) = (ProtocolClass)(super)$DEFINE_CLASS(className,var) static Bool DERIVE_GUARDIAN(className) = FALSE; static DERIVE_STRUCT(className) DERIVE_STATIC_STORAGE(className); static void DERIVE_ENSURE_INTERNAL(className)(className); extern className DERIVE_ENSURE(className)(void); className DERIVE_ENSURE(className)(void) { if (DERIVE_GUARDIAN(className) == FALSE) { LockClaimGlobalRecursive(); if (DERIVE_GUARDIAN(className) == FALSE) { DERIVE_ENSURE_INTERNAL(className) (&DERIVE_STATIC_STORAGE(className)); DERIVE_GUARDIAN(className) = TRUE; } LockReleaseGlobalRecursive(); } return &DERIVE_STATIC_STORAGE(className); } extern className DERIVE_ENSURE_OLD(className)(void); className DERIVE_ENSURE_OLD(className)(void) { return DERIVE_ENSURE(className)(); } static void DERIVE_ENSURE_INTERNAL(className) (className var)AINHERIT_CLASS(this,parentName) BEGIN parentName DERIVE_LOCAL(parentName) = DERIVE_ENSURE(parentName)(); *this = *(DERIVE_LOCAL(parentName)); ProtocolClassSetSuperclassPoly(this, DERIVE_LOCAL(parentName)); ENDODEFINE_ALIAS_CLASS(className,typeName,var) typedef typeName className; typedef DERIVE_STRUCT(typeName) DERIVE_STRUCT(className); DEFINE_CLASS(className, var)VProtocolClassSig ((Sig)0x519B60C7)WProtocolInstSig ((Sig)0x519B6014)ProtocolClassSuperclassPoly(class) (((ProtocolClass)(class))->superclass)ClassOfPoly(inst) ((ProtocolInst)(inst)->class)IsSubclassPoly(sub,super) ProtocolIsSubclass((ProtocolClass)(sub), (ProtocolClass)(super))SUPERCLASS(className) ProtocolClassSuperclassPoly(DERIVE_ENSURE(className)())chain_h GenDescSig ((Sig)0x5199E4DE)+PoolGenSig ((Sig)0x519B009E);ChainSig ((Sig)0x519C8A14)XPoolGenNr(gen) ((gen)->nr)/PoolClassSig ((Sig)0x519C7A55)]PoolSig ((Sig)0x519B0019)}MFSSig ((Sig)0x5193F599)MVSig ((Sig)0x5193B999)ReservoirSig ((Sig)0x5196e599)MessageClassSig ((Sig)0x519359c1)MessageSig ((Sig)0x5193e559)SegClassSig ((Sig)0x5195E9C7)SegSig ((Sig)0x5195E999)GCSegSig ((Sig)0x5199C5E9)SegPrefSig ((Sig)0x5195E9B6)BufferClassSig ((Sig)0x519B0FC7)BufferSig ((Sig)0x519B0FFE)SegBufSig ((Sig)0x51959B0F)FormatSig ((Sig)0x519F63A2)ScanStateSig ((Sig)0x5195CA45)TraceSig ((Sig)0x51924ACE)ChunkCacheEntrySig ((Sig)0x519C80CE)ArenaClassSig ((Sig)0x519A6C1A)GlobalsSig ((Sig)0x519970BA)ArenaSig ((Sig)0x519A6E4A)%BoolCheck(b) ((unsigned)(b) <= 1)(FUNCHECK(f) (FunCheck((Fun)f))4WordIsAligned(w,a) (((w) & ((a) - 1)) == 0)7WordAlignUp(w,a) (((w) + (a) - 1) & ~((Word)(a) - 1));WordRoundUp(w,r) (((w)+(r)-1) - ((w)+(r)-1)%(r))>WordAlignDown(w,a) ((w) & ~((Word)(a) - 1))@size_tAlignUp(s,a) ((size_t)WordAlignUp((Word)(s), a))BPointerAdd(p,s) ((void *)((char *)(p) + (s)))CPointerSub(p,s) ((void *)((char *)(p) - (s)))EPointerOffset(base,limit) ((size_t)((char *)(limit) - (char *)(base)))HPointerAlignUp(p,s) ((void *)WordAlignUp((Word)(p), (Align)(s)))KAddrAdd(p,s) ((Addr)PointerAdd((void *)(p), s))LAddrSub(p,s) ((Addr)PointerSub((void *)(p), s))NAddrOffset(b,l) ((Size)(PointerOffset((void *)(b), (void *)(l))))RAddrAlignDown(p,a) ((Addr)WordAlignDown((Word)(p), a))TAlignWord(s) ((Word)(s))VAddrIsAligned(p,a) WordIsAligned((Word)(p), a)WAddrAlignUp(p,a) ((Addr)WordAlignUp((Word)(p), a))YSizeIsAligned(s,a) WordIsAligned((Word)(s), a)ZSizeAlignUp(s,a) ((Size)WordAlignUp((Word)(s), a))[SizeAlignDown(s,a) ((Size)WordAlignDown((Word)(s), a))]SizeRoundUp(s,r) ((Size)WordRoundUp((Word)(s), (Size)(r)))_IndexIsAligned(s,a) WordIsAligned((Word)(s), a)`IndexAlignUp(s,a) ((Index)WordAlignUp((Word)(s), a))aIndexAlignDown(s,a) ((Index)WordAlignDown((Word)(s), a))cAlignIsAligned(a1,a2) WordIsAligned((Word)(a1), a2)iAddrSet(target,value,size) mps_lib_memset(target, (int)(value), size)mAddrCopy(target,source,size) mps_lib_memcpy(target, source, size)qAddrComp(a,b,size) mps_lib_memcmp(a, b, size)wADDR_PTR(type,addr) ((type *)(addr))PoolArena(pool) ((pool)->arena)PoolAlignment(pool) ((pool)->alignment)PoolSegRing(pool) (&(pool)->segRing)PoolFix(pool,ss,seg,refIO) ((*(pool)->fix)(pool, ss, seg, refIO))ClassOfPool(pool) ((pool)->class)SuperclassOfPool(pool) ((PoolClass)ProtocolClassSuperclassPoly((pool)->class))DEFINE_POOL_CLASS(className,var) DEFINE_ALIAS_CLASS(className, PoolClass, var)POOL_SUPERCLASS(className) ((PoolClass)SUPERCLASS(className))TraceSetSingle(trace) BS_SINGLE(TraceSet, (trace)->ti)TraceSetIsSingle(ts) BS_IS_SINGLE(ts)TraceSetIsMember(ts,trace) BS_IS_MEMBER(ts, (trace)->ti)TraceSetAdd(ts,trace) BS_ADD(TraceSet, ts, (trace)->ti)TraceSetDel(ts,trace) BS_DEL(TraceSet, ts, (trace)->ti)TraceSetUnion(ts1,ts2) BS_UNION(ts1, ts2)TraceSetInter(ts1,ts2) BS_INTER(ts1, ts2)TraceSetDiff(ts1,ts2) BS_DIFF(ts1, ts2)TraceSetSuper(ts1,ts2) BS_SUPER(ts1, ts2)TraceSetSub(ts1,ts2) BS_SUB(ts1, ts2)TraceSetComp(ts) BS_COMP(ts)TRACE_SET_ITER(ti,trace,ts,arena) for(ti = 0, trace = ArenaTrace(arena, ti); ti < TraceLIMIT; ++ti, trace = ArenaTrace(arena, ti)) BEGIN if (TraceSetIsMember(ts, trace)) {TRACE_SET_ITER_END(ti,trace,ts,arena) } ENDTRACE_SCAN_BEGIN(ss) BEGIN Shift SCANzoneShift = (ss)->zoneShift; ZoneSet SCANwhite = (ss)->white; RefSet SCANsummary = (ss)->unfixedSummary; Word SCANt; {TRACE_FIX1(ss,ref) (SCANt = (Word)1 << ((Word)(ref) >> SCANzoneShift & (MPS_WORD_WIDTH-1)), SCANsummary |= SCANt, SCANwhite & SCANt)TRACE_FIX2(ss,refIO) ((*(ss)->fix)(ss, refIO))TRACE_FIX(ss,refIO) (TRACE_FIX1(ss, *(refIO)) ? TRACE_FIX2(ss, refIO) : ResOK)TRACE_SCAN_END(ss) } (ss)->unfixedSummary = SCANsummary; ENDDEFINE_ARENA_CLASS(className,var) DEFINE_ALIAS_CLASS(className, ArenaClass, var)ARENA_SUPERCLASS(className) ((ArenaClass)SUPERCLASS(className))ArenaGlobals(arena) (&(arena)->globals)GlobalsArena(glob) PARENT(ArenaStruct, globals, glob)ArenaRootRing(arena) (&(arena)->rootRing)ArenaTraceRing(arena) (&(arena)->traceRing)ArenaThreadRing(arena) (&(arena)->threadRing)ArenaEpoch(arena) ((arena)->epoch)ArenaTrace(arena,ti) (&(arena)->trace[ti])ArenaZoneShift(arena) ((arena)->zoneShift)ArenaAlign(arena) ((arena)->alignment)ArenaGreyRing(arena,rank) (&(arena)->greyRing[rank])ArenaReservoir(arena) (&(arena)->reservoirStruct)DEFINE_SEG_CLASS(className,var) DEFINE_ALIAS_CLASS(className, SegClass, var)SEG_SUPERCLASS(className) ((SegClass)SUPERCLASS(className))ClassOfSeg(seg) ((seg)->class)SegBase(seg) (TractBase((seg)->firstTract))SegLimit(seg) ((seg)->limit)SegPool(seg) (TractPool((seg)->firstTract))SegRankSet(seg) ((RankSet)(seg)->rankSet)SegPM(seg) ((AccessSet)(seg)->pm)SegSM(seg) ((AccessSet)(seg)->sm)SegDepth(seg) ((unsigned)(seg)->depth)SegGrey(seg) ((TraceSet)(seg)->grey)SegWhite(seg) ((TraceSet)(seg)->white)SegNailed(seg) ((TraceSet)(seg)->nailed)SegOfPoolRing(node) (RING_ELT(Seg, poolRing, (node)))SegOfGreyRing(node) (&(RING_ELT(GCSeg, greyRing, (node)) ->segStruct))SegSummary(seg) (((GCSeg)(seg))->summary)SegSetPM(seg,mode) ((void)((seg)->pm = (mode)))SegSetSM(seg,mode) ((void)((seg)->sm = (mode)))SegSetDepth(seg,d) ((void)((seg)->depth = (d)))SegSetNailed(seg,ts) ((void)((seg)->nailed = (ts)))BUFFER_RESERVE(pReturn,buffer,size,withReservoirPermit) (AddrAdd(BufferAlloc(buffer), size) > BufferAlloc(buffer) && AddrAdd(BufferAlloc(buffer), size) <= BufferAP(buffer)->limit ? (*(pReturn) = BufferAlloc(buffer), BufferAP(buffer)->alloc = AddrAdd(BufferAlloc(buffer), size), ResOK) : BufferFill(pReturn, buffer, size, withReservoirPermit))BUFFER_COMMIT(buffer,p,size) (BufferAP(buffer)->init = BufferAlloc(buffer), BufferAP(buffer)->limit != 0 || BufferTrip(buffer, p, size))BufferAP(buffer) (&(buffer)->apStruct)BufferOfAP(ap) PARENT(BufferStruct, apStruct, ap)BufferArena(buffer) ((buffer)->arena)BufferPool(buffer) ((buffer)->pool)BufferBase(buffer) ((buffer)->base)BufferGetInit(buffer) (BufferAP(buffer)->init)BufferAlloc(buffer) (BufferAP(buffer)->alloc)BufferLimit(buffer) ((buffer)->poolLimit)DEFINE_BUFFER_CLASS(className,var) DEFINE_ALIAS_CLASS(className, BufferClass, var)BUFFER_SUPERCLASS(className) ((BufferClass)SUPERCLASS(className))RankSetIsMember(rs,r) BS_IS_MEMBER((rs), (r))RankSetSingle(r) BS_SINGLE(RankSet, (r))RankSetIsSingle(r) BS_IS_SINGLE(r)RankSetUnion(rs1,rs2) BS_UNION((rs1), (rs2))RankSetDel(rs,r) BS_DEL(RankSet, (rs), (r))AddrZone(arena,addr) (((Word)(addr) >> (arena)->zoneShift) & (MPS_WORD_WIDTH - 1))RefSetUnion(rs1,rs2) BS_UNION((rs1), (rs2))RefSetInter(rs1,rs2) BS_INTER((rs1), (rs2))RefSetDiff(rs1,rs2) BS_DIFF((rs1), (rs2))RefSetAdd(arena,rs,addr) BS_ADD(RefSet, rs, AddrZone(arena, addr))RefSetIsMember(arena,rs,addr) BS_IS_MEMBER(rs, AddrZone(arena, addr))RefSetSuper(rs1,rs2) BS_SUPER((rs1), (rs2))RefSetSub(rs1,rs2) BS_SUB((rs1), (rs2))ZoneSetUnion(zs1,zs2) BS_UNION(zs1, zs2)ZoneSetInter(zs1,zs2) BS_INTER(zs1, zs2)ZoneSetDiff(zs1,zs2) BS_DIFF(zs1, zs2)ZoneSetAdd(arena,zs,addr) BS_ADD(ZoneSet, zs, AddrZone(arena, addr))ZoneSetIsMember(arena,zs,addr) BS_IS_MEMBER(zs, AddrZone(arena, addr))ZoneSetSub(zs1,zs2) BS_SUB(zs1, zs2)ZoneSetSuper(zs1,zs2) BS_SUPER(zs1, zs2)ZoneSetComp(zs) BS_COMP(zs)STATISTIC(gather) BEGIN (gather); ENDSTATISTIC_STAT(gather) BEGIN gather; ENDSTATISTIC_WRITE(format,arg) (format), (arg),"_MACHINE_FLOAT_H_ 1*FLT_RADIX 2+FLT_ROUNDS __flt_rounds()-FLT_EVAL_METHOD (-1).DECIMAL_DIG 211FLT_MANT_DIG 242FLT_EPSILON 1.19209290E-07F3FLT_DIG 64FLT_MIN_EXP (-125)5FLT_MIN 1.17549435E-38F6FLT_MIN_10_EXP (-37)7FLT_MAX_EXP 1288FLT_MAX 3.40282347E+38F9FLT_MAX_10_EXP 38;DBL_MANT_DIG 53DBL_MIN_EXP (-1021)?DBL_MIN 2.2250738585072014E-308@DBL_MIN_10_EXP (-307)ADBL_MAX_EXP 1024BDBL_MAX 1.7976931348623157E+308CDBL_MAX_10_EXP 308ELDBL_MANT_DIG 64FLDBL_EPSILON 1.0842021724855044340E-19LGLDBL_DIG 18HLDBL_MIN_EXP (-16381)ILDBL_MIN 3.3621031431120935063E-4932LJLDBL_MIN_10_EXP (-4931)KLDBL_MAX_EXP 16384LLDBL_MAX 1.1897314953572317650E+4932LMLDBL_MAX_10_EXP 4932&_LIMITS_H_ +_POSIX_ARG_MAX 4096,_POSIX_CHILD_MAX 25-_POSIX_LINK_MAX 8._POSIX_MAX_CANON 255/_POSIX_MAX_INPUT 2550_POSIX_NAME_MAX 141_POSIX_NGROUPS_MAX 82_POSIX_OPEN_MAX 203_POSIX_PATH_MAX 2564_POSIX_PIPE_BUF 5125_POSIX_SSIZE_MAX 327676_POSIX_STREAM_MAX 87_POSIX_TZNAME_MAX 69BC_BASE_MAX 99:BC_DIM_MAX 2048;BC_SCALE_MAX 99EXPR_NEST_MAX 32?LINE_MAX 2048@RE_DUP_MAX 255B_POSIX2_BC_BASE_MAX 99C_POSIX2_BC_DIM_MAX 2048D_POSIX2_BC_SCALE_MAX 99E_POSIX2_BC_STRING_MAX 1000F_POSIX2_EQUIV_CLASS_MAX 2G_POSIX2_EXPR_NEST_MAX 32H_POSIX2_LINE_MAX 2048I_POSIX2_RE_DUP_MAX 255M_POSIX_AIO_LISTIO_MAX 16N_POSIX_AIO_MAX 1O_POSIX_DELAYTIMER_MAX 32P_POSIX_MQ_OPEN_MAX 8Q_POSIX_MQ_PRIO_MAX 32R_POSIX_RTSIG_MAX 8S_POSIX_SEM_NSEMS_MAX 256T_POSIX_SEM_VALUE_MAX 32767U_POSIX_SIGQUEUE_MAX 32V_POSIX_TIMER_MAX 32Z_POSIX_THREAD_DESTRUCTOR_ITERATIONS 4[_POSIX_THREAD_KEYS_MAX 128\_POSIX_THREAD_THREADS_MAX 64`_POSIX_HOST_NAME_MAX 255a_POSIX_LOGIN_NAME_MAX 9b_POSIX_SS_REPL_MAX 4c_POSIX_SYMLINK_MAX 255d_POSIX_SYMLOOP_MAX 8e_POSIX_TRACE_EVENT_NAME_MAX 30f_POSIX_TRACE_NAME_MAX 8g_POSIX_TRACE_SYS_MAX 8h_POSIX_TRACE_USER_EVENT_MAX 32i_POSIX_TTY_NAME_MAX 9j_POSIX2_CHARCLASS_NAME_MAX 14k_POSIX2_COLL_WEIGHTS_MAX 2m_POSIX_RE_DUP_MAX _POSIX2_RE_DUP_MAXq_XOPEN_IOV_MAX 16r_XOPEN_NAME_MAX 255s_XOPEN_PATH_MAX 1024tPASS_MAX 128vNL_ARGMAX 99wNL_LANGMAX 31xNL_MSGMAX 32767yNL_NMAX 1zNL_SETMAX 255{NL_TEXTMAX 2048~MB_LEN_MAX 6!_SYS_LIMITS_H_ $"_MACHINE__LIMITS_H_ /__CHAR_BIT 81__SCHAR_MAX 0x7f2__SCHAR_MIN (-0x7f - 1)4__UCHAR_MAX 0xff6__USHRT_MAX 0xffff7__SHRT_MAX 0x7fff8__SHRT_MIN (-0x7fff - 1):__UINT_MAX 0xffffffffU;__INT_MAX 0x7fffffff<__INT_MIN (-0x7fffffff - 1)D__ULONG_MAX 0xffffffffULE__LONG_MAX 0x7fffffffLF__LONG_MIN (-0x7fffffffL - 1)J__ULLONG_MAX 0xffffffffffffffffULLK__LLONG_MAX 0x7fffffffffffffffLLL__LLONG_MIN (-0x7fffffffffffffffLL - 1)N__SSIZE_MAX __INT_MAXP__SIZE_T_MAX __UINT_MAXR__OFF_MAX __LLONG_MAXS__OFF_MIN __LLONG_MINV__UQUAD_MAX __ULLONG_MAXW__QUAD_MAX __LLONG_MAXX__QUAD_MIN __LLONG_MIN]__LONG_BIT 32___WORD_BIT 32&CHAR_BIT __CHAR_BIT(SCHAR_MAX __SCHAR_MAX)SCHAR_MIN __SCHAR_MIN+UCHAR_MAX __UCHAR_MAX1CHAR_MAX SCHAR_MAX2CHAR_MIN SCHAR_MIN5USHRT_MAX __USHRT_MAX6SHRT_MAX __SHRT_MAX7SHRT_MIN __SHRT_MIN9UINT_MAX __UINT_MAX:INT_MAX __INT_MAX;INT_MIN __INT_MIN=ULONG_MAX __ULONG_MAX>LONG_MAX __LONG_MAX?LONG_MIN __LONG_MINHSSIZE_MAX __SSIZE_MAXLSIZE_T_MAX __SIZE_T_MAXNOFF_MAX __OFF_MAXOOFF_MIN __OFF_MINSGID_MAX UINT_MAXTUID_MAX UINT_MAXVUQUAD_MAX (__UQUAD_MAX)WQUAD_MAX (__QUAD_MAX)XQUAD_MIN (__QUAD_MIN)\LONG_BIT __LONG_BIT]WORD_BIT __WORD_BIT"_SYS_SYSLIMITS_H_ 4ARG_MAX 2621447CHILD_MAX 409LINK_MAX 32767:MAX_CANON 255;MAX_INPUT 255l Ԭ` px $ d  l0/%B     !%/d;DR^(*jTxd !<8mpm.cFileSrcIdStructdigit.0pad.1WriteWordWriteDoublempmSrcIdWordIsAlignedWordAlignUpWordRoundUpWordAlignDownSizeIsP2SizeFloorLog2SizeLog2AddrAlignDownResIsAllocFailuremps_lib_fputsmps_lib_get_EOFWriteFmps_lib_fputcStringLength >#E$~  #$" '#.$Lev; #$l&s$ 1#8$b&i$&$  !%*18?MX_fmt{(39OZev|-8<CQept{ !4?CJhsw~!.;G X )7b !%9=im3? DQ    $(,048<@DHLPTX\`dhlptx|04HLhl$(\`arenavm.o/ 1169001561 1001 1001 100644 81924 ` ELF  4(UÉU@vÍvUWVS }M])H9Lr!QWu …u HЍe[^_ÉUVS]UE)փPRu )He[^UWVSDuEPà uEȃuǃuẼ PWEPÃjjLUREPÃEЉEċUȍtK!VWuu ÃuWEĉp $ > : ; I I&I : ;  : ; I8 < : ; I  : ; I8 : ;I8  : ;I8  : ; I 8  : ;I 8  : ;I 8  : ; ' II' ' I : ;  : ;  : ; I: ;II!I/ .: ; ' I@ : ; I 4: ; I 4: ; I !: ; I "4: ; I #.: ; ' @ $4: ;I %4: ;I & : ;'.: ;' I@ (: ;I ).: ;' @ *4: ;I+ ,4: ;I-: ;I . /.: ;' I@ 0.? : ;' I@ 14: ; I?  9 $T Iint- 8Wn  { _L |7zq E""$#%#&#'# " 2  . Sigl ResE lo"ou I#YS$Y%Y&Y~'W(W Ref)d ,Y-Y9.W/W\1{2W 3W4WL 5W6W7W BT:MYc;^da ; sigC#j## # I <`< sigsC# t#B u#v# w#x[ #2y#z# Y{s#$|s#,j}d#4~d#81##<d#T#XnW#\1>@>e D!#E#F#NG#H#I# J#$K#( segL #,M.#0NO#4,Oq#8 sigPC#<kAW CNad#bd# cd#n dd#  e# f# D<D sigC#B #.8## [ ##ye# #  #$#(#, pad#0  #4z{#8IF  G"!XG sig`C#B a# b#c# d[ # e[ #f# 5g[ #$h#,* i #0 fixj#4 ks#8ls#@ms#H7ns#PH He 2!#3#4#5#6-#N7# 8#$9#(:,#,$ ;S#0v<#4=#8>#< ?#@@@#DyAg#H fixB#LC#PD#TE#XF #\G,#`mH]#dI#hJ#lK#pL#tM#xND#| O# sigPC#O O sigC# ti### ###i #{# {#${#( {#,#0#4/#8#<U{#@#D#H| {#Lp#PW#TF{#Xb #\ #`m#d #h#l#pU #t  #xN {#|% #k {###>P ! i TP fix^#>Y### sigC## ### #$b #( #,m#0 #4#8 #<N{#@%#Dk{#H{#L{#PVQt z  Q sig>C#?#@[ #vA #B#C:"#R  C ]R # p #j d#  #  W# )SN T V 8S sig C#B # # [ # q {# #j d# d#  #$ #( C#,$ #0 #4~WT sigC#EC #jd# d# ~#~# U U the h # SegV$V sigC# #  # [ #   d#H W#pm "#sm "#  # # ##hX[LXe !###N#!##  #$#( >#,~`#0k#4= #8#<?#@~#D sigC#HuZZ sig0C#1#]2# 3# 4# gen5#\H\e &!#'##(#)#N*#+# x,0#$-Q#(.\#,/#00#4r1#86 2#<32#@ sig4C#D]^  t(^o##B p#t r#x$ t#|u## w##y{#z{#f|{# }{#>##K ##d#cC # [ ####/"#[ ##[ #5C### [ # ##/##{#h {#w {##  #S # ##s#&s#FY###\#[ #;##T $# sigC#4t_ sigBC#LE[ #F# Is#mJ#K# Ls# Ms#(Ns#0Os#87Ps#@4S#H V#LY[ #P.Z#X ][ #\K^#da[ #hd#p VM`>D x dU[ elr bg s 9hh@"#Z  #Xb{#\{#` sigC#dn N 8\o$0p;AQ{ q rgmNd{ tN{d ud{vNC SC w &2C #x=CXNX'eioN @d lNdd!Nd{8 ,2>IO` I:v|HQ &$*?NXJP~Nddd8iJN8o ddd{|.9?OZ`q|NXN8  ,N{=7=Sd{ ^dN{=ĘddNd"JN $*@KKQg 7rxN 'ΨN $Ш$ M,$ 7=WNWx_hnNx$ٓxܺl?)/DNX OUeapvN dddd dd9P  d{a d~, 2 [ `! #! #`2 ]    g e# fE#  h cf  gq  i V T  \  '!\ sig}C#~ # a!#!# a2!8!a!a sigC#  #8 ml!r!!!'! '!x!!!!    /"\$ sigC#]# {#!s# . "s#t#[ #\$!/"!o""St@"# {#X1 {#\x{#`Y#d"#h #l sigC#p "SK"# `@"#L"#X0"#1 {#G {# {#{#{#[ # sigC# "9g W5e ### $[ $t :0$6$ (v!)G$M$$yL!)W!. # vm!/4#8 !0d#<|!1C#@!2C#D sig!3C#H !E$$B% !E2!J$# vm!K4#!L{#.!M#!NB%#!O#1 !P{# sig!QC#R%% !b Uv !a<$E!cC %! !U!$ gen!P!!c!<$T&]!N$zU!ȭ$!vm!4 j!dW !dQ"!S"!{V res!NP#& !|U!$S!vm!4 j!dR !dP!"!{V' !NU}!'P!$ !{ res!NS"j!dW" !dL"\!dV"q!H vm!4T"! X!S$O !<$D%p!P&A!4&!2&j!1& !0&h!.C 'd(!<NU(E!;C (!;SW$!!=P$O !><$S$/ !?dV%p!@p%res!ANP& !c&!b& !a)(!kU(E!jC P%vm!l4S*O !m<$)(!U(E!~C S*O !<$')Q!NU( ! P( ! (~ !8$!{h$!{P*!{%res!NS$!$V$!W%gen!P$!4p$E!C l&A!& !z&!Q&C!E)D*!5U(!W$!$p$!! R$!! S$!4l+$E!C P'*8!{8U(!Q$x!{V$!! R$!! S+`m*O !<$)*!U(!*!$''+![U(E!ZC S(!ZdV$!\P)+!v7U(b!t+P((!t+R(E!uC S(!uR(!uP'l,!N8U(O !<$(!S(!V$ !l$!p$!P$!d$!h%i!S$E!C W%res!NP+d^$!d`$!d\),~!U(O !<$(!d (!d$E!C W$!dV$q!{p'-m!U(!+P(E!C V(!{P(j!dP( !dP(~!$!YP$H!S$r!R$d!p%end!t'.!. U(!++(}!+.P(!,$(!,{(]!,(~!-$!/p$!0dl$j!0dR$ !0dS$!1{h$!2! R$!2! d+ $E!9C V<$'. !{ U(!z$( !zP%gen!|P'm/u ! | U(!+(}!. (!$V( !W(!{(!$!S+  ,gen!'/a!N| U(!$R(!{ $ !C |$!{P%res!NP !//0N+.${'k0!N U(!+(}!. (!$V( !W(!{S'0c !N , U(!+(}!. (!$( !P(!{'>1: !', U(O !&<$S-pi!&V$!(p$q!)t*!*E*E!+C )1j!H U(O !G<$P-pi!G *E!IC $!JQ'2!WN NU(!U$(O !U<$ (!V(!V(!V%i!XS$!Yh$8 !ZS$!ZW$![S$![V$E!\C d%res!]N`& !C&! +@$!l$q!p'3W !NPU(!P(;!P(!/( !(!{V(!$j!dh$ !dP$! W$!d$!`$!l$]!V%res!NP$!$S$O !<$p$E!C W&!z.3m$!{P+K\,gen!'[4!NU(!(;! ( !(!{(!'4>!NU(! (;!  ( ! (! {(! =!444<$)5 ! cU(O !<$(j! ( !S-f!4-p!$<!!R$ !!V$E!"C W&!6[)5!CdU(O !A<$(!B (!BW-p!B%i!DS$E!EC V)6!\U(![$$!]! R$!]! h$!^d+_$E!aC `$O !b<$\$E!cl$!cp$ !dP+5$!jdX$"!jdT$!kS$!kV$!lW)7!pU(j!dS(!{P(!P$!d$!$`$O !<$\$E!C p$!P%pi!V$ !W$!X$!h$!l**!+$!~S*b ! 6!!#/!pU0N!7U)p8a!=U(!7S+$*!V!+!#/!@U0!p8U)8!U(!p8S+$!7V0!%$U0 ! %$U"!1q!$H!$!7 $!$!|8\ /usr/include/usr/include/sys/usr/include/machineboot.hmpmtypes.hconfig.hmpstd.hmisc.hstddef.hcdefs.h_null.h_types.h_types.hmpslib.hstdarg.htract.hring.hcheck.hbt.hmpm.hevent.heventcom.heventgen.hlock.hth.hss.hmpmst.hprotocol.hchain.hmpsavm.hmps.hlimits.hlimits.h_limits.hsyslimits.harenavm.c!9,9 :LT:*IdVJe qԬ,eset:x,<ƫdsfԀs<,,\ r:di U (-ԫ6fs:YVt),;e:Ǐ&ձVeîi+,*J qr" G ;<;#&Ɓ;s::V'V :hW;x*WdSSLVd>,+V:0$VKL<qV?dVXUd 9 WSG  tV  9fZPkVd1 -=,TuV e=NgƬ:.:rH߃W,,:V 0sV,,V(d:Z<: d 9W,:*H/oHIVL __GNUCLIKE___OFFSETOF 1?__GNUCLIKE___SECTION 1A__GNUCLIKE_ATTRIBUTE_MODE_DI 1D__GNUCLIKE_CTOR_SECTION_HANDLING 1G__GNUCLIKE_BUILTIN_CONSTANT_P 1N__GNUCLIKE_BUILTIN_VARARGS 1O__GNUCLIKE_BUILTIN_STDARG 1P__GNUCLIKE_BUILTIN_VAALIST 1T__GNUC_VA_LIST_COMPATIBILITY 1X__GNUCLIKE_BUILTIN_NEXT_ARG 1Y__GNUCLIKE_MATH_BUILTIN_RELOPS \__GNUCLIKE_BUILTIN_MEMCPY 1___CC_SUPPORTS_INLINE 1`__CC_SUPPORTS___INLINE 1a__CC_SUPPORTS___INLINE__ 1c__CC_SUPPORTS___FUNC__ 1d__CC_SUPPORTS_WARNING 1f__CC_SUPPORTS_VARADIC_XXX 1h__CC_SUPPORTS_DYNAMIC_ARRAY_INIT 1k__CC_INT_IS_32BIT 1s__GNUC_PREREQ__(ma,mi) (__GNUC__ > (ma) || __GNUC__ == (ma) && __GNUC_MINOR__ >= (mi))__P(protos) protos__CONCAT1(x,y) x ## y__CONCAT(x,y) __CONCAT1(x,y)__STRING(x) #x__XSTRING(x) __STRING(x)__const const__signed signed__volatile volatile__dead2 __attribute__((__noreturn__))__pure2 __attribute__((__const__))__unused __attribute__((__unused__))__used __attribute__((__used__))__packed __attribute__((__packed__))__aligned(x) __attribute__((__aligned__(x)))__section(x) __attribute__((__section__(x)))__pure __attribute__((__pure__))__always_inline __attribute__((__always_inline__))__nonnull(x) __attribute__((__nonnull__(x)))__restrict __predict_true(exp) __builtin_expect((exp), 1)__predict_false(exp) __builtin_expect((exp), 0)__offsetof(type,field) ((size_t)(&((type *)0)->field))__rangeof(type,start,end) (__offsetof(type, end) - __offsetof(type, start))__printflike(fmtarg,firstvararg) __attribute__((__format__ (__printf__, fmtarg, firstvararg)))__scanflike(fmtarg,firstvararg) __attribute__((__format__ (__scanf__, fmtarg, firstvararg)))__format_arg(fmtarg) __attribute__((__format_arg__ (fmtarg)))__printf0like(fmtarg,firstvararg) __attribute__((__format__ (__printf0__, fmtarg, firstvararg)))__strong_reference(sym,aliassym) extern __typeof (sym) aliassym __attribute__ ((__alias__ (#sym)));__weak_reference(sym,alias) __asm__(".weak " #alias); __asm__(".equ " #alias ", " #sym)__warn_references(sym,msg) __asm__(".section .gnu.warning." #sym); __asm__(".asciz \"" msg "\""); __asm__(".previous")__IDSTRING(name,string) __asm__(".ident\t\"" string "\"")__FBSDID(s) __IDSTRING(__CONCAT(__rcsid_,__LINE__),s)__RCSID(s) __IDSTRING(__CONCAT(__rcsid_,__LINE__),s)__RCSID_SOURCE(s) __IDSTRING(__CONCAT(__rcsid_source_,__LINE__),s)__SCCSID(s) __IDSTRING(__CONCAT(__sccsid_,__LINE__),s)__COPYRIGHT(s) __IDSTRING(__CONCAT(__copyright_,__LINE__),s)__DECONST(type,var) ((type)(uintptr_t)(const void *)(var))__DEVOLATILE(type,var) ((type)(uintptr_t)(volatile void *)(var))__DEQUALIFY(type,var) ((type)(uintptr_t)(const volatile void *)(var))__POSIX_VISIBLE 200112__XSI_VISIBLE 600__BSD_VISIBLE 1__ISO_C_VISIBLE 1999* NULL ((void *)0)+ _SYS__TYPES_H_ ! (_MACHINE__TYPES_H_ .__NO_STRICT_ALIGNMENT __GNUC_VA_LIST 2_RUNE_T_DECLARED 8_SIZE_T_DECLARED >_WCHAR_T_DECLARED Boffsetof(type,member) __offsetof(type, member)*SRCID(id,scmid) static SrcIdStruct FileSrcIdStruct = {__FILE__, (scmid), __DATE__, __TIME__}; SrcId id ## SrcId = &FileSrcIdStruct;BEGIN do {> (i)) & 1)BS_UNION(s1,s2) ((s1) | (s2))BS_ADD(ty,s,i) BS_UNION((s), BS_SINGLE(ty, (i)))BS_INTER(s1,s2) ((s1) & (s2))BS_DIFF(s1,s2) BS_INTER((s1), BS_COMP(s2))BS_DEL(ty,s,i) BS_DIFF((s), BS_SINGLE(ty, (i)))BS_SUPER(s1,s2) (BS_INTER((s1), (s2)) == (s2))BS_SUB(s1,s2) BS_SUPER((s2), (s1))BS_IS_SINGLE(s) (((s) & ((s)-1)) == 0)BS_SYM_DIFF(s1,s2) ((s1) ^ (s2)) mpslib_h mps_lib_EOF (mps_lib_get_EOF())mps_lib_stderr (mps_lib_get_stderr())mps_lib_stdout (mps_lib_get_stdout()) '_MACHINE_STDARG_H_ -_VA_LIST_DECLARED 3va_start(ap,last) __builtin_stdarg_start((ap), (last))6va_arg(ap,type) __builtin_va_arg((ap), type):va_copy(dest,src) __builtin_va_copy((dest), (src))>va_end(ap) __builtin_va_end(ap)SigInvalid ((Sig)0x51915BAD)SizeMAX ((Size)-1)AccessSetEMPTY ((AccessSet)0)AccessREAD ((AccessSet)(1<<0))AccessWRITE ((AccessSet)(1<<1))AccessSetWIDTH (2)RefSetEMPTY BS_EMPTY(RefSet)RefSetUNIV BS_UNIV(RefSet)ZoneSetEMPTY BS_EMPTY(ZoneSet)ZoneSetUNIV BS_UNIV(ZoneSet)TraceSetEMPTY BS_EMPTY(TraceSet)TraceSetUNIV ((TraceSet)((1u << TraceLIMIT) - 1))RankSetEMPTY BS_EMPTY(RankSet)RankSetUNIV ((RankSet)((1u << RankLIMIT) - 1))AttrFMT ((Attr)(1<<0))AttrSCAN ((Attr)(1<<1))AttrPM_NO_READ ((Attr)(1<<2))AttrPM_NO_WRITE ((Attr)(1<<3))AttrALLOC ((Attr)(1<<4))AttrFREE ((Attr)(1<<5))AttrBUF ((Attr)(1<<6))AttrBUF_RESERVE ((Attr)(1<<7))AttrBUF_ALLOC ((Attr)(1<<8))AttrGC ((Attr)(1<<9))AttrINCR_RB ((Attr)(1<<10))AttrINCR_WB ((Attr)(1<<11))AttrMOVINGGC ((Attr)(1<<12))AttrMASK (AttrFMT | AttrSCAN | AttrPM_NO_READ | AttrPM_NO_WRITE | AttrALLOC | AttrFREE | AttrBUF | AttrBUF_RESERVE | AttrBUF_ALLOC | AttrGC | AttrINCR_RB | AttrINCR_WB | AttrMOVINGGC)BufferModeATTACHED ((BufferMode)(1<<0))BufferModeFLIPPED ((BufferMode)(1<<1))BufferModeLOGGED ((BufferMode)(1<<2))BufferModeTRANSITION ((BufferMode)(1<<3))RootModeCONSTANT ((RootMode)1<<0)RootModePROTECTABLE ((RootMode)1<<1)RootModePROTECTABLE_INNER ((RootMode)1<<2)STATISTIC_DECL(field) field  tract_h   ring_h  check_h 0AVER(cond) DISCARD(cond)1AVERT(type,val) DISCARD(type ## Check(val))2AVER_CRITICAL(cond) DISCARD(cond)3AVERT_CRITICAL(type,val) DISCARD(type ## Check(val))MASSERT(cond,condstring) BEGIN if (cond) NOOP; else mps_lib_assert_fail(condstring "\n" __FILE__ "\n" STR(__LINE__)); END_NOTREACHED NOOPjCHECKT(type,val) ((val) != NULL && (val)->sig == type ## Sig)pCHECKS(type,val) DISCARD(CHECKT(type, val))qCHECKL(cond) DISCARD(cond)rCHECKD(type,val) DISCARD(CHECKT(type, val))sCHECKD_NOSIG(type,val) DISCARD((val) != NULL)tCHECKU(type,val) DISCARD(CHECKT(type, val))uCHECKU_NOSIG(type,val) DISCARD((val) != NULL)CHECKLVALUE(lv1,lv2) ((void)sizeof((lv1) = (lv2)), (void)sizeof((lv2) = (lv1)), TRUE)CHECKTYPE(t1,t2) (sizeof(t1) == sizeof(t2) && CHECKLVALUE(*((t1 *)0), *((t2 *)0)))CHECKFIELDAPPROX(s1,f1,s2,f2) (sizeof(((s1 *)0)->f1) == sizeof(((s2 *)0)->f2) && offsetof(s1, f1) == offsetof(s2, f2))CHECKFIELD(s1,f1,s2,f2) (CHECKFIELDAPPROX(s1, f1, s2, f2) && CHECKLVALUE(((s1 *)0)->f1, ((s2 *)0)->f2))RingNONE ((Ring)0)$RingInit(ring) BEGIN Ring _ring = (ring); AVER(_ring != NULL); _ring->next = _ring; _ring->prev = _ring; AVER(RingCheck(_ring)); END/RingFinish(ring) BEGIN Ring _ring = (ring); AVER(RingCheckSingle(_ring)); _ring->next = RingNONE; _ring->prev = RingNONE; END9RingAppend(ring,new) BEGIN Ring _ring = (ring), _new = (new); AVER(RingCheck(_ring)); AVER(RingCheckSingle(_new)); _new->prev = _ring->prev; _new->next = _ring; _ring->prev->next = _new; _ring->prev = _new; ENDFRingInsert(ring,new) BEGIN Ring _ring = (ring), _new = (new); AVER(RingCheck(_ring)); AVER(RingCheckSingle(_new)); _new->prev = _ring; _new->next = _ring->next; _ring->next->prev = _new; _ring->next = _new; ENDSRingRemove(old) BEGIN Ring _old = (old); AVER(RingCheck(_old)); AVER(!RingIsSingle(_old)); _old->next->prev = _old->prev; _old->prev->next = _old->next; _old->next = _old; _old->prev = _old; END`RingNext(ring) ((ring)->next)dRingPrev(ring) ((ring)->prev)gRING_ELT(type,field,node) ((type)(void *)((char *)(node) - (size_t)(&((type)0)->field)))kRING_FOR(node,ring,next) for(node = RingNext(ring), next = RingNext(node); node != (ring); node = (next), next = RingNext(node))  bt_h BTSize(n) (((n) + MPS_WORD_WIDTH-1) / MPS_WORD_WIDTH * sizeof(Word))BTGet(a,i) ((Bool)(((a)[((i) >> MPS_WORD_SHIFT)] >> ((i) & ~((Word)-1 << MPS_WORD_SHIFT))) & (Word)1))BTSet(a,i) BEGIN (a)[((i)>>MPS_WORD_SHIFT)] |= (Word)1<<((i)&~((Word)-1<>MPS_WORD_SHIFT)] &= ~((Word)1 << ((i) & ~((Word)-1<base)&TractPool(tract) ((tract)->pool)'TractP(tract) ((tract)->p)(TractSetP(tract,pp) ((void)((tract)->p = (pp))))TractHasSeg(tract) ((Bool)(tract)->hasSeg)*TractSetHasSeg(tract,b) ((void)((tract)->hasSeg = (b)))+TractWhite(tract) ((tract)->white),TractSetWhite(tract,w) ((void)((tract)->white = (w)))8TRACT_SEG(segReturn,tract) (TractHasSeg(tract) && ((*(segReturn) = (Seg)TractP(tract)), TRUE));TRACT_SET_SEG(tract,seg) (TractSetHasSeg(tract, TRUE), TractSetP(tract, seg))>TRACT_UNSET_SEG(tract) (TractSetHasSeg(tract, FALSE), TractSetP(tract, NULL))nPageTract(page) (&(page)->the.tractStruct)rPageOfTract(tract) PARENT(PageStruct, the.tractStruct, (tract))vPagePool(page) ((page)->the.rest.pool)}PageIsAllocated(page) ((page)->the.rest.pool != NULL)PageType(page) ((page)->the.rest.type)ChunkSig ((Sig)0x519C804C)ChunkArena(chunk) ((chunk)->arena)ChunkPageSize(chunk) ((chunk)->pageSize)ChunkPageShift(chunk) ((chunk)->pageShift)ChunkPagesToSize(chunk,pages) ((Size)(pages) << (chunk)->pageShift)ChunkSizeToPages(chunk,size) ((Count)((size) >> (chunk)->pageShift))CHUNK_OF_ADDR(chunkReturn,arena,addr) (((arena)->chunkCache.base <= (addr) && (addr) < (arena)->chunkCache.limit) ? (*(chunkReturn) = (arena)->chunkCache.chunk, TRUE) : ChunkOfAddr(chunkReturn, arena, addr))AddrPageBase(chunk,addr) AddrAlignDown((addr), ChunkPageSize(chunk))TRACT_OF_ADDR(tractReturn,arena,addr) BEGIN Arena _arena = (arena); Addr _addr = (addr); Chunk _chunk; Index _i; if (CHUNK_OF_ADDR(&_chunk, _arena, _addr)) { _i = INDEX_OF_ADDR(_chunk, _addr); if (BTGet(_chunk->allocTable, _i)) *(tractReturn) = PageTract(&_chunk->pageTable[_i]); else *(tractReturn) = NULL; } else *(tractReturn) = NULL; ENDINDEX_OF_ADDR(chunk,addr) ((Index)ChunkSizeToPages(chunk, AddrOffset((chunk)->base, addr)))PageIndexBase(chunk,i) AddrAdd((chunk)->base, ChunkPagesToSize(chunk, i))TractAverContiguousRange(arena,rangeBase,rangeLimit) BEGIN Chunk _ch = NULL; UNUSED(_ch); AVER(ChunkOfAddr(&_ch, arena, rangeBase) && (rangeLimit) <= _ch->limit); ENDTRACT_TRACT_FOR(tract,addr,arena,firstTract,limit) tract = (firstTract); addr = TractBase(tract); TractAverContiguousRange(arena, addr, limit); for(; tract != NULL; (addr = AddrAdd(addr, (arena)->alignment)), (addr < (limit) ? (tract = PageTract(PageOfTract(tract) + 1)) : (tract = NULL) ))TRACT_FOR(tract,addr,arena,base,limit) TRACT_TRACT_FOR(tract, addr, arena, TractOfBaseAddr(arena, base), limit) mpm_h event_h  eventcom_h !EventNameMAX ((size_t)19)"EventCodeMAX ((EventCode)0x0069)&EVENT_0(type) NOOPEVENT_A(type,p0) NOOPEVENT_AW(type,p0,p1) NOOPEVENT_P(type,p0) NOOPEVENT_PAA(type,p0,p1,p2) NOOPEVENT_PAW(type,p0,p1,p2) NOOPEVENT_PAWA(type,p0,p1,p2,p3) NOOPEVENT_PDDWWW(type,p0,p1,p2,p3,p4,p5) NOOPEVENT_PP(type,p0,p1) NOOPEVENT_PPAU(type,p0,p1,p2,p3) NOOPEVENT_PPAWP(type,p0,p1,p2,p3,p4) NOOPEVENT_PPP(type,p0,p1,p2) NOOPEVENT_PPPA(type,p0,p1,p2,p3) NOOPEVENT_PPPU(type,p0,p1,p2,p3) NOOPEVENT_PPPUU(type,p0,p1,p2,p3,p4) NOOPEVENT_PPU(type,p0,p1,p2) NOOPEVENT_PPUU(type,p0,p1,p2,p3) NOOPEVENT_PPUWWW(type,p0,p1,p2,p3,p4,p5) NOOPEVENT_PPWW(type,p0,p1,p2,p3) NOOPEVENT_PPWWW(type,p0,p1,p2,p3,p4) NOOPEVENT_PPWWWUUU(type,p0,p1,p2,p3,p4,p5,p6,p7) NOOPEVENT_PU(type,p0,p1) NOOPEVENT_PW(type,p0,p1) NOOPEVENT_PWA(type,p0,p1,p2) NOOPEVENT_PWAW(type,p0,p1,p2,p3) NOOPEVENT_PWP(type,p0,p1,p2) NOOPEVENT_PWU(type,p0,p1,p2) NOOPEVENT_PWW(type,p0,p1,p2) NOOPEVENT_PWWWWDD(type,p0,p1,p2,p3,p4,p5,p6) NOOPEVENT_PWWWWW(type,p0,p1,p2,p3,p4,p5) NOOPEVENT_PWWWWWWWWW(type,p0,p1,p2,p3,p4,p5,p6,p7,p8,p9) NOOPEVENT_PWWWWWWWWWWWW(type,p0,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11,p12) NOOPEVENT_UUPA(type,p0,p1,p2,p3) NOOPEVENT_UUPP(type,p0,p1,p2,p3) NOOPEVENT_UUPPP(type,p0,p1,p2,p3,p4) NOOPEVENT_WS(type,p0,p1,l1) NOOP:EventEventTime ((EventType)0xEF213E99);EventPoolInit ((EventType)0xEFB07141)EventPoolFree ((EventType)0xEFB07F6E)?EventArenaCreateVM ((EventType)0xEFA64CF3)@EventArenaCreateVMNZ ((EventType)0xEFA64CF2)AEventArenaCreateCL ((EventType)0xEFA64CC7)BEventArenaDestroy ((EventType)0xEFA64DE5)CEventArenaAlloc ((EventType)0xEFA64A77)DEventArenaFree ((EventType)0xEFA64F6E)EEventSegAlloc ((EventType)0xEF5E9A77)FEventSegFree ((EventType)0xEF5E9F6E)GEventSegMerge ((EventType)0xEF5E93E6)HEventSegSplit ((EventType)0xEF5E95B7)IEventAMCGenCreate ((EventType)0xEFA3C94C)JEventAMCGenDestroy ((EventType)0xEFA3C94D)KEventAMCInit ((EventType)0xEFA3C141)LEventAMCFinish ((EventType)0xEFA3CF14)MEventAMCTraceBegin ((EventType)0xEFA3C26B)NEventAMCScanBegin ((EventType)0xEFA3C5CB)OEventAMCScanEnd ((EventType)0xEFA3C5CE)PEventAMCFix ((EventType)0xEFA3CF18)QEventAMCFixInPlace ((EventType)0xEFA3CF8A)REventAMCFixForward ((EventType)0xEFA3CF8F)SEventAMCReclaim ((EventType)0xEFA3C6EC)TEventTraceStart ((EventType)0xEF26AC52)UEventTraceCreate ((EventType)0xEF26ACC6)VEventTraceDestroy ((EventType)0xEF26ACDE)WEventSegSetGrey ((EventType)0xEF59596A)XEventTraceFlipBegin ((EventType)0xEF26AF7B)YEventTraceFlipEnd ((EventType)0xEF26AF7E)ZEventTraceReclaim ((EventType)0xEF26A6EC)[EventTraceScanSeg ((EventType)0xEF26A559)\EventTraceScanSingleRef ((EventType)0xEF26A556)^EventTraceAccess ((EventType)0xEF26AACC)_EventTracePoll ((EventType)0xEF26AB01)`EventTraceStep ((EventType)0xEF26A52B)aEventTraceFix ((EventType)0xEF26AF18)bEventTraceFixSeg ((EventType)0xEF26AF85)cEventTraceFixWhite ((EventType)0xEF26AF83)dEventTraceScanArea ((EventType)0xEF26A5CA)eEventTraceScanAreaTagged ((EventType)0xEF26A5C2)fEventVMCreate ((EventType)0xEFF3C6EA)gEventVMDestroy ((EventType)0xEFF3DE52)hEventVMMap ((EventType)0xEFF33AB9)iEventVMUnmap ((EventType)0xEFF3043B)jEventIntern ((EventType)0xEF142E64)kEventArenaExtend ((EventType)0xEFA64E82)lEventArenaRetract ((EventType)0xEFA646E2)mEventRootScan ((EventType)0xEF625CA4)nEventLabel ((EventType)0xEF7ABE79)oEventTraceSegGreyen ((EventType)0xEF26A599)pEventBufferReserve ((EventType)0xEFB0FF6E)qEventBufferCommit ((EventType)0xEFB0FFC0)rEventBufferInit ((EventType)0xEFB0FF14)sEventBufferInitSeg ((EventType)0xEFB0F15E)tEventBufferInitRank ((EventType)0xEFB0F16A)uEventBufferInitEPVM ((EventType)0xEFB0F1EF)vEventBufferFinish ((EventType)0xEFB0FFF1)wEventBufferFill ((EventType)0xEFB0FFF7)xEventBufferEmpty ((EventType)0xEFB0FFE3)yEventArenaAllocFail ((EventType)0xEFA64A7F)zEventSegAllocFail ((EventType)0xEF5E9A7F){EventMeterInit ((EventType)0xEF3E2141)|EventMeterValues ((EventType)0xEF3E2FA7)}EventCBSInit ((EventType)0xEFCB5141)~EventTraceStatCondemn ((EventType)0xEF26A5C0)EventTraceStatScan ((EventType)0xEF26A55C)EventTraceStatFix ((EventType)0xEF26A5F8)EventTraceStatReclaim ((EventType)0xEF26A56E)EventArenaWriteFaults ((EventType)0xEFA6436F)EventPoolInitMV ((EventType)0xEFB0713F)EventPoolInitMVFF ((EventType)0xEFB071FF)EventPoolInitMFS ((EventType)0xEFB07135)EventPoolInitEPVM ((EventType)0xEFB071EF)EventPoolInitEPDL ((EventType)0xEFB071E7)EventPoolInitAMS ((EventType)0xEFB071A5)EventPoolInitAMC ((EventType)0xEFB071AC)EventPoolInitAMCZ ((EventType)0xEFB071A2)EventPoolInitAWL ((EventType)0xEFB071A3)EventPoolInitLO ((EventType)0xEFB07170)EventPoolInitSNC ((EventType)0xEFB07154)EventPoolInitMVT ((EventType)0xEFB07132)EventPoolPush ((EventType)0xEFB07B58)EventPoolPop ((EventType)0xEFB07B0B)EventReservoirLimitSet ((EventType)0xEF6E5713)EventCommitLimitSet ((EventType)0xEFC03713)EventSpareCommitLimitSet ((EventType)0xEF5BC713)hEventInit() NOOPiEventFinish() NOOPjEventControl(r,f) (UNUSED(r), UNUSED(f), (Word)0)kEventInternString(s) (UNUSED(s), (Word)0)lEventInternGenString(l,s) (UNUSED(l), UNUSED(s), (Word)0)mEventLabelAddr(a,i) BEGIN UNUSED(a); UNUSED(i); ENDPlock_h ULockSig ((Sig)0x51970CC9) th_h ThreadSig ((Sig)0x519286ED) ss_h mpmst_h protocol_h DERIVE_LOCAL(name) protocol ## nameDERIVE_STRUCT(name) name ## StructDERIVE_ENSURE(name) name ## GetDERIVE_ENSURE_OLD(name) Ensure ## nameDERIVE_ENSURE_INTERNAL(name) protocolGet ## nameDERIVE_GUARDIAN(name) protocol ## name ## GuardianDERIVE_STATIC_STORAGE(name) protocol ## name ## StructProtocolClassSetSuperclassPoly(class,super) (((ProtocolClass)(class))->superclass) = (ProtocolClass)(super)$DEFINE_CLASS(className,var) static Bool DERIVE_GUARDIAN(className) = FALSE; static DERIVE_STRUCT(className) DERIVE_STATIC_STORAGE(className); static void DERIVE_ENSURE_INTERNAL(className)(className); extern className DERIVE_ENSURE(className)(void); className DERIVE_ENSURE(className)(void) { if (DERIVE_GUARDIAN(className) == FALSE) { LockClaimGlobalRecursive(); if (DERIVE_GUARDIAN(className) == FALSE) { DERIVE_ENSURE_INTERNAL(className) (&DERIVE_STATIC_STORAGE(className)); DERIVE_GUARDIAN(className) = TRUE; } LockReleaseGlobalRecursive(); } return &DERIVE_STATIC_STORAGE(className); } extern className DERIVE_ENSURE_OLD(className)(void); className DERIVE_ENSURE_OLD(className)(void) { return DERIVE_ENSURE(className)(); } static void DERIVE_ENSURE_INTERNAL(className) (className var)AINHERIT_CLASS(this,parentName) BEGIN parentName DERIVE_LOCAL(parentName) = DERIVE_ENSURE(parentName)(); *this = *(DERIVE_LOCAL(parentName)); ProtocolClassSetSuperclassPoly(this, DERIVE_LOCAL(parentName)); ENDODEFINE_ALIAS_CLASS(className,typeName,var) typedef typeName className; typedef DERIVE_STRUCT(typeName) DERIVE_STRUCT(className); DEFINE_CLASS(className, var)VProtocolClassSig ((Sig)0x519B60C7)WProtocolInstSig ((Sig)0x519B6014)ProtocolClassSuperclassPoly(class) (((ProtocolClass)(class))->superclass)ClassOfPoly(inst) ((ProtocolInst)(inst)->class)IsSubclassPoly(sub,super) ProtocolIsSubclass((ProtocolClass)(sub), (ProtocolClass)(super))SUPERCLASS(className) ProtocolClassSuperclassPoly(DERIVE_ENSURE(className)())chain_h GenDescSig ((Sig)0x5199E4DE)+PoolGenSig ((Sig)0x519B009E);ChainSig ((Sig)0x519C8A14)XPoolGenNr(gen) ((gen)->nr)/PoolClassSig ((Sig)0x519C7A55)]PoolSig ((Sig)0x519B0019)}MFSSig ((Sig)0x5193F599)MVSig ((Sig)0x5193B999)ReservoirSig ((Sig)0x5196e599)MessageClassSig ((Sig)0x519359c1)MessageSig ((Sig)0x5193e559)SegClassSig ((Sig)0x5195E9C7)SegSig ((Sig)0x5195E999)GCSegSig ((Sig)0x5199C5E9)SegPrefSig ((Sig)0x5195E9B6)BufferClassSig ((Sig)0x519B0FC7)BufferSig ((Sig)0x519B0FFE)SegBufSig ((Sig)0x51959B0F)FormatSig ((Sig)0x519F63A2)ScanStateSig ((Sig)0x5195CA45)TraceSig ((Sig)0x51924ACE)ChunkCacheEntrySig ((Sig)0x519C80CE)ArenaClassSig ((Sig)0x519A6C1A)GlobalsSig ((Sig)0x519970BA)ArenaSig ((Sig)0x519A6E4A)%BoolCheck(b) ((unsigned)(b) <= 1)(FUNCHECK(f) (FunCheck((Fun)f))4WordIsAligned(w,a) (((w) & ((a) - 1)) == 0)7WordAlignUp(w,a) (((w) + (a) - 1) & ~((Word)(a) - 1));WordRoundUp(w,r) (((w)+(r)-1) - ((w)+(r)-1)%(r))>WordAlignDown(w,a) ((w) & ~((Word)(a) - 1))@size_tAlignUp(s,a) ((size_t)WordAlignUp((Word)(s), a))BPointerAdd(p,s) ((void *)((char *)(p) + (s)))CPointerSub(p,s) ((void *)((char *)(p) - (s)))EPointerOffset(base,limit) ((size_t)((char *)(limit) - (char *)(base)))HPointerAlignUp(p,s) ((void *)WordAlignUp((Word)(p), (Align)(s)))KAddrAdd(p,s) ((Addr)PointerAdd((void *)(p), s))LAddrSub(p,s) ((Addr)PointerSub((void *)(p), s))NAddrOffset(b,l) ((Size)(PointerOffset((void *)(b), (void *)(l))))RAddrAlignDown(p,a) ((Addr)WordAlignDown((Word)(p), a))TAlignWord(s) ((Word)(s))VAddrIsAligned(p,a) WordIsAligned((Word)(p), a)WAddrAlignUp(p,a) ((Addr)WordAlignUp((Word)(p), a))YSizeIsAligned(s,a) WordIsAligned((Word)(s), a)ZSizeAlignUp(s,a) ((Size)WordAlignUp((Word)(s), a))[SizeAlignDown(s,a) ((Size)WordAlignDown((Word)(s), a))]SizeRoundUp(s,r) ((Size)WordRoundUp((Word)(s), (Size)(r)))_IndexIsAligned(s,a) WordIsAligned((Word)(s), a)`IndexAlignUp(s,a) ((Index)WordAlignUp((Word)(s), a))aIndexAlignDown(s,a) ((Index)WordAlignDown((Word)(s), a))cAlignIsAligned(a1,a2) WordIsAligned((Word)(a1), a2)iAddrSet(target,value,size) mps_lib_memset(target, (int)(value), size)mAddrCopy(target,source,size) mps_lib_memcpy(target, source, size)qAddrComp(a,b,size) mps_lib_memcmp(a, b, size)wADDR_PTR(type,addr) ((type *)(addr))PoolArena(pool) ((pool)->arena)PoolAlignment(pool) ((pool)->alignment)PoolSegRing(pool) (&(pool)->segRing)PoolFix(pool,ss,seg,refIO) ((*(pool)->fix)(pool, ss, seg, refIO))ClassOfPool(pool) ((pool)->class)SuperclassOfPool(pool) ((PoolClass)ProtocolClassSuperclassPoly((pool)->class))DEFINE_POOL_CLASS(className,var) DEFINE_ALIAS_CLASS(className, PoolClass, var)POOL_SUPERCLASS(className) ((PoolClass)SUPERCLASS(className))TraceSetSingle(trace) BS_SINGLE(TraceSet, (trace)->ti)TraceSetIsSingle(ts) BS_IS_SINGLE(ts)TraceSetIsMember(ts,trace) BS_IS_MEMBER(ts, (trace)->ti)TraceSetAdd(ts,trace) BS_ADD(TraceSet, ts, (trace)->ti)TraceSetDel(ts,trace) BS_DEL(TraceSet, ts, (trace)->ti)TraceSetUnion(ts1,ts2) BS_UNION(ts1, ts2)TraceSetInter(ts1,ts2) BS_INTER(ts1, ts2)TraceSetDiff(ts1,ts2) BS_DIFF(ts1, ts2)TraceSetSuper(ts1,ts2) BS_SUPER(ts1, ts2)TraceSetSub(ts1,ts2) BS_SUB(ts1, ts2)TraceSetComp(ts) BS_COMP(ts)TRACE_SET_ITER(ti,trace,ts,arena) for(ti = 0, trace = ArenaTrace(arena, ti); ti < TraceLIMIT; ++ti, trace = ArenaTrace(arena, ti)) BEGIN if (TraceSetIsMember(ts, trace)) {TRACE_SET_ITER_END(ti,trace,ts,arena) } ENDTRACE_SCAN_BEGIN(ss) BEGIN Shift SCANzoneShift = (ss)->zoneShift; ZoneSet SCANwhite = (ss)->white; RefSet SCANsummary = (ss)->unfixedSummary; Word SCANt; {TRACE_FIX1(ss,ref) (SCANt = (Word)1 << ((Word)(ref) >> SCANzoneShift & (MPS_WORD_WIDTH-1)), SCANsummary |= SCANt, SCANwhite & SCANt)TRACE_FIX2(ss,refIO) ((*(ss)->fix)(ss, refIO))TRACE_FIX(ss,refIO) (TRACE_FIX1(ss, *(refIO)) ? TRACE_FIX2(ss, refIO) : ResOK)TRACE_SCAN_END(ss) } (ss)->unfixedSummary = SCANsummary; ENDDEFINE_ARENA_CLASS(className,var) DEFINE_ALIAS_CLASS(className, ArenaClass, var)ARENA_SUPERCLASS(className) ((ArenaClass)SUPERCLASS(className))ArenaGlobals(arena) (&(arena)->globals)GlobalsArena(glob) PARENT(ArenaStruct, globals, glob)ArenaRootRing(arena) (&(arena)->rootRing)ArenaTraceRing(arena) (&(arena)->traceRing)ArenaThreadRing(arena) (&(arena)->threadRing)ArenaEpoch(arena) ((arena)->epoch)ArenaTrace(arena,ti) (&(arena)->trace[ti])ArenaZoneShift(arena) ((arena)->zoneShift)ArenaAlign(arena) ((arena)->alignment)ArenaGreyRing(arena,rank) (&(arena)->greyRing[rank])ArenaReservoir(arena) (&(arena)->reservoirStruct)DEFINE_SEG_CLASS(className,var) DEFINE_ALIAS_CLASS(className, SegClass, var)SEG_SUPERCLASS(className) ((SegClass)SUPERCLASS(className))ClassOfSeg(seg) ((seg)->class)SegBase(seg) (TractBase((seg)->firstTract))SegLimit(seg) ((seg)->limit)SegPool(seg) (TractPool((seg)->firstTract))SegRankSet(seg) ((RankSet)(seg)->rankSet)SegPM(seg) ((AccessSet)(seg)->pm)SegSM(seg) ((AccessSet)(seg)->sm)SegDepth(seg) ((unsigned)(seg)->depth)SegGrey(seg) ((TraceSet)(seg)->grey)SegWhite(seg) ((TraceSet)(seg)->white)SegNailed(seg) ((TraceSet)(seg)->nailed)SegOfPoolRing(node) (RING_ELT(Seg, poolRing, (node)))SegOfGreyRing(node) (&(RING_ELT(GCSeg, greyRing, (node)) ->segStruct))SegSummary(seg) (((GCSeg)(seg))->summary)SegSetPM(seg,mode) ((void)((seg)->pm = (mode)))SegSetSM(seg,mode) ((void)((seg)->sm = (mode)))SegSetDepth(seg,d) ((void)((seg)->depth = (d)))SegSetNailed(seg,ts) ((void)((seg)->nailed = (ts)))BUFFER_RESERVE(pReturn,buffer,size,withReservoirPermit) (AddrAdd(BufferAlloc(buffer), size) > BufferAlloc(buffer) && AddrAdd(BufferAlloc(buffer), size) <= BufferAP(buffer)->limit ? (*(pReturn) = BufferAlloc(buffer), BufferAP(buffer)->alloc = AddrAdd(BufferAlloc(buffer), size), ResOK) : BufferFill(pReturn, buffer, size, withReservoirPermit))BUFFER_COMMIT(buffer,p,size) (BufferAP(buffer)->init = BufferAlloc(buffer), BufferAP(buffer)->limit != 0 || BufferTrip(buffer, p, size))BufferAP(buffer) (&(buffer)->apStruct)BufferOfAP(ap) PARENT(BufferStruct, apStruct, ap)BufferArena(buffer) ((buffer)->arena)BufferPool(buffer) ((buffer)->pool)BufferBase(buffer) ((buffer)->base)BufferGetInit(buffer) (BufferAP(buffer)->init)BufferAlloc(buffer) (BufferAP(buffer)->alloc)BufferLimit(buffer) ((buffer)->poolLimit)DEFINE_BUFFER_CLASS(className,var) DEFINE_ALIAS_CLASS(className, BufferClass, var)BUFFER_SUPERCLASS(className) ((BufferClass)SUPERCLASS(className))RankSetIsMember(rs,r) BS_IS_MEMBER((rs), (r))RankSetSingle(r) BS_SINGLE(RankSet, (r))RankSetIsSingle(r) BS_IS_SINGLE(r)RankSetUnion(rs1,rs2) BS_UNION((rs1), (rs2))RankSetDel(rs,r) BS_DEL(RankSet, (rs), (r))AddrZone(arena,addr) (((Word)(addr) >> (arena)->zoneShift) & (MPS_WORD_WIDTH - 1))RefSetUnion(rs1,rs2) BS_UNION((rs1), (rs2))RefSetInter(rs1,rs2) BS_INTER((rs1), (rs2))RefSetDiff(rs1,rs2) BS_DIFF((rs1), (rs2))RefSetAdd(arena,rs,addr) BS_ADD(RefSet, rs, AddrZone(arena, addr))RefSetIsMember(arena,rs,addr) BS_IS_MEMBER(rs, AddrZone(arena, addr))RefSetSuper(rs1,rs2) BS_SUPER((rs1), (rs2))RefSetSub(rs1,rs2) BS_SUB((rs1), (rs2))ZoneSetUnion(zs1,zs2) BS_UNION(zs1, zs2)ZoneSetInter(zs1,zs2) BS_INTER(zs1, zs2)ZoneSetDiff(zs1,zs2) BS_DIFF(zs1, zs2)ZoneSetAdd(arena,zs,addr) BS_ADD(ZoneSet, zs, AddrZone(arena, addr))ZoneSetIsMember(arena,zs,addr) BS_IS_MEMBER(zs, AddrZone(arena, addr))ZoneSetSub(zs1,zs2) BS_SUB(zs1, zs2)ZoneSetSuper(zs1,zs2) BS_SUPER(zs1, zs2)ZoneSetComp(zs) BS_COMP(zs)STATISTIC(gather) BEGIN (gather); ENDSTATISTIC_STAT(gather) BEGIN gather; ENDSTATISTIC_WRITE(format,arg) (format), (arg),mpsavm_h   mps_h &_LIMITS_H_ +_POSIX_ARG_MAX 4096,_POSIX_CHILD_MAX 25-_POSIX_LINK_MAX 8._POSIX_MAX_CANON 255/_POSIX_MAX_INPUT 2550_POSIX_NAME_MAX 141_POSIX_NGROUPS_MAX 82_POSIX_OPEN_MAX 203_POSIX_PATH_MAX 2564_POSIX_PIPE_BUF 5125_POSIX_SSIZE_MAX 327676_POSIX_STREAM_MAX 87_POSIX_TZNAME_MAX 69BC_BASE_MAX 99:BC_DIM_MAX 2048;BC_SCALE_MAX 99EXPR_NEST_MAX 32?LINE_MAX 2048@RE_DUP_MAX 255B_POSIX2_BC_BASE_MAX 99C_POSIX2_BC_DIM_MAX 2048D_POSIX2_BC_SCALE_MAX 99E_POSIX2_BC_STRING_MAX 1000F_POSIX2_EQUIV_CLASS_MAX 2G_POSIX2_EXPR_NEST_MAX 32H_POSIX2_LINE_MAX 2048I_POSIX2_RE_DUP_MAX 255M_POSIX_AIO_LISTIO_MAX 16N_POSIX_AIO_MAX 1O_POSIX_DELAYTIMER_MAX 32P_POSIX_MQ_OPEN_MAX 8Q_POSIX_MQ_PRIO_MAX 32R_POSIX_RTSIG_MAX 8S_POSIX_SEM_NSEMS_MAX 256T_POSIX_SEM_VALUE_MAX 32767U_POSIX_SIGQUEUE_MAX 32V_POSIX_TIMER_MAX 32Z_POSIX_THREAD_DESTRUCTOR_ITERATIONS 4[_POSIX_THREAD_KEYS_MAX 128\_POSIX_THREAD_THREADS_MAX 64`_POSIX_HOST_NAME_MAX 255a_POSIX_LOGIN_NAME_MAX 9b_POSIX_SS_REPL_MAX 4c_POSIX_SYMLINK_MAX 255d_POSIX_SYMLOOP_MAX 8e_POSIX_TRACE_EVENT_NAME_MAX 30f_POSIX_TRACE_NAME_MAX 8g_POSIX_TRACE_SYS_MAX 8h_POSIX_TRACE_USER_EVENT_MAX 32i_POSIX_TTY_NAME_MAX 9j_POSIX2_CHARCLASS_NAME_MAX 14k_POSIX2_COLL_WEIGHTS_MAX 2m_POSIX_RE_DUP_MAX _POSIX2_RE_DUP_MAXq_XOPEN_IOV_MAX 16r_XOPEN_NAME_MAX 255s_XOPEN_PATH_MAX 1024tPASS_MAX 128vNL_ARGMAX 99wNL_LANGMAX 31xNL_MSGMAX 32767yNL_NMAX 1zNL_SETMAX 255{NL_TEXTMAX 2048~MB_LEN_MAX 6!_SYS_LIMITS_H_ $"_MACHINE__LIMITS_H_ /__CHAR_BIT 81__SCHAR_MAX 0x7f2__SCHAR_MIN (-0x7f - 1)4__UCHAR_MAX 0xff6__USHRT_MAX 0xffff7__SHRT_MAX 0x7fff8__SHRT_MIN (-0x7fff - 1):__UINT_MAX 0xffffffffU;__INT_MAX 0x7fffffff<__INT_MIN (-0x7fffffff - 1)D__ULONG_MAX 0xffffffffULE__LONG_MAX 0x7fffffffLF__LONG_MIN (-0x7fffffffL - 1)J__ULLONG_MAX 0xffffffffffffffffULLK__LLONG_MAX 0x7fffffffffffffffLLL__LLONG_MIN (-0x7fffffffffffffffLL - 1)N__SSIZE_MAX __INT_MAXP__SIZE_T_MAX __UINT_MAXR__OFF_MAX __LLONG_MAXS__OFF_MIN __LLONG_MINV__UQUAD_MAX __ULLONG_MAXW__QUAD_MAX __LLONG_MAXX__QUAD_MIN __LLONG_MIN]__LONG_BIT 32___WORD_BIT 32&CHAR_BIT __CHAR_BIT(SCHAR_MAX __SCHAR_MAX)SCHAR_MIN __SCHAR_MIN+UCHAR_MAX __UCHAR_MAX1CHAR_MAX SCHAR_MAX2CHAR_MIN SCHAR_MIN5USHRT_MAX __USHRT_MAX6SHRT_MAX __SHRT_MAX7SHRT_MIN __SHRT_MIN9UINT_MAX __UINT_MAX:INT_MAX __INT_MAX;INT_MIN __INT_MIN=ULONG_MAX __ULONG_MAX>LONG_MAX __LONG_MAX?LONG_MIN __LONG_MINHSSIZE_MAX __SSIZE_MAXLSIZE_T_MAX __SIZE_T_MAXNOFF_MAX __OFF_MAXOOFF_MIN __OFF_MINSGID_MAX UINT_MAXTUID_MAX UINT_MAXVUQUAD_MAX (__UQUAD_MAX)WQUAD_MAX (__QUAD_MAX)XQUAD_MIN (__QUAD_MIN)\LONG_BIT __LONG_BIT]WORD_BIT __WORD_BIT "_SYS_SYSLIMITS_H_ 4ARG_MAX 2621447CHILD_MAX 409LINK_MAX 32767:MAX_CANON 255;MAX_INPUT 255 (sac)->mps_middle) { _mps_i = 0; while (_mps_s > (sac)->mps_freelists[_mps_i].mps_size) _mps_i += 2; } else { _mps_i = 1; while (_mps_s <= (sac)->mps_freelists[_mps_i].mps_size) _mps_i += 2; } if ((sac)->mps_freelists[_mps_i].mps_count != 0) { (p_o) = (sac)->mps_freelists[_mps_i].mps_blocks; (sac)->mps_freelists[_mps_i].mps_blocks = *(mps_addr_t *)(p_o); --(sac)->mps_freelists[_mps_i].mps_count; (res_o) = MPS_RES_OK; } else (res_o) = mps_sac_fill(&(p_o), sac, _mps_s, has_reservoir_permit); MPS_ENDMPS_SAC_FREE_FAST(sac,p,size) MPS_BEGIN size_t _mps_i, _mps_s; _mps_s = (size); if (_mps_s > (sac)->mps_middle) { _mps_i = 0; while (_mps_s > (sac)->mps_freelists[_mps_i].mps_size) _mps_i += 2; } else { _mps_i = 1; while (_mps_s <= (sac)->mps_freelists[_mps_i].mps_size) _mps_i += 2; } if ((sac)->mps_freelists[_mps_i].mps_count < (sac)->mps_freelists[_mps_i].mps_count_max) { *(mps_addr_t *)(p) = (sac)->mps_freelists[_mps_i].mps_blocks; (sac)->mps_freelists[_mps_i].mps_blocks = (p); ++(sac)->mps_freelists[_mps_i].mps_count; } else mps_sac_empty(sac, p, _mps_s); MPS_ENDMPS_SAC_ALLOC(res_o,p_o,sac,size,has_reservoir_permit) MPS_SAC_ALLOC_FAST(res_o, p_o, sac, size, has_reservoir_permit)MPS_SAC_FREE(sac,p,size) MPS_SAC_FREE_FAST(sac, p, size)mps_reserve(_p_o,_mps_ap,_size) ((char *)(_mps_ap)->alloc + (_size) > (char *)(_mps_ap)->alloc && (char *)(_mps_ap)->alloc + (_size) <= (char *)(_mps_ap)->limit ? ((_mps_ap)->alloc = (mps_addr_t)((char *)(_mps_ap)->alloc + (_size)), *(_p_o) = (_mps_ap)->init, MPS_RES_OK) : mps_ap_fill(_p_o, _mps_ap, _size))MPS_RESERVE_BLOCK(_res_v,_p_v,_mps_ap,_size) MPS_BEGIN char *_alloc = (char *)(_mps_ap)->alloc; char *_next = _alloc + (_size); if(_next > _alloc && _next <= (char *)(_mps_ap)->limit) { (_mps_ap)->alloc = (mps_addr_t)_next; (_p_v) = (_mps_ap)->init; (_res_v) = MPS_RES_OK; } else (_res_v) = mps_ap_fill(&(_p_v), _mps_ap, _size); MPS_ENDMPS_RESERVE_WITH_RESERVOIR_PERMIT_BLOCK(_res_v,_p_v,_mps_ap,_size) MPS_BEGIN char *_alloc = (char *)(_mps_ap)->alloc; char *_next = _alloc + (_size); if(_next > _alloc && _next <= (char *)(_mps_ap)->limit) { (_mps_ap)->alloc = (mps_addr_t)_next; (_p_v) = (_mps_ap)->init; (_res_v) = MPS_RES_OK; } else (_res_v) = mps_ap_fill_with_reservoir_permit(&(_p_v), _mps_ap, _size); MPS_ENDmps_commit(_mps_ap,_p,_size) ((_mps_ap)->init = (_mps_ap)->alloc, (_mps_ap)->limit != 0 || mps_ap_trip(_mps_ap, _p, _size))MPS_SCAN_BEGIN(ss) MPS_BEGIN mps_ss_t _ss = (ss); mps_word_t _mps_w0 = (_ss)->w0; mps_word_t _mps_w1 = (_ss)->w1; mps_word_t _mps_w2 = (_ss)->w2; mps_word_t _mps_wt; {MPS_FIX1(ss,ref) (_mps_wt = 1uL << ((mps_word_t)(ref) >> _mps_w0 & (sizeof(mps_word_t) * CHAR_BIT - 1)), _mps_w2 |= _mps_wt, _mps_w1 & _mps_wt)MPS_FIX2(ss,ref_io) ((*(ss)->fix)(ss, ref_io))MPS_FIX12(ss,ref_io) (MPS_FIX1(ss, *(ref_io)) ? MPS_FIX2(ss, ref_io) : MPS_RES_OK)MPS_FIX(ss,ref_io) MPS_FIX12(ss, ref_io)MPS_FIX_CALL(ss,call) MPS_BEGIN (call); _mps_w2 |= (ss)->w2; MPS_ENDMPS_SCAN_END(ss) } (ss)->w2 = _mps_w2; MPS_END%VMArenaGenCount ((Count)(MPS_WORD_WIDTH/2))+VMChunkSig ((Sig)0x519A6B3C)6VMChunk2Chunk(vmchunk) (&(vmchunk)->chunkStruct)7Chunk2VMChunk(chunk) PARENT(VMChunkStruct, chunkStruct, chunk)arenaStruct)|addrOfPageDesc(chunk,index) ((Addr)&(chunk)->pageTable[index])PageTablePageIndex(chunk,pageAddr) ChunkSizeToPages(chunk, AddrOffset((Addr)(chunk)->pageTable, pageAddr))TablePageIndexBase(chunk,index) AddrAdd((Addr)(chunk)->pageTable, ChunkPagesToSize(chunk, index))pageIsSpare(page) ((page)->the.rest.pool == NULL && (page)->the.rest.type == PageTypeSpare)tablePageBaseIndex(chunk,tablePage) (AddrOffset((Addr)(chunk)->pageTable, (tablePage)) / sizeof(PageStruct))tablePageWholeBaseIndex(chunk,tablePage) (AddrOffset((Addr)(chunk)->pageTable, AddrAdd((tablePage), sizeof(PageStruct)-1)) / sizeof(PageStruct))tablePageLimitIndex(chunk,tablePage) ((AddrOffset((Addr)(chunk)->pageTable, (tablePage)) + ChunkPageSize(chunk) - 1) / sizeof(PageStruct) + 1)tablePageWholeLimitIndex(chunk,tablePage) ((AddrOffset((Addr)(chunk)->pageTable, (tablePage)) + ChunkPageSize(chunk)) / sizeof(PageStruct))arenavm.cJan 17 200703:39:21VMVMNZ$Id: //info.ravenbrook.com/project/mps/master/code/arenavm.c#10 $ |  AB  AB  $VAB Fj.|,AB BU.(AB FG.. U. AB F^.'AB DN. ,AB DL. O.8AB FQ.X. O.L. .U.N. O.L.(AB FP.R. O.L. 8JAB Fe.AB F.XAB B|.KAB A(8ZAB FR..Z. AB FX.AB Ew. .AB F.  AB $ AB FN.y. | AB U.$ cAB FT. Q.S.  ,AB W. , rAB ET. AB 4 AB FT.g.c.c.v..Q. ,P6AB FO. I.U. r.U.!AB W. !AB W. AB Fv.$d]AB FS.t.(AB F. }.m. (AB FU..T.pGAB b.S. AB uAB BQ.@GAB b.S. AB 6AB BQ. AB  AB 98EnsureVMArenaClass8EnsureVMNZArenaClass8mps_arena_class_vm 9mps_arena_class_vmnz69arenavmSrcIdProtocolCoerceClassMethodwhiteMutatorFaultContextmpsVersionStringchunkPoolBlackenMethodvmArenaMapSegClassarenavmSrcIddownwardstablePageInUseclampedchunkSerialLockStructrankSetalignmentframePushpageTablePagesframePopPendingpageTableLimitunitsPerExtentuserSizetablePagesEnsureMappedrootScanCountPoolFreeMethodglobalRingChunkCacheEntryStructpagesFindFreeInAreaSrcIdStructMFSHeaderStructVMChunkFinishdonePoolAccessMethodgreyRingdetachisGensuperclassmappedLimitunmappedBaseIndexpageLimitforwardedCounttablePagesUsedmps_arena_class_smps_arena_class_tblockPoolStructArenaFinishMethodrampCountVMStructrangeLimittypeArenaMutatorFaultContextStructdoubletableCursorIndexfreeSetmergepoolLimitfinishpoolRingBufferStructarenaRinggreySegMaxgenspoolStructArenaDescribeMethodemptyInternalSizeLockforwardedSizeEpochreservoirLimitpageTableLimitIndexspareLimitIndexPoolFinishMethodAttrarenaArenaFreeMethodbootStructlong intPoolClassStructrestIndexcoerceClassArenaClassStructclassWordSegSetWhiteMethodprotocolAbstractArenaClassspareBaseIndexhistorywriteBarrierHitCountpageSizeheaderSizegenZoneSetrankbuild_timetableLimitIndexmortalityhigh__va_listTraceIdProtocolInstblackenvmArenaSizerampBeginPoolRampBeginMethodSizesigned charbtSizetableLimitReturnReservoirStructAddrStruct/home/hannes/dylan/mps/codesingleScanCountVMArenaCheckspacepagesFindFreeInZonesfreewalkfailBootInitextendsetRankSetprotocolVMNZArenaClassGuardianVMArenaSpareCommitExceededSegFinishMethodrememberedSummaryRingspanPoolStructPoolBufferClassMethodpointlessScanCountfailChunkInitVMChunkRingfailnoSparePagestablePageLimitPoolDescribeMethodFormatSkipMethodpagesMarkAllocatedprotocolVMArenaClassStructAbstractArenaClasscopiedSizeFormatScanMethodSegStructvarietyVMArenaClassfailChunkCreateflippedTracesvmArenaExtendBufferFinishMethodfoundationdescribeVMFreecommittedcapacityScanStateStructrootScanSizethisattrsnapCountrememberedSummaryIndexprotocolVMNZArenaClassStructreclaimSizePoolStructreassignSegVMArenaReservedSegSetRankSummaryMethodRingStructpreservedInPlaceSizenodeVMNZArenaClassGetArenaInitMethodchunkSizeFormatPadMethodbaseIndexReturnmayMovefileProtocolInstStructpagesbaseTractlimitpiBasetraceskipthreadRingPoolFramePushMethodmappedBaseArenaChunkFinishMethodreservetractshCacheLimitpagesFindFreeWithSegPrefbufferbusyTracesfailChunkMapPoolAllocMethodmoveArenaExtendMethodratecoerceInstunroundedUnitSizemps_lib_stream_sVMArenasegRefCountrootRingbufferFilloverheadLimitsetRankSummaryAccessSetChunkStructfixRefCountframeptrshDepthoverheadMappedLimitunsigned charisCollectedfailPageTableMappedArenaAllocMethodarenaReturnenabledlwPopPendinglong unsigned intallocBasespareCommitLimitnailCountformatextendBypageIsMappedavgSizevmChunkvmAllocCommVMNZAllocPolicyAllocFrameStructchunkRinggreyfirstTractmps_arena_class_vmnzspareLimitlabelledmaxSizefillMutatorSizePageVMArenaStructtableBaseIndexnewChunkspareRangesMapPageStructpoolReadyproflowchunkFinishserialBufferFormatCopyMethodBootBlockStructBoolvmchunkargsbufferLoggingfailTableMapreservoirStructPoolDebugMixinMethodVMAllocPolicyMethodVMChunkCheckFormattablePageCursorTraceStructProtocolClassMVStructvmGenOfSegPref__uint32_tProtocolCoerceInstMethodSegSetSummaryMethodprotocollong long intsegCopiedSizeva_listTraceSetBufferAttachMethodbufferRingArenaSpareCommitExceededMethodfailVMMapPoolGreyMethodPoolBufferFillMethodSerialthreadSerialreclaimspareTableLimitarenaStructVMNZAllocdepthinitCountfillSizetableBaseReturnlimitPagepageTableMappedTracehasSegVMArenaClassGetunmappedLimitspareCommitExceededPoolnailedRefSetPoolDebugMixinSrcIdscmidcontrolPoolStructsetGreyallocMutatorSizePoolFramePopPendingMethodScanStatebasePageVMArenaInitTractStructSegSplitMethodunitSizeunsigned intBufferReassignSegMethodvmArenaGlobalsStructPoolInitMethodattachpageTypepageShiftVMNZArenaClasswhitenfinalPoolBufferRankSetMethodSegPrefStructPoolFixMethodsegRingPoolBufferEmptyMethodMFSStructzonesprimaryBufferModebufferEmptyoffsetPoolWhitenMethodChainStructprehistorypageFileSrcIdStructSegInitMethodreclaimCountZoneSetBufferClassStructSegSetGreyMethodGNU C 3.4.6 [FreeBSD] 20060305VMNZArenaClassStructFormattedObjectsStepMethodSegClassStructsparePageRelease__size_tfixedSummaryprotocolVMArenaClassEnsureVMNZArenaClassbootcharTraceStatereadBarrierHitCountwalkArenaChunkInitMethodpageTableBaseIndexsizeAlignfreeListpreservedInPlaceCountbaseTractReturnlastTractrootCopiedSizestartfailChunkAllocscansetWhitefixEmergencyformatRingtablePagesegScanSizecommitLimitpiLimitspareSizeVMArenaFinishtracedSizeisMovedlong long unsigned intVMChunkCreateinsideShieldSegSetBufferMethodRankzoneShiftprotocolVMArenaClassGuardianTraceFixMethodlocusRingtablePagesUnmapUnusedpoollimitIndexformatSerialarenaVMvmChunkDestroyPoolDebugMixinStructdebugMixinbuild_daterampEndPoolClassgenCountinitAtFlipbaseReturnpageTablepoolSerialFormatIsMovedMethodPoolRampEndMethodPoolFramePopMethodchunkInitBufferSegMethodnoSparePagespageBaserangeBasereservoirSizeSegMergeMethodPoolReclaimMethodsetBuffercopyprotocolGetVMNZArenaClasszoneSizevmArenaUnmapVMChunkInittracedTimeBufferClassspareRangesFnrootSerialChainchunkStructLimitframePopactiveTracespolicyemptyMutatorSizePoolFreeWalkMethodBufferInitMethodVMAllocfailArenaInittopGensuspendedglobalsFormatClassMethodnameallocTableBufferDetachMethodlastTractBaseapStructSegSetRankSetMethodFreeBlockStepMethodAllocFramewhiteSegRefCountShiftchainunfixedSummaryArenaReservedMethodshort intlostnotCondemnedtractStructchunkBasemodeRankSetshCacheIfillInternalSizestateFormatMoveMethodBufferDescribeMethodisMutatorspareBaselastWorldCollectsingleScanSizespareCommittedSegPrefchunkReturnbargespanspollThresholdmessageRingVMArenaClassStructchunkCachevmArenaUnmapSpareRangeemptySizemps_arena_class_vmspareTableBasetracesbufferSerialPoolFixEmergencyMethodepochfailVMCreateEnsureVMArenaClassprotocolGetVMArenaClassVMChunkStructArenaClasssparePagesPurgeAPStructcursortractListsplitsize_tcondemnedisFinalPoolemergencypreferredSegBufferMethodfreechainRingwasMarkedFormatVarietyfoundChunkenabledMessageTypesshort unsigned intGenDescStructbaseAddrArenaStructfailPagesMapbaseIndexunmappedLimitIndexsetSummarymps_lib_FILEBufferSetRankSetMethodSegDescribeMethodnecessaryCommitIncreaseaccessprefgreySegCountsegScanCountChunkshCachePoolScanMethodsingleCopiedSizechunkStructBootBlockinsidePollreservedVMAllocPolicyallocnextPoolWalkMethodbufferClasstablePageBaseProtocolClassStructprevpageTableBaseunmappedBaseFormatStructscannedSizelockTractallocSetarenavm.cblacklistGCC: (GNU) 3.4.6 [FreeBSD] 20060305.symtab.strtab.shstrtab.rel.text.rel.data.bss.debug_abbrev.rel.debug_info.rel.debug_line.debug_macinfo.rodata.str1.1.rodata.str1.4.rel.rodata.rel.debug_frame.rel.debug_pubnames.rel.debug_aranges.debug_str.comment4 )$% /@ 4@F9B `VQ`R 4= bUݔq2'2B8 <= H \= ?[  ?0{8 %  ;       ( 5$V@|,M[g'v,8JXK8Z$8.M \ u|  c ,, r  P6!!d]:pGJ Heu}@GH6  .8BR\ju ,6BKZf   arenavm.cFileSrcIdStructVMChunkCheckVMArenaCheckvmArenaMapvmArenaUnmapVMChunkCreateVMChunkInitvmChunkDestroyVMChunkFinishVMArenaInitVMArenaFinishsparePagesPurgeVMArenaReservedVMArenaSpareCommitExceededtablePageInUsetablePagesUsedtablePagesEnsureMappedtablePagesUnmapUnusedpagesFindFreeInAreapagesFindFreeInZonesvmGenOfSegPrefpagesFindFreeWithSegPrefvmArenaExtendVMAllocPolicyVMNZAllocPolicypageIsMappedsparePageReleasepagesMarkAllocatedvmAllocCommVMAllocVMNZAllocspareRangesMapvmArenaUnmapSpareRangeVMFreeprotocolVMArenaClassGuardianVMArenaClassGetprotocolVMArenaClassStructprotocolGetVMArenaClassprotocolVMNZArenaClassGuardianVMNZArenaClassGetprotocolVMNZArenaClassStructprotocolGetVMNZArenaClassarenavmSrcIdVMMapVMUnmapVMCreateVMAlignVMBaseVMLimitBootBlockInitBootAllocChunkInitBootBlockFinishVMDestroyBootAllocatedBTResRangeBTSetRangeChunkFinishArenaInitVMMappedSizeFloorLog2mps_arena_class_vmArenaFinishVMReservedBTIsResRangePageInitBTFindLongResRangeBTFindShortResRangeHighBTFindShortResRangePageAllocTractFinishPageFreeZoneSetOfRangeChunkOfAddrLockClaimGlobalRecursiveLockReleaseGlobalRecursiveEnsureVMArenaClassAbstractArenaClassGetmemcpyEnsureVMNZArenaClassmps_arena_class_vmnzX<=>?@ABCwDEFC C GdHwIJF@>A@*<B@RKjL'M5NJOXAg@s=FOA@=&FgPQ7IJRvSTTzU$ V VW X<H9YRPSZWHBHx[\^_ $+2HP[Valy\_   9!9%9*91989?9M9X9_9f9m9t9{9999999999999(93999Z9e9v9|999999999999 99#9.999T9i99999999999!909?9N9]9l9{99999999999 9/9>9\9k9z999999999 9 979F9U9d9s999999999 99'9=9K9Y9g9u999999999999-9;9I9W9e9s9999999999 99)979E9S9a9o9}9999999 9 9, 9; 9J 9Y 9h 9w 9 9 9 9 9 9 9 9 9 9 9 9+ 9: 9I 9X 9g 9v 9 9 9 9 9 9 9 9 9 9 9& 9= 9L 9[ 9y 9 9 9 9 9 9 9 9 9 9 9 9- 9< 9K 9Z 9j 9 9 9 9 9 9 9 9 9 9 9! 92 9D 9Y 9o 9} 9 9 9 9 9 9 9 9 9 9 9939B9Q9`9o999999999G9Y9k9}999999999999+999G9U9c9q999999999#929A9P9_9n9}9999999999%9.9=9L9[9j9z999999999 99*9:9J9Z9j9z999999999 99*9:9J9Z9j9z999999999&959D9S9b9q999999999999%9E9K9\9b9s9y99999999919R9]9999939_9999"9?9a9l999999@9999999/9P9r99999-9T99999A9h99999 9-9^999999E9f999999 9 9" 97 9? 9M 9\ 9g 9z 9 9 9 9 9 9 9 9 9 !9!9(!9=!9S!9b!9!9!9!9!9!9"9"9!"90"9A"9P"9X"9f"9t"9"9"9"9"9"9"9"9"9"9 #9#9'#96#9E#9T#9c#9#9#9#9#9#9#9#9$9&$97$9=$9R$9Z$9u$9$9$9$9$9$9$9$9%9%9$%9W%9b%f%m%9{%9%9%%%9%9%9%9%9%%%9&9 &9-&9:&9Y&9`&d&k&9&9&9&9&9&9&&&9&9&9'9'9#'90'9K'9Y'9d'9'9''9''9''9''9''9'''9'9'9 (9(9@(9G(L(9S(X(9_(i(9q(u(|(9(9(9(((9(9(9(((9(9)9)9,)9:)9T)9b)9~)9)9)9))9))9))9))9)))9)9*9*9*9,*0*5*9I*9U*Y*`*9n*9|*9*9***9*9***9*9*9***9 +9+9,+94+8+?+9M+9[+9i+9w+9+9+++9+9+9+9+9+9+9 ,9(,9D,H,M,9\,9q,9y,},,9,9,9,9,9,9,9,,,9-9-9"-90-9>-9M-9[-9i-9w-9-9---9-9-9-9-9-9 .9.9(.96.9D.9S.9a.9p.t.y.9.9...9.9.9...9/9/9/9+/9:/9I/9W/[/r/9~///9/9/9/9/9 0900#09209A09O09]09p09|0009090909090900091919&19219C19K1O1V19r19~1919111919191919192929*29829F29d29k2p29w2|222929292229292929293939&39439B39Q39`39o39393939393333933394 44949.49=49L49`49l4p4w49494949494949455959%59M59[59i59w59~559555959595959556969#69269A6E6J69Y69h69w6969666969696969696669 7979)79879G79V79e7979797979797779797979898889(8,8789?8C8J89X8\8a89q89}8989888988898889888989999999&9929 799D9;I99V9[99h9m99z9999    6064H6Ll6p6666 6$\6`66666064T6Xt6x66666 86<X6\p6t6666468\6`6666 6,60D6Hd6h|6arenacl.o/ 1169001561 1001 1001 100644 66544 ` ELF 4(UÉUÉUWVS0}؋] uSWupjjDWEPu[uԃWh E%PSuV u5NF$F+E UH WF@,lQE0e[^_UUB(B8ÐUE@@[QPUÍvUWVSU:R,:Eփ,UU9Uwzuu VÃubdž(nQVuuEPÃu2EU쉂h PU쉂XE u؍e[^_UWVS }}ll9tƐB Pڋ9uEǀ([Q We[^_ÍvUU EuPREPÉUVSul l9tƍvB+BÉʋ 9u[^ÉUWVS }uu9~8^Ext Wv(v$v,EPEP Wv(v$v,EPEP tj SVЃ;LwI];]suSVC;]rE)x8NUNEV0E Ѝe[^_ÉUWVS EX hHEl2l9t6vBPuWuu u tt6l9u͸e[^_UWVS]SEp EPEEHE EߋU+z49sUB0 PC9rVWEp,UEP8e[^_ÍvU=u1=u h .v ÐUÍvUVS]ƃjHPSsCC,CCC C$4C,C0XC4C8C<e[^ÍvUC% $ > $ > : ; I I&I : ;  : ; I8 < : ; I  : ; I8 : ;I8  : ;I8  : ; I 8  : ;I 8  : ;I 8  : ; ' II' ' I : ;  : ;  : ; I: ;II!I/ .: ; ' I@ : ; I 4: ; I 4: ; I !4: ; I " : ; #.: ; ' @ $ %4: ;I &.: ;' I@ ': ;I (4: ;I)4: ;I *.: ;' @ +.? : ;' I@ ,4: ; I?  +- T-ieintN 8WI   M _L |hI ]7z E"4"$# %#8&#'# " 2  . Sigl ResEW l"ou I(#Yv $Y.%Y&YJ'W (W Ref)d  ,Y -Y.W/W1{2W 3Wm4W05W6WV7W BT:MY;^d ; sigC####  <1`< sigsC#Qt# u#v# w#(xE #y#z# | {s#$~|s#,}d#4^~d#8##<d#T#XW#\9> @> D!#E#F#q Gs#!H# I# jJ#$K}#( segL#,M#0N9#4uO[#8 sigPC#< AW Cq ad#bd#cd#Rdd# e#f#$ D<D sigC# #8## >E ##O#z# #$p#()#, pad#0Q#4{#8F   G"jXG sig`C# a#Qb#c# >dE # eE #f#  gE #$h#,i #0 fixj#4^ ks#8lls#@ms#Hwns#PKH H 2!#3#4#6 5#'6-#q 7# !8#$9#(=:#,;=#0* #<= ?#@@*#DAQ#H fixB#LC#PE D#T E#XCF#\G#`VHG#dIr#hJ#lK#pL#tM#x-N.#|M O# sigPC# O + O sigC# ti### ####Pi #{# t{#${#({#,>#0H#4#8#<{#@K#D.#H {#Lp#P#Tu{#XF#\#`9#d#h,#lx#p #t #x {#| # {# #^# P ! i TP fixH#Y##V# sigC## ##L# V#$F#(#,9#0#4,#8#<{#@#D{#Hs{#L {#PPQt z  N Q sig>C#?#B@E #_A #UB#SC$"#-R  C % R # p # d#  #  W# XSN T :8S sig C# # #3 E #  {# # d# d#  #$ #( C#,t #0 #4~ T sigC#EC #d#d# ~#~#n Us U the h # SegVV sigC#Q#B  #( E #  d#k  W#pm "#sm "#=  # #  ##dX>LX !###q #! ## [#$#( (#, J#0U#4 w#8#<)#@h#D sigC#H?Z Z sig0C#1# 2#w3# q4# gen5#\@H\ &!#'##(#6 )#q *#!+# ,#$ -;#(.F#,/q#0=0#41#8 2#<3#@ sig4C#D`]^  (^o## p#tQr#x~ t#| uk## wv##y{#Mz{#|{#}{### #d# C #3 E #u#s##"##E # #gE #{C## # E #$ ##^##{#N{#a{##t # ###Ys#.s#Y#a###BE ## ### sigC#4n t_ sigBC#EE #F# YIs#J#mK#^ Ls# lMs#( Ns#0Os#8wPs#@4S#H V#L(YE #P~Z#X]E #\E^#daE #h6d#p d?E  eV\ .gms " 9hhX*"#@ #X{#\{#` sigC#dnN8op%+;{ qrQWqNd{t|N{d ud{vNC S)w C cx'-BNB'SYnN nd ldd  Nd{8( 39J \3`fwr - )NB4:hNddd81 4~N8 ddd{ #)9 DJ[V fl}NB| N8N{!'=d{ HNwN{ ĂddPǮNd"4= N *K5;Q f\bN  ΒN nВ !'ANAbRXrNb }bܤtl}).NB 9?OK~Z`zN dd<dddd d{ d$  E  # # %    g e# fE#  h cP ) g[ s i : T 7 \  !\ sig}C#w~ #K!#4|!# a!"!K!a sigC#Q #Y mV!\!v!v!! !x!!!!    "$ sigC# # {#!s#  "s##E #$!"jo"" tX*"#{#X {#\@ {#`Y#d"#h #l sigC#p @" 5"k#E `X*"#"#X"# {# {#V {#{#o{#SE # sigC#E "9yg+  @5n e ####E $ $ $ Q$,!M !$# sig!C#!\$&$ !'m$s$$xD!'!, #!-{#8!.d#< sig!/C#@$!? U !>b$E!@C %M!O U!NQ$%b!ZNUG!X%P!Xd !Xd!YQ$ ![b$VE!\C  !]dS !^ X c!_SW!res!`NP!p!aT"!"!"!C (& !NUE!C Rc!S  !b$#W&:!UE!C P !b$#|&-!UE!C A'Z !NU!PQ!  !8R !l !Q$V !{Wo!{ !dR !dh !dd!res!NS E!C p"!#'!U!W !Q$p ! R ! S$%E!C P&$(Y !N2U'!'!dR'!{(!Q$%E!C |)res!NP%!dP&(1 !'{4nU'!&V%!({S%!) R%!) Q$X`(E!0C &T)!=NpVU'i!;P'!;P'9!<P'!<{W'!<'E!<C V%!>l%!>p%[!>S)b!?P%!@S% !Ab$h&*d!qNXU'i!o'!o '9!p'!p{P'!p%!rS)res!sNP%!t R%!t V%!u{W$%E!C P**!MU'!dS'!{P'!P(!%E!C p%!{l(!Q$)pi!S%!W%!V(d!% !b$h$$% !~P(H! #!!#+!*PU+z !*U*~+ !U'"!*S$%n!V+M!$ -U j !,1!%!%!+ | /usr/include/usr/include/sys/usr/include/machineboot.hmpmtypes.hconfig.hmpstd.hmisc.hstddef.hcdefs.h_null.h_types.h_types.hmpslib.hstdarg.htract.hring.hcheck.hbt.hmpm.hevent.heventcom.heventgen.hlock.hth.hss.hmpmst.hprotocol.hchain.hmpsacl.hmps.hlimits.hlimits.h_limits.hsyslimits.harenacl.c!> 9= 9vs;ter:Vikfrd1< U ,@Tf:VT;usVt,=H:ǎ XMWf|__GNUCLIKE___OFFSETOF 1?__GNUCLIKE___SECTION 1A__GNUCLIKE_ATTRIBUTE_MODE_DI 1D__GNUCLIKE_CTOR_SECTION_HANDLING 1G__GNUCLIKE_BUILTIN_CONSTANT_P 1N__GNUCLIKE_BUILTIN_VARARGS 1O__GNUCLIKE_BUILTIN_STDARG 1P__GNUCLIKE_BUILTIN_VAALIST 1T__GNUC_VA_LIST_COMPATIBILITY 1X__GNUCLIKE_BUILTIN_NEXT_ARG 1Y__GNUCLIKE_MATH_BUILTIN_RELOPS \__GNUCLIKE_BUILTIN_MEMCPY 1___CC_SUPPORTS_INLINE 1`__CC_SUPPORTS___INLINE 1a__CC_SUPPORTS___INLINE__ 1c__CC_SUPPORTS___FUNC__ 1d__CC_SUPPORTS_WARNING 1f__CC_SUPPORTS_VARADIC_XXX 1h__CC_SUPPORTS_DYNAMIC_ARRAY_INIT 1k__CC_INT_IS_32BIT 1s__GNUC_PREREQ__(ma,mi) (__GNUC__ > (ma) || __GNUC__ == (ma) && __GNUC_MINOR__ >= (mi))__P(protos) protos__CONCAT1(x,y) x ## y__CONCAT(x,y) __CONCAT1(x,y)__STRING(x) #x__XSTRING(x) __STRING(x)__const const__signed signed__volatile volatile__dead2 __attribute__((__noreturn__))__pure2 __attribute__((__const__))__unused __attribute__((__unused__))__used __attribute__((__used__))__packed __attribute__((__packed__))__aligned(x) __attribute__((__aligned__(x)))__section(x) __attribute__((__section__(x)))__pure __attribute__((__pure__))__always_inline __attribute__((__always_inline__))__nonnull(x) __attribute__((__nonnull__(x)))__restrict __predict_true(exp) __builtin_expect((exp), 1)__predict_false(exp) __builtin_expect((exp), 0)__offsetof(type,field) ((size_t)(&((type *)0)->field))__rangeof(type,start,end) (__offsetof(type, end) - __offsetof(type, start))__printflike(fmtarg,firstvararg) __attribute__((__format__ (__printf__, fmtarg, firstvararg)))__scanflike(fmtarg,firstvararg) __attribute__((__format__ (__scanf__, fmtarg, firstvararg)))__format_arg(fmtarg) __attribute__((__format_arg__ (fmtarg)))__printf0like(fmtarg,firstvararg) __attribute__((__format__ (__printf0__, fmtarg, firstvararg)))__strong_reference(sym,aliassym) extern __typeof (sym) aliassym __attribute__ ((__alias__ (#sym)));__weak_reference(sym,alias) __asm__(".weak " #alias); __asm__(".equ " #alias ", " #sym)__warn_references(sym,msg) __asm__(".section .gnu.warning." #sym); __asm__(".asciz \"" msg "\""); __asm__(".previous")__IDSTRING(name,string) __asm__(".ident\t\"" string "\"")__FBSDID(s) __IDSTRING(__CONCAT(__rcsid_,__LINE__),s)__RCSID(s) __IDSTRING(__CONCAT(__rcsid_,__LINE__),s)__RCSID_SOURCE(s) __IDSTRING(__CONCAT(__rcsid_source_,__LINE__),s)__SCCSID(s) __IDSTRING(__CONCAT(__sccsid_,__LINE__),s)__COPYRIGHT(s) __IDSTRING(__CONCAT(__copyright_,__LINE__),s)__DECONST(type,var) ((type)(uintptr_t)(const void *)(var))__DEVOLATILE(type,var) ((type)(uintptr_t)(volatile void *)(var))__DEQUALIFY(type,var) ((type)(uintptr_t)(const volatile void *)(var))__POSIX_VISIBLE 200112__XSI_VISIBLE 600__BSD_VISIBLE 1__ISO_C_VISIBLE 1999* NULL ((void *)0)+ _SYS__TYPES_H_ ! (_MACHINE__TYPES_H_ .__NO_STRICT_ALIGNMENT __GNUC_VA_LIST 2_RUNE_T_DECLARED 8_SIZE_T_DECLARED >_WCHAR_T_DECLARED Boffsetof(type,member) __offsetof(type, member)*SRCID(id,scmid) static SrcIdStruct FileSrcIdStruct = {__FILE__, (scmid), __DATE__, __TIME__}; SrcId id ## SrcId = &FileSrcIdStruct;BEGIN do {> (i)) & 1)BS_UNION(s1,s2) ((s1) | (s2))BS_ADD(ty,s,i) BS_UNION((s), BS_SINGLE(ty, (i)))BS_INTER(s1,s2) ((s1) & (s2))BS_DIFF(s1,s2) BS_INTER((s1), BS_COMP(s2))BS_DEL(ty,s,i) BS_DIFF((s), BS_SINGLE(ty, (i)))BS_SUPER(s1,s2) (BS_INTER((s1), (s2)) == (s2))BS_SUB(s1,s2) BS_SUPER((s2), (s1))BS_IS_SINGLE(s) (((s) & ((s)-1)) == 0)BS_SYM_DIFF(s1,s2) ((s1) ^ (s2)) mpslib_h mps_lib_EOF (mps_lib_get_EOF())mps_lib_stderr (mps_lib_get_stderr())mps_lib_stdout (mps_lib_get_stdout()) '_MACHINE_STDARG_H_ -_VA_LIST_DECLARED 3va_start(ap,last) __builtin_stdarg_start((ap), (last))6va_arg(ap,type) __builtin_va_arg((ap), type):va_copy(dest,src) __builtin_va_copy((dest), (src))>va_end(ap) __builtin_va_end(ap)SigInvalid ((Sig)0x51915BAD)SizeMAX ((Size)-1)AccessSetEMPTY ((AccessSet)0)AccessREAD ((AccessSet)(1<<0))AccessWRITE ((AccessSet)(1<<1))AccessSetWIDTH (2)RefSetEMPTY BS_EMPTY(RefSet)RefSetUNIV BS_UNIV(RefSet)ZoneSetEMPTY BS_EMPTY(ZoneSet)ZoneSetUNIV BS_UNIV(ZoneSet)TraceSetEMPTY BS_EMPTY(TraceSet)TraceSetUNIV ((TraceSet)((1u << TraceLIMIT) - 1))RankSetEMPTY BS_EMPTY(RankSet)RankSetUNIV ((RankSet)((1u << RankLIMIT) - 1))AttrFMT ((Attr)(1<<0))AttrSCAN ((Attr)(1<<1))AttrPM_NO_READ ((Attr)(1<<2))AttrPM_NO_WRITE ((Attr)(1<<3))AttrALLOC ((Attr)(1<<4))AttrFREE ((Attr)(1<<5))AttrBUF ((Attr)(1<<6))AttrBUF_RESERVE ((Attr)(1<<7))AttrBUF_ALLOC ((Attr)(1<<8))AttrGC ((Attr)(1<<9))AttrINCR_RB ((Attr)(1<<10))AttrINCR_WB ((Attr)(1<<11))AttrMOVINGGC ((Attr)(1<<12))AttrMASK (AttrFMT | AttrSCAN | AttrPM_NO_READ | AttrPM_NO_WRITE | AttrALLOC | AttrFREE | AttrBUF | AttrBUF_RESERVE | AttrBUF_ALLOC | AttrGC | AttrINCR_RB | AttrINCR_WB | AttrMOVINGGC)BufferModeATTACHED ((BufferMode)(1<<0))BufferModeFLIPPED ((BufferMode)(1<<1))BufferModeLOGGED ((BufferMode)(1<<2))BufferModeTRANSITION ((BufferMode)(1<<3))RootModeCONSTANT ((RootMode)1<<0)RootModePROTECTABLE ((RootMode)1<<1)RootModePROTECTABLE_INNER ((RootMode)1<<2)STATISTIC_DECL(field) field  tract_h   ring_h  check_h 0AVER(cond) DISCARD(cond)1AVERT(type,val) DISCARD(type ## Check(val))2AVER_CRITICAL(cond) DISCARD(cond)3AVERT_CRITICAL(type,val) DISCARD(type ## Check(val))MASSERT(cond,condstring) BEGIN if (cond) NOOP; else mps_lib_assert_fail(condstring "\n" __FILE__ "\n" STR(__LINE__)); END_NOTREACHED NOOPjCHECKT(type,val) ((val) != NULL && (val)->sig == type ## Sig)pCHECKS(type,val) DISCARD(CHECKT(type, val))qCHECKL(cond) DISCARD(cond)rCHECKD(type,val) DISCARD(CHECKT(type, val))sCHECKD_NOSIG(type,val) DISCARD((val) != NULL)tCHECKU(type,val) DISCARD(CHECKT(type, val))uCHECKU_NOSIG(type,val) DISCARD((val) != NULL)CHECKLVALUE(lv1,lv2) ((void)sizeof((lv1) = (lv2)), (void)sizeof((lv2) = (lv1)), TRUE)CHECKTYPE(t1,t2) (sizeof(t1) == sizeof(t2) && CHECKLVALUE(*((t1 *)0), *((t2 *)0)))CHECKFIELDAPPROX(s1,f1,s2,f2) (sizeof(((s1 *)0)->f1) == sizeof(((s2 *)0)->f2) && offsetof(s1, f1) == offsetof(s2, f2))CHECKFIELD(s1,f1,s2,f2) (CHECKFIELDAPPROX(s1, f1, s2, f2) && CHECKLVALUE(((s1 *)0)->f1, ((s2 *)0)->f2))RingNONE ((Ring)0)$RingInit(ring) BEGIN Ring _ring = (ring); AVER(_ring != NULL); _ring->next = _ring; _ring->prev = _ring; AVER(RingCheck(_ring)); END/RingFinish(ring) BEGIN Ring _ring = (ring); AVER(RingCheckSingle(_ring)); _ring->next = RingNONE; _ring->prev = RingNONE; END9RingAppend(ring,new) BEGIN Ring _ring = (ring), _new = (new); AVER(RingCheck(_ring)); AVER(RingCheckSingle(_new)); _new->prev = _ring->prev; _new->next = _ring; _ring->prev->next = _new; _ring->prev = _new; ENDFRingInsert(ring,new) BEGIN Ring _ring = (ring), _new = (new); AVER(RingCheck(_ring)); AVER(RingCheckSingle(_new)); _new->prev = _ring; _new->next = _ring->next; _ring->next->prev = _new; _ring->next = _new; ENDSRingRemove(old) BEGIN Ring _old = (old); AVER(RingCheck(_old)); AVER(!RingIsSingle(_old)); _old->next->prev = _old->prev; _old->prev->next = _old->next; _old->next = _old; _old->prev = _old; END`RingNext(ring) ((ring)->next)dRingPrev(ring) ((ring)->prev)gRING_ELT(type,field,node) ((type)(void *)((char *)(node) - (size_t)(&((type)0)->field)))kRING_FOR(node,ring,next) for(node = RingNext(ring), next = RingNext(node); node != (ring); node = (next), next = RingNext(node))  bt_h BTSize(n) (((n) + MPS_WORD_WIDTH-1) / MPS_WORD_WIDTH * sizeof(Word))BTGet(a,i) ((Bool)(((a)[((i) >> MPS_WORD_SHIFT)] >> ((i) & ~((Word)-1 << MPS_WORD_SHIFT))) & (Word)1))BTSet(a,i) BEGIN (a)[((i)>>MPS_WORD_SHIFT)] |= (Word)1<<((i)&~((Word)-1<>MPS_WORD_SHIFT)] &= ~((Word)1 << ((i) & ~((Word)-1<base)&TractPool(tract) ((tract)->pool)'TractP(tract) ((tract)->p)(TractSetP(tract,pp) ((void)((tract)->p = (pp))))TractHasSeg(tract) ((Bool)(tract)->hasSeg)*TractSetHasSeg(tract,b) ((void)((tract)->hasSeg = (b)))+TractWhite(tract) ((tract)->white),TractSetWhite(tract,w) ((void)((tract)->white = (w)))8TRACT_SEG(segReturn,tract) (TractHasSeg(tract) && ((*(segReturn) = (Seg)TractP(tract)), TRUE));TRACT_SET_SEG(tract,seg) (TractSetHasSeg(tract, TRUE), TractSetP(tract, seg))>TRACT_UNSET_SEG(tract) (TractSetHasSeg(tract, FALSE), TractSetP(tract, NULL))nPageTract(page) (&(page)->the.tractStruct)rPageOfTract(tract) PARENT(PageStruct, the.tractStruct, (tract))vPagePool(page) ((page)->the.rest.pool)}PageIsAllocated(page) ((page)->the.rest.pool != NULL)PageType(page) ((page)->the.rest.type)ChunkSig ((Sig)0x519C804C)ChunkArena(chunk) ((chunk)->arena)ChunkPageSize(chunk) ((chunk)->pageSize)ChunkPageShift(chunk) ((chunk)->pageShift)ChunkPagesToSize(chunk,pages) ((Size)(pages) << (chunk)->pageShift)ChunkSizeToPages(chunk,size) ((Count)((size) >> (chunk)->pageShift))CHUNK_OF_ADDR(chunkReturn,arena,addr) (((arena)->chunkCache.base <= (addr) && (addr) < (arena)->chunkCache.limit) ? (*(chunkReturn) = (arena)->chunkCache.chunk, TRUE) : ChunkOfAddr(chunkReturn, arena, addr))AddrPageBase(chunk,addr) AddrAlignDown((addr), ChunkPageSize(chunk))TRACT_OF_ADDR(tractReturn,arena,addr) BEGIN Arena _arena = (arena); Addr _addr = (addr); Chunk _chunk; Index _i; if (CHUNK_OF_ADDR(&_chunk, _arena, _addr)) { _i = INDEX_OF_ADDR(_chunk, _addr); if (BTGet(_chunk->allocTable, _i)) *(tractReturn) = PageTract(&_chunk->pageTable[_i]); else *(tractReturn) = NULL; } else *(tractReturn) = NULL; ENDINDEX_OF_ADDR(chunk,addr) ((Index)ChunkSizeToPages(chunk, AddrOffset((chunk)->base, addr)))PageIndexBase(chunk,i) AddrAdd((chunk)->base, ChunkPagesToSize(chunk, i))TractAverContiguousRange(arena,rangeBase,rangeLimit) BEGIN Chunk _ch = NULL; UNUSED(_ch); AVER(ChunkOfAddr(&_ch, arena, rangeBase) && (rangeLimit) <= _ch->limit); ENDTRACT_TRACT_FOR(tract,addr,arena,firstTract,limit) tract = (firstTract); addr = TractBase(tract); TractAverContiguousRange(arena, addr, limit); for(; tract != NULL; (addr = AddrAdd(addr, (arena)->alignment)), (addr < (limit) ? (tract = PageTract(PageOfTract(tract) + 1)) : (tract = NULL) ))TRACT_FOR(tract,addr,arena,base,limit) TRACT_TRACT_FOR(tract, addr, arena, TractOfBaseAddr(arena, base), limit) mpm_h event_h  eventcom_h !EventNameMAX ((size_t)19)"EventCodeMAX ((EventCode)0x0069)&EVENT_0(type) NOOPEVENT_A(type,p0) NOOPEVENT_AW(type,p0,p1) NOOPEVENT_P(type,p0) NOOPEVENT_PAA(type,p0,p1,p2) NOOPEVENT_PAW(type,p0,p1,p2) NOOPEVENT_PAWA(type,p0,p1,p2,p3) NOOPEVENT_PDDWWW(type,p0,p1,p2,p3,p4,p5) NOOPEVENT_PP(type,p0,p1) NOOPEVENT_PPAU(type,p0,p1,p2,p3) NOOPEVENT_PPAWP(type,p0,p1,p2,p3,p4) NOOPEVENT_PPP(type,p0,p1,p2) NOOPEVENT_PPPA(type,p0,p1,p2,p3) NOOPEVENT_PPPU(type,p0,p1,p2,p3) NOOPEVENT_PPPUU(type,p0,p1,p2,p3,p4) NOOPEVENT_PPU(type,p0,p1,p2) NOOPEVENT_PPUU(type,p0,p1,p2,p3) NOOPEVENT_PPUWWW(type,p0,p1,p2,p3,p4,p5) NOOPEVENT_PPWW(type,p0,p1,p2,p3) NOOPEVENT_PPWWW(type,p0,p1,p2,p3,p4) NOOPEVENT_PPWWWUUU(type,p0,p1,p2,p3,p4,p5,p6,p7) NOOPEVENT_PU(type,p0,p1) NOOPEVENT_PW(type,p0,p1) NOOPEVENT_PWA(type,p0,p1,p2) NOOPEVENT_PWAW(type,p0,p1,p2,p3) NOOPEVENT_PWP(type,p0,p1,p2) NOOPEVENT_PWU(type,p0,p1,p2) NOOPEVENT_PWW(type,p0,p1,p2) NOOPEVENT_PWWWWDD(type,p0,p1,p2,p3,p4,p5,p6) NOOPEVENT_PWWWWW(type,p0,p1,p2,p3,p4,p5) NOOPEVENT_PWWWWWWWWW(type,p0,p1,p2,p3,p4,p5,p6,p7,p8,p9) NOOPEVENT_PWWWWWWWWWWWW(type,p0,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11,p12) NOOPEVENT_UUPA(type,p0,p1,p2,p3) NOOPEVENT_UUPP(type,p0,p1,p2,p3) NOOPEVENT_UUPPP(type,p0,p1,p2,p3,p4) NOOPEVENT_WS(type,p0,p1,l1) NOOP:EventEventTime ((EventType)0xEF213E99);EventPoolInit ((EventType)0xEFB07141)EventPoolFree ((EventType)0xEFB07F6E)?EventArenaCreateVM ((EventType)0xEFA64CF3)@EventArenaCreateVMNZ ((EventType)0xEFA64CF2)AEventArenaCreateCL ((EventType)0xEFA64CC7)BEventArenaDestroy ((EventType)0xEFA64DE5)CEventArenaAlloc ((EventType)0xEFA64A77)DEventArenaFree ((EventType)0xEFA64F6E)EEventSegAlloc ((EventType)0xEF5E9A77)FEventSegFree ((EventType)0xEF5E9F6E)GEventSegMerge ((EventType)0xEF5E93E6)HEventSegSplit ((EventType)0xEF5E95B7)IEventAMCGenCreate ((EventType)0xEFA3C94C)JEventAMCGenDestroy ((EventType)0xEFA3C94D)KEventAMCInit ((EventType)0xEFA3C141)LEventAMCFinish ((EventType)0xEFA3CF14)MEventAMCTraceBegin ((EventType)0xEFA3C26B)NEventAMCScanBegin ((EventType)0xEFA3C5CB)OEventAMCScanEnd ((EventType)0xEFA3C5CE)PEventAMCFix ((EventType)0xEFA3CF18)QEventAMCFixInPlace ((EventType)0xEFA3CF8A)REventAMCFixForward ((EventType)0xEFA3CF8F)SEventAMCReclaim ((EventType)0xEFA3C6EC)TEventTraceStart ((EventType)0xEF26AC52)UEventTraceCreate ((EventType)0xEF26ACC6)VEventTraceDestroy ((EventType)0xEF26ACDE)WEventSegSetGrey ((EventType)0xEF59596A)XEventTraceFlipBegin ((EventType)0xEF26AF7B)YEventTraceFlipEnd ((EventType)0xEF26AF7E)ZEventTraceReclaim ((EventType)0xEF26A6EC)[EventTraceScanSeg ((EventType)0xEF26A559)\EventTraceScanSingleRef ((EventType)0xEF26A556)^EventTraceAccess ((EventType)0xEF26AACC)_EventTracePoll ((EventType)0xEF26AB01)`EventTraceStep ((EventType)0xEF26A52B)aEventTraceFix ((EventType)0xEF26AF18)bEventTraceFixSeg ((EventType)0xEF26AF85)cEventTraceFixWhite ((EventType)0xEF26AF83)dEventTraceScanArea ((EventType)0xEF26A5CA)eEventTraceScanAreaTagged ((EventType)0xEF26A5C2)fEventVMCreate ((EventType)0xEFF3C6EA)gEventVMDestroy ((EventType)0xEFF3DE52)hEventVMMap ((EventType)0xEFF33AB9)iEventVMUnmap ((EventType)0xEFF3043B)jEventIntern ((EventType)0xEF142E64)kEventArenaExtend ((EventType)0xEFA64E82)lEventArenaRetract ((EventType)0xEFA646E2)mEventRootScan ((EventType)0xEF625CA4)nEventLabel ((EventType)0xEF7ABE79)oEventTraceSegGreyen ((EventType)0xEF26A599)pEventBufferReserve ((EventType)0xEFB0FF6E)qEventBufferCommit ((EventType)0xEFB0FFC0)rEventBufferInit ((EventType)0xEFB0FF14)sEventBufferInitSeg ((EventType)0xEFB0F15E)tEventBufferInitRank ((EventType)0xEFB0F16A)uEventBufferInitEPVM ((EventType)0xEFB0F1EF)vEventBufferFinish ((EventType)0xEFB0FFF1)wEventBufferFill ((EventType)0xEFB0FFF7)xEventBufferEmpty ((EventType)0xEFB0FFE3)yEventArenaAllocFail ((EventType)0xEFA64A7F)zEventSegAllocFail ((EventType)0xEF5E9A7F){EventMeterInit ((EventType)0xEF3E2141)|EventMeterValues ((EventType)0xEF3E2FA7)}EventCBSInit ((EventType)0xEFCB5141)~EventTraceStatCondemn ((EventType)0xEF26A5C0)EventTraceStatScan ((EventType)0xEF26A55C)EventTraceStatFix ((EventType)0xEF26A5F8)EventTraceStatReclaim ((EventType)0xEF26A56E)EventArenaWriteFaults ((EventType)0xEFA6436F)EventPoolInitMV ((EventType)0xEFB0713F)EventPoolInitMVFF ((EventType)0xEFB071FF)EventPoolInitMFS ((EventType)0xEFB07135)EventPoolInitEPVM ((EventType)0xEFB071EF)EventPoolInitEPDL ((EventType)0xEFB071E7)EventPoolInitAMS ((EventType)0xEFB071A5)EventPoolInitAMC ((EventType)0xEFB071AC)EventPoolInitAMCZ ((EventType)0xEFB071A2)EventPoolInitAWL ((EventType)0xEFB071A3)EventPoolInitLO ((EventType)0xEFB07170)EventPoolInitSNC ((EventType)0xEFB07154)EventPoolInitMVT ((EventType)0xEFB07132)EventPoolPush ((EventType)0xEFB07B58)EventPoolPop ((EventType)0xEFB07B0B)EventReservoirLimitSet ((EventType)0xEF6E5713)EventCommitLimitSet ((EventType)0xEFC03713)EventSpareCommitLimitSet ((EventType)0xEF5BC713)hEventInit() NOOPiEventFinish() NOOPjEventControl(r,f) (UNUSED(r), UNUSED(f), (Word)0)kEventInternString(s) (UNUSED(s), (Word)0)lEventInternGenString(l,s) (UNUSED(l), UNUSED(s), (Word)0)mEventLabelAddr(a,i) BEGIN UNUSED(a); UNUSED(i); ENDPlock_h ULockSig ((Sig)0x51970CC9) th_h ThreadSig ((Sig)0x519286ED) ss_h mpmst_h protocol_h DERIVE_LOCAL(name) protocol ## nameDERIVE_STRUCT(name) name ## StructDERIVE_ENSURE(name) name ## GetDERIVE_ENSURE_OLD(name) Ensure ## nameDERIVE_ENSURE_INTERNAL(name) protocolGet ## nameDERIVE_GUARDIAN(name) protocol ## name ## GuardianDERIVE_STATIC_STORAGE(name) protocol ## name ## StructProtocolClassSetSuperclassPoly(class,super) (((ProtocolClass)(class))->superclass) = (ProtocolClass)(super)$DEFINE_CLASS(className,var) static Bool DERIVE_GUARDIAN(className) = FALSE; static DERIVE_STRUCT(className) DERIVE_STATIC_STORAGE(className); static void DERIVE_ENSURE_INTERNAL(className)(className); extern className DERIVE_ENSURE(className)(void); className DERIVE_ENSURE(className)(void) { if (DERIVE_GUARDIAN(className) == FALSE) { LockClaimGlobalRecursive(); if (DERIVE_GUARDIAN(className) == FALSE) { DERIVE_ENSURE_INTERNAL(className) (&DERIVE_STATIC_STORAGE(className)); DERIVE_GUARDIAN(className) = TRUE; } LockReleaseGlobalRecursive(); } return &DERIVE_STATIC_STORAGE(className); } extern className DERIVE_ENSURE_OLD(className)(void); className DERIVE_ENSURE_OLD(className)(void) { return DERIVE_ENSURE(className)(); } static void DERIVE_ENSURE_INTERNAL(className) (className var)AINHERIT_CLASS(this,parentName) BEGIN parentName DERIVE_LOCAL(parentName) = DERIVE_ENSURE(parentName)(); *this = *(DERIVE_LOCAL(parentName)); ProtocolClassSetSuperclassPoly(this, DERIVE_LOCAL(parentName)); ENDODEFINE_ALIAS_CLASS(className,typeName,var) typedef typeName className; typedef DERIVE_STRUCT(typeName) DERIVE_STRUCT(className); DEFINE_CLASS(className, var)VProtocolClassSig ((Sig)0x519B60C7)WProtocolInstSig ((Sig)0x519B6014)ProtocolClassSuperclassPoly(class) (((ProtocolClass)(class))->superclass)ClassOfPoly(inst) ((ProtocolInst)(inst)->class)IsSubclassPoly(sub,super) ProtocolIsSubclass((ProtocolClass)(sub), (ProtocolClass)(super))SUPERCLASS(className) ProtocolClassSuperclassPoly(DERIVE_ENSURE(className)())chain_h GenDescSig ((Sig)0x5199E4DE)+PoolGenSig ((Sig)0x519B009E);ChainSig ((Sig)0x519C8A14)XPoolGenNr(gen) ((gen)->nr)/PoolClassSig ((Sig)0x519C7A55)]PoolSig ((Sig)0x519B0019)}MFSSig ((Sig)0x5193F599)MVSig ((Sig)0x5193B999)ReservoirSig ((Sig)0x5196e599)MessageClassSig ((Sig)0x519359c1)MessageSig ((Sig)0x5193e559)SegClassSig ((Sig)0x5195E9C7)SegSig ((Sig)0x5195E999)GCSegSig ((Sig)0x5199C5E9)SegPrefSig ((Sig)0x5195E9B6)BufferClassSig ((Sig)0x519B0FC7)BufferSig ((Sig)0x519B0FFE)SegBufSig ((Sig)0x51959B0F)FormatSig ((Sig)0x519F63A2)ScanStateSig ((Sig)0x5195CA45)TraceSig ((Sig)0x51924ACE)ChunkCacheEntrySig ((Sig)0x519C80CE)ArenaClassSig ((Sig)0x519A6C1A)GlobalsSig ((Sig)0x519970BA)ArenaSig ((Sig)0x519A6E4A)%BoolCheck(b) ((unsigned)(b) <= 1)(FUNCHECK(f) (FunCheck((Fun)f))4WordIsAligned(w,a) (((w) & ((a) - 1)) == 0)7WordAlignUp(w,a) (((w) + (a) - 1) & ~((Word)(a) - 1));WordRoundUp(w,r) (((w)+(r)-1) - ((w)+(r)-1)%(r))>WordAlignDown(w,a) ((w) & ~((Word)(a) - 1))@size_tAlignUp(s,a) ((size_t)WordAlignUp((Word)(s), a))BPointerAdd(p,s) ((void *)((char *)(p) + (s)))CPointerSub(p,s) ((void *)((char *)(p) - (s)))EPointerOffset(base,limit) ((size_t)((char *)(limit) - (char *)(base)))HPointerAlignUp(p,s) ((void *)WordAlignUp((Word)(p), (Align)(s)))KAddrAdd(p,s) ((Addr)PointerAdd((void *)(p), s))LAddrSub(p,s) ((Addr)PointerSub((void *)(p), s))NAddrOffset(b,l) ((Size)(PointerOffset((void *)(b), (void *)(l))))RAddrAlignDown(p,a) ((Addr)WordAlignDown((Word)(p), a))TAlignWord(s) ((Word)(s))VAddrIsAligned(p,a) WordIsAligned((Word)(p), a)WAddrAlignUp(p,a) ((Addr)WordAlignUp((Word)(p), a))YSizeIsAligned(s,a) WordIsAligned((Word)(s), a)ZSizeAlignUp(s,a) ((Size)WordAlignUp((Word)(s), a))[SizeAlignDown(s,a) ((Size)WordAlignDown((Word)(s), a))]SizeRoundUp(s,r) ((Size)WordRoundUp((Word)(s), (Size)(r)))_IndexIsAligned(s,a) WordIsAligned((Word)(s), a)`IndexAlignUp(s,a) ((Index)WordAlignUp((Word)(s), a))aIndexAlignDown(s,a) ((Index)WordAlignDown((Word)(s), a))cAlignIsAligned(a1,a2) WordIsAligned((Word)(a1), a2)iAddrSet(target,value,size) mps_lib_memset(target, (int)(value), size)mAddrCopy(target,source,size) mps_lib_memcpy(target, source, size)qAddrComp(a,b,size) mps_lib_memcmp(a, b, size)wADDR_PTR(type,addr) ((type *)(addr))PoolArena(pool) ((pool)->arena)PoolAlignment(pool) ((pool)->alignment)PoolSegRing(pool) (&(pool)->segRing)PoolFix(pool,ss,seg,refIO) ((*(pool)->fix)(pool, ss, seg, refIO))ClassOfPool(pool) ((pool)->class)SuperclassOfPool(pool) ((PoolClass)ProtocolClassSuperclassPoly((pool)->class))DEFINE_POOL_CLASS(className,var) DEFINE_ALIAS_CLASS(className, PoolClass, var)POOL_SUPERCLASS(className) ((PoolClass)SUPERCLASS(className))TraceSetSingle(trace) BS_SINGLE(TraceSet, (trace)->ti)TraceSetIsSingle(ts) BS_IS_SINGLE(ts)TraceSetIsMember(ts,trace) BS_IS_MEMBER(ts, (trace)->ti)TraceSetAdd(ts,trace) BS_ADD(TraceSet, ts, (trace)->ti)TraceSetDel(ts,trace) BS_DEL(TraceSet, ts, (trace)->ti)TraceSetUnion(ts1,ts2) BS_UNION(ts1, ts2)TraceSetInter(ts1,ts2) BS_INTER(ts1, ts2)TraceSetDiff(ts1,ts2) BS_DIFF(ts1, ts2)TraceSetSuper(ts1,ts2) BS_SUPER(ts1, ts2)TraceSetSub(ts1,ts2) BS_SUB(ts1, ts2)TraceSetComp(ts) BS_COMP(ts)TRACE_SET_ITER(ti,trace,ts,arena) for(ti = 0, trace = ArenaTrace(arena, ti); ti < TraceLIMIT; ++ti, trace = ArenaTrace(arena, ti)) BEGIN if (TraceSetIsMember(ts, trace)) {TRACE_SET_ITER_END(ti,trace,ts,arena) } ENDTRACE_SCAN_BEGIN(ss) BEGIN Shift SCANzoneShift = (ss)->zoneShift; ZoneSet SCANwhite = (ss)->white; RefSet SCANsummary = (ss)->unfixedSummary; Word SCANt; {TRACE_FIX1(ss,ref) (SCANt = (Word)1 << ((Word)(ref) >> SCANzoneShift & (MPS_WORD_WIDTH-1)), SCANsummary |= SCANt, SCANwhite & SCANt)TRACE_FIX2(ss,refIO) ((*(ss)->fix)(ss, refIO))TRACE_FIX(ss,refIO) (TRACE_FIX1(ss, *(refIO)) ? TRACE_FIX2(ss, refIO) : ResOK)TRACE_SCAN_END(ss) } (ss)->unfixedSummary = SCANsummary; ENDDEFINE_ARENA_CLASS(className,var) DEFINE_ALIAS_CLASS(className, ArenaClass, var)ARENA_SUPERCLASS(className) ((ArenaClass)SUPERCLASS(className))ArenaGlobals(arena) (&(arena)->globals)GlobalsArena(glob) PARENT(ArenaStruct, globals, glob)ArenaRootRing(arena) (&(arena)->rootRing)ArenaTraceRing(arena) (&(arena)->traceRing)ArenaThreadRing(arena) (&(arena)->threadRing)ArenaEpoch(arena) ((arena)->epoch)ArenaTrace(arena,ti) (&(arena)->trace[ti])ArenaZoneShift(arena) ((arena)->zoneShift)ArenaAlign(arena) ((arena)->alignment)ArenaGreyRing(arena,rank) (&(arena)->greyRing[rank])ArenaReservoir(arena) (&(arena)->reservoirStruct)DEFINE_SEG_CLASS(className,var) DEFINE_ALIAS_CLASS(className, SegClass, var)SEG_SUPERCLASS(className) ((SegClass)SUPERCLASS(className))ClassOfSeg(seg) ((seg)->class)SegBase(seg) (TractBase((seg)->firstTract))SegLimit(seg) ((seg)->limit)SegPool(seg) (TractPool((seg)->firstTract))SegRankSet(seg) ((RankSet)(seg)->rankSet)SegPM(seg) ((AccessSet)(seg)->pm)SegSM(seg) ((AccessSet)(seg)->sm)SegDepth(seg) ((unsigned)(seg)->depth)SegGrey(seg) ((TraceSet)(seg)->grey)SegWhite(seg) ((TraceSet)(seg)->white)SegNailed(seg) ((TraceSet)(seg)->nailed)SegOfPoolRing(node) (RING_ELT(Seg, poolRing, (node)))SegOfGreyRing(node) (&(RING_ELT(GCSeg, greyRing, (node)) ->segStruct))SegSummary(seg) (((GCSeg)(seg))->summary)SegSetPM(seg,mode) ((void)((seg)->pm = (mode)))SegSetSM(seg,mode) ((void)((seg)->sm = (mode)))SegSetDepth(seg,d) ((void)((seg)->depth = (d)))SegSetNailed(seg,ts) ((void)((seg)->nailed = (ts)))BUFFER_RESERVE(pReturn,buffer,size,withReservoirPermit) (AddrAdd(BufferAlloc(buffer), size) > BufferAlloc(buffer) && AddrAdd(BufferAlloc(buffer), size) <= BufferAP(buffer)->limit ? (*(pReturn) = BufferAlloc(buffer), BufferAP(buffer)->alloc = AddrAdd(BufferAlloc(buffer), size), ResOK) : BufferFill(pReturn, buffer, size, withReservoirPermit))BUFFER_COMMIT(buffer,p,size) (BufferAP(buffer)->init = BufferAlloc(buffer), BufferAP(buffer)->limit != 0 || BufferTrip(buffer, p, size))BufferAP(buffer) (&(buffer)->apStruct)BufferOfAP(ap) PARENT(BufferStruct, apStruct, ap)BufferArena(buffer) ((buffer)->arena)BufferPool(buffer) ((buffer)->pool)BufferBase(buffer) ((buffer)->base)BufferGetInit(buffer) (BufferAP(buffer)->init)BufferAlloc(buffer) (BufferAP(buffer)->alloc)BufferLimit(buffer) ((buffer)->poolLimit)DEFINE_BUFFER_CLASS(className,var) DEFINE_ALIAS_CLASS(className, BufferClass, var)BUFFER_SUPERCLASS(className) ((BufferClass)SUPERCLASS(className))RankSetIsMember(rs,r) BS_IS_MEMBER((rs), (r))RankSetSingle(r) BS_SINGLE(RankSet, (r))RankSetIsSingle(r) BS_IS_SINGLE(r)RankSetUnion(rs1,rs2) BS_UNION((rs1), (rs2))RankSetDel(rs,r) BS_DEL(RankSet, (rs), (r))AddrZone(arena,addr) (((Word)(addr) >> (arena)->zoneShift) & (MPS_WORD_WIDTH - 1))RefSetUnion(rs1,rs2) BS_UNION((rs1), (rs2))RefSetInter(rs1,rs2) BS_INTER((rs1), (rs2))RefSetDiff(rs1,rs2) BS_DIFF((rs1), (rs2))RefSetAdd(arena,rs,addr) BS_ADD(RefSet, rs, AddrZone(arena, addr))RefSetIsMember(arena,rs,addr) BS_IS_MEMBER(rs, AddrZone(arena, addr))RefSetSuper(rs1,rs2) BS_SUPER((rs1), (rs2))RefSetSub(rs1,rs2) BS_SUB((rs1), (rs2))ZoneSetUnion(zs1,zs2) BS_UNION(zs1, zs2)ZoneSetInter(zs1,zs2) BS_INTER(zs1, zs2)ZoneSetDiff(zs1,zs2) BS_DIFF(zs1, zs2)ZoneSetAdd(arena,zs,addr) BS_ADD(ZoneSet, zs, AddrZone(arena, addr))ZoneSetIsMember(arena,zs,addr) BS_IS_MEMBER(zs, AddrZone(arena, addr))ZoneSetSub(zs1,zs2) BS_SUB(zs1, zs2)ZoneSetSuper(zs1,zs2) BS_SUPER(zs1, zs2)ZoneSetComp(zs) BS_COMP(zs)STATISTIC(gather) BEGIN (gather); ENDSTATISTIC_STAT(gather) BEGIN gather; ENDSTATISTIC_WRITE(format,arg) (format), (arg),mpsacl_h   mps_h &_LIMITS_H_ +_POSIX_ARG_MAX 4096,_POSIX_CHILD_MAX 25-_POSIX_LINK_MAX 8._POSIX_MAX_CANON 255/_POSIX_MAX_INPUT 2550_POSIX_NAME_MAX 141_POSIX_NGROUPS_MAX 82_POSIX_OPEN_MAX 203_POSIX_PATH_MAX 2564_POSIX_PIPE_BUF 5125_POSIX_SSIZE_MAX 327676_POSIX_STREAM_MAX 87_POSIX_TZNAME_MAX 69BC_BASE_MAX 99:BC_DIM_MAX 2048;BC_SCALE_MAX 99EXPR_NEST_MAX 32?LINE_MAX 2048@RE_DUP_MAX 255B_POSIX2_BC_BASE_MAX 99C_POSIX2_BC_DIM_MAX 2048D_POSIX2_BC_SCALE_MAX 99E_POSIX2_BC_STRING_MAX 1000F_POSIX2_EQUIV_CLASS_MAX 2G_POSIX2_EXPR_NEST_MAX 32H_POSIX2_LINE_MAX 2048I_POSIX2_RE_DUP_MAX 255M_POSIX_AIO_LISTIO_MAX 16N_POSIX_AIO_MAX 1O_POSIX_DELAYTIMER_MAX 32P_POSIX_MQ_OPEN_MAX 8Q_POSIX_MQ_PRIO_MAX 32R_POSIX_RTSIG_MAX 8S_POSIX_SEM_NSEMS_MAX 256T_POSIX_SEM_VALUE_MAX 32767U_POSIX_SIGQUEUE_MAX 32V_POSIX_TIMER_MAX 32Z_POSIX_THREAD_DESTRUCTOR_ITERATIONS 4[_POSIX_THREAD_KEYS_MAX 128\_POSIX_THREAD_THREADS_MAX 64`_POSIX_HOST_NAME_MAX 255a_POSIX_LOGIN_NAME_MAX 9b_POSIX_SS_REPL_MAX 4c_POSIX_SYMLINK_MAX 255d_POSIX_SYMLOOP_MAX 8e_POSIX_TRACE_EVENT_NAME_MAX 30f_POSIX_TRACE_NAME_MAX 8g_POSIX_TRACE_SYS_MAX 8h_POSIX_TRACE_USER_EVENT_MAX 32i_POSIX_TTY_NAME_MAX 9j_POSIX2_CHARCLASS_NAME_MAX 14k_POSIX2_COLL_WEIGHTS_MAX 2m_POSIX_RE_DUP_MAX _POSIX2_RE_DUP_MAXq_XOPEN_IOV_MAX 16r_XOPEN_NAME_MAX 255s_XOPEN_PATH_MAX 1024tPASS_MAX 128vNL_ARGMAX 99wNL_LANGMAX 31xNL_MSGMAX 32767yNL_NMAX 1zNL_SETMAX 255{NL_TEXTMAX 2048~MB_LEN_MAX 6!_SYS_LIMITS_H_ $"_MACHINE__LIMITS_H_ /__CHAR_BIT 81__SCHAR_MAX 0x7f2__SCHAR_MIN (-0x7f - 1)4__UCHAR_MAX 0xff6__USHRT_MAX 0xffff7__SHRT_MAX 0x7fff8__SHRT_MIN (-0x7fff - 1):__UINT_MAX 0xffffffffU;__INT_MAX 0x7fffffff<__INT_MIN (-0x7fffffff - 1)D__ULONG_MAX 0xffffffffULE__LONG_MAX 0x7fffffffLF__LONG_MIN (-0x7fffffffL - 1)J__ULLONG_MAX 0xffffffffffffffffULLK__LLONG_MAX 0x7fffffffffffffffLLL__LLONG_MIN (-0x7fffffffffffffffLL - 1)N__SSIZE_MAX __INT_MAXP__SIZE_T_MAX __UINT_MAXR__OFF_MAX __LLONG_MAXS__OFF_MIN __LLONG_MINV__UQUAD_MAX __ULLONG_MAXW__QUAD_MAX __LLONG_MAXX__QUAD_MIN __LLONG_MIN]__LONG_BIT 32___WORD_BIT 32&CHAR_BIT __CHAR_BIT(SCHAR_MAX __SCHAR_MAX)SCHAR_MIN __SCHAR_MIN+UCHAR_MAX __UCHAR_MAX1CHAR_MAX SCHAR_MAX2CHAR_MIN SCHAR_MIN5USHRT_MAX __USHRT_MAX6SHRT_MAX __SHRT_MAX7SHRT_MIN __SHRT_MIN9UINT_MAX __UINT_MAX:INT_MAX __INT_MAX;INT_MIN __INT_MIN=ULONG_MAX __ULONG_MAX>LONG_MAX __LONG_MAX?LONG_MIN __LONG_MINHSSIZE_MAX __SSIZE_MAXLSIZE_T_MAX __SIZE_T_MAXNOFF_MAX __OFF_MAXOOFF_MIN __OFF_MINSGID_MAX UINT_MAXTUID_MAX UINT_MAXVUQUAD_MAX (__UQUAD_MAX)WQUAD_MAX (__QUAD_MAX)XQUAD_MIN (__QUAD_MIN)\LONG_BIT __LONG_BIT]WORD_BIT __WORD_BIT "_SYS_SYSLIMITS_H_ 4ARG_MAX 2621447CHILD_MAX 409LINK_MAX 32767:MAX_CANON 255;MAX_INPUT 255 (sac)->mps_middle) { _mps_i = 0; while (_mps_s > (sac)->mps_freelists[_mps_i].mps_size) _mps_i += 2; } else { _mps_i = 1; while (_mps_s <= (sac)->mps_freelists[_mps_i].mps_size) _mps_i += 2; } if ((sac)->mps_freelists[_mps_i].mps_count != 0) { (p_o) = (sac)->mps_freelists[_mps_i].mps_blocks; (sac)->mps_freelists[_mps_i].mps_blocks = *(mps_addr_t *)(p_o); --(sac)->mps_freelists[_mps_i].mps_count; (res_o) = MPS_RES_OK; } else (res_o) = mps_sac_fill(&(p_o), sac, _mps_s, has_reservoir_permit); MPS_ENDMPS_SAC_FREE_FAST(sac,p,size) MPS_BEGIN size_t _mps_i, _mps_s; _mps_s = (size); if (_mps_s > (sac)->mps_middle) { _mps_i = 0; while (_mps_s > (sac)->mps_freelists[_mps_i].mps_size) _mps_i += 2; } else { _mps_i = 1; while (_mps_s <= (sac)->mps_freelists[_mps_i].mps_size) _mps_i += 2; } if ((sac)->mps_freelists[_mps_i].mps_count < (sac)->mps_freelists[_mps_i].mps_count_max) { *(mps_addr_t *)(p) = (sac)->mps_freelists[_mps_i].mps_blocks; (sac)->mps_freelists[_mps_i].mps_blocks = (p); ++(sac)->mps_freelists[_mps_i].mps_count; } else mps_sac_empty(sac, p, _mps_s); MPS_ENDMPS_SAC_ALLOC(res_o,p_o,sac,size,has_reservoir_permit) MPS_SAC_ALLOC_FAST(res_o, p_o, sac, size, has_reservoir_permit)MPS_SAC_FREE(sac,p,size) MPS_SAC_FREE_FAST(sac, p, size)mps_reserve(_p_o,_mps_ap,_size) ((char *)(_mps_ap)->alloc + (_size) > (char *)(_mps_ap)->alloc && (char *)(_mps_ap)->alloc + (_size) <= (char *)(_mps_ap)->limit ? ((_mps_ap)->alloc = (mps_addr_t)((char *)(_mps_ap)->alloc + (_size)), *(_p_o) = (_mps_ap)->init, MPS_RES_OK) : mps_ap_fill(_p_o, _mps_ap, _size))MPS_RESERVE_BLOCK(_res_v,_p_v,_mps_ap,_size) MPS_BEGIN char *_alloc = (char *)(_mps_ap)->alloc; char *_next = _alloc + (_size); if(_next > _alloc && _next <= (char *)(_mps_ap)->limit) { (_mps_ap)->alloc = (mps_addr_t)_next; (_p_v) = (_mps_ap)->init; (_res_v) = MPS_RES_OK; } else (_res_v) = mps_ap_fill(&(_p_v), _mps_ap, _size); MPS_ENDMPS_RESERVE_WITH_RESERVOIR_PERMIT_BLOCK(_res_v,_p_v,_mps_ap,_size) MPS_BEGIN char *_alloc = (char *)(_mps_ap)->alloc; char *_next = _alloc + (_size); if(_next > _alloc && _next <= (char *)(_mps_ap)->limit) { (_mps_ap)->alloc = (mps_addr_t)_next; (_p_v) = (_mps_ap)->init; (_res_v) = MPS_RES_OK; } else (_res_v) = mps_ap_fill_with_reservoir_permit(&(_p_v), _mps_ap, _size); MPS_ENDmps_commit(_mps_ap,_p,_size) ((_mps_ap)->init = (_mps_ap)->alloc, (_mps_ap)->limit != 0 || mps_ap_trip(_mps_ap, _p, _size))MPS_SCAN_BEGIN(ss) MPS_BEGIN mps_ss_t _ss = (ss); mps_word_t _mps_w0 = (_ss)->w0; mps_word_t _mps_w1 = (_ss)->w1; mps_word_t _mps_w2 = (_ss)->w2; mps_word_t _mps_wt; {MPS_FIX1(ss,ref) (_mps_wt = 1uL << ((mps_word_t)(ref) >> _mps_w0 & (sizeof(mps_word_t) * CHAR_BIT - 1)), _mps_w2 |= _mps_wt, _mps_w1 & _mps_wt)MPS_FIX2(ss,ref_io) ((*(ss)->fix)(ss, ref_io))MPS_FIX12(ss,ref_io) (MPS_FIX1(ss, *(ref_io)) ? MPS_FIX2(ss, ref_io) : MPS_RES_OK)MPS_FIX(ss,ref_io) MPS_FIX12(ss, ref_io)MPS_FIX_CALL(ss,call) MPS_BEGIN (call); _mps_w2 |= (ss)->w2; MPS_ENDMPS_SCAN_END(ss) } (ss)->w2 = _mps_w2; MPS_ENDClientArenaSig ((Sig)0x519A6EC7)!Arena2ClientArena(arena) PARENT(ClientArenaStruct, arenaStruct, arena)"ClientArena2Arena(clArena) (&(clArena)->arenaStruct))ClientChunkSig ((Sig)0x519A6C2C)2ClientChunk2Chunk(clchunk) (&(clchunk)->chunkStruct)3Chunk2ClientChunk(chunk) PARENT(ClientChunkStruct, chunkStruct, chunk)8ClientChunkClientArena(clchunk) Arena2ClientArena(ChunkArena(ClientChunk2Chunk(clchunk)))arenacl.cJan 17 200703:39:21CL$Id: //info.ravenbrook.com/project/mps/master/code/arenacl.c#9 $ |  AB  AB $AB FW.{. g.AB AB N.AB  AB FG. YAB Fb.AB T.4:AB B$pAB Fx. u. XtAB F. AB FN.PGAB b.S. AB uAB BQ.  AB i++ClientArenaClassGet(+EnsureClientArenaClass~+mps_arena_class_cl+arenaclSrcId-ProtocolCoerceClassMethodwhiteMutatorFaultContextmpsVersionStringchunkPoolBlackenMethodsize_tSegClassclampedchunkSerialLockStructrankSetalignmentframePushpageTablePagesframePopPendingpageTableLimitunitsPerExtentrootScanCountPoolFreeMethodglobalRingChunkCacheEntryStructClientArenaClassSrcIdStructMFSHeaderStructPoolAccessMethodgreyRingdetachisGensuperclassforwardedCountmps_arena_class_smps_arena_class_tblockPoolStructrampCountRingStructtypeClientFreeArenaMutatorFaultContextStructdoublemergepoolLimitfinishpoolRingBufferStructarenaRinggreySegMaxgenspoolStructArenaDescribeMethodemptyInternalSizeLockforwardedSizeEpochreservoirLimitPoolFinishMethodprotocolClientArenaClassStructAttrarenaArenaFreeMethodbootStructnextNodelong intPoolClassStructrestIndexcoerceClassArenaClassStructclassWordSegSetWhiteMethodprotocolAbstractArenaClasshistorywriteBarrierHitCountpageSizeheaderSizerankbuild_timemortalityhigh__va_listTraceIdProtocolInstblackenarenacl.crampBeginPoolRampBeginMethodSizesigned charReservoirStructAddrStruct/home/hannes/dylan/mps/codesingleScanCountspacefreewalkfreePagesfailBootInitextendsetRankSetSegFinishMethodrememberedSummaryRingspanPoolStructPoolBufferClassMethodpointlessScanCountfailChunkInitRingPoolDescribeMethodFormatSkipMethodmps_arena_class_clAbstractArenaClasscopiedSizeFormatScanMethodSegStructvarietyfailChunkCreateflippedTracesBufferFinishMethodfoundationdescribeclientArenacommittedcapacityScanStateStructrootScanSizethisattrsnapCountrememberedSummaryIndexClientArenaCheckreclaimSizePoolStructreassignSegSegSetRankSummaryMethodpreservedInPlaceSizenodeArenaInitMethodFormatPadMethodmayMovefileProtocolInstStructpageslimittraceskipthreadRingPoolFramePushMethodArenaChunkFinishMethodreservetractshCacheLimitbufferclientChunkCreatebusyTracesPoolAllocMethodmoveArenaExtendMethodClientChunkCheckratecoerceInstunroundedUnitSizemps_lib_stream_ssegRefCountrootRingbufferFillsetRankSummaryClientArenaClassStructAccessSetChunkStructfixRefCountframeptrindexshDepthunsigned charisCollectedenabledArenaAllocMethodClientArenaFinisharenaReturnlwPopPendinglong unsigned intallocBasespareCommitLimitnailCountformatextendByavgSizealignedBaseAllocFrameStructchunkRinggreyfirstTractlabelledmaxSizefillMutatorSizePagePageStructpoolReadyproflowchunkFinishserialBufferFormatCopyMethodprotocolGetClientArenaClassBootBlockStructBoolargsbufferLoggingreservoirStructPoolDebugMixinMethodFormatTraceStructProtocolClassMVStruct__uint32_tProtocolCoerceInstMethodSegSetSummaryMethodprotocollong long intsegCopiedSizeva_listTraceSetBufferAttachMethodbufferRingArenaSpareCommitExceededMethodPoolGreyMethodPoolBufferFillMethodSerialthreadSerialClientArenaReservedreclaimarenaStructClientArenaExtenddepthinitCountfillSizeTracehasSegspareCommitExceededPoolnailedRefSetclChunkPoolDebugMixinscmidcontrolPoolStructsetGreyallocMutatorSizePoolFramePopPendingMethodScanStateTractStructSegSplitMethodunitSizeunsigned intBufferReassignSegMethodGlobalsStructPoolInitMethodClientChunkattachpageShiftwhitenfinalPoolBufferRankSetMethodSegPrefStructPoolFixMethodsegRingPoolBufferEmptyMethodMFSStructzonesprimaryBufferModebufferEmptyoffsetPoolWhitenMethodChainStructClientArenaInitFileSrcIdStructEnsureClientArenaClassprehistorypageClientChunkInitSegInitMethodreclaimCountZoneSetBufferClassStructSegSetGreyMethodGNU C 3.4.6 [FreeBSD] 20060305FormattedObjectsStepMethodarenaclSrcIdSegClassStruct__size_tfixedSummarybootcharTraceStatereadBarrierHitCountwalkArenaChunkInitMethodsizeAlignfreeListpreservedInPlaceCountbaseTractReturnlastTractrootCopiedSizefailChunkAllocscansetWhitefixEmergencyformatRingsegScanSizeclientChunkDestroycommitLimittracedSizeClientAllocisMovedClientChunkStructlong long unsigned intSrcIdinsideShieldSegSetBufferMethodRankzoneShiftClientArenaTraceFixMethodlocusRingpoollimitIndexformatSerialPoolDebugMixinStructdebugMixinbuild_daterampEndPoolClassgenCountinitAtFlipbaseReturnpageTablepoolSerialFormatIsMovedMethodPoolRampEndMethodPoolFramePopMethodchunkInitBufferSegMethodpageBasechunkAllocreservoirSizeSegMergeMethodPoolReclaimMethodsetBuffercopytracedTimeBufferClassrootSerialChainframePopactiveTracesemptyMutatorSizePoolFreeWalkMethodBufferInitMethodtopGensuspendedglobalsFormatClassMethodnameallocTableBufferDetachMethodlastTractBaseapStructSegSetRankSetMethodFreeBlockStepMethodAllocFramewhiteSegRefCountShiftchainunfixedSummaryshort intlostnotCondemnedtractStructmodeRankSetshCacheIfillInternalSizestateFormatMoveMethodBufferDescribeMethodisMutatorlastWorldCollectClientArenaClassGetsingleScanSizespareCommittedClientChunkFinishSegPrefchunkReturnspanspollThresholdmessageRingchunkCacheemptySizetracesbufferSerialPoolFixEmergencyMethodepochArenaReservedMethodArenaClassAPStructchunkBasetractListsplitcondemnedClientArenaStructisFinalPoolemergencySegBufferMethodfreechainRingwasMarkedFormatVarietyfoundChunkclArenaSizeenabledMessageTypesshort unsigned intGenDescStructbaseAddrArenaStructbaseIndexprotocolClientArenaClassGuardiansetSummarymps_lib_FILEBufferSetRankSetMethodSegDescribeMethodaccessprefgreySegCountsegScanCountChunkshCachePoolScanMethodsingleCopiedSizechunkStructBootBlockinsidePollreservedallocnextPoolWalkMethodbufferClassProtocolClassStructprevpageTableBaseFormatStructscannedSizelockArenaFinishMethodTractGCC: (GNU) 3.4.6 [FreeBSD] 20060305.symtab.strtab.shstrtab.rel.text.rel.data.bss.debug_abbrev.rel.debug_info.rel.debug_line.debug_macinfo.rodata.str1.1.rodata.str1.4.rel.rodata.rel.debug_frame.rel.debug_pubnames.rel.debug_aranges.debug_str.comment4- p )d% /h 4sF+B V3R  bQ6Gq2"2A   ,m   03%0"       , =O_rY4:pXt H.uJWeoy !PG5Ni   arenacl.cFileSrcIdStructClientChunkCheckClientArenaCheckclientChunkCreateClientChunkInitclientChunkDestroyClientChunkFinishClientArenaInitClientArenaFinishClientArenaExtendClientArenaReservedchunkAllocClientAllocClientFreeprotocolClientArenaClassGuardianprotocolClientArenaClassStructprotocolGetClientArenaClassarenaclSrcIdBootBlockInitBootAllocChunkInitBootBlockFinishChunkFinishArenaInitSizeFloorLog2ArenaFinishBTFindShortResRangeHighBTFindShortResRangeArenaCommittedPageAllocChunkOfAddrTractFinishBTResRangeClientArenaClassGetLockClaimGlobalRecursiveLockReleaseGlobalRecursiveEnsureClientArenaClassAbstractArenaClassGetmemcpymps_arena_class_cl9#N$t%&'A()**+,-./ 081X`3fq|4267  '5   ! % * 1 8 ? M X _ f m t {             ( 3 9 Z e v |              # . 9 T i           ! 0 ? N ] l {            / > \ k z           7 F U d s           ' = K Y g u            - ; I W e s            ) 7 E S a o }           ,  ;  J  Y  h  w              +  :  I  X  g  v             &  =  L  [  y               -  <  K  Z  j              !  2  D  Y  o  }             3 B Q ` o         G Y k }            + 9 G U c q         # 2 A P _ n }          % . = L [ j z           * : J Z j z           * : J Z j z         & 5 D S b q            % 5 F L ] c t ~        < G r     I u    ) K V x     * i t      : \ ~     > x    + R       H s     / P {         !  )  7  F  Q  d  r          ! ! '! =! L! }! ! ! ! ! ! ! " " +" :" B" P" ^" l" z" " " " " " " " " # # # /# ># M# l# w# # # # # # $ $ !$ +$ 4$ R$ c$ x$ $ $ $ $ $$$ $ $ $%% % %%)%0% =% K% Y% g% t% % % % % %% %% %% %%& & & -& 4&8&?& L& \& c&g&n& & &&& & & & & & & & & ' (' 6' <'F' M'Q'X' e' s' ' ''' ' ''' ' ' ' ' ( )( 5(9(@( N( \( j( x(|(( ( ((( ( ( ( ( ( ( ) ) 7) E) Y) e)i)p) ) ) ) ) ) ) ) ) ** * * %*)*0* >* L* Z* f* u* * * * * * *** * * + + +"+*+ 6+:+E+ M+Q+X+ f+j+o+ + +++ + + +"+ ++ +    04HLpt $@Dhl arena.o/ 1169001561 1001 1001 100644 63036 ` ELF 4(UEU t $JnQttjh@RvÉU=u1=u h .v ÐUÍvUS]PSPSP S CCCCCC C$C(C,C0C4C8C<C@CDlQ[UÉUÉUVS]E CxǃHǃLǃPǃTǃ\ǃXC|ǃ`ǃdǃhll@ǃt xP$$ƃu4ǃ$JnQSPƃt Se[^ÍvUVSu uVEPVÃUh@\UX9\wYEhPuÃu3 uÃuUE u uV ؍e[^ÍvUS]Pǃ$[Q$$ǃlǃp]US]SjPC|$Cx$P ]ÍvUS ]hj h PSP …u C|Ћ]ÐUE@|PÐUVS]u t $JnQt vjCxpPh&Sh9V …{|t!jPhEV…j\hWXhgThwPhLhV0…u>CxVSP@…u*VS…u jstShVЍe[^ÍvUWVS }t $JnQt } WEP‹EXEp PE싇\EE9Xv!j)PPVShu uY jERr0uuuVhu 0u)EpWEP]hve[^_UuuE PEP…u UEÉU uu EPÉUWVSu^ Wt}td CxVuu URURP0 t%}t? VuWEPEP u#vE`E쉃dUEe[^_UWVS uEX U 9dr9dsǃ`ǃd WuCxuu VP4vu VWe[^_UEPxPR$ÉUEHÉUEPÉUETÉUUE T;Ps BxRP(ÉUÍvUELÉUVS]u S9s,+P9w( CxSP(LvLЍe[^US]S9LsL+HP]ÉU EPxuu PR,ÐUÉU u uEPC% $ > $ > : ; I I&I : ;  : ; I8 < : ; I  : ;I8 : ;I8  : ; I8  : ; I 8  : ;I 8  : ;I 8  : ; ' II' ' I : ;  : ;  : ; I: ;II!I/ .: ; ' I@ : ; I .? : ; ' I@ .: ; ' @ ! "4: ; I #.? : ; ' I@ $4: ; I % : ; &.? : ; ' @ '4: ; I(.? : ;' I@ ): ;I *4: ;I +.? : ;' @ ,4: ;I - : ;.4: ;I/4: ; I?  ?, `_int 8W 9 _L | 7zE "3"P$#k%#s&#2'# "$ 2 ~ . Sigl ResE l"ou : #Yp$Y%Y&Yd'Wv (W Ref)d ,Y -Y.W/W1{ 2W3W4W5W6W-7W BT:MY ;^d ?Yt @> D "# tE# j F# GE# Hp# II# J#$ KO#( segL#, M#0 N #4 IO-#8 sigPC#< AWC ad# zbd# cd# dd# Re# f# D <D sigC# y# i 8# #  # # !# ZL# m#$ #( #, pad#0 #4 {#8F +G XGsig`C#ya#b#c#  d #e #Rf# =g #$h#,i#0fixjY#4hks#8ls#@ ms#H ns#PUHH2 "#t3#j 4#U5#}6-#7u# 8#$z9#(:#,;#0#<) ?#@%@#D A##HfixBY#L C#PD#TE E#XF#\8G#`H#d ID#hJk#l/K#pL#tM#xN#|O#sigPC## O O sigC# ti# # # # # # x * # {# {#$ {#( {#, #0 ]#4 D#8 Z#< {#@ #D #H {#L #P ~#T  {#X #\ #` q#d P#h :#l #p g #t  #x  {#|  #  {# # F# P  * BTP fix# A Y# # d# sigC# # - # # # #$ #( #, q#0 P#4 :#8 #< {#@ #D {#H {#L  {#P Q5 ;  Qsig>C#?#2 @ #A #B#kC"# R   R& #p#d# # PW#  S   *8SsigC#y## # y{#T #d#d# ?#$R #(C#,q #0#4?^ T sigC# ( # d# d# s?# N?#cUJPkvUthehG # SegVv|Po V sigC# P#  #   #  d#  W#pm "#sm "#)  # #^  ##bX[aNLX "#t#j ###p# O #$#(#,#0'#4I#8#<#@} :#DsigC#HZY_Z sig0C# x1# r2# U3# X 4# gen5#\ H\ & "# t'a## j (# U)# *# +# ,#$ - #( .#, z/C#0 0#4 1#8 h2#< 3#@ sig4C#D=] ^a(^ os## yp#t r#x at#| <u'## w2## y{# z{# |{# }{# A # # K  # d#  #  # J # U## w"#  # +#  # mC# # # I # # # R## {# {# p{# I#  # 6 # j## s# }s# . Y# ## O# 2  # # # ## sigC#t_ sigBC# E #  F# SIs# J# &K# hLs# Ms#( Ns#0 Os#8 Ps#@ S#H V#L Y #P xZ#X ] #\ ^#d Ja #h d#pU d de 5Eg.4 xhEKchh"#$  #X{#\{#`sigC#d nN8 o~p {q0r#)CNd{tNTxNx~N{d ud{vN S w xN'/%+@N @BQWwdlddNkd{8V k k RP28IkTZpk{k"jk kjNk :Nkkddd8PVpNj8{j%jddd{{ kj j -j18>Ojk Z`uNj N8Nx{_d{1 INxxj{TZujdd)ǀNkd" ȵNk< k # k .4SNS kdjN k@* d.V Ҫj jNj#$*DNj#OUkj#Kv|kFle ݧwx$N?  ! 9 ,2LN ddW]mdd x~ddW xd{ W    #` #  G g& e#DfE#f hc 8g" viPf ! `/"###X ##{# {#{# {# {#9 #sigC#\$!*!o!\sig}C#>~!#!#W!#  az!!!' asigC#!#_m!!!!o!!o!x!!""!!!*!w"y $sigC#r#  {#n!s# "s# # #y $"w" o# t"#@{#X{#\{#`TY#d##h  #lsigC#p f # " w cKgd^   5e#k#I## ##NBUPK Rq %g#'DU 'U h$(,U'S!")!P#$>,6U=#$X8BUW#,%ND1USP$resNV%t(%x!" P#%N4U PV]8"t$resNS%%%;%&%@US!$;' && @US(O&INU)S*resNP+v&%U)$P(&/NU).S)K .V*res0NP(Z'e\NU)[W)K [ *res]NP,^ p*b_R,}`dS,`dV,`dl,j a{h(' N:U)'P) )j ),d|*resNP+(=<VU)) )j ((.NXU)xP)7N )j {)& V)*resNP,S,dl, p,:W-!+R)pU)dV)j { )& ,S,dP,:W*resNP(})\{pU)P()n{U)P(){U)P()!{U) P+3*'U)&R)&{P+[* 6U)5(*={U)<P(*CNPU)BS)B{V. D{*resENR(+b{PU)aS,Zc{P(i+oNU)nP)nd )j n{*respNP(+NU))d )j {(+U))8d *segk|") /x "Z'"'# q /usr/include/usr/include/sys/usr/include/machinetract.hmpmtypes.hconfig.hmpstd.hmisc.hstddef.hcdefs.h_null.h_types.h_types.hmpslib.hstdarg.hring.hcheck.hbt.hpoolmv.hmpm.hevent.heventcom.heventgen.hlock.hth.hss.hmpmst.hprotocol.hchain.harena.cr- GcBcrrrrrrrrrrrrrri9(9 erぜt=QN,Ƭ*tut, d[fr%:*IrVr?d<?hd9idt)r,Հ cW:*JViiN ?@g__STDC_HOSTED__ 1__GNUC__ 3__GNUC_MINOR__ 4__GNUC_PATCHLEVEL__ 6__SIZE_TYPE__ unsigned int__PTRDIFF_TYPE__ int__WCHAR_TYPE__ int__WINT_TYPE__ unsigned int __GXX_ABI_VERSION 1002 __SCHAR_MAX__ 127 __SHRT_MAX__ 32767 __INT_MAX__ 2147483647 __LONG_MAX__ 2147483647L__LONG_LONG_MAX__ 9223372036854775807LL__WCHAR_MAX__ 2147483647__CHAR_BIT__ 8__FLT_EVAL_METHOD__ 2__FLT_RADIX__ 2__FLT_MANT_DIG__ 24__FLT_DIG__ 6__FLT_MIN_EXP__ (-125)__FLT_MIN_10_EXP__ (-37)__FLT_MAX_EXP__ 128__FLT_MAX_10_EXP__ 38__FLT_MAX__ 3.40282347e+38F__FLT_MIN__ 1.17549435e-38F__FLT_EPSILON__ 1.19209290e-7F__FLT_DENORM_MIN__ 1.40129846e-45F__FLT_HAS_INFINITY__ 1__FLT_HAS_QUIET_NAN__ 1__DBL_MANT_DIG__ 53 __DBL_DIG__ 15!__DBL_MIN_EXP__ (-1021)"__DBL_MIN_10_EXP__ (-307)#__DBL_MAX_EXP__ 1024$__DBL_MAX_10_EXP__ 308%__DBL_MAX__ 1.7976931348623157e+308&__DBL_MIN__ 2.2250738585072014e-308'__DBL_EPSILON__ 2.2204460492503131e-16(__DBL_DENORM_MIN__ 4.9406564584124654e-324)__DBL_HAS_INFINITY__ 1*__DBL_HAS_QUIET_NAN__ 1+__LDBL_MANT_DIG__ 53,__LDBL_DIG__ 15-__LDBL_MIN_EXP__ (-16381).__LDBL_MIN_10_EXP__ (-4931)/__LDBL_MAX_EXP__ 163840__LDBL_MAX_10_EXP__ 49321__DECIMAL_DIG__ 172__LDBL_MAX__ 1.1897314953572316e+4932L3__LDBL_MIN__ 3.3621031431120935e-4932L4__LDBL_EPSILON__ 2.2204460492503131e-16L5__LDBL_DENORM_MIN__ 7.4653686412953080e-4948L6__LDBL_HAS_INFINITY__ 17__LDBL_HAS_QUIET_NAN__ 18__REGISTER_PREFIX__ 9__USER_LABEL_PREFIX__ :__VERSION__ "3.4.6 [FreeBSD] 20060305";__OPTIMIZE__ 1<__FINITE_MATH_ONLY__ 0=__STRICT_ANSI__ 1@__i386 1A__i386__ 1B__tune_i386__ 1C__FreeBSD__ 6D__unix 1E__unix__ 1F__KPRINTF_ATTRIBUTE__ 1J__FreeBSD_cc_version 602001K__ELF__ 1_REENTRANT 1CONFIG_PROD_DYLAN 1CONFIG_VAR_HI 1NDEBUG 1 tract_h  mpmtypes_h config_h !CONFIG_DEBUG "CHECK_DEFAULT CheckNONE6CHECK_NONE 7MPS_ASSERT_STRING "nonasserted"?EVENT_NONE @MPS_LOG_STRING "nonlogging"EDIAGNOSTICS FMPS_DEBUG_STRING "debug"LMPS_VARIETY_STRING MPS_ASSERT_STRING "." MPS_LOG_STRING "." MPS_DEBUG_STRINGRmpstd_h MPS_PF_FRI4GC MPS_PF_STRING "fri4gc"MPS_OS_FR MPS_ARCH_I4 MPS_BUILD_GC MPS_T_WORD unsigned longMPS_WORD_WIDTH 32MPS_WORD_SHIFT 5MPS_PF_ALIGN 4EPVMDefaultSubsequentSegSIZE (64ul * 1024)ARENA_CONTROL_EXTENDBY ((Size)4096)ARENA_CONTROL_AVGSIZE ((Size)32)ARENA_CONTROL_MAXSIZE ((Size)65536)ArenaPollALLOCTIME (65536.0)ARENA_ZONESHIFT ((Shift)20)ARENA_CLIENT_PAGE_SIZE ((Size)8192)ArenaDefaultZONESET (ZoneSetUNIV << (MPS_WORD_WIDTH / 2))SegPrefDEFAULT { SegPrefSig, TRUE, ArenaDefaultZONESET, FALSE, FALSE, (Serial)0, }LDHistoryLENGTH ((Size)4)StackProbeDEPTH ((Size)0)ShieldCacheSIZE ((size_t)16)ShieldDepthWIDTH (4)VMANPageALIGNMENT ((Align)4096)VMJunkBYTE ((unsigned char)0xA9)TraceLIMIT ((size_t)1)TraceCopyScanRATIO (1.5)RememberedSummaryBLOCK 15EventBufferSIZE ((size_t)4096)EventStringLengthMAX ((size_t)255)ASSERT_BUFFER_SIZE ((Size)512)MPS_PROD_STRING "dylan"MPS_PROD_DYLAN ARENA_INIT_SPARE_COMMIT_LIMIT ((Size)10uL*1024uL*1024uL)THREAD_MULTI PROTECTION DONGLE_NONE PROD_CHECK_DEFAULT CheckSHALLOWARENA_SIZE ((Size)1<<30)misc_h '_STDDEF_H_ )%_SYS_CDEFS_H_ +__BEGIN_DECLS ,__END_DECLS 8__GNUCLIKE_ASM 39__GNUCLIKE_MATH_BUILTIN_CONSTANTS =__GNUCLIKE___TYPEOF 1>__GNUCLIKE___OFFSETOF 1?__GNUCLIKE___SECTION 1A__GNUCLIKE_ATTRIBUTE_MODE_DI 1D__GNUCLIKE_CTOR_SECTION_HANDLING 1G__GNUCLIKE_BUILTIN_CONSTANT_P 1N__GNUCLIKE_BUILTIN_VARARGS 1O__GNUCLIKE_BUILTIN_STDARG 1P__GNUCLIKE_BUILTIN_VAALIST 1T__GNUC_VA_LIST_COMPATIBILITY 1X__GNUCLIKE_BUILTIN_NEXT_ARG 1Y__GNUCLIKE_MATH_BUILTIN_RELOPS \__GNUCLIKE_BUILTIN_MEMCPY 1___CC_SUPPORTS_INLINE 1`__CC_SUPPORTS___INLINE 1a__CC_SUPPORTS___INLINE__ 1c__CC_SUPPORTS___FUNC__ 1d__CC_SUPPORTS_WARNING 1f__CC_SUPPORTS_VARADIC_XXX 1h__CC_SUPPORTS_DYNAMIC_ARRAY_INIT 1k__CC_INT_IS_32BIT 1s__GNUC_PREREQ__(ma,mi) (__GNUC__ > (ma) || __GNUC__ == (ma) && __GNUC_MINOR__ >= (mi))__P(protos) protos__CONCAT1(x,y) x ## y__CONCAT(x,y) __CONCAT1(x,y)__STRING(x) #x__XSTRING(x) __STRING(x)__const const__signed signed__volatile volatile__dead2 __attribute__((__noreturn__))__pure2 __attribute__((__const__))__unused __attribute__((__unused__))__used __attribute__((__used__))__packed __attribute__((__packed__))__aligned(x) __attribute__((__aligned__(x)))__section(x) __attribute__((__section__(x)))__pure __attribute__((__pure__))__always_inline __attribute__((__always_inline__))__nonnull(x) __attribute__((__nonnull__(x)))__restrict __predict_true(exp) __builtin_expect((exp), 1)__predict_false(exp) __builtin_expect((exp), 0)__offsetof(type,field) ((size_t)(&((type *)0)->field))__rangeof(type,start,end) (__offsetof(type, end) - __offsetof(type, start))__printflike(fmtarg,firstvararg) __attribute__((__format__ (__printf__, fmtarg, firstvararg)))__scanflike(fmtarg,firstvararg) __attribute__((__format__ (__scanf__, fmtarg, firstvararg)))__format_arg(fmtarg) __attribute__((__format_arg__ (fmtarg)))__printf0like(fmtarg,firstvararg) __attribute__((__format__ (__printf0__, fmtarg, firstvararg)))__strong_reference(sym,aliassym) extern __typeof (sym) aliassym __attribute__ ((__alias__ (#sym)));__weak_reference(sym,alias) __asm__(".weak " #alias); __asm__(".equ " #alias ", " #sym)__warn_references(sym,msg) __asm__(".section .gnu.warning." #sym); __asm__(".asciz \"" msg "\""); __asm__(".previous")__IDSTRING(name,string) __asm__(".ident\t\"" string "\"")__FBSDID(s) __IDSTRING(__CONCAT(__rcsid_,__LINE__),s)__RCSID(s) __IDSTRING(__CONCAT(__rcsid_,__LINE__),s)__RCSID_SOURCE(s) __IDSTRING(__CONCAT(__rcsid_source_,__LINE__),s)__SCCSID(s) __IDSTRING(__CONCAT(__sccsid_,__LINE__),s)__COPYRIGHT(s) __IDSTRING(__CONCAT(__copyright_,__LINE__),s)__DECONST(type,var) ((type)(uintptr_t)(const void *)(var))__DEVOLATILE(type,var) ((type)(uintptr_t)(volatile void *)(var))__DEQUALIFY(type,var) ((type)(uintptr_t)(const volatile void *)(var))__POSIX_VISIBLE 200112__XSI_VISIBLE 600__BSD_VISIBLE 1__ISO_C_VISIBLE 1999* NULL ((void *)0)+ _SYS__TYPES_H_ ! (_MACHINE__TYPES_H_ .__NO_STRICT_ALIGNMENT __GNUC_VA_LIST 2_RUNE_T_DECLARED 8_SIZE_T_DECLARED >_WCHAR_T_DECLARED Boffsetof(type,member) __offsetof(type, member)*SRCID(id,scmid) static SrcIdStruct FileSrcIdStruct = {__FILE__, (scmid), __DATE__, __TIME__}; SrcId id ## SrcId = &FileSrcIdStruct;BEGIN do {> (i)) & 1)BS_UNION(s1,s2) ((s1) | (s2))BS_ADD(ty,s,i) BS_UNION((s), BS_SINGLE(ty, (i)))BS_INTER(s1,s2) ((s1) & (s2))BS_DIFF(s1,s2) BS_INTER((s1), BS_COMP(s2))BS_DEL(ty,s,i) BS_DIFF((s), BS_SINGLE(ty, (i)))BS_SUPER(s1,s2) (BS_INTER((s1), (s2)) == (s2))BS_SUB(s1,s2) BS_SUPER((s2), (s1))BS_IS_SINGLE(s) (((s) & ((s)-1)) == 0)BS_SYM_DIFF(s1,s2) ((s1) ^ (s2)) mpslib_h mps_lib_EOF (mps_lib_get_EOF())mps_lib_stderr (mps_lib_get_stderr())mps_lib_stdout (mps_lib_get_stdout()) '_MACHINE_STDARG_H_ -_VA_LIST_DECLARED 3va_start(ap,last) __builtin_stdarg_start((ap), (last))6va_arg(ap,type) __builtin_va_arg((ap), type):va_copy(dest,src) __builtin_va_copy((dest), (src))>va_end(ap) __builtin_va_end(ap)SigInvalid ((Sig)0x51915BAD)SizeMAX ((Size)-1)AccessSetEMPTY ((AccessSet)0)AccessREAD ((AccessSet)(1<<0))AccessWRITE ((AccessSet)(1<<1))AccessSetWIDTH (2)RefSetEMPTY BS_EMPTY(RefSet)RefSetUNIV BS_UNIV(RefSet)ZoneSetEMPTY BS_EMPTY(ZoneSet)ZoneSetUNIV BS_UNIV(ZoneSet)TraceSetEMPTY BS_EMPTY(TraceSet)TraceSetUNIV ((TraceSet)((1u << TraceLIMIT) - 1))RankSetEMPTY BS_EMPTY(RankSet)RankSetUNIV ((RankSet)((1u << RankLIMIT) - 1))AttrFMT ((Attr)(1<<0))AttrSCAN ((Attr)(1<<1))AttrPM_NO_READ ((Attr)(1<<2))AttrPM_NO_WRITE ((Attr)(1<<3))AttrALLOC ((Attr)(1<<4))AttrFREE ((Attr)(1<<5))AttrBUF ((Attr)(1<<6))AttrBUF_RESERVE ((Attr)(1<<7))AttrBUF_ALLOC ((Attr)(1<<8))AttrGC ((Attr)(1<<9))AttrINCR_RB ((Attr)(1<<10))AttrINCR_WB ((Attr)(1<<11))AttrMOVINGGC ((Attr)(1<<12))AttrMASK (AttrFMT | AttrSCAN | AttrPM_NO_READ | AttrPM_NO_WRITE | AttrALLOC | AttrFREE | AttrBUF | AttrBUF_RESERVE | AttrBUF_ALLOC | AttrGC | AttrINCR_RB | AttrINCR_WB | AttrMOVINGGC)BufferModeATTACHED ((BufferMode)(1<<0))BufferModeFLIPPED ((BufferMode)(1<<1))BufferModeLOGGED ((BufferMode)(1<<2))BufferModeTRANSITION ((BufferMode)(1<<3))RootModeCONSTANT ((RootMode)1<<0)RootModePROTECTABLE ((RootMode)1<<1)RootModePROTECTABLE_INNER ((RootMode)1<<2)STATISTIC_DECL(field) field  ring_h  check_h 0AVER(cond) DISCARD(cond)1AVERT(type,val) DISCARD(type ## Check(val))2AVER_CRITICAL(cond) DISCARD(cond)3AVERT_CRITICAL(type,val) DISCARD(type ## Check(val))MASSERT(cond,condstring) BEGIN if (cond) NOOP; else mps_lib_assert_fail(condstring "\n" __FILE__ "\n" STR(__LINE__)); END_NOTREACHED NOOPjCHECKT(type,val) ((val) != NULL && (val)->sig == type ## Sig)pCHECKS(type,val) DISCARD(CHECKT(type, val))qCHECKL(cond) DISCARD(cond)rCHECKD(type,val) DISCARD(CHECKT(type, val))sCHECKD_NOSIG(type,val) DISCARD((val) != NULL)tCHECKU(type,val) DISCARD(CHECKT(type, val))uCHECKU_NOSIG(type,val) DISCARD((val) != NULL)CHECKLVALUE(lv1,lv2) ((void)sizeof((lv1) = (lv2)), (void)sizeof((lv2) = (lv1)), TRUE)CHECKTYPE(t1,t2) (sizeof(t1) == sizeof(t2) && CHECKLVALUE(*((t1 *)0), *((t2 *)0)))CHECKFIELDAPPROX(s1,f1,s2,f2) (sizeof(((s1 *)0)->f1) == sizeof(((s2 *)0)->f2) && offsetof(s1, f1) == offsetof(s2, f2))CHECKFIELD(s1,f1,s2,f2) (CHECKFIELDAPPROX(s1, f1, s2, f2) && CHECKLVALUE(((s1 *)0)->f1, ((s2 *)0)->f2))RingNONE ((Ring)0)$RingInit(ring) BEGIN Ring _ring = (ring); AVER(_ring != NULL); _ring->next = _ring; _ring->prev = _ring; AVER(RingCheck(_ring)); END/RingFinish(ring) BEGIN Ring _ring = (ring); AVER(RingCheckSingle(_ring)); _ring->next = RingNONE; _ring->prev = RingNONE; END9RingAppend(ring,new) BEGIN Ring _ring = (ring), _new = (new); AVER(RingCheck(_ring)); AVER(RingCheckSingle(_new)); _new->prev = _ring->prev; _new->next = _ring; _ring->prev->next = _new; _ring->prev = _new; ENDFRingInsert(ring,new) BEGIN Ring _ring = (ring), _new = (new); AVER(RingCheck(_ring)); AVER(RingCheckSingle(_new)); _new->prev = _ring; _new->next = _ring->next; _ring->next->prev = _new; _ring->next = _new; ENDSRingRemove(old) BEGIN Ring _old = (old); AVER(RingCheck(_old)); AVER(!RingIsSingle(_old)); _old->next->prev = _old->prev; _old->prev->next = _old->next; _old->next = _old; _old->prev = _old; END`RingNext(ring) ((ring)->next)dRingPrev(ring) ((ring)->prev)gRING_ELT(type,field,node) ((type)(void *)((char *)(node) - (size_t)(&((type)0)->field)))kRING_FOR(node,ring,next) for(node = RingNext(ring), next = RingNext(node); node != (ring); node = (next), next = RingNext(node))  bt_h BTSize(n) (((n) + MPS_WORD_WIDTH-1) / MPS_WORD_WIDTH * sizeof(Word))BTGet(a,i) ((Bool)(((a)[((i) >> MPS_WORD_SHIFT)] >> ((i) & ~((Word)-1 << MPS_WORD_SHIFT))) & (Word)1))BTSet(a,i) BEGIN (a)[((i)>>MPS_WORD_SHIFT)] |= (Word)1<<((i)&~((Word)-1<>MPS_WORD_SHIFT)] &= ~((Word)1 << ((i) & ~((Word)-1<base)&TractPool(tract) ((tract)->pool)'TractP(tract) ((tract)->p)(TractSetP(tract,pp) ((void)((tract)->p = (pp))))TractHasSeg(tract) ((Bool)(tract)->hasSeg)*TractSetHasSeg(tract,b) ((void)((tract)->hasSeg = (b)))+TractWhite(tract) ((tract)->white),TractSetWhite(tract,w) ((void)((tract)->white = (w)))8TRACT_SEG(segReturn,tract) (TractHasSeg(tract) && ((*(segReturn) = (Seg)TractP(tract)), TRUE));TRACT_SET_SEG(tract,seg) (TractSetHasSeg(tract, TRUE), TractSetP(tract, seg))>TRACT_UNSET_SEG(tract) (TractSetHasSeg(tract, FALSE), TractSetP(tract, NULL))nPageTract(page) (&(page)->the.tractStruct)rPageOfTract(tract) PARENT(PageStruct, the.tractStruct, (tract))vPagePool(page) ((page)->the.rest.pool)}PageIsAllocated(page) ((page)->the.rest.pool != NULL)PageType(page) ((page)->the.rest.type)ChunkSig ((Sig)0x519C804C)ChunkArena(chunk) ((chunk)->arena)ChunkPageSize(chunk) ((chunk)->pageSize)ChunkPageShift(chunk) ((chunk)->pageShift)ChunkPagesToSize(chunk,pages) ((Size)(pages) << (chunk)->pageShift)ChunkSizeToPages(chunk,size) ((Count)((size) >> (chunk)->pageShift))CHUNK_OF_ADDR(chunkReturn,arena,addr) (((arena)->chunkCache.base <= (addr) && (addr) < (arena)->chunkCache.limit) ? (*(chunkReturn) = (arena)->chunkCache.chunk, TRUE) : ChunkOfAddr(chunkReturn, arena, addr))AddrPageBase(chunk,addr) AddrAlignDown((addr), ChunkPageSize(chunk))TRACT_OF_ADDR(tractReturn,arena,addr) BEGIN Arena _arena = (arena); Addr _addr = (addr); Chunk _chunk; Index _i; if (CHUNK_OF_ADDR(&_chunk, _arena, _addr)) { _i = INDEX_OF_ADDR(_chunk, _addr); if (BTGet(_chunk->allocTable, _i)) *(tractReturn) = PageTract(&_chunk->pageTable[_i]); else *(tractReturn) = NULL; } else *(tractReturn) = NULL; ENDINDEX_OF_ADDR(chunk,addr) ((Index)ChunkSizeToPages(chunk, AddrOffset((chunk)->base, addr)))PageIndexBase(chunk,i) AddrAdd((chunk)->base, ChunkPagesToSize(chunk, i))TractAverContiguousRange(arena,rangeBase,rangeLimit) BEGIN Chunk _ch = NULL; UNUSED(_ch); AVER(ChunkOfAddr(&_ch, arena, rangeBase) && (rangeLimit) <= _ch->limit); ENDTRACT_TRACT_FOR(tract,addr,arena,firstTract,limit) tract = (firstTract); addr = TractBase(tract); TractAverContiguousRange(arena, addr, limit); for(; tract != NULL; (addr = AddrAdd(addr, (arena)->alignment)), (addr < (limit) ? (tract = PageTract(PageOfTract(tract) + 1)) : (tract = NULL) ))TRACT_FOR(tract,addr,arena,base,limit) TRACT_TRACT_FOR(tract, addr, arena, TractOfBaseAddr(arena, base), limit) *poolmv_h 5MV2Pool(mv) (&(mv)->poolStruct)  mpm_h event_h  eventcom_h !EventNameMAX ((size_t)19)"EventCodeMAX ((EventCode)0x0069)&EVENT_0(type) NOOPEVENT_A(type,p0) NOOPEVENT_AW(type,p0,p1) NOOPEVENT_P(type,p0) NOOPEVENT_PAA(type,p0,p1,p2) NOOPEVENT_PAW(type,p0,p1,p2) NOOPEVENT_PAWA(type,p0,p1,p2,p3) NOOPEVENT_PDDWWW(type,p0,p1,p2,p3,p4,p5) NOOPEVENT_PP(type,p0,p1) NOOPEVENT_PPAU(type,p0,p1,p2,p3) NOOPEVENT_PPAWP(type,p0,p1,p2,p3,p4) NOOPEVENT_PPP(type,p0,p1,p2) NOOPEVENT_PPPA(type,p0,p1,p2,p3) NOOPEVENT_PPPU(type,p0,p1,p2,p3) NOOPEVENT_PPPUU(type,p0,p1,p2,p3,p4) NOOPEVENT_PPU(type,p0,p1,p2) NOOPEVENT_PPUU(type,p0,p1,p2,p3) NOOPEVENT_PPUWWW(type,p0,p1,p2,p3,p4,p5) NOOPEVENT_PPWW(type,p0,p1,p2,p3) NOOPEVENT_PPWWW(type,p0,p1,p2,p3,p4) NOOPEVENT_PPWWWUUU(type,p0,p1,p2,p3,p4,p5,p6,p7) NOOPEVENT_PU(type,p0,p1) NOOPEVENT_PW(type,p0,p1) NOOPEVENT_PWA(type,p0,p1,p2) NOOPEVENT_PWAW(type,p0,p1,p2,p3) NOOPEVENT_PWP(type,p0,p1,p2) NOOPEVENT_PWU(type,p0,p1,p2) NOOPEVENT_PWW(type,p0,p1,p2) NOOPEVENT_PWWWWDD(type,p0,p1,p2,p3,p4,p5,p6) NOOPEVENT_PWWWWW(type,p0,p1,p2,p3,p4,p5) NOOPEVENT_PWWWWWWWWW(type,p0,p1,p2,p3,p4,p5,p6,p7,p8,p9) NOOPEVENT_PWWWWWWWWWWWW(type,p0,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11,p12) NOOPEVENT_UUPA(type,p0,p1,p2,p3) NOOPEVENT_UUPP(type,p0,p1,p2,p3) NOOPEVENT_UUPPP(type,p0,p1,p2,p3,p4) NOOPEVENT_WS(type,p0,p1,l1) NOOP:EventEventTime ((EventType)0xEF213E99);EventPoolInit ((EventType)0xEFB07141)EventPoolFree ((EventType)0xEFB07F6E)?EventArenaCreateVM ((EventType)0xEFA64CF3)@EventArenaCreateVMNZ ((EventType)0xEFA64CF2)AEventArenaCreateCL ((EventType)0xEFA64CC7)BEventArenaDestroy ((EventType)0xEFA64DE5)CEventArenaAlloc ((EventType)0xEFA64A77)DEventArenaFree ((EventType)0xEFA64F6E)EEventSegAlloc ((EventType)0xEF5E9A77)FEventSegFree ((EventType)0xEF5E9F6E)GEventSegMerge ((EventType)0xEF5E93E6)HEventSegSplit ((EventType)0xEF5E95B7)IEventAMCGenCreate ((EventType)0xEFA3C94C)JEventAMCGenDestroy ((EventType)0xEFA3C94D)KEventAMCInit ((EventType)0xEFA3C141)LEventAMCFinish ((EventType)0xEFA3CF14)MEventAMCTraceBegin ((EventType)0xEFA3C26B)NEventAMCScanBegin ((EventType)0xEFA3C5CB)OEventAMCScanEnd ((EventType)0xEFA3C5CE)PEventAMCFix ((EventType)0xEFA3CF18)QEventAMCFixInPlace ((EventType)0xEFA3CF8A)REventAMCFixForward ((EventType)0xEFA3CF8F)SEventAMCReclaim ((EventType)0xEFA3C6EC)TEventTraceStart ((EventType)0xEF26AC52)UEventTraceCreate ((EventType)0xEF26ACC6)VEventTraceDestroy ((EventType)0xEF26ACDE)WEventSegSetGrey ((EventType)0xEF59596A)XEventTraceFlipBegin ((EventType)0xEF26AF7B)YEventTraceFlipEnd ((EventType)0xEF26AF7E)ZEventTraceReclaim ((EventType)0xEF26A6EC)[EventTraceScanSeg ((EventType)0xEF26A559)\EventTraceScanSingleRef ((EventType)0xEF26A556)^EventTraceAccess ((EventType)0xEF26AACC)_EventTracePoll ((EventType)0xEF26AB01)`EventTraceStep ((EventType)0xEF26A52B)aEventTraceFix ((EventType)0xEF26AF18)bEventTraceFixSeg ((EventType)0xEF26AF85)cEventTraceFixWhite ((EventType)0xEF26AF83)dEventTraceScanArea ((EventType)0xEF26A5CA)eEventTraceScanAreaTagged ((EventType)0xEF26A5C2)fEventVMCreate ((EventType)0xEFF3C6EA)gEventVMDestroy ((EventType)0xEFF3DE52)hEventVMMap ((EventType)0xEFF33AB9)iEventVMUnmap ((EventType)0xEFF3043B)jEventIntern ((EventType)0xEF142E64)kEventArenaExtend ((EventType)0xEFA64E82)lEventArenaRetract ((EventType)0xEFA646E2)mEventRootScan ((EventType)0xEF625CA4)nEventLabel ((EventType)0xEF7ABE79)oEventTraceSegGreyen ((EventType)0xEF26A599)pEventBufferReserve ((EventType)0xEFB0FF6E)qEventBufferCommit ((EventType)0xEFB0FFC0)rEventBufferInit ((EventType)0xEFB0FF14)sEventBufferInitSeg ((EventType)0xEFB0F15E)tEventBufferInitRank ((EventType)0xEFB0F16A)uEventBufferInitEPVM ((EventType)0xEFB0F1EF)vEventBufferFinish ((EventType)0xEFB0FFF1)wEventBufferFill ((EventType)0xEFB0FFF7)xEventBufferEmpty ((EventType)0xEFB0FFE3)yEventArenaAllocFail ((EventType)0xEFA64A7F)zEventSegAllocFail ((EventType)0xEF5E9A7F){EventMeterInit ((EventType)0xEF3E2141)|EventMeterValues ((EventType)0xEF3E2FA7)}EventCBSInit ((EventType)0xEFCB5141)~EventTraceStatCondemn ((EventType)0xEF26A5C0)EventTraceStatScan ((EventType)0xEF26A55C)EventTraceStatFix ((EventType)0xEF26A5F8)EventTraceStatReclaim ((EventType)0xEF26A56E)EventArenaWriteFaults ((EventType)0xEFA6436F)EventPoolInitMV ((EventType)0xEFB0713F)EventPoolInitMVFF ((EventType)0xEFB071FF)EventPoolInitMFS ((EventType)0xEFB07135)EventPoolInitEPVM ((EventType)0xEFB071EF)EventPoolInitEPDL ((EventType)0xEFB071E7)EventPoolInitAMS ((EventType)0xEFB071A5)EventPoolInitAMC ((EventType)0xEFB071AC)EventPoolInitAMCZ ((EventType)0xEFB071A2)EventPoolInitAWL ((EventType)0xEFB071A3)EventPoolInitLO ((EventType)0xEFB07170)EventPoolInitSNC ((EventType)0xEFB07154)EventPoolInitMVT ((EventType)0xEFB07132)EventPoolPush ((EventType)0xEFB07B58)EventPoolPop ((EventType)0xEFB07B0B)EventReservoirLimitSet ((EventType)0xEF6E5713)EventCommitLimitSet ((EventType)0xEFC03713)EventSpareCommitLimitSet ((EventType)0xEF5BC713)hEventInit() NOOPiEventFinish() NOOPjEventControl(r,f) (UNUSED(r), UNUSED(f), (Word)0)kEventInternString(s) (UNUSED(s), (Word)0)lEventInternGenString(l,s) (UNUSED(l), UNUSED(s), (Word)0)mEventLabelAddr(a,i) BEGIN UNUSED(a); UNUSED(i); ENDPlock_h ULockSig ((Sig)0x51970CC9) th_h ThreadSig ((Sig)0x519286ED) ss_h mpmst_h protocol_h DERIVE_LOCAL(name) protocol ## nameDERIVE_STRUCT(name) name ## StructDERIVE_ENSURE(name) name ## GetDERIVE_ENSURE_OLD(name) Ensure ## nameDERIVE_ENSURE_INTERNAL(name) protocolGet ## nameDERIVE_GUARDIAN(name) protocol ## name ## GuardianDERIVE_STATIC_STORAGE(name) protocol ## name ## StructProtocolClassSetSuperclassPoly(class,super) (((ProtocolClass)(class))->superclass) = (ProtocolClass)(super)$DEFINE_CLASS(className,var) static Bool DERIVE_GUARDIAN(className) = FALSE; static DERIVE_STRUCT(className) DERIVE_STATIC_STORAGE(className); static void DERIVE_ENSURE_INTERNAL(className)(className); extern className DERIVE_ENSURE(className)(void); className DERIVE_ENSURE(className)(void) { if (DERIVE_GUARDIAN(className) == FALSE) { LockClaimGlobalRecursive(); if (DERIVE_GUARDIAN(className) == FALSE) { DERIVE_ENSURE_INTERNAL(className) (&DERIVE_STATIC_STORAGE(className)); DERIVE_GUARDIAN(className) = TRUE; } LockReleaseGlobalRecursive(); } return &DERIVE_STATIC_STORAGE(className); } extern className DERIVE_ENSURE_OLD(className)(void); className DERIVE_ENSURE_OLD(className)(void) { return DERIVE_ENSURE(className)(); } static void DERIVE_ENSURE_INTERNAL(className) (className var)AINHERIT_CLASS(this,parentName) BEGIN parentName DERIVE_LOCAL(parentName) = DERIVE_ENSURE(parentName)(); *this = *(DERIVE_LOCAL(parentName)); ProtocolClassSetSuperclassPoly(this, DERIVE_LOCAL(parentName)); ENDODEFINE_ALIAS_CLASS(className,typeName,var) typedef typeName className; typedef DERIVE_STRUCT(typeName) DERIVE_STRUCT(className); DEFINE_CLASS(className, var)VProtocolClassSig ((Sig)0x519B60C7)WProtocolInstSig ((Sig)0x519B6014)ProtocolClassSuperclassPoly(class) (((ProtocolClass)(class))->superclass)ClassOfPoly(inst) ((ProtocolInst)(inst)->class)IsSubclassPoly(sub,super) ProtocolIsSubclass((ProtocolClass)(sub), (ProtocolClass)(super))SUPERCLASS(className) ProtocolClassSuperclassPoly(DERIVE_ENSURE(className)())chain_h GenDescSig ((Sig)0x5199E4DE)+PoolGenSig ((Sig)0x519B009E);ChainSig ((Sig)0x519C8A14)XPoolGenNr(gen) ((gen)->nr)/PoolClassSig ((Sig)0x519C7A55)]PoolSig ((Sig)0x519B0019)}MFSSig ((Sig)0x5193F599)MVSig ((Sig)0x5193B999)ReservoirSig ((Sig)0x5196e599)MessageClassSig ((Sig)0x519359c1)MessageSig ((Sig)0x5193e559)SegClassSig ((Sig)0x5195E9C7)SegSig ((Sig)0x5195E999)GCSegSig ((Sig)0x5199C5E9)SegPrefSig ((Sig)0x5195E9B6)BufferClassSig ((Sig)0x519B0FC7)BufferSig ((Sig)0x519B0FFE)SegBufSig ((Sig)0x51959B0F)FormatSig ((Sig)0x519F63A2)ScanStateSig ((Sig)0x5195CA45)TraceSig ((Sig)0x51924ACE)ChunkCacheEntrySig ((Sig)0x519C80CE)ArenaClassSig ((Sig)0x519A6C1A)GlobalsSig ((Sig)0x519970BA)ArenaSig ((Sig)0x519A6E4A)%BoolCheck(b) ((unsigned)(b) <= 1)(FUNCHECK(f) (FunCheck((Fun)f))4WordIsAligned(w,a) (((w) & ((a) - 1)) == 0)7WordAlignUp(w,a) (((w) + (a) - 1) & ~((Word)(a) - 1));WordRoundUp(w,r) (((w)+(r)-1) - ((w)+(r)-1)%(r))>WordAlignDown(w,a) ((w) & ~((Word)(a) - 1))@size_tAlignUp(s,a) ((size_t)WordAlignUp((Word)(s), a))BPointerAdd(p,s) ((void *)((char *)(p) + (s)))CPointerSub(p,s) ((void *)((char *)(p) - (s)))EPointerOffset(base,limit) ((size_t)((char *)(limit) - (char *)(base)))HPointerAlignUp(p,s) ((void *)WordAlignUp((Word)(p), (Align)(s)))KAddrAdd(p,s) ((Addr)PointerAdd((void *)(p), s))LAddrSub(p,s) ((Addr)PointerSub((void *)(p), s))NAddrOffset(b,l) ((Size)(PointerOffset((void *)(b), (void *)(l))))RAddrAlignDown(p,a) ((Addr)WordAlignDown((Word)(p), a))TAlignWord(s) ((Word)(s))VAddrIsAligned(p,a) WordIsAligned((Word)(p), a)WAddrAlignUp(p,a) ((Addr)WordAlignUp((Word)(p), a))YSizeIsAligned(s,a) WordIsAligned((Word)(s), a)ZSizeAlignUp(s,a) ((Size)WordAlignUp((Word)(s), a))[SizeAlignDown(s,a) ((Size)WordAlignDown((Word)(s), a))]SizeRoundUp(s,r) ((Size)WordRoundUp((Word)(s), (Size)(r)))_IndexIsAligned(s,a) WordIsAligned((Word)(s), a)`IndexAlignUp(s,a) ((Index)WordAlignUp((Word)(s), a))aIndexAlignDown(s,a) ((Index)WordAlignDown((Word)(s), a))cAlignIsAligned(a1,a2) WordIsAligned((Word)(a1), a2)iAddrSet(target,value,size) mps_lib_memset(target, (int)(value), size)mAddrCopy(target,source,size) mps_lib_memcpy(target, source, size)qAddrComp(a,b,size) mps_lib_memcmp(a, b, size)wADDR_PTR(type,addr) ((type *)(addr))PoolArena(pool) ((pool)->arena)PoolAlignment(pool) ((pool)->alignment)PoolSegRing(pool) (&(pool)->segRing)PoolFix(pool,ss,seg,refIO) ((*(pool)->fix)(pool, ss, seg, refIO))ClassOfPool(pool) ((pool)->class)SuperclassOfPool(pool) ((PoolClass)ProtocolClassSuperclassPoly((pool)->class))DEFINE_POOL_CLASS(className,var) DEFINE_ALIAS_CLASS(className, PoolClass, var)POOL_SUPERCLASS(className) ((PoolClass)SUPERCLASS(className))TraceSetSingle(trace) BS_SINGLE(TraceSet, (trace)->ti)TraceSetIsSingle(ts) BS_IS_SINGLE(ts)TraceSetIsMember(ts,trace) BS_IS_MEMBER(ts, (trace)->ti)TraceSetAdd(ts,trace) BS_ADD(TraceSet, ts, (trace)->ti)TraceSetDel(ts,trace) BS_DEL(TraceSet, ts, (trace)->ti)TraceSetUnion(ts1,ts2) BS_UNION(ts1, ts2)TraceSetInter(ts1,ts2) BS_INTER(ts1, ts2)TraceSetDiff(ts1,ts2) BS_DIFF(ts1, ts2)TraceSetSuper(ts1,ts2) BS_SUPER(ts1, ts2)TraceSetSub(ts1,ts2) BS_SUB(ts1, ts2)TraceSetComp(ts) BS_COMP(ts)TRACE_SET_ITER(ti,trace,ts,arena) for(ti = 0, trace = ArenaTrace(arena, ti); ti < TraceLIMIT; ++ti, trace = ArenaTrace(arena, ti)) BEGIN if (TraceSetIsMember(ts, trace)) {TRACE_SET_ITER_END(ti,trace,ts,arena) } ENDTRACE_SCAN_BEGIN(ss) BEGIN Shift SCANzoneShift = (ss)->zoneShift; ZoneSet SCANwhite = (ss)->white; RefSet SCANsummary = (ss)->unfixedSummary; Word SCANt; {TRACE_FIX1(ss,ref) (SCANt = (Word)1 << ((Word)(ref) >> SCANzoneShift & (MPS_WORD_WIDTH-1)), SCANsummary |= SCANt, SCANwhite & SCANt)TRACE_FIX2(ss,refIO) ((*(ss)->fix)(ss, refIO))TRACE_FIX(ss,refIO) (TRACE_FIX1(ss, *(refIO)) ? TRACE_FIX2(ss, refIO) : ResOK)TRACE_SCAN_END(ss) } (ss)->unfixedSummary = SCANsummary; ENDDEFINE_ARENA_CLASS(className,var) DEFINE_ALIAS_CLASS(className, ArenaClass, var)ARENA_SUPERCLASS(className) ((ArenaClass)SUPERCLASS(className))ArenaGlobals(arena) (&(arena)->globals)GlobalsArena(glob) PARENT(ArenaStruct, globals, glob)ArenaRootRing(arena) (&(arena)->rootRing)ArenaTraceRing(arena) (&(arena)->traceRing)ArenaThreadRing(arena) (&(arena)->threadRing)ArenaEpoch(arena) ((arena)->epoch)ArenaTrace(arena,ti) (&(arena)->trace[ti])ArenaZoneShift(arena) ((arena)->zoneShift)ArenaAlign(arena) ((arena)->alignment)ArenaGreyRing(arena,rank) (&(arena)->greyRing[rank])ArenaReservoir(arena) (&(arena)->reservoirStruct)DEFINE_SEG_CLASS(className,var) DEFINE_ALIAS_CLASS(className, SegClass, var)SEG_SUPERCLASS(className) ((SegClass)SUPERCLASS(className))ClassOfSeg(seg) ((seg)->class)SegBase(seg) (TractBase((seg)->firstTract))SegLimit(seg) ((seg)->limit)SegPool(seg) (TractPool((seg)->firstTract))SegRankSet(seg) ((RankSet)(seg)->rankSet)SegPM(seg) ((AccessSet)(seg)->pm)SegSM(seg) ((AccessSet)(seg)->sm)SegDepth(seg) ((unsigned)(seg)->depth)SegGrey(seg) ((TraceSet)(seg)->grey)SegWhite(seg) ((TraceSet)(seg)->white)SegNailed(seg) ((TraceSet)(seg)->nailed)SegOfPoolRing(node) (RING_ELT(Seg, poolRing, (node)))SegOfGreyRing(node) (&(RING_ELT(GCSeg, greyRing, (node)) ->segStruct))SegSummary(seg) (((GCSeg)(seg))->summary)SegSetPM(seg,mode) ((void)((seg)->pm = (mode)))SegSetSM(seg,mode) ((void)((seg)->sm = (mode)))SegSetDepth(seg,d) ((void)((seg)->depth = (d)))SegSetNailed(seg,ts) ((void)((seg)->nailed = (ts)))BUFFER_RESERVE(pReturn,buffer,size,withReservoirPermit) (AddrAdd(BufferAlloc(buffer), size) > BufferAlloc(buffer) && AddrAdd(BufferAlloc(buffer), size) <= BufferAP(buffer)->limit ? (*(pReturn) = BufferAlloc(buffer), BufferAP(buffer)->alloc = AddrAdd(BufferAlloc(buffer), size), ResOK) : BufferFill(pReturn, buffer, size, withReservoirPermit))BUFFER_COMMIT(buffer,p,size) (BufferAP(buffer)->init = BufferAlloc(buffer), BufferAP(buffer)->limit != 0 || BufferTrip(buffer, p, size))BufferAP(buffer) (&(buffer)->apStruct)BufferOfAP(ap) PARENT(BufferStruct, apStruct, ap)BufferArena(buffer) ((buffer)->arena)BufferPool(buffer) ((buffer)->pool)BufferBase(buffer) ((buffer)->base)BufferGetInit(buffer) (BufferAP(buffer)->init)BufferAlloc(buffer) (BufferAP(buffer)->alloc)BufferLimit(buffer) ((buffer)->poolLimit)DEFINE_BUFFER_CLASS(className,var) DEFINE_ALIAS_CLASS(className, BufferClass, var)BUFFER_SUPERCLASS(className) ((BufferClass)SUPERCLASS(className))RankSetIsMember(rs,r) BS_IS_MEMBER((rs), (r))RankSetSingle(r) BS_SINGLE(RankSet, (r))RankSetIsSingle(r) BS_IS_SINGLE(r)RankSetUnion(rs1,rs2) BS_UNION((rs1), (rs2))RankSetDel(rs,r) BS_DEL(RankSet, (rs), (r))AddrZone(arena,addr) (((Word)(addr) >> (arena)->zoneShift) & (MPS_WORD_WIDTH - 1))RefSetUnion(rs1,rs2) BS_UNION((rs1), (rs2))RefSetInter(rs1,rs2) BS_INTER((rs1), (rs2))RefSetDiff(rs1,rs2) BS_DIFF((rs1), (rs2))RefSetAdd(arena,rs,addr) BS_ADD(RefSet, rs, AddrZone(arena, addr))RefSetIsMember(arena,rs,addr) BS_IS_MEMBER(rs, AddrZone(arena, addr))RefSetSuper(rs1,rs2) BS_SUPER((rs1), (rs2))RefSetSub(rs1,rs2) BS_SUB((rs1), (rs2))ZoneSetUnion(zs1,zs2) BS_UNION(zs1, zs2)ZoneSetInter(zs1,zs2) BS_INTER(zs1, zs2)ZoneSetDiff(zs1,zs2) BS_DIFF(zs1, zs2)ZoneSetAdd(arena,zs,addr) BS_ADD(ZoneSet, zs, AddrZone(arena, addr))ZoneSetIsMember(arena,zs,addr) BS_IS_MEMBER(zs, AddrZone(arena, addr))ZoneSetSub(zs1,zs2) BS_SUB(zs1, zs2)ZoneSetSuper(zs1,zs2) BS_SUPER(zs1, zs2)ZoneSetComp(zs) BS_COMP(zs)STATISTIC(gather) BEGIN (gather); ENDSTATISTIC_STAT(gather) BEGIN gather; ENDSTATISTIC_WRITE(format,arg) (format), (arg),ArenaControlPool(arena) MV2Pool(&(arena)->controlPoolStruct)arena.cJan 17 200703:39:21ABSARENA class $P ("$S") Arena $P { controlPool $P alignment $W zoneShift $U spareCommitLimit $W spareCommitted $W commitLimit $W } Arena $P ($U) [$P, $P) $W $U --- [$P, $P) $W $U $P ($S) $Id: //info.ravenbrook.com/project/mps/master/code/arena.c#10 $ No class-specific description available. | BAB u.DGAB b.S. AB AB D, AB 8 AB  DAB B.4AB EK.LAB DJ.@AAB DD. KAB DR. Q. AB Q.,AB BH. g.L.0V.n. (AB Fv.T. p.0Z.6AB T.<AB P.$XAB FM.g. AB F.pAB J.AB AB AB *AB ^.AB AB  XAB BG.b.P2AB DD.AB P. AB AB M.CC,#AbstractArenaClassGet$EnsureAbstractArenaClassh$ArenaClassCheck$ArenaCheck$ArenaInit,%ArenaCreateV%ArenaFinish%ArenaDestroy&ControlInitO&ControlFinishv&ArenaDescribe&ArenaDescribeTractsZ'ControlAlloc'ControlFree(ArenaAlloc(ArenaFreeR)ArenaReserved})ArenaCommitted)ArenaSpareCommitted)ArenaSpareCommitLimit)ArenaSetSpareCommitLimit3*ArenaNoSpareCommitExceeded[*ArenaCommitLimit*ArenaSetCommitLimit*ArenaAvail+ArenaExtendi+ArenaNoExtend+ArenaHasAddr,arenaSrcIdallocTableEnsureAbstractArenaClassPoolDescribeMethodprefcontrolPoolStructpageTableLimitgreySegMaxchunkFinishnamepageSizeFormatPadMethodrankrootSerialchunkRingArenaAllocMethodArenaSetCommitLimitreservoirSizeactiveTracesprotocolProtocolClassformatfoundationLockPoolBufferClassMethodTraceFixMethodsuperclassthreadRingunitsPerExtentPagefillMutatorSizepoolSerialBoolprehistoryArenaFreeMethodunitSizesetRankSetArenaCheckunsigned intGNU C 3.4.6 [FreeBSD] 20060305BufferRankSetMethodextendArenaChunkFinishMethodfillInternalSizeBufferReassignSegMethodreassignSegisCollectedpoolReadyscmidwhiteSegRefCountforwardedSizeforwardedCountArenaSpareCommitExceededMethodProtocolClassmergegreyRingfinishshort intlimitArenaDescribeMethodprotocoldescribefillSizegoodAllocPoolmodePoolDebugMixinStructrememberedSummaryRingprevArenaDescribeTractsserialEpochsetBufferArenaClassCheckapStructemptyMutatorSizeAbstractArenaClassGetallocMutatorSizePoolFramePushMethodPoolFinishMethodbusyTracesArenaFreelwPopPendingchunkArenaAllocspansallocBasesuspendedpollThresholdArenaStructenabledMessageTypesmpsVersionStringSizefreeListframePopGlobalsStructreservoirStructbaseTractChainStructfailInitbaseArenaClassAccessSetframeptrhistorySegSetRankSummaryMethodFileSrcIdStructlong long unsigned intfileoffsetArenaReservedtraceshDepthhighattrgenCountSegClassStructtractrateFreeBlockStepMethodArenaTrivDescribeArenaDescribePoolClassStructglobalsprimaryArenaChunkInitMethodAlignarenaBufferFinishMethodFormatVarietyfailControlInitPoolWalkMethodskipPoolFreeMethodmortalityfailReservoirInitwasMarkedproflowmessageRingsize_tmoveAPStructTractStructrampEndfailGlobalsCompleteCreatemayMoveArenaSetSpareCommitLimitBootBlockpoolLimitChunkclampedPoolReclaimMethodunroundedUnitSizeshCacheprotocolAbstractArenaClassGuardiantracedTimereclaimCountpageTablePagesfreeArenaSpareCommitLimitPoolFixMethodprotocolAbstractArenaClassStructSegPrefWordmps_lib_stream_sFormatStructpreservedInPlaceCountfreewalkframePushFormattedObjectsStepMethodargsSegClassgensCountPageStructisMovedsetRankSummarySegDescribeMethodbufferClassPoolDebugMixinSegSetSummaryMethodinsidePollreclaimArenaAvailAddrreservoirLimitcharscannedSizearena.creserveBufferStructFormatScanMethodchunkSerialSegFinishMethodMFSHeaderStructSerialsplitControlAllocFormatClassMethodArenaFormatMoveMethodspacefinalPoolBufferDescribeMethodBufferModefixRefCountarenaReturnMFSStructArenaInitMethodlockrampCountPoolFixEmergencyMethodzoneShiftstreampagesisGennailedPoolFreeWalkMethodchainva_listArenaDestroyChainlong long intMVStructLockStructArenaNoSpareCommitExceededZoneSetTractBufferSegMethoddepthPoolRampEndMethodlocusRingfixEmergencyTracegreylastWorldCollectPoolDebugMixinMethodpageShiftChunkCacheEntryStructBufferClassStructArenaClassStructrememberedSummaryIndexgreySegCountisMutatorArenaFinishMethodfixedSummarycommittedframePopPendingscansingleCopiedSizeSegSetBufferMethodProtocolInstStructAddrStructrampBeginbufferPoolRampBeginMethodsizeSegStructGenDescStructProtocolInstBufferSetRankSetMethodinitAtFlipPoolStructpoolRing_ringdetachspareCommitLimittopGenPoolWhitenMethodspanPoolStructPoolInitMethodTraceIdpoolaccesschainRingPoolGreyMethodlastTractMutatorFaultContextvarietyAbstractArenaClassStructemptyInternalSizeSrcIdarenaRingsegRefCountavgSizecopytractListFormatPoolScanMethodFormatCopyMethodlostcapacitywhitenScanStatecondemnedbufferRingChunkStructflippedTracesrootScanCountenabledrootScanSizepointlessScanCountallocRankshCacheLimitsegCopiedSizeBufferInitMethodlong intsetSummaryBufferDetachMethodnotCondemnedextendByTraceStateTraceSetstatepreservedInPlaceSizenextSegBufferMethodbuild_timeControlFreeControlInitPoolClassProtocolCoerceInstMethodarenaSrcIdControlFinishemergencyPoolBlackenMethodwhiteArenaFinishpoolStruct__size_trootRingpageTableSegInitMethodFormatSkipMethodsegScanSizecopiedSizewithReservoirPermitArenaExtendMethodScanStateStructSegSetWhiteMethodunfixedSummarypageTableBaselastTractBasethreadSeriallabelledsetGreytracedSize__va_listwalksetWhitePoolAllocMethodRingStructrankSetlong unsigned intArenaSpareCommittedPoolFramePopPendingMethodSrcIdStructBootBlockStructwriteBarrierHitCountMutatorFaultContextStructArenaReservedMethodinitfailStripeSizeAttrbaseReturnbufferLoggingProtocolClassStructclassbufferFillIndexspareCommitExceededFormatIsMovedMethodmaxSizechunkInitPoolAccessMethodsnapCounttypeattachnailCountsSwapunsigned charArenaCommittedoldLimit__uint32_tspareCommittedinsideShieldArenaInitRingSegSplitMethodblockPoolStructRefSetAllocFrameStructPoolFramePopMethodArenaCreateVtractStructBufferClassformatSerialaddrsegRingAllocFramehasSegcoerceClassReservoirStructbuild_datesingleScanSizeBufferreadBarrierHitCountsegScanCountheaderSizecoerceInstArenaExtenddebugMixinchunkCacheArenaNoExtendsigned charSegMergeMethodSegPrefStructmps_lib_FILEPoolBufferFillMethodreclaimSizebufferSerialshort unsigned intzonesReservoirbufferEmptyProtocolCoerceClassMethodreservedRankSetisFinalPoolprotocolGetAbstractArenaClassdoublesingleScanCountfirstTractalignmentPoolBufferEmptyMethodBufferAttachMethodrestAbstractArenaClassSegSetRankSetMethodShiftemptySizefailGlobalsInit/home/hannes/dylan/mps/codeArenaCommitLimitreservoirTraceStructArenaHasAddrglobalRingformatRingcommitLimitrootCopiedSizeSegSetGreyMethodshCacheIepochblackentracesGCC: (GNU) 3.4.6 [FreeBSD] 20060305.symtab.strtab.shstrtab.rel.text.rel.data.bss.debug_abbrev.rel.debug_info.rel.debug_line.debug_macinfo.rodata.str1.1.rodata.str1.4.rel.rodata.rel.debug_frame.rel.debug_pubnames.rel.debug_aranges.debug_str.comment4 )% / h 4 F C,B V7R  b:9vq2Ͱ2ıl0 $ @ DܵG $#  ,0C4w%      B+N HoDG . <, L8 WDau4KL @A&>P\ep~6<X ):pHWk*XP2arena.cFileSrcIdStructArenaTrivDescribeprotocolAbstractArenaClassGuardianprotocolAbstractArenaClassStructprotocolGetAbstractArenaClassarenaSrcIdWriteFAbstractArenaClassGetLockClaimGlobalRecursiveLockReleaseGlobalRecursiveEnsureAbstractArenaClassProtocolClassGetArenaNoSpareCommitExceededArenaNoExtendArenaClassCheckArenaCheckArenaInitChunkCacheEntryInitLocusInitGlobalsInitReservoirInitGlobalsFinishArenaCreateVChunkEncacheControlInitGlobalsCompleteCreateControlFinishArenaFinishReservoirFinishLocusFinishArenaDestroyGlobalsPrepareToDestroyReservoirSetLimitPoolClassMVPoolInitPoolFinishArenaDescribeGlobalsDescribeArenaDescribeTractsTractFirstTractLimitTractNextControlAllocPoolAllocControlFreePoolFreeArenaAllocReservoirEnsureFullReservoirWithdrawArenaFreeReservoirDepositArenaReservedArenaCommittedArenaSpareCommittedArenaSpareCommitLimitArenaSetSpareCommitLimitArenaCommitLimitArenaSetCommitLimitArenaAvailArenaExtendArenaHasAddrSegOfAddr3 9LTZep} "#$ %!&()*+-& .L0]1l+234. 4 :[ a{     6 D8g9  :<P>o@A5@aCE\DN  !%*18?MX_fmt{(39Zev| #.9Tek-<KZiy,;Ziq%4CRap (6DR`n &4BP^lz"0>LZhv  ) 8 G V e t            ( 7 F U d s           : I X g v            + @ V d r           0 > L Z h v         !0@U,>Qfn|$2Od{ />M\kz +;K[k{ +;K[k{ +;K[k{#2AP_n} $5;PXftDGx(Jq;Fq .PvJv$ZEl"Mn  + 9 P [ g |          !/!E!S!a!p!!!!! ""1"?"M"["i"x""""""""""##(#3#>#J#V#h#t#######$ $$$#$'$2$9$=$D$Q$U$Z$n$y$}$$$$$$$$$$$$% %%%%%2%=%A%H%U%b%p%%%%%%%%%%%%%%%%%%& &&(&,&3&U&]&a&h&|&&&&&&&&&&' '.'<'K'`'l'p'w'''''''''' (!(-(1(8(F(U(d(r(((((((((((( ))()6)X)d)h)o)))))))))))))* ***%*9*A*E*L*a*m*q*x***********++$+(+/+=+L+o+{+++++++++++ , ,,!,-,2,>,    48TXlp <@`d|8<\`x| 04PTlpglobal.o/ 1169001561 1001 1001 100644 73704 ` ELF 4(UÍvUÍvUS] SS BC  ]US]S$SKBABSRp]ÍvUUv@9(w@t@v@vÍvUVS]=u# ލCC@C SCCS S(S0S8[@CHCLCPCP@CXC\C\@CdChCh@Cp@ǃ@ǃ@ǃǃǃǃ4ǃ8ݓݛǃǃ$ǃ(ǃ,ǃ0DŽBvDŽ0<[QBt΍@Avdž@dž džDŽBvpQ[^UVSujjVEP…uVEjjPj PVEP …uEF P4$vЍe[^ÍvUSM[QǁǁǁǁǁǁǀǀBvA\A`APATAA[ÉUS]S8s s $tjSǃt'ǃǃ P]ÍvUEhÐUjuÉUVSu] jF t Pv Pu Ve[^ÐUjuÉUjuÉUWVS ]} s u S St V Ve[^_UjuÉUWVS };E0=X S WSEPtKUB!E t uu WRB0 SWSEPtC u!E tu u S/ S6=!Be[^_ÐUS]{u@C {u3CEt+C RPRPSC؉]ÍvUVS]E EEE4 SƉ$)ƃ@B݃Eu݃EuRV,$d$E+RP,$d$E RP,$d$E MEu Eu ظe[^UWVS,}EE؋EԺRP,$d$M }fE fEm}mEuEuuuuuu uy t" uU؋EE ut%ERS,$d$܇ݟ9r}t2+EغRP,$d$EԺRP,$d$܇ݟ E@ XE܍e[^_ÉUS]u2 PSEP…u&Eǃu ‰Ћ]ÐUUtu ÉUVSu] SVEPtSuVe[^ÍvUWVS}u VWEVW؍e[^_ÐUWVS}] uSWEPtVSuW3e[^_ÉUWVSu] }SVE8X C$PSSVe[^_ÐUVS]u VSEP4$uSj8VuSe[^ÍvUWVSut>pQt } j h8h*4h>RuaPhqhvdhvXhF@}fE fEm}mEPhF8m}mEPhF0m}mEPhF(m}mEPhF m}mEPh";~uDPN~u[PNm}mEPhiv hvHhu Đtv jShu GCvjhDu ƒj$h,h0uPhu ƒ u VƒNPFP9t"ƍAu Pƒuʼnً9u9t"ƍAu Pƒuً9u9t0 Qu Pƒcً9uЉЍve[^_C% $ > $ > : ; I I&I : ;  : ; I8 < : ; I  : ;I8 : ;I8  : ; I8  : ; I 8  : ;I 8  : ;I 8  : ; ' II' ' I : ;  : ;  : ; I: ;II!I/ .: ; ' @ .: ; ' @ : ; I 4: ; I! "4: ; I #.? : ; ' I@ $4: ; I %4: ; I& '4: ;I (.? : ;' I@ ): ;I *4: ;I +.? : ;' @ ,4: ;I-4: ;I..: ;' I@ /: ;I 0 U1 U24: ; I?  34: ;I?  6/D wPVG_int 8W R & _L | < [7z E "X"$#n %#&#'# " 2 n . Sigl ResE lw"ou lK#Y $Yl%Y/&Y,'W (W Ref)d X ,YT -Y1.Wt/W1{2Wv 3W 4W#5W6W=7W BT:MY$;^d m Y\ @> I D."# E# *F# Gh# =H# H I# J#$ Kr#( segL#, M #0 N.#4 OP#8 sigPC#< AWC ad# bd# -cd# Edd# pe# f# D}<D sigC# f # 8# # g # # sD# 9o# #$ #( #, pad#0 #4 {#8F L GXGsig`C#f a#b# c# gd # e #f#  g #$h#,i#0fixj|#4( ks#8ls#@ms#Hns#PHEHI 2."# 3#*4# 5#]6-# 7# =8#$ 9#($: #, ;2#0 #< ?#@%@#DsAF#HfixB|#LC#P D#T-E#XF#\G #`H<#dIg#hJ#lK#pnL#tM#xN##| O#sigPC#+ O O sigC# ti# # # # # # 2* # {# V{#$ {#( {#, #0 q#4 #8 H#< ^{#@ #D #H ` {#L #P #T {#X 9#\ #` #d #h #l #p % #t  #x  {#| > #  {# G # # P  * 8TP fix=# 6Y# # 8# sigC# #  # # 3# #$ 9#( #, #0 #4 #8 #< {#@ >#D {#H {#L {#PQ5 ;   Qsig >C#  ?#) @ # A # B#| C"#R   RY#p#rd# # 1 W# S   -8SsigC#f # #  # {#O #rd#-d# #$'#(gC#,6!#0#4?BT sigC# ? # rd# -d# o?# ?#8 UJPk= Utheh !# SegVv|PV sigC# P#   # Q  # - d#  W#pm "#sm "#  # #Q  ##$X[aN LXI ."# #*# #=## |#$#( #,x?#0J#4l#8#<-#@]#DsigC#HZY_ Z sig0C# 1# 2# d3# 4# gen5#\~H\ I &."# '## *(# )# *# =+# 9,#$ 8 -0#( .;#, /f#0 $0#4 *1#8 Z 2#< 3#@ sig4C#D^|(^ Bo## f p#t r#x H t#| t uJ## wU## %y{# z{# |{# }{# 6# # T # d#  #   # z# _x## S"#  # ^# ; # KC# # n # > # # # ## |{# {# N{# Z#  #  # 3## s# s# Y# ## # ) # #  # ## sigC# _+ t_ sigBC# 7E # F# -Is# .J# rK# ( Ls# Ms#( Ns#0 Os#8 Ps#@ .S#H V#L QY #P Z#X ] #\ ^#d a #h md#p a  b# d4: _ eKQ kgbh \hh"#t #X{#\L{#`sigC#dnN8op 0{ qrFLfNd{xtqwNN{d ud{vN S]w x"7N7'@HNcN c tzdldd9 Nkd{8 kn (.?k (U[lkw}k5 kjkkj Nk7Z)/]Nkkddd8 )BsyNj8j jddd{4 kjx .j9?Pj [arjk}Nj79 N8 N{(2d{ =ClNj{ w}jddtǣNkd") Nk  k *0F kQWvNv k ·N kcЇZ7j jI6N6jWGMgNjW rxjWGܙkil/xT#N7 .4D@OUoN ddgzddddzt d{z `/"#?##X?##{#{#D{#{#Q{# #sigC#J   B #j #    !gYe#fE#+!hcc Ug = iP+! \G!M!!V\sig}C#~p!4*v!Et+' !_U)!^Q' !`S'!aR&1',x!k &K',x!l &e',x!m &',x!o &',x!p &' ,x!q ! ,x!r +(!|U)!{' !}S!}'Y!P(D(~! U)!+l(!U) !+(t!U) !V)!ES'!P+(! 2U) !+(G!4FU) !+B)!HU) !S)!EW'!V+j)!U) !(*!U)O!dW)o!" )!)*seg!kp'! P' ! V-res!N!,!%' !&S'!'l+R*!f1U)B!eS'*!gs\.*i!4LU) !|S)!}s )b!~s/now!YP)!Y '!s['E!{V'!s\'!s](+ !Lv U)B!)!s )b!s,*!s'!{S'!\'m!YX*end!YV*now!YQ'!YT' !W( ,Y !Nx U) !S/obj! *res!NP! 'Y!x(Q, !N  U) !R/obj! -res!N(,! = U) !V)O!dS*seg! kt*b! P!4 6 -ref!(-R!@ o U) !W/seg!kV)O!dP*ref!S+n-!*p U) !)W)O!)dS/ref!)V*seg!+kp*b!,P+-D!;  U) !:V/seg!:kS)O!:dP/ref!:W'U!<P(.d!T E U) !SS)O!SdV-b!U*seg!Vkt(. !rNH DU)!qV)!q7 *res!sNR' !tW'!u Q' !u S*i!vS0.'Y!P0.'!P10'!P") !2!"!$"g!% 3!)s /usr/include/usr/include/sys/usr/include/machinebt.hmpmtypes.hconfig.hmpstd.hmisc.hstddef.hcdefs.h_null.h_types.h_types.hmpslib.hstdarg.hpoolmrg.hmps.hlimits.hlimits.h_limits.hsyslimits.hpoolmv.hmpm.hcheck.hevent.heventcom.heventgen.hlock.hth.hring.hss.htract.hmpmst.hprotocol.hchain.hglobal.c!4dVXdV UV:V UfV:dV 9-9 +   W:XW-sVrr::::;rrrs✜dVfW=de㜜rff  :*Ir:*Idv0e:::Vbe Uv:eɒeǂ__GNUCLIKE___OFFSETOF 1?__GNUCLIKE___SECTION 1A__GNUCLIKE_ATTRIBUTE_MODE_DI 1D__GNUCLIKE_CTOR_SECTION_HANDLING 1G__GNUCLIKE_BUILTIN_CONSTANT_P 1N__GNUCLIKE_BUILTIN_VARARGS 1O__GNUCLIKE_BUILTIN_STDARG 1P__GNUCLIKE_BUILTIN_VAALIST 1T__GNUC_VA_LIST_COMPATIBILITY 1X__GNUCLIKE_BUILTIN_NEXT_ARG 1Y__GNUCLIKE_MATH_BUILTIN_RELOPS \__GNUCLIKE_BUILTIN_MEMCPY 1___CC_SUPPORTS_INLINE 1`__CC_SUPPORTS___INLINE 1a__CC_SUPPORTS___INLINE__ 1c__CC_SUPPORTS___FUNC__ 1d__CC_SUPPORTS_WARNING 1f__CC_SUPPORTS_VARADIC_XXX 1h__CC_SUPPORTS_DYNAMIC_ARRAY_INIT 1k__CC_INT_IS_32BIT 1s__GNUC_PREREQ__(ma,mi) (__GNUC__ > (ma) || __GNUC__ == (ma) && __GNUC_MINOR__ >= (mi))__P(protos) protos__CONCAT1(x,y) x ## y__CONCAT(x,y) __CONCAT1(x,y)__STRING(x) #x__XSTRING(x) __STRING(x)__const const__signed signed__volatile volatile__dead2 __attribute__((__noreturn__))__pure2 __attribute__((__const__))__unused __attribute__((__unused__))__used __attribute__((__used__))__packed __attribute__((__packed__))__aligned(x) __attribute__((__aligned__(x)))__section(x) __attribute__((__section__(x)))__pure __attribute__((__pure__))__always_inline __attribute__((__always_inline__))__nonnull(x) __attribute__((__nonnull__(x)))__restrict __predict_true(exp) __builtin_expect((exp), 1)__predict_false(exp) __builtin_expect((exp), 0)__offsetof(type,field) ((size_t)(&((type *)0)->field))__rangeof(type,start,end) (__offsetof(type, end) - __offsetof(type, start))__printflike(fmtarg,firstvararg) __attribute__((__format__ (__printf__, fmtarg, firstvararg)))__scanflike(fmtarg,firstvararg) __attribute__((__format__ (__scanf__, fmtarg, firstvararg)))__format_arg(fmtarg) __attribute__((__format_arg__ (fmtarg)))__printf0like(fmtarg,firstvararg) __attribute__((__format__ (__printf0__, fmtarg, firstvararg)))__strong_reference(sym,aliassym) extern __typeof (sym) aliassym __attribute__ ((__alias__ (#sym)));__weak_reference(sym,alias) __asm__(".weak " #alias); __asm__(".equ " #alias ", " #sym)__warn_references(sym,msg) __asm__(".section .gnu.warning." #sym); __asm__(".asciz \"" msg "\""); __asm__(".previous")__IDSTRING(name,string) __asm__(".ident\t\"" string "\"")__FBSDID(s) __IDSTRING(__CONCAT(__rcsid_,__LINE__),s)__RCSID(s) __IDSTRING(__CONCAT(__rcsid_,__LINE__),s)__RCSID_SOURCE(s) __IDSTRING(__CONCAT(__rcsid_source_,__LINE__),s)__SCCSID(s) __IDSTRING(__CONCAT(__sccsid_,__LINE__),s)__COPYRIGHT(s) __IDSTRING(__CONCAT(__copyright_,__LINE__),s)__DECONST(type,var) ((type)(uintptr_t)(const void *)(var))__DEVOLATILE(type,var) ((type)(uintptr_t)(volatile void *)(var))__DEQUALIFY(type,var) ((type)(uintptr_t)(const volatile void *)(var))__POSIX_VISIBLE 200112__XSI_VISIBLE 600__BSD_VISIBLE 1__ISO_C_VISIBLE 1999* NULL ((void *)0)+ _SYS__TYPES_H_ ! (_MACHINE__TYPES_H_ .__NO_STRICT_ALIGNMENT __GNUC_VA_LIST 2_RUNE_T_DECLARED 8_SIZE_T_DECLARED >_WCHAR_T_DECLARED Boffsetof(type,member) __offsetof(type, member)*SRCID(id,scmid) static SrcIdStruct FileSrcIdStruct = {__FILE__, (scmid), __DATE__, __TIME__}; SrcId id ## SrcId = &FileSrcIdStruct;BEGIN do {> (i)) & 1)BS_UNION(s1,s2) ((s1) | (s2))BS_ADD(ty,s,i) BS_UNION((s), BS_SINGLE(ty, (i)))BS_INTER(s1,s2) ((s1) & (s2))BS_DIFF(s1,s2) BS_INTER((s1), BS_COMP(s2))BS_DEL(ty,s,i) BS_DIFF((s), BS_SINGLE(ty, (i)))BS_SUPER(s1,s2) (BS_INTER((s1), (s2)) == (s2))BS_SUB(s1,s2) BS_SUPER((s2), (s1))BS_IS_SINGLE(s) (((s) & ((s)-1)) == 0)BS_SYM_DIFF(s1,s2) ((s1) ^ (s2)) mpslib_h mps_lib_EOF (mps_lib_get_EOF())mps_lib_stderr (mps_lib_get_stderr())mps_lib_stdout (mps_lib_get_stdout()) '_MACHINE_STDARG_H_ -_VA_LIST_DECLARED 3va_start(ap,last) __builtin_stdarg_start((ap), (last))6va_arg(ap,type) __builtin_va_arg((ap), type):va_copy(dest,src) __builtin_va_copy((dest), (src))>va_end(ap) __builtin_va_end(ap)SigInvalid ((Sig)0x51915BAD)SizeMAX ((Size)-1)AccessSetEMPTY ((AccessSet)0)AccessREAD ((AccessSet)(1<<0))AccessWRITE ((AccessSet)(1<<1))AccessSetWIDTH (2)RefSetEMPTY BS_EMPTY(RefSet)RefSetUNIV BS_UNIV(RefSet)ZoneSetEMPTY BS_EMPTY(ZoneSet)ZoneSetUNIV BS_UNIV(ZoneSet)TraceSetEMPTY BS_EMPTY(TraceSet)TraceSetUNIV ((TraceSet)((1u << TraceLIMIT) - 1))RankSetEMPTY BS_EMPTY(RankSet)RankSetUNIV ((RankSet)((1u << RankLIMIT) - 1))AttrFMT ((Attr)(1<<0))AttrSCAN ((Attr)(1<<1))AttrPM_NO_READ ((Attr)(1<<2))AttrPM_NO_WRITE ((Attr)(1<<3))AttrALLOC ((Attr)(1<<4))AttrFREE ((Attr)(1<<5))AttrBUF ((Attr)(1<<6))AttrBUF_RESERVE ((Attr)(1<<7))AttrBUF_ALLOC ((Attr)(1<<8))AttrGC ((Attr)(1<<9))AttrINCR_RB ((Attr)(1<<10))AttrINCR_WB ((Attr)(1<<11))AttrMOVINGGC ((Attr)(1<<12))AttrMASK (AttrFMT | AttrSCAN | AttrPM_NO_READ | AttrPM_NO_WRITE | AttrALLOC | AttrFREE | AttrBUF | AttrBUF_RESERVE | AttrBUF_ALLOC | AttrGC | AttrINCR_RB | AttrINCR_WB | AttrMOVINGGC)BufferModeATTACHED ((BufferMode)(1<<0))BufferModeFLIPPED ((BufferMode)(1<<1))BufferModeLOGGED ((BufferMode)(1<<2))BufferModeTRANSITION ((BufferMode)(1<<3))RootModeCONSTANT ((RootMode)1<<0)RootModePROTECTABLE ((RootMode)1<<1)RootModePROTECTABLE_INNER ((RootMode)1<<2)STATISTIC_DECL(field) fieldBTSize(n) (((n) + MPS_WORD_WIDTH-1) / MPS_WORD_WIDTH * sizeof(Word))BTGet(a,i) ((Bool)(((a)[((i) >> MPS_WORD_SHIFT)] >> ((i) & ~((Word)-1 << MPS_WORD_SHIFT))) & (Word)1))BTSet(a,i) BEGIN (a)[((i)>>MPS_WORD_SHIFT)] |= (Word)1<<((i)&~((Word)-1<>MPS_WORD_SHIFT)] &= ~((Word)1 << ((i) & ~((Word)-1<EXPR_NEST_MAX 32?LINE_MAX 2048@RE_DUP_MAX 255B_POSIX2_BC_BASE_MAX 99C_POSIX2_BC_DIM_MAX 2048D_POSIX2_BC_SCALE_MAX 99E_POSIX2_BC_STRING_MAX 1000F_POSIX2_EQUIV_CLASS_MAX 2G_POSIX2_EXPR_NEST_MAX 32H_POSIX2_LINE_MAX 2048I_POSIX2_RE_DUP_MAX 255M_POSIX_AIO_LISTIO_MAX 16N_POSIX_AIO_MAX 1O_POSIX_DELAYTIMER_MAX 32P_POSIX_MQ_OPEN_MAX 8Q_POSIX_MQ_PRIO_MAX 32R_POSIX_RTSIG_MAX 8S_POSIX_SEM_NSEMS_MAX 256T_POSIX_SEM_VALUE_MAX 32767U_POSIX_SIGQUEUE_MAX 32V_POSIX_TIMER_MAX 32Z_POSIX_THREAD_DESTRUCTOR_ITERATIONS 4[_POSIX_THREAD_KEYS_MAX 128\_POSIX_THREAD_THREADS_MAX 64`_POSIX_HOST_NAME_MAX 255a_POSIX_LOGIN_NAME_MAX 9b_POSIX_SS_REPL_MAX 4c_POSIX_SYMLINK_MAX 255d_POSIX_SYMLOOP_MAX 8e_POSIX_TRACE_EVENT_NAME_MAX 30f_POSIX_TRACE_NAME_MAX 8g_POSIX_TRACE_SYS_MAX 8h_POSIX_TRACE_USER_EVENT_MAX 32i_POSIX_TTY_NAME_MAX 9j_POSIX2_CHARCLASS_NAME_MAX 14k_POSIX2_COLL_WEIGHTS_MAX 2m_POSIX_RE_DUP_MAX _POSIX2_RE_DUP_MAXq_XOPEN_IOV_MAX 16r_XOPEN_NAME_MAX 255s_XOPEN_PATH_MAX 1024tPASS_MAX 128vNL_ARGMAX 99wNL_LANGMAX 31xNL_MSGMAX 32767yNL_NMAX 1zNL_SETMAX 255{NL_TEXTMAX 2048~MB_LEN_MAX 6!_SYS_LIMITS_H_ $"_MACHINE__LIMITS_H_ /__CHAR_BIT 81__SCHAR_MAX 0x7f2__SCHAR_MIN (-0x7f - 1)4__UCHAR_MAX 0xff6__USHRT_MAX 0xffff7__SHRT_MAX 0x7fff8__SHRT_MIN (-0x7fff - 1):__UINT_MAX 0xffffffffU;__INT_MAX 0x7fffffff<__INT_MIN (-0x7fffffff - 1)D__ULONG_MAX 0xffffffffULE__LONG_MAX 0x7fffffffLF__LONG_MIN (-0x7fffffffL - 1)J__ULLONG_MAX 0xffffffffffffffffULLK__LLONG_MAX 0x7fffffffffffffffLLL__LLONG_MIN (-0x7fffffffffffffffLL - 1)N__SSIZE_MAX __INT_MAXP__SIZE_T_MAX __UINT_MAXR__OFF_MAX __LLONG_MAXS__OFF_MIN __LLONG_MINV__UQUAD_MAX __ULLONG_MAXW__QUAD_MAX __LLONG_MAXX__QUAD_MIN __LLONG_MIN]__LONG_BIT 32___WORD_BIT 32&CHAR_BIT __CHAR_BIT(SCHAR_MAX __SCHAR_MAX)SCHAR_MIN __SCHAR_MIN+UCHAR_MAX __UCHAR_MAX1CHAR_MAX SCHAR_MAX2CHAR_MIN SCHAR_MIN5USHRT_MAX __USHRT_MAX6SHRT_MAX __SHRT_MAX7SHRT_MIN __SHRT_MIN9UINT_MAX __UINT_MAX:INT_MAX __INT_MAX;INT_MIN __INT_MIN=ULONG_MAX __ULONG_MAX>LONG_MAX __LONG_MAX?LONG_MIN __LONG_MINHSSIZE_MAX __SSIZE_MAXLSIZE_T_MAX __SIZE_T_MAXNOFF_MAX __OFF_MAXOOFF_MIN __OFF_MINSGID_MAX UINT_MAXTUID_MAX UINT_MAXVUQUAD_MAX (__UQUAD_MAX)WQUAD_MAX (__QUAD_MAX)XQUAD_MIN (__QUAD_MIN)\LONG_BIT __LONG_BIT]WORD_BIT __WORD_BIT"_SYS_SYSLIMITS_H_ 4ARG_MAX 2621447CHILD_MAX 409LINK_MAX 32767:MAX_CANON 255;MAX_INPUT 255 (sac)->mps_middle) { _mps_i = 0; while (_mps_s > (sac)->mps_freelists[_mps_i].mps_size) _mps_i += 2; } else { _mps_i = 1; while (_mps_s <= (sac)->mps_freelists[_mps_i].mps_size) _mps_i += 2; } if ((sac)->mps_freelists[_mps_i].mps_count != 0) { (p_o) = (sac)->mps_freelists[_mps_i].mps_blocks; (sac)->mps_freelists[_mps_i].mps_blocks = *(mps_addr_t *)(p_o); --(sac)->mps_freelists[_mps_i].mps_count; (res_o) = MPS_RES_OK; } else (res_o) = mps_sac_fill(&(p_o), sac, _mps_s, has_reservoir_permit); MPS_ENDMPS_SAC_FREE_FAST(sac,p,size) MPS_BEGIN size_t _mps_i, _mps_s; _mps_s = (size); if (_mps_s > (sac)->mps_middle) { _mps_i = 0; while (_mps_s > (sac)->mps_freelists[_mps_i].mps_size) _mps_i += 2; } else { _mps_i = 1; while (_mps_s <= (sac)->mps_freelists[_mps_i].mps_size) _mps_i += 2; } if ((sac)->mps_freelists[_mps_i].mps_count < (sac)->mps_freelists[_mps_i].mps_count_max) { *(mps_addr_t *)(p) = (sac)->mps_freelists[_mps_i].mps_blocks; (sac)->mps_freelists[_mps_i].mps_blocks = (p); ++(sac)->mps_freelists[_mps_i].mps_count; } else mps_sac_empty(sac, p, _mps_s); MPS_ENDMPS_SAC_ALLOC(res_o,p_o,sac,size,has_reservoir_permit) MPS_SAC_ALLOC_FAST(res_o, p_o, sac, size, has_reservoir_permit)MPS_SAC_FREE(sac,p,size) MPS_SAC_FREE_FAST(sac, p, size)mps_reserve(_p_o,_mps_ap,_size) ((char *)(_mps_ap)->alloc + (_size) > (char *)(_mps_ap)->alloc && (char *)(_mps_ap)->alloc + (_size) <= (char *)(_mps_ap)->limit ? ((_mps_ap)->alloc = (mps_addr_t)((char *)(_mps_ap)->alloc + (_size)), *(_p_o) = (_mps_ap)->init, MPS_RES_OK) : mps_ap_fill(_p_o, _mps_ap, _size))MPS_RESERVE_BLOCK(_res_v,_p_v,_mps_ap,_size) MPS_BEGIN char *_alloc = (char *)(_mps_ap)->alloc; char *_next = _alloc + (_size); if(_next > _alloc && _next <= (char *)(_mps_ap)->limit) { (_mps_ap)->alloc = (mps_addr_t)_next; (_p_v) = (_mps_ap)->init; (_res_v) = MPS_RES_OK; } else (_res_v) = mps_ap_fill(&(_p_v), _mps_ap, _size); MPS_ENDMPS_RESERVE_WITH_RESERVOIR_PERMIT_BLOCK(_res_v,_p_v,_mps_ap,_size) MPS_BEGIN char *_alloc = (char *)(_mps_ap)->alloc; char *_next = _alloc + (_size); if(_next > _alloc && _next <= (char *)(_mps_ap)->limit) { (_mps_ap)->alloc = (mps_addr_t)_next; (_p_v) = (_mps_ap)->init; (_res_v) = MPS_RES_OK; } else (_res_v) = mps_ap_fill_with_reservoir_permit(&(_p_v), _mps_ap, _size); MPS_ENDmps_commit(_mps_ap,_p,_size) ((_mps_ap)->init = (_mps_ap)->alloc, (_mps_ap)->limit != 0 || mps_ap_trip(_mps_ap, _p, _size))MPS_SCAN_BEGIN(ss) MPS_BEGIN mps_ss_t _ss = (ss); mps_word_t _mps_w0 = (_ss)->w0; mps_word_t _mps_w1 = (_ss)->w1; mps_word_t _mps_w2 = (_ss)->w2; mps_word_t _mps_wt; {MPS_FIX1(ss,ref) (_mps_wt = 1uL << ((mps_word_t)(ref) >> _mps_w0 & (sizeof(mps_word_t) * CHAR_BIT - 1)), _mps_w2 |= _mps_wt, _mps_w1 & _mps_wt)MPS_FIX2(ss,ref_io) ((*(ss)->fix)(ss, ref_io))MPS_FIX12(ss,ref_io) (MPS_FIX1(ss, *(ref_io)) ? MPS_FIX2(ss, ref_io) : MPS_RES_OK)MPS_FIX(ss,ref_io) MPS_FIX12(ss, ref_io)MPS_FIX_CALL(ss,call) MPS_BEGIN (call); _mps_w2 |= (ss)->w2; MPS_ENDMPS_SCAN_END(ss) } (ss)->w2 = _mps_w2; MPS_END*poolmv_h 5MV2Pool(mv) (&(mv)->poolStruct) mpm_h check_h 0AVER(cond) DISCARD(cond)1AVERT(type,val) DISCARD(type ## Check(val))2AVER_CRITICAL(cond) DISCARD(cond)3AVERT_CRITICAL(type,val) DISCARD(type ## Check(val))MASSERT(cond,condstring) BEGIN if (cond) NOOP; else mps_lib_assert_fail(condstring "\n" __FILE__ "\n" STR(__LINE__)); END_NOTREACHED NOOPjCHECKT(type,val) ((val) != NULL && (val)->sig == type ## Sig)pCHECKS(type,val) DISCARD(CHECKT(type, val))qCHECKL(cond) DISCARD(cond)rCHECKD(type,val) DISCARD(CHECKT(type, val))sCHECKD_NOSIG(type,val) DISCARD((val) != NULL)tCHECKU(type,val) DISCARD(CHECKT(type, val))uCHECKU_NOSIG(type,val) DISCARD((val) != NULL)CHECKLVALUE(lv1,lv2) ((void)sizeof((lv1) = (lv2)), (void)sizeof((lv2) = (lv1)), TRUE)CHECKTYPE(t1,t2) (sizeof(t1) == sizeof(t2) && CHECKLVALUE(*((t1 *)0), *((t2 *)0)))CHECKFIELDAPPROX(s1,f1,s2,f2) (sizeof(((s1 *)0)->f1) == sizeof(((s2 *)0)->f2) && offsetof(s1, f1) == offsetof(s2, f2))CHECKFIELD(s1,f1,s2,f2) (CHECKFIELDAPPROX(s1, f1, s2, f2) && CHECKLVALUE(((s1 *)0)->f1, ((s2 *)0)->f2))event_h  eventcom_h !EventNameMAX ((size_t)19)"EventCodeMAX ((EventCode)0x0069)&EVENT_0(type) NOOPEVENT_A(type,p0) NOOPEVENT_AW(type,p0,p1) NOOPEVENT_P(type,p0) NOOPEVENT_PAA(type,p0,p1,p2) NOOPEVENT_PAW(type,p0,p1,p2) NOOPEVENT_PAWA(type,p0,p1,p2,p3) NOOPEVENT_PDDWWW(type,p0,p1,p2,p3,p4,p5) NOOPEVENT_PP(type,p0,p1) NOOPEVENT_PPAU(type,p0,p1,p2,p3) NOOPEVENT_PPAWP(type,p0,p1,p2,p3,p4) NOOPEVENT_PPP(type,p0,p1,p2) NOOPEVENT_PPPA(type,p0,p1,p2,p3) NOOPEVENT_PPPU(type,p0,p1,p2,p3) NOOPEVENT_PPPUU(type,p0,p1,p2,p3,p4) NOOPEVENT_PPU(type,p0,p1,p2) NOOPEVENT_PPUU(type,p0,p1,p2,p3) NOOPEVENT_PPUWWW(type,p0,p1,p2,p3,p4,p5) NOOPEVENT_PPWW(type,p0,p1,p2,p3) NOOPEVENT_PPWWW(type,p0,p1,p2,p3,p4) NOOPEVENT_PPWWWUUU(type,p0,p1,p2,p3,p4,p5,p6,p7) NOOPEVENT_PU(type,p0,p1) NOOPEVENT_PW(type,p0,p1) NOOPEVENT_PWA(type,p0,p1,p2) NOOPEVENT_PWAW(type,p0,p1,p2,p3) NOOPEVENT_PWP(type,p0,p1,p2) NOOPEVENT_PWU(type,p0,p1,p2) NOOPEVENT_PWW(type,p0,p1,p2) NOOPEVENT_PWWWWDD(type,p0,p1,p2,p3,p4,p5,p6) NOOPEVENT_PWWWWW(type,p0,p1,p2,p3,p4,p5) NOOPEVENT_PWWWWWWWWW(type,p0,p1,p2,p3,p4,p5,p6,p7,p8,p9) NOOPEVENT_PWWWWWWWWWWWW(type,p0,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11,p12) NOOPEVENT_UUPA(type,p0,p1,p2,p3) NOOPEVENT_UUPP(type,p0,p1,p2,p3) NOOPEVENT_UUPPP(type,p0,p1,p2,p3,p4) NOOPEVENT_WS(type,p0,p1,l1) NOOP:EventEventTime ((EventType)0xEF213E99);EventPoolInit ((EventType)0xEFB07141)EventPoolFree ((EventType)0xEFB07F6E)?EventArenaCreateVM ((EventType)0xEFA64CF3)@EventArenaCreateVMNZ ((EventType)0xEFA64CF2)AEventArenaCreateCL ((EventType)0xEFA64CC7)BEventArenaDestroy ((EventType)0xEFA64DE5)CEventArenaAlloc ((EventType)0xEFA64A77)DEventArenaFree ((EventType)0xEFA64F6E)EEventSegAlloc ((EventType)0xEF5E9A77)FEventSegFree ((EventType)0xEF5E9F6E)GEventSegMerge ((EventType)0xEF5E93E6)HEventSegSplit ((EventType)0xEF5E95B7)IEventAMCGenCreate ((EventType)0xEFA3C94C)JEventAMCGenDestroy ((EventType)0xEFA3C94D)KEventAMCInit ((EventType)0xEFA3C141)LEventAMCFinish ((EventType)0xEFA3CF14)MEventAMCTraceBegin ((EventType)0xEFA3C26B)NEventAMCScanBegin ((EventType)0xEFA3C5CB)OEventAMCScanEnd ((EventType)0xEFA3C5CE)PEventAMCFix ((EventType)0xEFA3CF18)QEventAMCFixInPlace ((EventType)0xEFA3CF8A)REventAMCFixForward ((EventType)0xEFA3CF8F)SEventAMCReclaim ((EventType)0xEFA3C6EC)TEventTraceStart ((EventType)0xEF26AC52)UEventTraceCreate ((EventType)0xEF26ACC6)VEventTraceDestroy ((EventType)0xEF26ACDE)WEventSegSetGrey ((EventType)0xEF59596A)XEventTraceFlipBegin ((EventType)0xEF26AF7B)YEventTraceFlipEnd ((EventType)0xEF26AF7E)ZEventTraceReclaim ((EventType)0xEF26A6EC)[EventTraceScanSeg ((EventType)0xEF26A559)\EventTraceScanSingleRef ((EventType)0xEF26A556)^EventTraceAccess ((EventType)0xEF26AACC)_EventTracePoll ((EventType)0xEF26AB01)`EventTraceStep ((EventType)0xEF26A52B)aEventTraceFix ((EventType)0xEF26AF18)bEventTraceFixSeg ((EventType)0xEF26AF85)cEventTraceFixWhite ((EventType)0xEF26AF83)dEventTraceScanArea ((EventType)0xEF26A5CA)eEventTraceScanAreaTagged ((EventType)0xEF26A5C2)fEventVMCreate ((EventType)0xEFF3C6EA)gEventVMDestroy ((EventType)0xEFF3DE52)hEventVMMap ((EventType)0xEFF33AB9)iEventVMUnmap ((EventType)0xEFF3043B)jEventIntern ((EventType)0xEF142E64)kEventArenaExtend ((EventType)0xEFA64E82)lEventArenaRetract ((EventType)0xEFA646E2)mEventRootScan ((EventType)0xEF625CA4)nEventLabel ((EventType)0xEF7ABE79)oEventTraceSegGreyen ((EventType)0xEF26A599)pEventBufferReserve ((EventType)0xEFB0FF6E)qEventBufferCommit ((EventType)0xEFB0FFC0)rEventBufferInit ((EventType)0xEFB0FF14)sEventBufferInitSeg ((EventType)0xEFB0F15E)tEventBufferInitRank ((EventType)0xEFB0F16A)uEventBufferInitEPVM ((EventType)0xEFB0F1EF)vEventBufferFinish ((EventType)0xEFB0FFF1)wEventBufferFill ((EventType)0xEFB0FFF7)xEventBufferEmpty ((EventType)0xEFB0FFE3)yEventArenaAllocFail ((EventType)0xEFA64A7F)zEventSegAllocFail ((EventType)0xEF5E9A7F){EventMeterInit ((EventType)0xEF3E2141)|EventMeterValues ((EventType)0xEF3E2FA7)}EventCBSInit ((EventType)0xEFCB5141)~EventTraceStatCondemn ((EventType)0xEF26A5C0)EventTraceStatScan ((EventType)0xEF26A55C)EventTraceStatFix ((EventType)0xEF26A5F8)EventTraceStatReclaim ((EventType)0xEF26A56E)EventArenaWriteFaults ((EventType)0xEFA6436F)EventPoolInitMV ((EventType)0xEFB0713F)EventPoolInitMVFF ((EventType)0xEFB071FF)EventPoolInitMFS ((EventType)0xEFB07135)EventPoolInitEPVM ((EventType)0xEFB071EF)EventPoolInitEPDL ((EventType)0xEFB071E7)EventPoolInitAMS ((EventType)0xEFB071A5)EventPoolInitAMC ((EventType)0xEFB071AC)EventPoolInitAMCZ ((EventType)0xEFB071A2)EventPoolInitAWL ((EventType)0xEFB071A3)EventPoolInitLO ((EventType)0xEFB07170)EventPoolInitSNC ((EventType)0xEFB07154)EventPoolInitMVT ((EventType)0xEFB07132)EventPoolPush ((EventType)0xEFB07B58)EventPoolPop ((EventType)0xEFB07B0B)EventReservoirLimitSet ((EventType)0xEF6E5713)EventCommitLimitSet ((EventType)0xEFC03713)EventSpareCommitLimitSet ((EventType)0xEF5BC713)hEventInit() NOOPiEventFinish() NOOPjEventControl(r,f) (UNUSED(r), UNUSED(f), (Word)0)kEventInternString(s) (UNUSED(s), (Word)0)lEventInternGenString(l,s) (UNUSED(l), UNUSED(s), (Word)0)mEventLabelAddr(a,i) BEGIN UNUSED(a); UNUSED(i); ENDPlock_h ULockSig ((Sig)0x51970CC9) th_h  ring_h RingNONE ((Ring)0)$RingInit(ring) BEGIN Ring _ring = (ring); AVER(_ring != NULL); _ring->next = _ring; _ring->prev = _ring; AVER(RingCheck(_ring)); END/RingFinish(ring) BEGIN Ring _ring = (ring); AVER(RingCheckSingle(_ring)); _ring->next = RingNONE; _ring->prev = RingNONE; END9RingAppend(ring,new) BEGIN Ring _ring = (ring), _new = (new); AVER(RingCheck(_ring)); AVER(RingCheckSingle(_new)); _new->prev = _ring->prev; _new->next = _ring; _ring->prev->next = _new; _ring->prev = _new; ENDFRingInsert(ring,new) BEGIN Ring _ring = (ring), _new = (new); AVER(RingCheck(_ring)); AVER(RingCheckSingle(_new)); _new->prev = _ring; _new->next = _ring->next; _ring->next->prev = _new; _ring->next = _new; ENDSRingRemove(old) BEGIN Ring _old = (old); AVER(RingCheck(_old)); AVER(!RingIsSingle(_old)); _old->next->prev = _old->prev; _old->prev->next = _old->next; _old->next = _old; _old->prev = _old; END`RingNext(ring) ((ring)->next)dRingPrev(ring) ((ring)->prev)gRING_ELT(type,field,node) ((type)(void *)((char *)(node) - (size_t)(&((type)0)->field)))kRING_FOR(node,ring,next) for(node = RingNext(ring), next = RingNext(node); node != (ring); node = (next), next = RingNext(node))ThreadSig ((Sig)0x519286ED) ss_h  tract_h #TractBase(tract) ((tract)->base)&TractPool(tract) ((tract)->pool)'TractP(tract) ((tract)->p)(TractSetP(tract,pp) ((void)((tract)->p = (pp))))TractHasSeg(tract) ((Bool)(tract)->hasSeg)*TractSetHasSeg(tract,b) ((void)((tract)->hasSeg = (b)))+TractWhite(tract) ((tract)->white),TractSetWhite(tract,w) ((void)((tract)->white = (w)))8TRACT_SEG(segReturn,tract) (TractHasSeg(tract) && ((*(segReturn) = (Seg)TractP(tract)), TRUE));TRACT_SET_SEG(tract,seg) (TractSetHasSeg(tract, TRUE), TractSetP(tract, seg))>TRACT_UNSET_SEG(tract) (TractSetHasSeg(tract, FALSE), TractSetP(tract, NULL))nPageTract(page) (&(page)->the.tractStruct)rPageOfTract(tract) PARENT(PageStruct, the.tractStruct, (tract))vPagePool(page) ((page)->the.rest.pool)}PageIsAllocated(page) ((page)->the.rest.pool != NULL)PageType(page) ((page)->the.rest.type)ChunkSig ((Sig)0x519C804C)ChunkArena(chunk) ((chunk)->arena)ChunkPageSize(chunk) ((chunk)->pageSize)ChunkPageShift(chunk) ((chunk)->pageShift)ChunkPagesToSize(chunk,pages) ((Size)(pages) << (chunk)->pageShift)ChunkSizeToPages(chunk,size) ((Count)((size) >> (chunk)->pageShift))CHUNK_OF_ADDR(chunkReturn,arena,addr) (((arena)->chunkCache.base <= (addr) && (addr) < (arena)->chunkCache.limit) ? (*(chunkReturn) = (arena)->chunkCache.chunk, TRUE) : ChunkOfAddr(chunkReturn, arena, addr))AddrPageBase(chunk,addr) AddrAlignDown((addr), ChunkPageSize(chunk))TRACT_OF_ADDR(tractReturn,arena,addr) BEGIN Arena _arena = (arena); Addr _addr = (addr); Chunk _chunk; Index _i; if (CHUNK_OF_ADDR(&_chunk, _arena, _addr)) { _i = INDEX_OF_ADDR(_chunk, _addr); if (BTGet(_chunk->allocTable, _i)) *(tractReturn) = PageTract(&_chunk->pageTable[_i]); else *(tractReturn) = NULL; } else *(tractReturn) = NULL; ENDINDEX_OF_ADDR(chunk,addr) ((Index)ChunkSizeToPages(chunk, AddrOffset((chunk)->base, addr)))PageIndexBase(chunk,i) AddrAdd((chunk)->base, ChunkPagesToSize(chunk, i))TractAverContiguousRange(arena,rangeBase,rangeLimit) BEGIN Chunk _ch = NULL; UNUSED(_ch); AVER(ChunkOfAddr(&_ch, arena, rangeBase) && (rangeLimit) <= _ch->limit); ENDTRACT_TRACT_FOR(tract,addr,arena,firstTract,limit) tract = (firstTract); addr = TractBase(tract); TractAverContiguousRange(arena, addr, limit); for(; tract != NULL; (addr = AddrAdd(addr, (arena)->alignment)), (addr < (limit) ? (tract = PageTract(PageOfTract(tract) + 1)) : (tract = NULL) ))TRACT_FOR(tract,addr,arena,base,limit) TRACT_TRACT_FOR(tract, addr, arena, TractOfBaseAddr(arena, base), limit)mpmst_h protocol_h DERIVE_LOCAL(name) protocol ## nameDERIVE_STRUCT(name) name ## StructDERIVE_ENSURE(name) name ## GetDERIVE_ENSURE_OLD(name) Ensure ## nameDERIVE_ENSURE_INTERNAL(name) protocolGet ## nameDERIVE_GUARDIAN(name) protocol ## name ## GuardianDERIVE_STATIC_STORAGE(name) protocol ## name ## StructProtocolClassSetSuperclassPoly(class,super) (((ProtocolClass)(class))->superclass) = (ProtocolClass)(super)$DEFINE_CLASS(className,var) static Bool DERIVE_GUARDIAN(className) = FALSE; static DERIVE_STRUCT(className) DERIVE_STATIC_STORAGE(className); static void DERIVE_ENSURE_INTERNAL(className)(className); extern className DERIVE_ENSURE(className)(void); className DERIVE_ENSURE(className)(void) { if (DERIVE_GUARDIAN(className) == FALSE) { LockClaimGlobalRecursive(); if (DERIVE_GUARDIAN(className) == FALSE) { DERIVE_ENSURE_INTERNAL(className) (&DERIVE_STATIC_STORAGE(className)); DERIVE_GUARDIAN(className) = TRUE; } LockReleaseGlobalRecursive(); } return &DERIVE_STATIC_STORAGE(className); } extern className DERIVE_ENSURE_OLD(className)(void); className DERIVE_ENSURE_OLD(className)(void) { return DERIVE_ENSURE(className)(); } static void DERIVE_ENSURE_INTERNAL(className) (className var)AINHERIT_CLASS(this,parentName) BEGIN parentName DERIVE_LOCAL(parentName) = DERIVE_ENSURE(parentName)(); *this = *(DERIVE_LOCAL(parentName)); ProtocolClassSetSuperclassPoly(this, DERIVE_LOCAL(parentName)); ENDODEFINE_ALIAS_CLASS(className,typeName,var) typedef typeName className; typedef DERIVE_STRUCT(typeName) DERIVE_STRUCT(className); DEFINE_CLASS(className, var)VProtocolClassSig ((Sig)0x519B60C7)WProtocolInstSig ((Sig)0x519B6014)ProtocolClassSuperclassPoly(class) (((ProtocolClass)(class))->superclass)ClassOfPoly(inst) ((ProtocolInst)(inst)->class)IsSubclassPoly(sub,super) ProtocolIsSubclass((ProtocolClass)(sub), (ProtocolClass)(super))SUPERCLASS(className) ProtocolClassSuperclassPoly(DERIVE_ENSURE(className)()) chain_h GenDescSig ((Sig)0x5199E4DE)+PoolGenSig ((Sig)0x519B009E);ChainSig ((Sig)0x519C8A14)XPoolGenNr(gen) ((gen)->nr)/PoolClassSig ((Sig)0x519C7A55)]PoolSig ((Sig)0x519B0019)}MFSSig ((Sig)0x5193F599)MVSig ((Sig)0x5193B999)ReservoirSig ((Sig)0x5196e599)MessageClassSig ((Sig)0x519359c1)MessageSig ((Sig)0x5193e559)SegClassSig ((Sig)0x5195E9C7)SegSig ((Sig)0x5195E999)GCSegSig ((Sig)0x5199C5E9)SegPrefSig ((Sig)0x5195E9B6)BufferClassSig ((Sig)0x519B0FC7)BufferSig ((Sig)0x519B0FFE)SegBufSig ((Sig)0x51959B0F)FormatSig ((Sig)0x519F63A2)ScanStateSig ((Sig)0x5195CA45)TraceSig ((Sig)0x51924ACE)ChunkCacheEntrySig ((Sig)0x519C80CE)ArenaClassSig ((Sig)0x519A6C1A)GlobalsSig ((Sig)0x519970BA)ArenaSig ((Sig)0x519A6E4A)%BoolCheck(b) ((unsigned)(b) <= 1)(FUNCHECK(f) (FunCheck((Fun)f))4WordIsAligned(w,a) (((w) & ((a) - 1)) == 0)7WordAlignUp(w,a) (((w) + (a) - 1) & ~((Word)(a) - 1));WordRoundUp(w,r) (((w)+(r)-1) - ((w)+(r)-1)%(r))>WordAlignDown(w,a) ((w) & ~((Word)(a) - 1))@size_tAlignUp(s,a) ((size_t)WordAlignUp((Word)(s), a))BPointerAdd(p,s) ((void *)((char *)(p) + (s)))CPointerSub(p,s) ((void *)((char *)(p) - (s)))EPointerOffset(base,limit) ((size_t)((char *)(limit) - (char *)(base)))HPointerAlignUp(p,s) ((void *)WordAlignUp((Word)(p), (Align)(s)))KAddrAdd(p,s) ((Addr)PointerAdd((void *)(p), s))LAddrSub(p,s) ((Addr)PointerSub((void *)(p), s))NAddrOffset(b,l) ((Size)(PointerOffset((void *)(b), (void *)(l))))RAddrAlignDown(p,a) ((Addr)WordAlignDown((Word)(p), a))TAlignWord(s) ((Word)(s))VAddrIsAligned(p,a) WordIsAligned((Word)(p), a)WAddrAlignUp(p,a) ((Addr)WordAlignUp((Word)(p), a))YSizeIsAligned(s,a) WordIsAligned((Word)(s), a)ZSizeAlignUp(s,a) ((Size)WordAlignUp((Word)(s), a))[SizeAlignDown(s,a) ((Size)WordAlignDown((Word)(s), a))]SizeRoundUp(s,r) ((Size)WordRoundUp((Word)(s), (Size)(r)))_IndexIsAligned(s,a) WordIsAligned((Word)(s), a)`IndexAlignUp(s,a) ((Index)WordAlignUp((Word)(s), a))aIndexAlignDown(s,a) ((Index)WordAlignDown((Word)(s), a))cAlignIsAligned(a1,a2) WordIsAligned((Word)(a1), a2)iAddrSet(target,value,size) mps_lib_memset(target, (int)(value), size)mAddrCopy(target,source,size) mps_lib_memcpy(target, source, size)qAddrComp(a,b,size) mps_lib_memcmp(a, b, size)wADDR_PTR(type,addr) ((type *)(addr))PoolArena(pool) ((pool)->arena)PoolAlignment(pool) ((pool)->alignment)PoolSegRing(pool) (&(pool)->segRing)PoolFix(pool,ss,seg,refIO) ((*(pool)->fix)(pool, ss, seg, refIO))ClassOfPool(pool) ((pool)->class)SuperclassOfPool(pool) ((PoolClass)ProtocolClassSuperclassPoly((pool)->class))DEFINE_POOL_CLASS(className,var) DEFINE_ALIAS_CLASS(className, PoolClass, var)POOL_SUPERCLASS(className) ((PoolClass)SUPERCLASS(className))TraceSetSingle(trace) BS_SINGLE(TraceSet, (trace)->ti)TraceSetIsSingle(ts) BS_IS_SINGLE(ts)TraceSetIsMember(ts,trace) BS_IS_MEMBER(ts, (trace)->ti)TraceSetAdd(ts,trace) BS_ADD(TraceSet, ts, (trace)->ti)TraceSetDel(ts,trace) BS_DEL(TraceSet, ts, (trace)->ti)TraceSetUnion(ts1,ts2) BS_UNION(ts1, ts2)TraceSetInter(ts1,ts2) BS_INTER(ts1, ts2)TraceSetDiff(ts1,ts2) BS_DIFF(ts1, ts2)TraceSetSuper(ts1,ts2) BS_SUPER(ts1, ts2)TraceSetSub(ts1,ts2) BS_SUB(ts1, ts2)TraceSetComp(ts) BS_COMP(ts)TRACE_SET_ITER(ti,trace,ts,arena) for(ti = 0, trace = ArenaTrace(arena, ti); ti < TraceLIMIT; ++ti, trace = ArenaTrace(arena, ti)) BEGIN if (TraceSetIsMember(ts, trace)) {TRACE_SET_ITER_END(ti,trace,ts,arena) } ENDTRACE_SCAN_BEGIN(ss) BEGIN Shift SCANzoneShift = (ss)->zoneShift; ZoneSet SCANwhite = (ss)->white; RefSet SCANsummary = (ss)->unfixedSummary; Word SCANt; {TRACE_FIX1(ss,ref) (SCANt = (Word)1 << ((Word)(ref) >> SCANzoneShift & (MPS_WORD_WIDTH-1)), SCANsummary |= SCANt, SCANwhite & SCANt)TRACE_FIX2(ss,refIO) ((*(ss)->fix)(ss, refIO))TRACE_FIX(ss,refIO) (TRACE_FIX1(ss, *(refIO)) ? TRACE_FIX2(ss, refIO) : ResOK)TRACE_SCAN_END(ss) } (ss)->unfixedSummary = SCANsummary; ENDDEFINE_ARENA_CLASS(className,var) DEFINE_ALIAS_CLASS(className, ArenaClass, var)ARENA_SUPERCLASS(className) ((ArenaClass)SUPERCLASS(className))ArenaGlobals(arena) (&(arena)->globals)GlobalsArena(glob) PARENT(ArenaStruct, globals, glob)ArenaRootRing(arena) (&(arena)->rootRing)ArenaTraceRing(arena) (&(arena)->traceRing)ArenaThreadRing(arena) (&(arena)->threadRing)ArenaEpoch(arena) ((arena)->epoch)ArenaTrace(arena,ti) (&(arena)->trace[ti])ArenaZoneShift(arena) ((arena)->zoneShift)ArenaAlign(arena) ((arena)->alignment)ArenaGreyRing(arena,rank) (&(arena)->greyRing[rank])ArenaReservoir(arena) (&(arena)->reservoirStruct)DEFINE_SEG_CLASS(className,var) DEFINE_ALIAS_CLASS(className, SegClass, var)SEG_SUPERCLASS(className) ((SegClass)SUPERCLASS(className))ClassOfSeg(seg) ((seg)->class)SegBase(seg) (TractBase((seg)->firstTract))SegLimit(seg) ((seg)->limit)SegPool(seg) (TractPool((seg)->firstTract))SegRankSet(seg) ((RankSet)(seg)->rankSet)SegPM(seg) ((AccessSet)(seg)->pm)SegSM(seg) ((AccessSet)(seg)->sm)SegDepth(seg) ((unsigned)(seg)->depth)SegGrey(seg) ((TraceSet)(seg)->grey)SegWhite(seg) ((TraceSet)(seg)->white)SegNailed(seg) ((TraceSet)(seg)->nailed)SegOfPoolRing(node) (RING_ELT(Seg, poolRing, (node)))SegOfGreyRing(node) (&(RING_ELT(GCSeg, greyRing, (node)) ->segStruct))SegSummary(seg) (((GCSeg)(seg))->summary)SegSetPM(seg,mode) ((void)((seg)->pm = (mode)))SegSetSM(seg,mode) ((void)((seg)->sm = (mode)))SegSetDepth(seg,d) ((void)((seg)->depth = (d)))SegSetNailed(seg,ts) ((void)((seg)->nailed = (ts)))BUFFER_RESERVE(pReturn,buffer,size,withReservoirPermit) (AddrAdd(BufferAlloc(buffer), size) > BufferAlloc(buffer) && AddrAdd(BufferAlloc(buffer), size) <= BufferAP(buffer)->limit ? (*(pReturn) = BufferAlloc(buffer), BufferAP(buffer)->alloc = AddrAdd(BufferAlloc(buffer), size), ResOK) : BufferFill(pReturn, buffer, size, withReservoirPermit))BUFFER_COMMIT(buffer,p,size) (BufferAP(buffer)->init = BufferAlloc(buffer), BufferAP(buffer)->limit != 0 || BufferTrip(buffer, p, size))BufferAP(buffer) (&(buffer)->apStruct)BufferOfAP(ap) PARENT(BufferStruct, apStruct, ap)BufferArena(buffer) ((buffer)->arena)BufferPool(buffer) ((buffer)->pool)BufferBase(buffer) ((buffer)->base)BufferGetInit(buffer) (BufferAP(buffer)->init)BufferAlloc(buffer) (BufferAP(buffer)->alloc)BufferLimit(buffer) ((buffer)->poolLimit)DEFINE_BUFFER_CLASS(className,var) DEFINE_ALIAS_CLASS(className, BufferClass, var)BUFFER_SUPERCLASS(className) ((BufferClass)SUPERCLASS(className))RankSetIsMember(rs,r) BS_IS_MEMBER((rs), (r))RankSetSingle(r) BS_SINGLE(RankSet, (r))RankSetIsSingle(r) BS_IS_SINGLE(r)RankSetUnion(rs1,rs2) BS_UNION((rs1), (rs2))RankSetDel(rs,r) BS_DEL(RankSet, (rs), (r))AddrZone(arena,addr) (((Word)(addr) >> (arena)->zoneShift) & (MPS_WORD_WIDTH - 1))RefSetUnion(rs1,rs2) BS_UNION((rs1), (rs2))RefSetInter(rs1,rs2) BS_INTER((rs1), (rs2))RefSetDiff(rs1,rs2) BS_DIFF((rs1), (rs2))RefSetAdd(arena,rs,addr) BS_ADD(RefSet, rs, AddrZone(arena, addr))RefSetIsMember(arena,rs,addr) BS_IS_MEMBER(rs, AddrZone(arena, addr))RefSetSuper(rs1,rs2) BS_SUPER((rs1), (rs2))RefSetSub(rs1,rs2) BS_SUB((rs1), (rs2))ZoneSetUnion(zs1,zs2) BS_UNION(zs1, zs2)ZoneSetInter(zs1,zs2) BS_INTER(zs1, zs2)ZoneSetDiff(zs1,zs2) BS_DIFF(zs1, zs2)ZoneSetAdd(arena,zs,addr) BS_ADD(ZoneSet, zs, AddrZone(arena, addr))ZoneSetIsMember(arena,zs,addr) BS_IS_MEMBER(zs, AddrZone(arena, addr))ZoneSetSub(zs1,zs2) BS_SUB(zs1, zs2)ZoneSetSuper(zs1,zs2) BS_SUPER(zs1, zs2)ZoneSetComp(zs) BS_COMP(zs)STATISTIC(gather) BEGIN (gather); ENDSTATISTIC_STAT(gather) BEGIN gather; ENDSTATISTIC_WRITE(format,arg) (format), (arg),-ArenaControlPool(arena) MVPool(&(arena)->controlPoolStruct)global.cJan 17 200703:39:21 epoch $U flippedTraces $B busyTraces $B inside shield outside shield threadSerial $U formatSerial $U rootSerial $U poolSerial $U emptyInternalSize $U kB fillInternalSize $U kB allocMutatorSize $U kB emptyMutatorSize $U kB fillMutatorSize $U kB clamped released inside poll outside poll pollThreshold $U kB lock $P mpsVersion $S history[$U] = $B shCacheI $U shDepth $U YESNO suspended $S $Id: //info.ravenbrook.com/project/mps/master/code/global.c#18 $ [note: indices are raw, not rotated] prehistory = $B $tI K AG:?|  AB  AB  DAB DL.g.$dAAB DD.E.H._.AAB AB B$AB EL.i. N.AB AAB DD. AB AB H.SAB BK. AB H.4AB H. HXAB FQ.AB H.4'AB Fj.d.f. L.n.K.S.UAB Dw. 4AB Bv.(L*AB Fa. R.i. x _AB DO. N. *AB `. 9AB EL. @ /AB FH. p >AB FO. SAB FK.$ AAB EL.T. M.0H AB Fb.r. f.F. Y.:/$GlobalsCheck %GlobalsInitj&GlobalsCompleteCreate&GlobalsFinish'GlobalsPrepareToDestroy(GlobalsRememberedSummaryRingD(ArenaEnterl(arenaEnterLock(ArenaEnterRecursive(ArenaLeave(arenaLeaveLockB)ArenaLeaveRecursivej)ArenaAccess*ArenaPoll*ArenaStep+ArenaFinalize ,ArenaDefinalizeQ,ArenaPeek,ArenaPeekSeg-ArenaPoken-ArenaPokeSeg-ArenaRead.GlobalsDescribe.globalSrcId&/mps_exception_infoD~ )ProtocolCoerceClassMethodMutatorFaultContextmpsVersionStringchunkarenaSizeGlobalsInitsize_t_oldallocTableclampedchunkSerialsteppedarenaReleaseRingLockLockStructrankSetalignmentframePushpageTablePagesframePopPendingpageTableLimitrootunitsPerExtentGlobalsFinishrootScanCountPoolFreeMethodglobalRingChunkCacheEntryStructSrcIdStructMFSHeaderStructPoolAccessMethodgreyRingdetachisGensuperclassforwardedCountarenaLeaveLockblockPoolStructrampCountRingStructtypeArenaGlobalsPrepareToDestroyMutatorFaultContextStructdoublemergepoolLimitfinishArenaPokeSegpoolRingBufferStructarenaRinggreySegMaxgenspoolStructArenaDescribeMethodemptyInternalSizeLockforwardedSizeEpochreservoirLimitstreamintervalArenaPokePoolFinishMethodAttrarenaArenaFreeMethodnextNodearenaClaimRingLocklong intPoolClassStructrestPoolReclaimMethodIndexcoerceClassArenaClassStructclassArenaPollWordSegSetWhiteMethodhistorywriteBarrierHitCountpageSizeheaderSizerankbuild_timemortalityhigh__va_listTraceIdProtocolInstblackenrampBeginPoolRampBeginMethodSizesigned charReservoirStructAddrStruct/home/hannes/dylan/mps/codesingleScanCountarenaAnnouncespacecontextfreewalkextendsetRankSetSegFinishMethodrememberedSummaryRingspanPoolStructPoolBufferClassMethodpointlessScanCounttractListglobalsRingaddrPoolDescribeMethodFormatSkipMethod_ringGlobalsRememberedSummaryRingcopiedSizeFormatScanMethodSegStructvarietyarenaScanTimeflippedTracesArenaAccessBufferFinishMethodscannedfoundationdescribenamecommittedcapacityScanStateStructrootScanSizesummaryattrmultiplierrememberedSummaryIndexreclaimSizePoolStructrecursiveSegSetRankSummaryMethodpreservedInPlaceSizenodeglobalArenaInitMethodFormatPadMethodglobal.cmayMovefileProtocolInstStructpageslimittraceskipthreadRingPoolFramePushMethodArenaChunkFinishMethodreservebufferbusyTracesPoolAllocMethodmoveArenaExtendMethodratesegScanSizecoerceInstunroundedUnitSizemps_lib_stream_ssegRefCountrootRingbufferFillsetRankSummaryAccessSetChunkStructfixRefCountframeptrshDepthunsigned charisCollectedenabledArenaAllocMethodlwPopPendinglong unsigned intallocBasespareCommitLimitnailCountformatextendByavgSizeclocks_per_secAllocFrameStructchunkRinggreyfirstTractlabelledfillMutatorSizePagePageStructpoolReadyproflowchunkFinishserialBufferFormatCopyMethodBootBlockStructArenaStepBoolbufferLoggingreservoirStructPoolDebugMixinMethodFormatTraceStructProtocolClassMVStructArenaDefinalize__uint32_tProtocolCoerceInstMethodSegSetSummaryMethodprotocollong long intsegCopiedSizeva_listTraceSetBufferAttachMethodbufferRingArenaSpareCommitExceededMethodshCachePoolGreyMethodPoolBufferFillMethodSerialthreadSerialreclaimdepthinitCountfillSizeGlobalsCheckTracehasSegspareCommitExceededPoolnailedRefSetPoolDebugMixinscmidcontrolPoolStructsetGreyshCacheLimitPoolFramePopPendingMethodScanStateRootallocGlobalsTractStructSegSplitMethodGlobalsDescribeunitSizeunsigned intBufferReassignSegMethodGlobalsStructPoolInitMethodattachpageShiftArenaFinalizewhitenfinalPoolBufferRankSetMethodSegPrefStructPoolFixMethod_newsegRingPoolBufferEmptyMethodMFSStructzonesprimaryBufferModebufferEmptyoffsetPoolWhitenMethodChainStructprehistoryFileSrcIdStructSegInitMethodreclaimCountZoneSetBufferClassStructSegSetGreyMethodGNU C 3.4.6 [FreeBSD] 20060305FormattedObjectsStepMethodSegClassStruct__size_tfixedSummarycharTraceStatereadBarrierHitCountwalkArenaChunkInitMethodarenaRingInitsizeAlignfreeListpreservedInPlaceCountlastTractrootCopiedSizestartscansetWhiteglobalSrcIdfixEmergencyformatRingarenaDenounceThreadStructcommitLimitRootStructsnapCounttracedSizeisMovedlong long unsigned intSrcIdinsideShieldSegSetBufferMethodRankzoneShiftTraceFixMethodlocusRingpoolformatSerialPoolDebugMixinStructdebugMixinbuild_daterampEndArenaPeekGlobalsCompleteCreatePoolClassgenCountinitAtFlippageTablepoolSerialFormatIsMovedMethodPoolRampEndMethodPoolFramePopMethodchunkInitBufferSegMethodmaxSizereservoirSizeSegMergeMethodarenaShouldCollectWorldsetBuffercopyallocMutatorSizetracedTimeBufferClassrootSerialChainreassignSegframePopactiveTracessinceLastWorldCollectArenaEnterPoolBlackenMethodemptyMutatorSizePoolFreeWalkMethodBufferInitMethodtopGensuspendedArenaReadbufferClassGenDescStructthreadFormatClassMethodArenaEnterRecursiveBufferDetachMethodlastTractBaseapStructSegSetRankSetMethodscanRateFreeBlockStepMethodAllocFramewhiteSegRefCountShiftchainunfixedSummaryshort intlostnotCondemnedtractStructmodeRankSetshCacheIfillInternalSizestateFormatMoveMethodBufferDescribeMethodisMutatorlastWorldCollectsingleScanSizeArenaLeaveRecursivespareCommittedSegPrefThreadspansSegClasspollThresholdmessageRingArenaLeaveArenaPeekSegchunkCacheemptySizearenaEnterLocktracesbufferSerialPoolFixEmergencyMethodepochArenaClassAPStructwhitemps_exception_infoarenaGlobalssplitcondemnedisFinalPoolemergencySegBufferMethodfreechainRingwasMarkedFormatVarietyenabledMessageTypesshort unsigned intbaseAddrArenaStructsetSummarymps_lib_FILEBufferSetRankSetMethodSegDescribeMethodaccessgreySegCountsegScanCountChunkArenaReservedMethodPoolScanMethodsingleCopiedSizeBootBlockinsidePollreservednextPoolWalkMethodProtocolClassStructprevpageTableBaseFormatStructscannedSizelockArenaFinishMethodTractGCC: (GNU) 3.4.6 [FreeBSD] 20060305.symtab.strtab.shstrtab.rel.text.rel.data.bss.debug_abbrev.rel.debug_info.rel.debug_line.debug_macinfo.rodata.str1.1.rodata.str1.4.rel.rodata.rodata.cst4.rodata.cst8.rel.debug_frame.rel.debug_pubnames.rel.debug_aranges.debug_ranges.debug_str.comment4D )x% /|4|FP:/B HV@wR  bDq2 2t   d M  mH0h%L  lJ     ( ; P D^hdAv44A  -8AJXp S #HX2>G\p'UL* 'x _5BMY *iw 9@ /p > S AH *;global.cFileSrcIdStructarenaRingInitarenaClaimRingLockarenaReleaseRingLockarenaAnnouncearenaRingarenaDenouncearenaShouldCollectWorldglobalSrcIdLockClaimGlobalLockReleaseGlobalArenaEnterArenaLeaveGlobalsCheckGlobalsInitProtSetupMPSVersionmps_clockGlobalsCompleteCreateControlAllocBTResRangeLockSizeLockInitGlobalsFinishGlobalsPrepareToDestroyLockReleaseMPMLockFinishMessageEmptyControlFreePoolDestroyGlobalsRememberedSummaryRingarenaEnterLockStackProbeLockClaimRecursiveLockClaimShieldEnterArenaEnterRecursivearenaLeaveLockShieldLeaveProtSyncLockReleaseRecursiveArenaLeaveRecursivemps_exception_infoArenaAccessSegOfAddrPoolAccessRootOfAddrRootPMRootAccessArenaPollArenaStepArenaCommittedArenaSpareCommittedmps_clocks_per_secArenaStartCollectTracePollArenaFinalizePoolClassMRGPoolCreateMRGRegisterArenaDefinalizeMRGDeregisterArenaPeekArenaPeekSegShieldExposeShieldCoverArenaPokeArenaPokeSegSegSetSummaryArenaReadTraceScanSingleRefGlobalsDescribeWriteFRootsDescribePoolDescribeFormatDescribeThreadRingThreadThreadDescribe4?INVp }!#_$%'0(:)H'`*3->.F/c0134567,3@9c:q;<-9>@>2A> VBc>wCD  >FpGzH"YIa%JK%^  M N O Q @- SR Ta U @ W T X U @- Z: S              1  H  _  d  o  u       \  \  \&  1  6  D  J  R \k ] ^ _ `a  !%*18?MX_fmt{(39Zev| #.9Tek-<KZiy,;Ziq%4CRap (6DR`n &4BP^lz"0>LZhv  ) 8 G V e t            ( 7 F U d s           : I X g v            + @ V d r           0 > L Z h v         !0@U,>Qfn|$2Od{ />M\kz 0@P`p 0@P`p 0@P`p )8GVet $*;ARXis{1<g>j@Km^i/Qs 3m G} =h$Ep   . = L [ j y         ! !,!=!R!h!v!!!!!!!/">"T"b"p"~"""""""""" ##4#@#K#V#a#m#y#########$ $$$)$-$2$=$P$W$[$b$o$z$~$$$$$$$$$$%%!%(%5%M%^%b%g%w%{%%%%%%%%%%%%%%&& &&"&'&:&>&C&R&V&[&p&|&&&&&&&&&&& '' '%'6':'?'P'T'Y'j'n's'''''''''''''''(( ((*(.(5(J(R(V(](r(z(~(((((((((((() )))&)4)H)P)T)[)p)|))))))))))) *#*+*/*6*D*W*c*g*n*|********++ ++*+9+E+S+b++++++++++,,!,(,W,c,g,n,|,,,,,,,,--"-)-7-t-|----------%.1.5.<.J.g.u.......... .////"/'/5/>    04HLlp04HLdh48TXtx$(HLlplocus.o/ 1169001562 1001 1001 100644 60732 ` ELF $4(UÉUÉUMU Ew7$A'AAA AAÉUÉUVSuV F9tvZ ʋ 9u[^ÍvUVSuV F9tvZʋ 9u[^ÍvUWVS }9svC9rjPu EPÃu9sJv D1[UT1UD\1 T1AA@QC9rjju EPÃuGUE BZ[BzrQACJAYEPVu ؉e[^_UUzvR@9wUWVS ]{sSKBABSR[Q9s(SBB S[QA9rCC PsW jSWe[^_ÍvUE@ÐUExt 5HARP,$d$ ]QRP,$d$mÉUWVS,EEEE XSIƃK MShEعQV,$c }fU fUm}mU)UG E ;xs@SƃC 9v}tuu…u5EԺRP,$d$EغRP,$d$-EЍe[^_ÉUWVS } UBP M9tDJQ$A$9t ƉBPWu"ڋ9uUEMA9ue[^_ÉUUE H BUUE H!BUVS]u USECs KKICCQ9Vt ҋFTBASBJ#vV¬KBASBJv[^ÍvUSM[QQYBCBQR[ÐUÉUVSEP @;Btru r D3e[^US]AAA QAA@ǃQ[ÉUEǀ[QǀǀÉUQC% $ > $ > : ; I I&I : ;  : ; I8 < : ; I  : ;I8 : ;I8  : ; I8  : ; I 8  : ;I 8  : ;I 8  : ; ' II' ' I : ;  : ;  : ; I: ;II!I/ .? : ; ' I@ : ; I .? : ; ' I@ .? : ; ' @ !: ; I ".: ; ' I@ #4: ; I $ %4: ; I&4: ; I ' : ; ( ).? : ;' I@ *: ;I +4: ;I ,4: ;I-4: ;I . : ;/.? : ;' @ 0: ;I 14: ;I24: ;I? < 34: ; I?  t,`3intA 8W D_ _L |7zE@ ""[$#`%##&#2'# " 2 v . Sigl ResEq l"ou  #Y$Y%Y&Y 'W (W Ref)d ,YA -Y@.W?/W1{ 2W3W4W5Wp6W.7W BT:MY;^d =Y @> D"# qE# |F# kG4# H_# "I|# v J#$ K>#( segL#, M#0 N#4 >O#8 sigPC#<a AWC kad# :bd# l cd# dd# e# $f# D<D sigC# n#  8# # F # # # a;# \#$ !~#( d #, pad#0 #4 N{#8F 6 (GS XGsig`C#na#b#c# F d# e#f# g#$h#,i#0fixjH#47ks#8ls#@ms#H! ns#PYHH2"#q3#|4#`5#6-#k7d# 8#$:9#(V:#,;#0<8#4 =d#8 >#< ?#@]@#D A#HfixBH#L Cx#P~D#T E#XF#\G#`H#d I3#hJZ#lK#pJL#tM#xdN#|O#sigPC# O O sigC# ti# # # # # |#  * # {# {#$ {#( {#, A #0 Z#4 #8 #< .{#@ #D #H k{#L f#P .#T {#X b#\ P #` f#d )#h #l " #p ' #t  #x w {#|  #  {# :# # P  * TP fix # Y# # ?# sigC# # o # # # j #$ b#( P #, f#0 )#4 #8 #< w{#@ #D {#H {#L {#P Q5 ;  Qsig>C#?#e@#)A #B# C6!#I R   R #p#d# # uW# S   8SsigC#n### v{# #d#l d# L#$ #(C#,D!#0G#4? T sigC# 1 # d# l d# N?# D?#2UJPkUthehl!# SegVv|PwV sigC# P# v # g  # l  d#_  W#pm "#sm "#  # #  ##X[aNLX"#q#|#k##_#  #$#(#, #0#4)8#8#<#@ )#DsigC#HiZY_Z sig0C# 1# 2# J3# 4# gen5#[E\ H\ &"# q' $# |(# `)# k*# +# 6,#$ -#( .#, :/2#0 V0s#4 1#8 e2#< 3#@ sig4C#D6 ^v(^ o&$# np#t r#x Vt#| 2u## w## w y{# "z{# L|{# } }{# # #  # nd#  # # # o$#  # # # # C# G# B # # |# [# '2$# N{# E{# {# V#  #  # |B$# s# /s# Y# R$# 0# e# W# \# b$# sigC#t_ sigBC# E# F# hIs# sJ# K# 7Ls# Ms#( Ns#0 Os#8 ! Ps#@ S#H uV#L g Y#P GZ#X ]#\ ^#d Ga#h * d#p d EVe 2g.4 hh"# #X{#\{#`sigC#dw nN8X op{qr2Nd{t=CgNgmN{d gu~d{vN Sw xN'/N /@FfdlqwddNkd{8k= k -!'8kCI_k jpk"jk kj8Nk)Nkkddd8my?E_Nj8jp|jjddd{jO kjj1  j&'->jkL IOdNj ouN8Ng{fd{ 8Nggj{CIdjddouNkd" ȤNk k k #BNB k[SYxN k/ S ҙje jNj#3Nj#>DZj#Rekk5l ݖf޽xN  !;N ddFL\ddgm~ddF gd{$ Fh   #] # / {#us#  \E K   $sigC## {#u!s# "s#w ## $K )  6! )sig.C#nr/# 0# 1* #  3#R4{#5{#  l!g e#r fE#!h c;myGZg1g1:d:rreVtddMA ;wrgrr[h:M=__STDC_HOSTED__ 1__GNUC__ 3__GNUC_MINOR__ 4__GNUC_PATCHLEVEL__ 6__SIZE_TYPE__ unsigned int__PTRDIFF_TYPE__ int__WCHAR_TYPE__ int__WINT_TYPE__ unsigned int __GXX_ABI_VERSION 1002 __SCHAR_MAX__ 127 __SHRT_MAX__ 32767 __INT_MAX__ 2147483647 __LONG_MAX__ 2147483647L__LONG_LONG_MAX__ 9223372036854775807LL__WCHAR_MAX__ 2147483647__CHAR_BIT__ 8__FLT_EVAL_METHOD__ 2__FLT_RADIX__ 2__FLT_MANT_DIG__ 24__FLT_DIG__ 6__FLT_MIN_EXP__ (-125)__FLT_MIN_10_EXP__ (-37)__FLT_MAX_EXP__ 128__FLT_MAX_10_EXP__ 38__FLT_MAX__ 3.40282347e+38F__FLT_MIN__ 1.17549435e-38F__FLT_EPSILON__ 1.19209290e-7F__FLT_DENORM_MIN__ 1.40129846e-45F__FLT_HAS_INFINITY__ 1__FLT_HAS_QUIET_NAN__ 1__DBL_MANT_DIG__ 53 __DBL_DIG__ 15!__DBL_MIN_EXP__ (-1021)"__DBL_MIN_10_EXP__ (-307)#__DBL_MAX_EXP__ 1024$__DBL_MAX_10_EXP__ 308%__DBL_MAX__ 1.7976931348623157e+308&__DBL_MIN__ 2.2250738585072014e-308'__DBL_EPSILON__ 2.2204460492503131e-16(__DBL_DENORM_MIN__ 4.9406564584124654e-324)__DBL_HAS_INFINITY__ 1*__DBL_HAS_QUIET_NAN__ 1+__LDBL_MANT_DIG__ 53,__LDBL_DIG__ 15-__LDBL_MIN_EXP__ (-16381).__LDBL_MIN_10_EXP__ (-4931)/__LDBL_MAX_EXP__ 163840__LDBL_MAX_10_EXP__ 49321__DECIMAL_DIG__ 172__LDBL_MAX__ 1.1897314953572316e+4932L3__LDBL_MIN__ 3.3621031431120935e-4932L4__LDBL_EPSILON__ 2.2204460492503131e-16L5__LDBL_DENORM_MIN__ 7.4653686412953080e-4948L6__LDBL_HAS_INFINITY__ 17__LDBL_HAS_QUIET_NAN__ 18__REGISTER_PREFIX__ 9__USER_LABEL_PREFIX__ :__VERSION__ "3.4.6 [FreeBSD] 20060305";__OPTIMIZE__ 1<__FINITE_MATH_ONLY__ 0=__STRICT_ANSI__ 1@__i386 1A__i386__ 1B__tune_i386__ 1C__FreeBSD__ 6D__unix 1E__unix__ 1F__KPRINTF_ATTRIBUTE__ 1J__FreeBSD_cc_version 602001K__ELF__ 1_REENTRANT 1CONFIG_PROD_DYLAN 1CONFIG_VAR_HI 1NDEBUG 1 chain_h  mpmtypes_h config_h !CONFIG_DEBUG "CHECK_DEFAULT CheckNONE6CHECK_NONE 7MPS_ASSERT_STRING "nonasserted"?EVENT_NONE @MPS_LOG_STRING "nonlogging"EDIAGNOSTICS FMPS_DEBUG_STRING "debug"LMPS_VARIETY_STRING MPS_ASSERT_STRING "." MPS_LOG_STRING "." MPS_DEBUG_STRINGRmpstd_h MPS_PF_FRI4GC MPS_PF_STRING "fri4gc"MPS_OS_FR MPS_ARCH_I4 MPS_BUILD_GC MPS_T_WORD unsigned longMPS_WORD_WIDTH 32MPS_WORD_SHIFT 5MPS_PF_ALIGN 4EPVMDefaultSubsequentSegSIZE (64ul * 1024)ARENA_CONTROL_EXTENDBY ((Size)4096)ARENA_CONTROL_AVGSIZE ((Size)32)ARENA_CONTROL_MAXSIZE ((Size)65536)ArenaPollALLOCTIME (65536.0)ARENA_ZONESHIFT ((Shift)20)ARENA_CLIENT_PAGE_SIZE ((Size)8192)ArenaDefaultZONESET (ZoneSetUNIV << (MPS_WORD_WIDTH / 2))SegPrefDEFAULT { SegPrefSig, TRUE, ArenaDefaultZONESET, FALSE, FALSE, (Serial)0, }LDHistoryLENGTH ((Size)4)StackProbeDEPTH ((Size)0)ShieldCacheSIZE ((size_t)16)ShieldDepthWIDTH (4)VMANPageALIGNMENT ((Align)4096)VMJunkBYTE ((unsigned char)0xA9)TraceLIMIT ((size_t)1)TraceCopyScanRATIO (1.5)RememberedSummaryBLOCK 15EventBufferSIZE ((size_t)4096)EventStringLengthMAX ((size_t)255)ASSERT_BUFFER_SIZE ((Size)512)MPS_PROD_STRING "dylan"MPS_PROD_DYLAN ARENA_INIT_SPARE_COMMIT_LIMIT ((Size)10uL*1024uL*1024uL)THREAD_MULTI PROTECTION DONGLE_NONE PROD_CHECK_DEFAULT CheckSHALLOWARENA_SIZE ((Size)1<<30)misc_h '_STDDEF_H_ )%_SYS_CDEFS_H_ +__BEGIN_DECLS ,__END_DECLS 8__GNUCLIKE_ASM 39__GNUCLIKE_MATH_BUILTIN_CONSTANTS =__GNUCLIKE___TYPEOF 1>__GNUCLIKE___OFFSETOF 1?__GNUCLIKE___SECTION 1A__GNUCLIKE_ATTRIBUTE_MODE_DI 1D__GNUCLIKE_CTOR_SECTION_HANDLING 1G__GNUCLIKE_BUILTIN_CONSTANT_P 1N__GNUCLIKE_BUILTIN_VARARGS 1O__GNUCLIKE_BUILTIN_STDARG 1P__GNUCLIKE_BUILTIN_VAALIST 1T__GNUC_VA_LIST_COMPATIBILITY 1X__GNUCLIKE_BUILTIN_NEXT_ARG 1Y__GNUCLIKE_MATH_BUILTIN_RELOPS \__GNUCLIKE_BUILTIN_MEMCPY 1___CC_SUPPORTS_INLINE 1`__CC_SUPPORTS___INLINE 1a__CC_SUPPORTS___INLINE__ 1c__CC_SUPPORTS___FUNC__ 1d__CC_SUPPORTS_WARNING 1f__CC_SUPPORTS_VARADIC_XXX 1h__CC_SUPPORTS_DYNAMIC_ARRAY_INIT 1k__CC_INT_IS_32BIT 1s__GNUC_PREREQ__(ma,mi) (__GNUC__ > (ma) || __GNUC__ == (ma) && __GNUC_MINOR__ >= (mi))__P(protos) protos__CONCAT1(x,y) x ## y__CONCAT(x,y) __CONCAT1(x,y)__STRING(x) #x__XSTRING(x) __STRING(x)__const const__signed signed__volatile volatile__dead2 __attribute__((__noreturn__))__pure2 __attribute__((__const__))__unused __attribute__((__unused__))__used __attribute__((__used__))__packed __attribute__((__packed__))__aligned(x) __attribute__((__aligned__(x)))__section(x) __attribute__((__section__(x)))__pure __attribute__((__pure__))__always_inline __attribute__((__always_inline__))__nonnull(x) __attribute__((__nonnull__(x)))__restrict __predict_true(exp) __builtin_expect((exp), 1)__predict_false(exp) __builtin_expect((exp), 0)__offsetof(type,field) ((size_t)(&((type *)0)->field))__rangeof(type,start,end) (__offsetof(type, end) - __offsetof(type, start))__printflike(fmtarg,firstvararg) __attribute__((__format__ (__printf__, fmtarg, firstvararg)))__scanflike(fmtarg,firstvararg) __attribute__((__format__ (__scanf__, fmtarg, firstvararg)))__format_arg(fmtarg) __attribute__((__format_arg__ (fmtarg)))__printf0like(fmtarg,firstvararg) __attribute__((__format__ (__printf0__, fmtarg, firstvararg)))__strong_reference(sym,aliassym) extern __typeof (sym) aliassym __attribute__ ((__alias__ (#sym)));__weak_reference(sym,alias) __asm__(".weak " #alias); __asm__(".equ " #alias ", " #sym)__warn_references(sym,msg) __asm__(".section .gnu.warning." #sym); __asm__(".asciz \"" msg "\""); __asm__(".previous")__IDSTRING(name,string) __asm__(".ident\t\"" string "\"")__FBSDID(s) __IDSTRING(__CONCAT(__rcsid_,__LINE__),s)__RCSID(s) __IDSTRING(__CONCAT(__rcsid_,__LINE__),s)__RCSID_SOURCE(s) __IDSTRING(__CONCAT(__rcsid_source_,__LINE__),s)__SCCSID(s) __IDSTRING(__CONCAT(__sccsid_,__LINE__),s)__COPYRIGHT(s) __IDSTRING(__CONCAT(__copyright_,__LINE__),s)__DECONST(type,var) ((type)(uintptr_t)(const void *)(var))__DEVOLATILE(type,var) ((type)(uintptr_t)(volatile void *)(var))__DEQUALIFY(type,var) ((type)(uintptr_t)(const volatile void *)(var))__POSIX_VISIBLE 200112__XSI_VISIBLE 600__BSD_VISIBLE 1__ISO_C_VISIBLE 1999* NULL ((void *)0)+ _SYS__TYPES_H_ ! (_MACHINE__TYPES_H_ .__NO_STRICT_ALIGNMENT __GNUC_VA_LIST 2_RUNE_T_DECLARED 8_SIZE_T_DECLARED >_WCHAR_T_DECLARED Boffsetof(type,member) __offsetof(type, member)*SRCID(id,scmid) static SrcIdStruct FileSrcIdStruct = {__FILE__, (scmid), __DATE__, __TIME__}; SrcId id ## SrcId = &FileSrcIdStruct;BEGIN do {> (i)) & 1)BS_UNION(s1,s2) ((s1) | (s2))BS_ADD(ty,s,i) BS_UNION((s), BS_SINGLE(ty, (i)))BS_INTER(s1,s2) ((s1) & (s2))BS_DIFF(s1,s2) BS_INTER((s1), BS_COMP(s2))BS_DEL(ty,s,i) BS_DIFF((s), BS_SINGLE(ty, (i)))BS_SUPER(s1,s2) (BS_INTER((s1), (s2)) == (s2))BS_SUB(s1,s2) BS_SUPER((s2), (s1))BS_IS_SINGLE(s) (((s) & ((s)-1)) == 0)BS_SYM_DIFF(s1,s2) ((s1) ^ (s2)) mpslib_h mps_lib_EOF (mps_lib_get_EOF())mps_lib_stderr (mps_lib_get_stderr())mps_lib_stdout (mps_lib_get_stdout()) '_MACHINE_STDARG_H_ -_VA_LIST_DECLARED 3va_start(ap,last) __builtin_stdarg_start((ap), (last))6va_arg(ap,type) __builtin_va_arg((ap), type):va_copy(dest,src) __builtin_va_copy((dest), (src))>va_end(ap) __builtin_va_end(ap)SigInvalid ((Sig)0x51915BAD)SizeMAX ((Size)-1)AccessSetEMPTY ((AccessSet)0)AccessREAD ((AccessSet)(1<<0))AccessWRITE ((AccessSet)(1<<1))AccessSetWIDTH (2)RefSetEMPTY BS_EMPTY(RefSet)RefSetUNIV BS_UNIV(RefSet)ZoneSetEMPTY BS_EMPTY(ZoneSet)ZoneSetUNIV BS_UNIV(ZoneSet)TraceSetEMPTY BS_EMPTY(TraceSet)TraceSetUNIV ((TraceSet)((1u << TraceLIMIT) - 1))RankSetEMPTY BS_EMPTY(RankSet)RankSetUNIV ((RankSet)((1u << RankLIMIT) - 1))AttrFMT ((Attr)(1<<0))AttrSCAN ((Attr)(1<<1))AttrPM_NO_READ ((Attr)(1<<2))AttrPM_NO_WRITE ((Attr)(1<<3))AttrALLOC ((Attr)(1<<4))AttrFREE ((Attr)(1<<5))AttrBUF ((Attr)(1<<6))AttrBUF_RESERVE ((Attr)(1<<7))AttrBUF_ALLOC ((Attr)(1<<8))AttrGC ((Attr)(1<<9))AttrINCR_RB ((Attr)(1<<10))AttrINCR_WB ((Attr)(1<<11))AttrMOVINGGC ((Attr)(1<<12))AttrMASK (AttrFMT | AttrSCAN | AttrPM_NO_READ | AttrPM_NO_WRITE | AttrALLOC | AttrFREE | AttrBUF | AttrBUF_RESERVE | AttrBUF_ALLOC | AttrGC | AttrINCR_RB | AttrINCR_WB | AttrMOVINGGC)BufferModeATTACHED ((BufferMode)(1<<0))BufferModeFLIPPED ((BufferMode)(1<<1))BufferModeLOGGED ((BufferMode)(1<<2))BufferModeTRANSITION ((BufferMode)(1<<3))RootModeCONSTANT ((RootMode)1<<0)RootModePROTECTABLE ((RootMode)1<<1)RootModePROTECTABLE_INNER ((RootMode)1<<2)STATISTIC_DECL(field) field  ring_h  check_h 0AVER(cond) DISCARD(cond)1AVERT(type,val) DISCARD(type ## Check(val))2AVER_CRITICAL(cond) DISCARD(cond)3AVERT_CRITICAL(type,val) DISCARD(type ## Check(val))MASSERT(cond,condstring) BEGIN if (cond) NOOP; else mps_lib_assert_fail(condstring "\n" __FILE__ "\n" STR(__LINE__)); END_NOTREACHED NOOPjCHECKT(type,val) ((val) != NULL && (val)->sig == type ## Sig)pCHECKS(type,val) DISCARD(CHECKT(type, val))qCHECKL(cond) DISCARD(cond)rCHECKD(type,val) DISCARD(CHECKT(type, val))sCHECKD_NOSIG(type,val) DISCARD((val) != NULL)tCHECKU(type,val) DISCARD(CHECKT(type, val))uCHECKU_NOSIG(type,val) DISCARD((val) != NULL)CHECKLVALUE(lv1,lv2) ((void)sizeof((lv1) = (lv2)), (void)sizeof((lv2) = (lv1)), TRUE)CHECKTYPE(t1,t2) (sizeof(t1) == sizeof(t2) && CHECKLVALUE(*((t1 *)0), *((t2 *)0)))CHECKFIELDAPPROX(s1,f1,s2,f2) (sizeof(((s1 *)0)->f1) == sizeof(((s2 *)0)->f2) && offsetof(s1, f1) == offsetof(s2, f2))CHECKFIELD(s1,f1,s2,f2) (CHECKFIELDAPPROX(s1, f1, s2, f2) && CHECKLVALUE(((s1 *)0)->f1, ((s2 *)0)->f2))RingNONE ((Ring)0)$RingInit(ring) BEGIN Ring _ring = (ring); AVER(_ring != NULL); _ring->next = _ring; _ring->prev = _ring; AVER(RingCheck(_ring)); END/RingFinish(ring) BEGIN Ring _ring = (ring); AVER(RingCheckSingle(_ring)); _ring->next = RingNONE; _ring->prev = RingNONE; END9RingAppend(ring,new) BEGIN Ring _ring = (ring), _new = (new); AVER(RingCheck(_ring)); AVER(RingCheckSingle(_new)); _new->prev = _ring->prev; _new->next = _ring; _ring->prev->next = _new; _ring->prev = _new; ENDFRingInsert(ring,new) BEGIN Ring _ring = (ring), _new = (new); AVER(RingCheck(_ring)); AVER(RingCheckSingle(_new)); _new->prev = _ring; _new->next = _ring->next; _ring->next->prev = _new; _ring->next = _new; ENDSRingRemove(old) BEGIN Ring _old = (old); AVER(RingCheck(_old)); AVER(!RingIsSingle(_old)); _old->next->prev = _old->prev; _old->prev->next = _old->next; _old->next = _old; _old->prev = _old; END`RingNext(ring) ((ring)->next)dRingPrev(ring) ((ring)->prev)gRING_ELT(type,field,node) ((type)(void *)((char *)(node) - (size_t)(&((type)0)->field)))kRING_FOR(node,ring,next) for(node = RingNext(ring), next = RingNext(node); node != (ring); node = (next), next = RingNext(node))GenDescSig ((Sig)0x5199E4DE)+PoolGenSig ((Sig)0x519B009E);ChainSig ((Sig)0x519C8A14)XPoolGenNr(gen) ((gen)->nr) mpm_h event_h  eventcom_h !EventNameMAX ((size_t)19)"EventCodeMAX ((EventCode)0x0069)&EVENT_0(type) NOOPEVENT_A(type,p0) NOOPEVENT_AW(type,p0,p1) NOOPEVENT_P(type,p0) NOOPEVENT_PAA(type,p0,p1,p2) NOOPEVENT_PAW(type,p0,p1,p2) NOOPEVENT_PAWA(type,p0,p1,p2,p3) NOOPEVENT_PDDWWW(type,p0,p1,p2,p3,p4,p5) NOOPEVENT_PP(type,p0,p1) NOOPEVENT_PPAU(type,p0,p1,p2,p3) NOOPEVENT_PPAWP(type,p0,p1,p2,p3,p4) NOOPEVENT_PPP(type,p0,p1,p2) NOOPEVENT_PPPA(type,p0,p1,p2,p3) NOOPEVENT_PPPU(type,p0,p1,p2,p3) NOOPEVENT_PPPUU(type,p0,p1,p2,p3,p4) NOOPEVENT_PPU(type,p0,p1,p2) NOOPEVENT_PPUU(type,p0,p1,p2,p3) NOOPEVENT_PPUWWW(type,p0,p1,p2,p3,p4,p5) NOOPEVENT_PPWW(type,p0,p1,p2,p3) NOOPEVENT_PPWWW(type,p0,p1,p2,p3,p4) NOOPEVENT_PPWWWUUU(type,p0,p1,p2,p3,p4,p5,p6,p7) NOOPEVENT_PU(type,p0,p1) NOOPEVENT_PW(type,p0,p1) NOOPEVENT_PWA(type,p0,p1,p2) NOOPEVENT_PWAW(type,p0,p1,p2,p3) NOOPEVENT_PWP(type,p0,p1,p2) NOOPEVENT_PWU(type,p0,p1,p2) NOOPEVENT_PWW(type,p0,p1,p2) NOOPEVENT_PWWWWDD(type,p0,p1,p2,p3,p4,p5,p6) NOOPEVENT_PWWWWW(type,p0,p1,p2,p3,p4,p5) NOOPEVENT_PWWWWWWWWW(type,p0,p1,p2,p3,p4,p5,p6,p7,p8,p9) NOOPEVENT_PWWWWWWWWWWWW(type,p0,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11,p12) NOOPEVENT_UUPA(type,p0,p1,p2,p3) NOOPEVENT_UUPP(type,p0,p1,p2,p3) NOOPEVENT_UUPPP(type,p0,p1,p2,p3,p4) NOOPEVENT_WS(type,p0,p1,l1) NOOP:EventEventTime ((EventType)0xEF213E99);EventPoolInit ((EventType)0xEFB07141)EventPoolFree ((EventType)0xEFB07F6E)?EventArenaCreateVM ((EventType)0xEFA64CF3)@EventArenaCreateVMNZ ((EventType)0xEFA64CF2)AEventArenaCreateCL ((EventType)0xEFA64CC7)BEventArenaDestroy ((EventType)0xEFA64DE5)CEventArenaAlloc ((EventType)0xEFA64A77)DEventArenaFree ((EventType)0xEFA64F6E)EEventSegAlloc ((EventType)0xEF5E9A77)FEventSegFree ((EventType)0xEF5E9F6E)GEventSegMerge ((EventType)0xEF5E93E6)HEventSegSplit ((EventType)0xEF5E95B7)IEventAMCGenCreate ((EventType)0xEFA3C94C)JEventAMCGenDestroy ((EventType)0xEFA3C94D)KEventAMCInit ((EventType)0xEFA3C141)LEventAMCFinish ((EventType)0xEFA3CF14)MEventAMCTraceBegin ((EventType)0xEFA3C26B)NEventAMCScanBegin ((EventType)0xEFA3C5CB)OEventAMCScanEnd ((EventType)0xEFA3C5CE)PEventAMCFix ((EventType)0xEFA3CF18)QEventAMCFixInPlace ((EventType)0xEFA3CF8A)REventAMCFixForward ((EventType)0xEFA3CF8F)SEventAMCReclaim ((EventType)0xEFA3C6EC)TEventTraceStart ((EventType)0xEF26AC52)UEventTraceCreate ((EventType)0xEF26ACC6)VEventTraceDestroy ((EventType)0xEF26ACDE)WEventSegSetGrey ((EventType)0xEF59596A)XEventTraceFlipBegin ((EventType)0xEF26AF7B)YEventTraceFlipEnd ((EventType)0xEF26AF7E)ZEventTraceReclaim ((EventType)0xEF26A6EC)[EventTraceScanSeg ((EventType)0xEF26A559)\EventTraceScanSingleRef ((EventType)0xEF26A556)^EventTraceAccess ((EventType)0xEF26AACC)_EventTracePoll ((EventType)0xEF26AB01)`EventTraceStep ((EventType)0xEF26A52B)aEventTraceFix ((EventType)0xEF26AF18)bEventTraceFixSeg ((EventType)0xEF26AF85)cEventTraceFixWhite ((EventType)0xEF26AF83)dEventTraceScanArea ((EventType)0xEF26A5CA)eEventTraceScanAreaTagged ((EventType)0xEF26A5C2)fEventVMCreate ((EventType)0xEFF3C6EA)gEventVMDestroy ((EventType)0xEFF3DE52)hEventVMMap ((EventType)0xEFF33AB9)iEventVMUnmap ((EventType)0xEFF3043B)jEventIntern ((EventType)0xEF142E64)kEventArenaExtend ((EventType)0xEFA64E82)lEventArenaRetract ((EventType)0xEFA646E2)mEventRootScan ((EventType)0xEF625CA4)nEventLabel ((EventType)0xEF7ABE79)oEventTraceSegGreyen ((EventType)0xEF26A599)pEventBufferReserve ((EventType)0xEFB0FF6E)qEventBufferCommit ((EventType)0xEFB0FFC0)rEventBufferInit ((EventType)0xEFB0FF14)sEventBufferInitSeg ((EventType)0xEFB0F15E)tEventBufferInitRank ((EventType)0xEFB0F16A)uEventBufferInitEPVM ((EventType)0xEFB0F1EF)vEventBufferFinish ((EventType)0xEFB0FFF1)wEventBufferFill ((EventType)0xEFB0FFF7)xEventBufferEmpty ((EventType)0xEFB0FFE3)yEventArenaAllocFail ((EventType)0xEFA64A7F)zEventSegAllocFail ((EventType)0xEF5E9A7F){EventMeterInit ((EventType)0xEF3E2141)|EventMeterValues ((EventType)0xEF3E2FA7)}EventCBSInit ((EventType)0xEFCB5141)~EventTraceStatCondemn ((EventType)0xEF26A5C0)EventTraceStatScan ((EventType)0xEF26A55C)EventTraceStatFix ((EventType)0xEF26A5F8)EventTraceStatReclaim ((EventType)0xEF26A56E)EventArenaWriteFaults ((EventType)0xEFA6436F)EventPoolInitMV ((EventType)0xEFB0713F)EventPoolInitMVFF ((EventType)0xEFB071FF)EventPoolInitMFS ((EventType)0xEFB07135)EventPoolInitEPVM ((EventType)0xEFB071EF)EventPoolInitEPDL ((EventType)0xEFB071E7)EventPoolInitAMS ((EventType)0xEFB071A5)EventPoolInitAMC ((EventType)0xEFB071AC)EventPoolInitAMCZ ((EventType)0xEFB071A2)EventPoolInitAWL ((EventType)0xEFB071A3)EventPoolInitLO ((EventType)0xEFB07170)EventPoolInitSNC ((EventType)0xEFB07154)EventPoolInitMVT ((EventType)0xEFB07132)EventPoolPush ((EventType)0xEFB07B58)EventPoolPop ((EventType)0xEFB07B0B)EventReservoirLimitSet ((EventType)0xEF6E5713)EventCommitLimitSet ((EventType)0xEFC03713)EventSpareCommitLimitSet ((EventType)0xEF5BC713)hEventInit() NOOPiEventFinish() NOOPjEventControl(r,f) (UNUSED(r), UNUSED(f), (Word)0)kEventInternString(s) (UNUSED(s), (Word)0)lEventInternGenString(l,s) (UNUSED(l), UNUSED(s), (Word)0)mEventLabelAddr(a,i) BEGIN UNUSED(a); UNUSED(i); ENDPlock_h ULockSig ((Sig)0x51970CC9) th_h ThreadSig ((Sig)0x519286ED) ss_h  tract_h   bt_h BTSize(n) (((n) + MPS_WORD_WIDTH-1) / MPS_WORD_WIDTH * sizeof(Word))BTGet(a,i) ((Bool)(((a)[((i) >> MPS_WORD_SHIFT)] >> ((i) & ~((Word)-1 << MPS_WORD_SHIFT))) & (Word)1))BTSet(a,i) BEGIN (a)[((i)>>MPS_WORD_SHIFT)] |= (Word)1<<((i)&~((Word)-1<>MPS_WORD_SHIFT)] &= ~((Word)1 << ((i) & ~((Word)-1<base)&TractPool(tract) ((tract)->pool)'TractP(tract) ((tract)->p)(TractSetP(tract,pp) ((void)((tract)->p = (pp))))TractHasSeg(tract) ((Bool)(tract)->hasSeg)*TractSetHasSeg(tract,b) ((void)((tract)->hasSeg = (b)))+TractWhite(tract) ((tract)->white),TractSetWhite(tract,w) ((void)((tract)->white = (w)))8TRACT_SEG(segReturn,tract) (TractHasSeg(tract) && ((*(segReturn) = (Seg)TractP(tract)), TRUE));TRACT_SET_SEG(tract,seg) (TractSetHasSeg(tract, TRUE), TractSetP(tract, seg))>TRACT_UNSET_SEG(tract) (TractSetHasSeg(tract, FALSE), TractSetP(tract, NULL))nPageTract(page) (&(page)->the.tractStruct)rPageOfTract(tract) PARENT(PageStruct, the.tractStruct, (tract))vPagePool(page) ((page)->the.rest.pool)}PageIsAllocated(page) ((page)->the.rest.pool != NULL)PageType(page) ((page)->the.rest.type)ChunkSig ((Sig)0x519C804C)ChunkArena(chunk) ((chunk)->arena)ChunkPageSize(chunk) ((chunk)->pageSize)ChunkPageShift(chunk) ((chunk)->pageShift)ChunkPagesToSize(chunk,pages) ((Size)(pages) << (chunk)->pageShift)ChunkSizeToPages(chunk,size) ((Count)((size) >> (chunk)->pageShift))CHUNK_OF_ADDR(chunkReturn,arena,addr) (((arena)->chunkCache.base <= (addr) && (addr) < (arena)->chunkCache.limit) ? (*(chunkReturn) = (arena)->chunkCache.chunk, TRUE) : ChunkOfAddr(chunkReturn, arena, addr))AddrPageBase(chunk,addr) AddrAlignDown((addr), ChunkPageSize(chunk))TRACT_OF_ADDR(tractReturn,arena,addr) BEGIN Arena _arena = (arena); Addr _addr = (addr); Chunk _chunk; Index _i; if (CHUNK_OF_ADDR(&_chunk, _arena, _addr)) { _i = INDEX_OF_ADDR(_chunk, _addr); if (BTGet(_chunk->allocTable, _i)) *(tractReturn) = PageTract(&_chunk->pageTable[_i]); else *(tractReturn) = NULL; } else *(tractReturn) = NULL; ENDINDEX_OF_ADDR(chunk,addr) ((Index)ChunkSizeToPages(chunk, AddrOffset((chunk)->base, addr)))PageIndexBase(chunk,i) AddrAdd((chunk)->base, ChunkPagesToSize(chunk, i))TractAverContiguousRange(arena,rangeBase,rangeLimit) BEGIN Chunk _ch = NULL; UNUSED(_ch); AVER(ChunkOfAddr(&_ch, arena, rangeBase) && (rangeLimit) <= _ch->limit); ENDTRACT_TRACT_FOR(tract,addr,arena,firstTract,limit) tract = (firstTract); addr = TractBase(tract); TractAverContiguousRange(arena, addr, limit); for(; tract != NULL; (addr = AddrAdd(addr, (arena)->alignment)), (addr < (limit) ? (tract = PageTract(PageOfTract(tract) + 1)) : (tract = NULL) ))TRACT_FOR(tract,addr,arena,base,limit) TRACT_TRACT_FOR(tract, addr, arena, TractOfBaseAddr(arena, base), limit)mpmst_h protocol_h DERIVE_LOCAL(name) protocol ## nameDERIVE_STRUCT(name) name ## StructDERIVE_ENSURE(name) name ## GetDERIVE_ENSURE_OLD(name) Ensure ## nameDERIVE_ENSURE_INTERNAL(name) protocolGet ## nameDERIVE_GUARDIAN(name) protocol ## name ## GuardianDERIVE_STATIC_STORAGE(name) protocol ## name ## StructProtocolClassSetSuperclassPoly(class,super) (((ProtocolClass)(class))->superclass) = (ProtocolClass)(super)$DEFINE_CLASS(className,var) static Bool DERIVE_GUARDIAN(className) = FALSE; static DERIVE_STRUCT(className) DERIVE_STATIC_STORAGE(className); static void DERIVE_ENSURE_INTERNAL(className)(className); extern className DERIVE_ENSURE(className)(void); className DERIVE_ENSURE(className)(void) { if (DERIVE_GUARDIAN(className) == FALSE) { LockClaimGlobalRecursive(); if (DERIVE_GUARDIAN(className) == FALSE) { DERIVE_ENSURE_INTERNAL(className) (&DERIVE_STATIC_STORAGE(className)); DERIVE_GUARDIAN(className) = TRUE; } LockReleaseGlobalRecursive(); } return &DERIVE_STATIC_STORAGE(className); } extern className DERIVE_ENSURE_OLD(className)(void); className DERIVE_ENSURE_OLD(className)(void) { return DERIVE_ENSURE(className)(); } static void DERIVE_ENSURE_INTERNAL(className) (className var)AINHERIT_CLASS(this,parentName) BEGIN parentName DERIVE_LOCAL(parentName) = DERIVE_ENSURE(parentName)(); *this = *(DERIVE_LOCAL(parentName)); ProtocolClassSetSuperclassPoly(this, DERIVE_LOCAL(parentName)); ENDODEFINE_ALIAS_CLASS(className,typeName,var) typedef typeName className; typedef DERIVE_STRUCT(typeName) DERIVE_STRUCT(className); DEFINE_CLASS(className, var)VProtocolClassSig ((Sig)0x519B60C7)WProtocolInstSig ((Sig)0x519B6014)ProtocolClassSuperclassPoly(class) (((ProtocolClass)(class))->superclass)ClassOfPoly(inst) ((ProtocolInst)(inst)->class)IsSubclassPoly(sub,super) ProtocolIsSubclass((ProtocolClass)(sub), (ProtocolClass)(super))SUPERCLASS(className) ProtocolClassSuperclassPoly(DERIVE_ENSURE(className)())/PoolClassSig ((Sig)0x519C7A55)]PoolSig ((Sig)0x519B0019)}MFSSig ((Sig)0x5193F599)MVSig ((Sig)0x5193B999)ReservoirSig ((Sig)0x5196e599)MessageClassSig ((Sig)0x519359c1)MessageSig ((Sig)0x5193e559)SegClassSig ((Sig)0x5195E9C7)SegSig ((Sig)0x5195E999)GCSegSig ((Sig)0x5199C5E9)SegPrefSig ((Sig)0x5195E9B6)BufferClassSig ((Sig)0x519B0FC7)BufferSig ((Sig)0x519B0FFE)SegBufSig ((Sig)0x51959B0F)FormatSig ((Sig)0x519F63A2)ScanStateSig ((Sig)0x5195CA45)TraceSig ((Sig)0x51924ACE)ChunkCacheEntrySig ((Sig)0x519C80CE)ArenaClassSig ((Sig)0x519A6C1A)GlobalsSig ((Sig)0x519970BA)ArenaSig ((Sig)0x519A6E4A)%BoolCheck(b) ((unsigned)(b) <= 1)(FUNCHECK(f) (FunCheck((Fun)f))4WordIsAligned(w,a) (((w) & ((a) - 1)) == 0)7WordAlignUp(w,a) (((w) + (a) - 1) & ~((Word)(a) - 1));WordRoundUp(w,r) (((w)+(r)-1) - ((w)+(r)-1)%(r))>WordAlignDown(w,a) ((w) & ~((Word)(a) - 1))@size_tAlignUp(s,a) ((size_t)WordAlignUp((Word)(s), a))BPointerAdd(p,s) ((void *)((char *)(p) + (s)))CPointerSub(p,s) ((void *)((char *)(p) - (s)))EPointerOffset(base,limit) ((size_t)((char *)(limit) - (char *)(base)))HPointerAlignUp(p,s) ((void *)WordAlignUp((Word)(p), (Align)(s)))KAddrAdd(p,s) ((Addr)PointerAdd((void *)(p), s))LAddrSub(p,s) ((Addr)PointerSub((void *)(p), s))NAddrOffset(b,l) ((Size)(PointerOffset((void *)(b), (void *)(l))))RAddrAlignDown(p,a) ((Addr)WordAlignDown((Word)(p), a))TAlignWord(s) ((Word)(s))VAddrIsAligned(p,a) WordIsAligned((Word)(p), a)WAddrAlignUp(p,a) ((Addr)WordAlignUp((Word)(p), a))YSizeIsAligned(s,a) WordIsAligned((Word)(s), a)ZSizeAlignUp(s,a) ((Size)WordAlignUp((Word)(s), a))[SizeAlignDown(s,a) ((Size)WordAlignDown((Word)(s), a))]SizeRoundUp(s,r) ((Size)WordRoundUp((Word)(s), (Size)(r)))_IndexIsAligned(s,a) WordIsAligned((Word)(s), a)`IndexAlignUp(s,a) ((Index)WordAlignUp((Word)(s), a))aIndexAlignDown(s,a) ((Index)WordAlignDown((Word)(s), a))cAlignIsAligned(a1,a2) WordIsAligned((Word)(a1), a2)iAddrSet(target,value,size) mps_lib_memset(target, (int)(value), size)mAddrCopy(target,source,size) mps_lib_memcpy(target, source, size)qAddrComp(a,b,size) mps_lib_memcmp(a, b, size)wADDR_PTR(type,addr) ((type *)(addr))PoolArena(pool) ((pool)->arena)PoolAlignment(pool) ((pool)->alignment)PoolSegRing(pool) (&(pool)->segRing)PoolFix(pool,ss,seg,refIO) ((*(pool)->fix)(pool, ss, seg, refIO))ClassOfPool(pool) ((pool)->class)SuperclassOfPool(pool) ((PoolClass)ProtocolClassSuperclassPoly((pool)->class))DEFINE_POOL_CLASS(className,var) DEFINE_ALIAS_CLASS(className, PoolClass, var)POOL_SUPERCLASS(className) ((PoolClass)SUPERCLASS(className))TraceSetSingle(trace) BS_SINGLE(TraceSet, (trace)->ti)TraceSetIsSingle(ts) BS_IS_SINGLE(ts)TraceSetIsMember(ts,trace) BS_IS_MEMBER(ts, (trace)->ti)TraceSetAdd(ts,trace) BS_ADD(TraceSet, ts, (trace)->ti)TraceSetDel(ts,trace) BS_DEL(TraceSet, ts, (trace)->ti)TraceSetUnion(ts1,ts2) BS_UNION(ts1, ts2)TraceSetInter(ts1,ts2) BS_INTER(ts1, ts2)TraceSetDiff(ts1,ts2) BS_DIFF(ts1, ts2)TraceSetSuper(ts1,ts2) BS_SUPER(ts1, ts2)TraceSetSub(ts1,ts2) BS_SUB(ts1, ts2)TraceSetComp(ts) BS_COMP(ts)TRACE_SET_ITER(ti,trace,ts,arena) for(ti = 0, trace = ArenaTrace(arena, ti); ti < TraceLIMIT; ++ti, trace = ArenaTrace(arena, ti)) BEGIN if (TraceSetIsMember(ts, trace)) {TRACE_SET_ITER_END(ti,trace,ts,arena) } ENDTRACE_SCAN_BEGIN(ss) BEGIN Shift SCANzoneShift = (ss)->zoneShift; ZoneSet SCANwhite = (ss)->white; RefSet SCANsummary = (ss)->unfixedSummary; Word SCANt; {TRACE_FIX1(ss,ref) (SCANt = (Word)1 << ((Word)(ref) >> SCANzoneShift & (MPS_WORD_WIDTH-1)), SCANsummary |= SCANt, SCANwhite & SCANt)TRACE_FIX2(ss,refIO) ((*(ss)->fix)(ss, refIO))TRACE_FIX(ss,refIO) (TRACE_FIX1(ss, *(refIO)) ? TRACE_FIX2(ss, refIO) : ResOK)TRACE_SCAN_END(ss) } (ss)->unfixedSummary = SCANsummary; ENDDEFINE_ARENA_CLASS(className,var) DEFINE_ALIAS_CLASS(className, ArenaClass, var)ARENA_SUPERCLASS(className) ((ArenaClass)SUPERCLASS(className))ArenaGlobals(arena) (&(arena)->globals)GlobalsArena(glob) PARENT(ArenaStruct, globals, glob)ArenaRootRing(arena) (&(arena)->rootRing)ArenaTraceRing(arena) (&(arena)->traceRing)ArenaThreadRing(arena) (&(arena)->threadRing)ArenaEpoch(arena) ((arena)->epoch)ArenaTrace(arena,ti) (&(arena)->trace[ti])ArenaZoneShift(arena) ((arena)->zoneShift)ArenaAlign(arena) ((arena)->alignment)ArenaGreyRing(arena,rank) (&(arena)->greyRing[rank])ArenaReservoir(arena) (&(arena)->reservoirStruct)DEFINE_SEG_CLASS(className,var) DEFINE_ALIAS_CLASS(className, SegClass, var)SEG_SUPERCLASS(className) ((SegClass)SUPERCLASS(className))ClassOfSeg(seg) ((seg)->class)SegBase(seg) (TractBase((seg)->firstTract))SegLimit(seg) ((seg)->limit)SegPool(seg) (TractPool((seg)->firstTract))SegRankSet(seg) ((RankSet)(seg)->rankSet)SegPM(seg) ((AccessSet)(seg)->pm)SegSM(seg) ((AccessSet)(seg)->sm)SegDepth(seg) ((unsigned)(seg)->depth)SegGrey(seg) ((TraceSet)(seg)->grey)SegWhite(seg) ((TraceSet)(seg)->white)SegNailed(seg) ((TraceSet)(seg)->nailed)SegOfPoolRing(node) (RING_ELT(Seg, poolRing, (node)))SegOfGreyRing(node) (&(RING_ELT(GCSeg, greyRing, (node)) ->segStruct))SegSummary(seg) (((GCSeg)(seg))->summary)SegSetPM(seg,mode) ((void)((seg)->pm = (mode)))SegSetSM(seg,mode) ((void)((seg)->sm = (mode)))SegSetDepth(seg,d) ((void)((seg)->depth = (d)))SegSetNailed(seg,ts) ((void)((seg)->nailed = (ts)))BUFFER_RESERVE(pReturn,buffer,size,withReservoirPermit) (AddrAdd(BufferAlloc(buffer), size) > BufferAlloc(buffer) && AddrAdd(BufferAlloc(buffer), size) <= BufferAP(buffer)->limit ? (*(pReturn) = BufferAlloc(buffer), BufferAP(buffer)->alloc = AddrAdd(BufferAlloc(buffer), size), ResOK) : BufferFill(pReturn, buffer, size, withReservoirPermit))BUFFER_COMMIT(buffer,p,size) (BufferAP(buffer)->init = BufferAlloc(buffer), BufferAP(buffer)->limit != 0 || BufferTrip(buffer, p, size))BufferAP(buffer) (&(buffer)->apStruct)BufferOfAP(ap) PARENT(BufferStruct, apStruct, ap)BufferArena(buffer) ((buffer)->arena)BufferPool(buffer) ((buffer)->pool)BufferBase(buffer) ((buffer)->base)BufferGetInit(buffer) (BufferAP(buffer)->init)BufferAlloc(buffer) (BufferAP(buffer)->alloc)BufferLimit(buffer) ((buffer)->poolLimit)DEFINE_BUFFER_CLASS(className,var) DEFINE_ALIAS_CLASS(className, BufferClass, var)BUFFER_SUPERCLASS(className) ((BufferClass)SUPERCLASS(className))RankSetIsMember(rs,r) BS_IS_MEMBER((rs), (r))RankSetSingle(r) BS_SINGLE(RankSet, (r))RankSetIsSingle(r) BS_IS_SINGLE(r)RankSetUnion(rs1,rs2) BS_UNION((rs1), (rs2))RankSetDel(rs,r) BS_DEL(RankSet, (rs), (r))AddrZone(arena,addr) (((Word)(addr) >> (arena)->zoneShift) & (MPS_WORD_WIDTH - 1))RefSetUnion(rs1,rs2) BS_UNION((rs1), (rs2))RefSetInter(rs1,rs2) BS_INTER((rs1), (rs2))RefSetDiff(rs1,rs2) BS_DIFF((rs1), (rs2))RefSetAdd(arena,rs,addr) BS_ADD(RefSet, rs, AddrZone(arena, addr))RefSetIsMember(arena,rs,addr) BS_IS_MEMBER(rs, AddrZone(arena, addr))RefSetSuper(rs1,rs2) BS_SUPER((rs1), (rs2))RefSetSub(rs1,rs2) BS_SUB((rs1), (rs2))ZoneSetUnion(zs1,zs2) BS_UNION(zs1, zs2)ZoneSetInter(zs1,zs2) BS_INTER(zs1, zs2)ZoneSetDiff(zs1,zs2) BS_DIFF(zs1, zs2)ZoneSetAdd(arena,zs,addr) BS_ADD(ZoneSet, zs, AddrZone(arena, addr))ZoneSetIsMember(arena,zs,addr) BS_IS_MEMBER(zs, AddrZone(arena, addr))ZoneSetSub(zs1,zs2) BS_SUB(zs1, zs2)ZoneSetSuper(zs1,zs2) BS_SUPER(zs1, zs2)ZoneSetComp(zs) BS_COMP(zs)STATISTIC(gather) BEGIN (gather); ENDSTATISTIC_STAT(gather) BEGIN gather; ENDSTATISTIC_WRITE(format,arg) (format), (arg),"_MACHINE_FLOAT_H_ 1*FLT_RADIX 2+FLT_ROUNDS __flt_rounds()-FLT_EVAL_METHOD (-1).DECIMAL_DIG 211FLT_MANT_DIG 242FLT_EPSILON 1.19209290E-07F3FLT_DIG 64FLT_MIN_EXP (-125)5FLT_MIN 1.17549435E-38F6FLT_MIN_10_EXP (-37)7FLT_MAX_EXP 1288FLT_MAX 3.40282347E+38F9FLT_MAX_10_EXP 38;DBL_MANT_DIG 53DBL_MIN_EXP (-1021)?DBL_MIN 2.2250738585072014E-308@DBL_MIN_10_EXP (-307)ADBL_MAX_EXP 1024BDBL_MAX 1.7976931348623157E+308CDBL_MAX_10_EXP 308ELDBL_MANT_DIG 64FLDBL_EPSILON 1.0842021724855044340E-19LGLDBL_DIG 18HLDBL_MIN_EXP (-16381)ILDBL_MIN 3.3621031431120935063E-4932LJLDBL_MIN_10_EXP (-4931)KLDBL_MAX_EXP 16384LLDBL_MAX 1.1897314953572317650E+4932LMLDBL_MAX_10_EXP 4932locus.cJan 17 200703:39:22$Id: //info.ravenbrook.com/project/mps/master/code/locus.c#10 $`09BRI?D|  AB  AB JAB d AB p-AB B-AB B AB Fd. AB  AB Fs. AB NAB s.$AB Fa.. rAB Fs.hAB AB AB B 'AB AH AB T8AB B`.VAB A&AB   AB dx,r$SegPrefCheck$SegPrefDefault$SegPrefExpress%ChainCreate&ChainCheck'ChainDestroy'ChainGens'ChainDeferral'ChainCondemnAuto(ChainCondemnAll)ChainStartGC)ChainEndGC*PoolGenInit*PoolGenFinish+PoolGenCheck/+PoolGenUpdateZoness+LocusInit+LocusFinish ,LocusCheckT,locusSrcIdallocTableGenParamStructPoolDescribeMethodprefcontrolPoolStructpageTableLimitparamsgreySegMaxchunkFinishnamepageSizeFormatPadMethodrankrootSerialchunkRingArenaAllocMethodreservoirSizeformatcapacityfoundationLockPoolBufferClassMethodTraceFixMethodsuperclassthreadRingunitsPerExtentPagefillMutatorSizepoolSerialtotalSizeprehistoryArenaFreeMethodSegStructsetRankSetChainDeferralnewSizeunsigned intGNU C 3.4.6 [FreeBSD] 20060305BufferRankSetMethodextendArenaChunkFinishMethodTraceTopGenMortalityfillInternalSizeBufferReassignSegMethodreassignSegisCollectedpoolReadyscmidwhiteSegRefCountforwardedSizeforwardedCountArenaSpareCommitExceededMethodProtocolClassmergegreyRingfinishshort intAlignArenaDescribeMethodprotocoldescribefillSizesegScanCount_oldPoolmodePoolDebugMixinStructrememberedSummaryRingprevfixRefCountserialhasSegsizeEpoch_newsetBuffersurvivorSizeapStructemptyMutatorSizemessageRingallocMutatorSizecondemnedSizePoolFramePushMethodPoolFinishMethodbusyTracesnextSegNodelwPopPendingchunkSegPrefDefaultspansallocBasesuspendedlocus.cpollThresholdArenaStructenabledMessageTypesmpsVersionStringfreeListframePopGlobalsStructreservoirStructChainStructbaseArenaClassAccessSetPoolGenStructframeptrhistorySegSetRankSummaryMethodFileSrcIdStructlong long unsigned intfileoffsetLocusCheckLocusInittraceshDepthkindhighattrgenCountSegClassStructChainCreaterateMFSStructFreeBlockStepMethodPoolClassStructglobalsprimaryArenaChunkInitMethodarenaBufferFinishMethodFormatVarietytopCondemnedGenSerialPoolWalkMethodskipPoolFreeMethodmortalitywasMarkedproflowBoolsize_tmoveAPStructTractStructProtocolCoerceClassMethodrampEndmayMoveBootBlockpoolLimitChunkclampedPoolReclaimMethodunroundedUnitSizeshCachetracedTimereclaimCountpageTablePagesfreePoolFixMethodSegPrefWordmps_lib_stream_sFormatStructPoolGenCheckGenDescTotalSizepreservedInPlaceCountfreewalkframePushFormattedObjectsStepMethodSegClassSegPrefKindgensCountPageStructisMovedsetRankSummarySegDescribeMethodbufferClassPoolDebugMixinPoolGenFinishinsidePollreclaimAddrreservoirLimitcharscannedSizenodereserveBufferStructFormatScanMethodchunkSerialSegFinishMethodMFSHeaderStructSerialGenDescChecksegNodesplitFormatClassMethodArenaspacefinalPoolBufferDescribeMethodBufferModelimittypeArenaInitMethodlockrampCountmortalityReturnPoolFixEmergencyMethodzoneShiftpagesisGennailedcondemnedSetShiftChainCondemnAllva_listChainlong long intMVStructreadBarrierHitCountLockStructZoneSetTractBufferSegMethoddepthPoolRampEndMethodlocusRingGenDescNewSizefixEmergencyTracegreylastWorldCollectPoolDebugMixinMethodpageShiftlocusSrcIdChunkCacheEntryStructBufferClassStructArenaClassStructcurrGenSerialrememberedSummaryIndexgreySegCountisMutatorArenaFinishMethodfixedSummarycommittedframePopPendinghaveWhiteSegsscansingleCopiedSizeSegSetBufferMethodProtocolInstStructAddrStructrampBeginbufferPoolRampBeginMethodSizechainGenDescStructProtocolInstBufferSetRankSetMethodinitAtFlipPoolStructnextNodepoolRing_ringdetachspareCommitLimittopGenPoolWhitenMethodSegSetSummaryMethodspanPoolStructPoolInitMethodTraceIdpoolaccessPoolGreyMethodlastTractMutatorFaultContextvarietyemptyInternalSizeSegPrefCheckSrcIdarenaRingsegRefCountavgSizecopytractListChainCondemnAutoFormatPoolScanMethodFormatCopyMethodlostgenRingwhitenScanStatetractStructcondemnedbufferRingChunkStructflippedTracesrootScanCountenabledrootScanSizepointlessScanCountallocRankshCacheLimitSegPrefExpressChainGenssegCopiedSizeBufferInitMethodlong intfailChainAllocsetSummaryBufferDetachMethodnotCondemnedextendByTraceStateChainDestroyTraceSetChainCheckstatepreservedInPlaceSizenextSegBufferMethodbuild_timegenTotalSizesegPrefDefaultPoolClassProtocolCoerceInstMethodemergencyPoolBlackenMethodwhitepoolStruct__size_trootRingunitSizechainReturnSegInitMethodFormatSkipMethodsegScanSizecopiedSizeArenaExtendMethodpgenScanStateStructSegSetWhiteMethodunfixedSummarypageTableBaseGenDescfailBeginlastTractBasethreadSeriallabelledsetGreytracedSize__va_listwalksetWhitePoolAllocMethodRingStructPoolGenrankSetlong unsigned intPoolFramePopPendingMethodSrcIdStructBootBlockStructwriteBarrierHitCountMutatorFaultContextStructLocusFinishinitAttrbufferLoggingProtocolClassStructclassbufferFillIndexspareCommitExceededFormatIsMovedMethodmaxSizegenNewSizechunkInitPoolAccessMethodsnapCountArenaReservedMethodattachnailCountunsigned char__uint32_tspareCommittedinsideShieldRingSegSplitMethodblockPoolStructRefSetAllocFrameStructPoolFramePopMethodnurseryChainEndGCBufferClassformatSerialsegRingAllocFrameFormatMoveMethodcoerceClassReservoirStructbuild_datesingleScanSizeBufferpageTableheaderSizecoerceInstdebugMixinchunkCachePoolGenUpdateZonessigned charSegMergeMethodSegPrefStructmps_lib_FILEPoolBufferFillMethodreclaimSizebufferSerialshort unsigned intzonesPoolFreeWalkMethodbufferEmptyactiveTracesreservedRankSetisFinalPoolPoolGenInitdoublesingleScanCountfirstTractalignmentPoolBufferEmptyMethodBufferAttachMethodrestSegSetRankSetMethodemptySize/home/hannes/dylan/mps/codeTraceStructChainStartGCglobalRingformatRingcommitLimitrootCopiedSizeSegSetGreyMethodshCacheIepochblackenchainRingtracesGCC: (GNU) 3.4.6 [FreeBSD] 20060305.symtab.strtab.shstrtab.rel.text.rel.data.bss.debug_abbrev.rel.debug_info.rel.debug_line.debug_macinfo.rodata.str1.1.rodata.str1.4.rel.rodata.rodata.cst8.rodata.cst4.rel.debug_frame.rel.debug_pubnames.rel.debug_aranges.debug_str.comment4 x)L% /h4hFN x,B hV5PR l b8xq22@@( tPhx| `h $h  ,0v%#       (d 5p-D-U` m |J  Nr!h.9E 'SH `T8sV&  locus.cFileSrcIdStructsegPrefDefaultGenDescCheckGenDescNewSizeGenDescTotalSizelocusSrcIdSegPrefCheckSegPrefDefaultSegPrefExpressChainCreateControlAllocControlFreeChainCheckChainDestroyChainGensChainDeferralChainCondemnAutoTraceCondemnZonesChainCondemnAllTraceAddWhiteChainStartGCChainEndGCPoolGenInitPoolGenFinishPoolGenCheckPoolGenUpdateZonesZoneSetOfSegLocusInitTraceTopGenMortalityLocusFinishLocusCheck, q$1&z-//  !%*18?MX_fmt{(39Zev| #.9Tek-<KZiy,;Ziq%4CRap (6DR`n &4BP^lz"0>LZhv  ) 8 G V e t            ( 7 F U d s           : I X g v            + @ V d r           0 > L Z h v         !0@U,>Qfn|$2Od{ +:IXgv +;K[k{ +;K[k{ +;K[k{#2AP_n} $5?GUcq3t 6g 9`*5`}?e9eIy 4[<]  ! 0 ; P f t          !!(!=!P!^!u!!!!!!!!!""-"^""""""""""#"#.#=#F#T#b#q########## $$'$x$$$$$$$$$$$$$%%%)%-%A%N%[%h%l%q%%%%%%%%%%%%%% &&%&>&K&q&w&&&&&&&&&&&&&&&'!'%','9'F'b'f'k'}''''''''''''''' ((($(3(P(\(x(((((((((()))8)?)D)H)M)Y)g)u))))))))))))) ***1*L*^*b*g*z*~************* +++5+=+A+e+y++++++++++++++,,,&,6,D,P, U,b,g,s,     $04HL`dx|04LPtx <@X\pttract.o/ 1169001562 1001 1001 100644 59488 ` ELF 4(UÉUEU UP@` ÉUEÉUE@ÐUUH B\ÉUÉUWVS}u]E tBM tWOO IU lBAW BJEGPEGw_ )M]_(jEPuEPƃ EG,EU\!É؊MG4U BxuWP8ƃubuSuEPƃu9EG0 uMG$ ujw,LQ U BxWP<e[^_ÉUS ]Ss[QS K BABS RC@x$P<]ÍvUÉUE@΀QÍvUMU 9|t0|BB B0B(B0ÐUUE 9|u ǂ|ÉUWVS} u9w09v(|UDSWE1vl l9tZ9sw9s wɉʋ 9ue[^_ÉUWVS] }El l9t#v 9zv]9ZsZ]։ʋ 9ut E0[^_ÐUu uEPÐUUE +BJÐUVS]Su EP t8u+^NF,كtV0EЍe[^ÍvUEU 9du `ERPEP EÐUVSu ]9^(vPF,كtV0<u,C9^(v&F,كtV0<t։9^(tF0U[^UWVS}u ]SVEP tCU+BJ@PRWF u:1EXp$PW uSVEP u׺Ѝe[^_ÉUju udÉUuu uOÐUWVSE} X0HPUP, uuSe[^_ÐUWVSuU ^,у!F0F0D[^_Uu uC% $ > $ > : ; I I&I : ;  : ; I8 < : ; I  : ; I8 : ;I8  : ;I8  : ; I 8  : ;I 8  : ;I 8  : ; ' II' ' I : ;  : ;  : ; I: ;II!I/ .? : ; ' I@ : ; I .? : ; ' @ 4: ; I !4: ; I " : ; # $ %4: ; I&.? : ;' @ ': ;I (.: ;' @ ).? : ;' I@ *4: ;I + U,.: ;' I@ -4: ;I .4: ;I/: ;I 04: ; I?  +|Q>GintL 8Wov  _L | o7z;E " "$#%#j&#k'# "  2 ^ . Sigl ResE l"ou $ #YC$Y%Y^&YA'W;(W Ref)d ,Y -Y .W/W+1{! 2W23W'4Wh5W6W}7W BT:MY(;^d,; sigC#X# ## <`< sigsC#t# u#dv# ) w# x@ # y#z# {s#$G|s#,X}d#4 ~d#8@q##<2d#T#XW#\>Y @>D!#VE#T F#Gy#H#-I#  J#$K#( segL#,M#0dN?#4Oa#8 sigPC#<AW Cad# bd#cd#rdd# m e#f# D<D sigC# #l 8#d#  @ ## U## #$T#( #, pad#0#4{#8F  G" XG sig`C# a#b#dc#  d@ #: e@ #:f# g@ #$h#,i #0 fixj#4 ks#8Ils#@ms#H ns#PH )H2!#V3#T 4#5#6-#7# 8#$ 9#(:#,;C#0l<}#4. =#8 >#< ? #@@0#D AW#H fixB#L C#PD#T/ E#XF#\G#`%HM#d Ix#hJ#lK#p}L#tM#xN4#|O# sigPC# O mO sigC# ti#d## #;##X i #0 {# {#${#({#, #0?#4_ #8u #<{#@#D#H {#L#P#T {#X#\ #`#d4#h#l#p  #t= #x/ {#| #A {##.#& P ! i CTP fixN# Y##e# sigC#d# #t##  #$#( #,#04#4#8=#</{#@#DA{#H&{#L{#Pf Qt z  LQ sig>C#d?#5 @@ #A #B#>C"# R  C R) # p#Xd# # =W# <SN T E 8S sigC# #d#@ # [{#0 #Xd#d# #$ #(C#, #0#4T"(C T sigC#C #Xd#d# t#0#UIU theh{ # SegVY V sigC## #  @ #  d#  W#pm "#sm "#  # #>  ##5XLX!#V#T ### # 9 #$6#(.#,P#0d[#4\}#8 #<y/#@Bn#D sigC#HZZ sig0C#1#Z2#3# 8 4# gen5#]\!'k H\&!#V'##T (#)#*#+# , #$-A#(.L#, /w#00#41#8J2#<3"#@ sig4C#Do^ &(^9o## p#tr#xt#|u[##<wf## y{#z{#W|{# }{# ##N  #d#AC #@ ####  "#@ # #@ #C###@ ##f#n##{# {#{## #Q  ###s#vs# Y###<#5 @ ##@#{## sigC#:.t_ sigBC#yE@ #F# Is#J#BK# Ls# IMs#(ZNs#0Os#8 Ps#@S#HV#L Y@ #P0Z#X]@ #\y^#da@ #h d#pX dEK Qe\b 'gsy Phh"# #X{#\{#` sigC#dnN8 o kp+1A{Lq1rW]wNd{tN{d Kud{IvNC Sw"C x-3HNH'Y_tN td lddNd{8".9?P S9-fl}[  k/NH:@nNddd8: N8jddd{  )/?~ JPalrNH N8N{'-Cd{NT}N{ĈddǴNd":  N? 0;AW  bhN ΘN tИJ@   q'-GNGhX^xNhكhܪzlE  4NH ?EUQ`fN dd ddudd dd{]   @  V  #  #   { g) e#(fE# hcK (gV Ii k\  !\ sig}C#~ #;!#Dl!# q a !!;! a sigC# #mF!L!f!f!! !xxw!}!!!     "c $ sigC#Z#  {#!s# "s# #@ #c $! " o""t"#\{#X{#\[{#` Y#d"#h  #l sigC#p +"%"[# `"#"#X "#{# {#{#{# {#@ # sigC# "PgmC (.e##}##@ #$2 U  P$`/ *U . P) .RX.dRu$A,:U @ P$Td<GU S P XUdP$u`dH^U _ R daQ %o`jUnC 2&NlUC Wd XdVdS[| S T {S  l  P 0 h t {S!pp!resNV"sޤ"vݤ" ۔#&  Q$  R%1 n& UC S$  R&HU&&  U' P&& [U'dQ'C R((' /\zU'd.R'.C P)'9|U'`8''d8W'8dV*: R*V: Q+*FC SC ,=( YcU'`X'P'dXS'XdW*l Zdp*[C V*\ R*V\ Q$(@*aC R)(rd{U'dq'qd * sC |)( |U'C R'dP)G)U'P'd 'dS-bP-iS*C t$* R)) +U'dP'dR*  |.k,)% ,U'R'C V/iS,V*6U'W'dV'dS-bP*C p$-iP)*8JU''d )*.L_U'-'d- '-d&;+=`U'<C P/pi<W') <* > S*X?dp&o+: RU'QC V/piQR&+ `U'_C /pi_ 0ko /usr/include/usr/include/sys/usr/include/machinetract.hmpmtypes.hconfig.hmpstd.hmisc.hstddef.hcdefs.h_null.h_types.h_types.hmpslib.hstdarg.hring.hcheck.hbt.hboot.hmpm.hevent.heventcom.heventgen.hlock.hth.hss.hmpmst.hprotocol.hchain.htract.c 9gVdsKM> G=e?fW G(9r:dd::-e,vsf.d:u,df  9dse[d?dMwrVz:: V rVH:d' QHVXi 9g9 :TJ#zUHVY =: 9UTXVG!tʸT c|e r @G> 9 ddƫ[?__STDC_HOSTED__ 1__GNUC__ 3__GNUC_MINOR__ 4__GNUC_PATCHLEVEL__ 6__SIZE_TYPE__ unsigned int__PTRDIFF_TYPE__ int__WCHAR_TYPE__ int__WINT_TYPE__ unsigned int __GXX_ABI_VERSION 1002 __SCHAR_MAX__ 127 __SHRT_MAX__ 32767 __INT_MAX__ 2147483647 __LONG_MAX__ 2147483647L__LONG_LONG_MAX__ 9223372036854775807LL__WCHAR_MAX__ 2147483647__CHAR_BIT__ 8__FLT_EVAL_METHOD__ 2__FLT_RADIX__ 2__FLT_MANT_DIG__ 24__FLT_DIG__ 6__FLT_MIN_EXP__ (-125)__FLT_MIN_10_EXP__ (-37)__FLT_MAX_EXP__ 128__FLT_MAX_10_EXP__ 38__FLT_MAX__ 3.40282347e+38F__FLT_MIN__ 1.17549435e-38F__FLT_EPSILON__ 1.19209290e-7F__FLT_DENORM_MIN__ 1.40129846e-45F__FLT_HAS_INFINITY__ 1__FLT_HAS_QUIET_NAN__ 1__DBL_MANT_DIG__ 53 __DBL_DIG__ 15!__DBL_MIN_EXP__ (-1021)"__DBL_MIN_10_EXP__ (-307)#__DBL_MAX_EXP__ 1024$__DBL_MAX_10_EXP__ 308%__DBL_MAX__ 1.7976931348623157e+308&__DBL_MIN__ 2.2250738585072014e-308'__DBL_EPSILON__ 2.2204460492503131e-16(__DBL_DENORM_MIN__ 4.9406564584124654e-324)__DBL_HAS_INFINITY__ 1*__DBL_HAS_QUIET_NAN__ 1+__LDBL_MANT_DIG__ 53,__LDBL_DIG__ 15-__LDBL_MIN_EXP__ (-16381).__LDBL_MIN_10_EXP__ (-4931)/__LDBL_MAX_EXP__ 163840__LDBL_MAX_10_EXP__ 49321__DECIMAL_DIG__ 172__LDBL_MAX__ 1.1897314953572316e+4932L3__LDBL_MIN__ 3.3621031431120935e-4932L4__LDBL_EPSILON__ 2.2204460492503131e-16L5__LDBL_DENORM_MIN__ 7.4653686412953080e-4948L6__LDBL_HAS_INFINITY__ 17__LDBL_HAS_QUIET_NAN__ 18__REGISTER_PREFIX__ 9__USER_LABEL_PREFIX__ :__VERSION__ "3.4.6 [FreeBSD] 20060305";__OPTIMIZE__ 1<__FINITE_MATH_ONLY__ 0=__STRICT_ANSI__ 1@__i386 1A__i386__ 1B__tune_i386__ 1C__FreeBSD__ 6D__unix 1E__unix__ 1F__KPRINTF_ATTRIBUTE__ 1J__FreeBSD_cc_version 602001K__ELF__ 1_REENTRANT 1CONFIG_PROD_DYLAN 1CONFIG_VAR_HI 1NDEBUG 1  tract_h  mpmtypes_h config_h !CONFIG_DEBUG "CHECK_DEFAULT CheckNONE6CHECK_NONE 7MPS_ASSERT_STRING "nonasserted"?EVENT_NONE @MPS_LOG_STRING "nonlogging"EDIAGNOSTICS FMPS_DEBUG_STRING "debug"LMPS_VARIETY_STRING MPS_ASSERT_STRING "." MPS_LOG_STRING "." MPS_DEBUG_STRINGRmpstd_h MPS_PF_FRI4GC MPS_PF_STRING "fri4gc"MPS_OS_FR MPS_ARCH_I4 MPS_BUILD_GC MPS_T_WORD unsigned longMPS_WORD_WIDTH 32MPS_WORD_SHIFT 5MPS_PF_ALIGN 4EPVMDefaultSubsequentSegSIZE (64ul * 1024)ARENA_CONTROL_EXTENDBY ((Size)4096)ARENA_CONTROL_AVGSIZE ((Size)32)ARENA_CONTROL_MAXSIZE ((Size)65536)ArenaPollALLOCTIME (65536.0)ARENA_ZONESHIFT ((Shift)20)ARENA_CLIENT_PAGE_SIZE ((Size)8192)ArenaDefaultZONESET (ZoneSetUNIV << (MPS_WORD_WIDTH / 2))SegPrefDEFAULT { SegPrefSig, TRUE, ArenaDefaultZONESET, FALSE, FALSE, (Serial)0, }LDHistoryLENGTH ((Size)4)StackProbeDEPTH ((Size)0)ShieldCacheSIZE ((size_t)16)ShieldDepthWIDTH (4)VMANPageALIGNMENT ((Align)4096)VMJunkBYTE ((unsigned char)0xA9)TraceLIMIT ((size_t)1)TraceCopyScanRATIO (1.5)RememberedSummaryBLOCK 15EventBufferSIZE ((size_t)4096)EventStringLengthMAX ((size_t)255)ASSERT_BUFFER_SIZE ((Size)512)MPS_PROD_STRING "dylan"MPS_PROD_DYLAN ARENA_INIT_SPARE_COMMIT_LIMIT ((Size)10uL*1024uL*1024uL)THREAD_MULTI PROTECTION DONGLE_NONE PROD_CHECK_DEFAULT CheckSHALLOWARENA_SIZE ((Size)1<<30)misc_h '_STDDEF_H_ )%_SYS_CDEFS_H_ +__BEGIN_DECLS ,__END_DECLS 8__GNUCLIKE_ASM 39__GNUCLIKE_MATH_BUILTIN_CONSTANTS =__GNUCLIKE___TYPEOF 1>__GNUCLIKE___OFFSETOF 1?__GNUCLIKE___SECTION 1A__GNUCLIKE_ATTRIBUTE_MODE_DI 1D__GNUCLIKE_CTOR_SECTION_HANDLING 1G__GNUCLIKE_BUILTIN_CONSTANT_P 1N__GNUCLIKE_BUILTIN_VARARGS 1O__GNUCLIKE_BUILTIN_STDARG 1P__GNUCLIKE_BUILTIN_VAALIST 1T__GNUC_VA_LIST_COMPATIBILITY 1X__GNUCLIKE_BUILTIN_NEXT_ARG 1Y__GNUCLIKE_MATH_BUILTIN_RELOPS \__GNUCLIKE_BUILTIN_MEMCPY 1___CC_SUPPORTS_INLINE 1`__CC_SUPPORTS___INLINE 1a__CC_SUPPORTS___INLINE__ 1c__CC_SUPPORTS___FUNC__ 1d__CC_SUPPORTS_WARNING 1f__CC_SUPPORTS_VARADIC_XXX 1h__CC_SUPPORTS_DYNAMIC_ARRAY_INIT 1k__CC_INT_IS_32BIT 1s__GNUC_PREREQ__(ma,mi) (__GNUC__ > (ma) || __GNUC__ == (ma) && __GNUC_MINOR__ >= (mi))__P(protos) protos__CONCAT1(x,y) x ## y__CONCAT(x,y) __CONCAT1(x,y)__STRING(x) #x__XSTRING(x) __STRING(x)__const const__signed signed__volatile volatile__dead2 __attribute__((__noreturn__))__pure2 __attribute__((__const__))__unused __attribute__((__unused__))__used __attribute__((__used__))__packed __attribute__((__packed__))__aligned(x) __attribute__((__aligned__(x)))__section(x) __attribute__((__section__(x)))__pure __attribute__((__pure__))__always_inline __attribute__((__always_inline__))__nonnull(x) __attribute__((__nonnull__(x)))__restrict __predict_true(exp) __builtin_expect((exp), 1)__predict_false(exp) __builtin_expect((exp), 0)__offsetof(type,field) ((size_t)(&((type *)0)->field))__rangeof(type,start,end) (__offsetof(type, end) - __offsetof(type, start))__printflike(fmtarg,firstvararg) __attribute__((__format__ (__printf__, fmtarg, firstvararg)))__scanflike(fmtarg,firstvararg) __attribute__((__format__ (__scanf__, fmtarg, firstvararg)))__format_arg(fmtarg) __attribute__((__format_arg__ (fmtarg)))__printf0like(fmtarg,firstvararg) __attribute__((__format__ (__printf0__, fmtarg, firstvararg)))__strong_reference(sym,aliassym) extern __typeof (sym) aliassym __attribute__ ((__alias__ (#sym)));__weak_reference(sym,alias) __asm__(".weak " #alias); __asm__(".equ " #alias ", " #sym)__warn_references(sym,msg) __asm__(".section .gnu.warning." #sym); __asm__(".asciz \"" msg "\""); __asm__(".previous")__IDSTRING(name,string) __asm__(".ident\t\"" string "\"")__FBSDID(s) __IDSTRING(__CONCAT(__rcsid_,__LINE__),s)__RCSID(s) __IDSTRING(__CONCAT(__rcsid_,__LINE__),s)__RCSID_SOURCE(s) __IDSTRING(__CONCAT(__rcsid_source_,__LINE__),s)__SCCSID(s) __IDSTRING(__CONCAT(__sccsid_,__LINE__),s)__COPYRIGHT(s) __IDSTRING(__CONCAT(__copyright_,__LINE__),s)__DECONST(type,var) ((type)(uintptr_t)(const void *)(var))__DEVOLATILE(type,var) ((type)(uintptr_t)(volatile void *)(var))__DEQUALIFY(type,var) ((type)(uintptr_t)(const volatile void *)(var))__POSIX_VISIBLE 200112__XSI_VISIBLE 600__BSD_VISIBLE 1__ISO_C_VISIBLE 1999* NULL ((void *)0)+ _SYS__TYPES_H_ ! (_MACHINE__TYPES_H_ .__NO_STRICT_ALIGNMENT __GNUC_VA_LIST 2_RUNE_T_DECLARED 8_SIZE_T_DECLARED >_WCHAR_T_DECLARED Boffsetof(type,member) __offsetof(type, member)*SRCID(id,scmid) static SrcIdStruct FileSrcIdStruct = {__FILE__, (scmid), __DATE__, __TIME__}; SrcId id ## SrcId = &FileSrcIdStruct;BEGIN do {> (i)) & 1)BS_UNION(s1,s2) ((s1) | (s2))BS_ADD(ty,s,i) BS_UNION((s), BS_SINGLE(ty, (i)))BS_INTER(s1,s2) ((s1) & (s2))BS_DIFF(s1,s2) BS_INTER((s1), BS_COMP(s2))BS_DEL(ty,s,i) BS_DIFF((s), BS_SINGLE(ty, (i)))BS_SUPER(s1,s2) (BS_INTER((s1), (s2)) == (s2))BS_SUB(s1,s2) BS_SUPER((s2), (s1))BS_IS_SINGLE(s) (((s) & ((s)-1)) == 0)BS_SYM_DIFF(s1,s2) ((s1) ^ (s2)) mpslib_h mps_lib_EOF (mps_lib_get_EOF())mps_lib_stderr (mps_lib_get_stderr())mps_lib_stdout (mps_lib_get_stdout()) '_MACHINE_STDARG_H_ -_VA_LIST_DECLARED 3va_start(ap,last) __builtin_stdarg_start((ap), (last))6va_arg(ap,type) __builtin_va_arg((ap), type):va_copy(dest,src) __builtin_va_copy((dest), (src))>va_end(ap) __builtin_va_end(ap)SigInvalid ((Sig)0x51915BAD)SizeMAX ((Size)-1)AccessSetEMPTY ((AccessSet)0)AccessREAD ((AccessSet)(1<<0))AccessWRITE ((AccessSet)(1<<1))AccessSetWIDTH (2)RefSetEMPTY BS_EMPTY(RefSet)RefSetUNIV BS_UNIV(RefSet)ZoneSetEMPTY BS_EMPTY(ZoneSet)ZoneSetUNIV BS_UNIV(ZoneSet)TraceSetEMPTY BS_EMPTY(TraceSet)TraceSetUNIV ((TraceSet)((1u << TraceLIMIT) - 1))RankSetEMPTY BS_EMPTY(RankSet)RankSetUNIV ((RankSet)((1u << RankLIMIT) - 1))AttrFMT ((Attr)(1<<0))AttrSCAN ((Attr)(1<<1))AttrPM_NO_READ ((Attr)(1<<2))AttrPM_NO_WRITE ((Attr)(1<<3))AttrALLOC ((Attr)(1<<4))AttrFREE ((Attr)(1<<5))AttrBUF ((Attr)(1<<6))AttrBUF_RESERVE ((Attr)(1<<7))AttrBUF_ALLOC ((Attr)(1<<8))AttrGC ((Attr)(1<<9))AttrINCR_RB ((Attr)(1<<10))AttrINCR_WB ((Attr)(1<<11))AttrMOVINGGC ((Attr)(1<<12))AttrMASK (AttrFMT | AttrSCAN | AttrPM_NO_READ | AttrPM_NO_WRITE | AttrALLOC | AttrFREE | AttrBUF | AttrBUF_RESERVE | AttrBUF_ALLOC | AttrGC | AttrINCR_RB | AttrINCR_WB | AttrMOVINGGC)BufferModeATTACHED ((BufferMode)(1<<0))BufferModeFLIPPED ((BufferMode)(1<<1))BufferModeLOGGED ((BufferMode)(1<<2))BufferModeTRANSITION ((BufferMode)(1<<3))RootModeCONSTANT ((RootMode)1<<0)RootModePROTECTABLE ((RootMode)1<<1)RootModePROTECTABLE_INNER ((RootMode)1<<2)STATISTIC_DECL(field) field  ring_h  check_h 0AVER(cond) DISCARD(cond)1AVERT(type,val) DISCARD(type ## Check(val))2AVER_CRITICAL(cond) DISCARD(cond)3AVERT_CRITICAL(type,val) DISCARD(type ## Check(val))MASSERT(cond,condstring) BEGIN if (cond) NOOP; else mps_lib_assert_fail(condstring "\n" __FILE__ "\n" STR(__LINE__)); END_NOTREACHED NOOPjCHECKT(type,val) ((val) != NULL && (val)->sig == type ## Sig)pCHECKS(type,val) DISCARD(CHECKT(type, val))qCHECKL(cond) DISCARD(cond)rCHECKD(type,val) DISCARD(CHECKT(type, val))sCHECKD_NOSIG(type,val) DISCARD((val) != NULL)tCHECKU(type,val) DISCARD(CHECKT(type, val))uCHECKU_NOSIG(type,val) DISCARD((val) != NULL)CHECKLVALUE(lv1,lv2) ((void)sizeof((lv1) = (lv2)), (void)sizeof((lv2) = (lv1)), TRUE)CHECKTYPE(t1,t2) (sizeof(t1) == sizeof(t2) && CHECKLVALUE(*((t1 *)0), *((t2 *)0)))CHECKFIELDAPPROX(s1,f1,s2,f2) (sizeof(((s1 *)0)->f1) == sizeof(((s2 *)0)->f2) && offsetof(s1, f1) == offsetof(s2, f2))CHECKFIELD(s1,f1,s2,f2) (CHECKFIELDAPPROX(s1, f1, s2, f2) && CHECKLVALUE(((s1 *)0)->f1, ((s2 *)0)->f2))RingNONE ((Ring)0)$RingInit(ring) BEGIN Ring _ring = (ring); AVER(_ring != NULL); _ring->next = _ring; _ring->prev = _ring; AVER(RingCheck(_ring)); END/RingFinish(ring) BEGIN Ring _ring = (ring); AVER(RingCheckSingle(_ring)); _ring->next = RingNONE; _ring->prev = RingNONE; END9RingAppend(ring,new) BEGIN Ring _ring = (ring), _new = (new); AVER(RingCheck(_ring)); AVER(RingCheckSingle(_new)); _new->prev = _ring->prev; _new->next = _ring; _ring->prev->next = _new; _ring->prev = _new; ENDFRingInsert(ring,new) BEGIN Ring _ring = (ring), _new = (new); AVER(RingCheck(_ring)); AVER(RingCheckSingle(_new)); _new->prev = _ring; _new->next = _ring->next; _ring->next->prev = _new; _ring->next = _new; ENDSRingRemove(old) BEGIN Ring _old = (old); AVER(RingCheck(_old)); AVER(!RingIsSingle(_old)); _old->next->prev = _old->prev; _old->prev->next = _old->next; _old->next = _old; _old->prev = _old; END`RingNext(ring) ((ring)->next)dRingPrev(ring) ((ring)->prev)gRING_ELT(type,field,node) ((type)(void *)((char *)(node) - (size_t)(&((type)0)->field)))kRING_FOR(node,ring,next) for(node = RingNext(ring), next = RingNext(node); node != (ring); node = (next), next = RingNext(node))  bt_h BTSize(n) (((n) + MPS_WORD_WIDTH-1) / MPS_WORD_WIDTH * sizeof(Word))BTGet(a,i) ((Bool)(((a)[((i) >> MPS_WORD_SHIFT)] >> ((i) & ~((Word)-1 << MPS_WORD_SHIFT))) & (Word)1))BTSet(a,i) BEGIN (a)[((i)>>MPS_WORD_SHIFT)] |= (Word)1<<((i)&~((Word)-1<>MPS_WORD_SHIFT)] &= ~((Word)1 << ((i) & ~((Word)-1<base)&TractPool(tract) ((tract)->pool)'TractP(tract) ((tract)->p)(TractSetP(tract,pp) ((void)((tract)->p = (pp))))TractHasSeg(tract) ((Bool)(tract)->hasSeg)*TractSetHasSeg(tract,b) ((void)((tract)->hasSeg = (b)))+TractWhite(tract) ((tract)->white),TractSetWhite(tract,w) ((void)((tract)->white = (w)))8TRACT_SEG(segReturn,tract) (TractHasSeg(tract) && ((*(segReturn) = (Seg)TractP(tract)), TRUE));TRACT_SET_SEG(tract,seg) (TractSetHasSeg(tract, TRUE), TractSetP(tract, seg))>TRACT_UNSET_SEG(tract) (TractSetHasSeg(tract, FALSE), TractSetP(tract, NULL))nPageTract(page) (&(page)->the.tractStruct)rPageOfTract(tract) PARENT(PageStruct, the.tractStruct, (tract))vPagePool(page) ((page)->the.rest.pool)}PageIsAllocated(page) ((page)->the.rest.pool != NULL)PageType(page) ((page)->the.rest.type)ChunkSig ((Sig)0x519C804C)ChunkArena(chunk) ((chunk)->arena)ChunkPageSize(chunk) ((chunk)->pageSize)ChunkPageShift(chunk) ((chunk)->pageShift)ChunkPagesToSize(chunk,pages) ((Size)(pages) << (chunk)->pageShift)ChunkSizeToPages(chunk,size) ((Count)((size) >> (chunk)->pageShift))CHUNK_OF_ADDR(chunkReturn,arena,addr) (((arena)->chunkCache.base <= (addr) && (addr) < (arena)->chunkCache.limit) ? (*(chunkReturn) = (arena)->chunkCache.chunk, TRUE) : ChunkOfAddr(chunkReturn, arena, addr))AddrPageBase(chunk,addr) AddrAlignDown((addr), ChunkPageSize(chunk))TRACT_OF_ADDR(tractReturn,arena,addr) BEGIN Arena _arena = (arena); Addr _addr = (addr); Chunk _chunk; Index _i; if (CHUNK_OF_ADDR(&_chunk, _arena, _addr)) { _i = INDEX_OF_ADDR(_chunk, _addr); if (BTGet(_chunk->allocTable, _i)) *(tractReturn) = PageTract(&_chunk->pageTable[_i]); else *(tractReturn) = NULL; } else *(tractReturn) = NULL; ENDINDEX_OF_ADDR(chunk,addr) ((Index)ChunkSizeToPages(chunk, AddrOffset((chunk)->base, addr)))PageIndexBase(chunk,i) AddrAdd((chunk)->base, ChunkPagesToSize(chunk, i))TractAverContiguousRange(arena,rangeBase,rangeLimit) BEGIN Chunk _ch = NULL; UNUSED(_ch); AVER(ChunkOfAddr(&_ch, arena, rangeBase) && (rangeLimit) <= _ch->limit); ENDTRACT_TRACT_FOR(tract,addr,arena,firstTract,limit) tract = (firstTract); addr = TractBase(tract); TractAverContiguousRange(arena, addr, limit); for(; tract != NULL; (addr = AddrAdd(addr, (arena)->alignment)), (addr < (limit) ? (tract = PageTract(PageOfTract(tract) + 1)) : (tract = NULL) ))TRACT_FOR(tract,addr,arena,base,limit) TRACT_TRACT_FOR(tract, addr, arena, TractOfBaseAddr(arena, base), limit)  boot_h  mpm_h event_h  eventcom_h !EventNameMAX ((size_t)19)"EventCodeMAX ((EventCode)0x0069)&EVENT_0(type) NOOPEVENT_A(type,p0) NOOPEVENT_AW(type,p0,p1) NOOPEVENT_P(type,p0) NOOPEVENT_PAA(type,p0,p1,p2) NOOPEVENT_PAW(type,p0,p1,p2) NOOPEVENT_PAWA(type,p0,p1,p2,p3) NOOPEVENT_PDDWWW(type,p0,p1,p2,p3,p4,p5) NOOPEVENT_PP(type,p0,p1) NOOPEVENT_PPAU(type,p0,p1,p2,p3) NOOPEVENT_PPAWP(type,p0,p1,p2,p3,p4) NOOPEVENT_PPP(type,p0,p1,p2) NOOPEVENT_PPPA(type,p0,p1,p2,p3) NOOPEVENT_PPPU(type,p0,p1,p2,p3) NOOPEVENT_PPPUU(type,p0,p1,p2,p3,p4) NOOPEVENT_PPU(type,p0,p1,p2) NOOPEVENT_PPUU(type,p0,p1,p2,p3) NOOPEVENT_PPUWWW(type,p0,p1,p2,p3,p4,p5) NOOPEVENT_PPWW(type,p0,p1,p2,p3) NOOPEVENT_PPWWW(type,p0,p1,p2,p3,p4) NOOPEVENT_PPWWWUUU(type,p0,p1,p2,p3,p4,p5,p6,p7) NOOPEVENT_PU(type,p0,p1) NOOPEVENT_PW(type,p0,p1) NOOPEVENT_PWA(type,p0,p1,p2) NOOPEVENT_PWAW(type,p0,p1,p2,p3) NOOPEVENT_PWP(type,p0,p1,p2) NOOPEVENT_PWU(type,p0,p1,p2) NOOPEVENT_PWW(type,p0,p1,p2) NOOPEVENT_PWWWWDD(type,p0,p1,p2,p3,p4,p5,p6) NOOPEVENT_PWWWWW(type,p0,p1,p2,p3,p4,p5) NOOPEVENT_PWWWWWWWWW(type,p0,p1,p2,p3,p4,p5,p6,p7,p8,p9) NOOPEVENT_PWWWWWWWWWWWW(type,p0,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11,p12) NOOPEVENT_UUPA(type,p0,p1,p2,p3) NOOPEVENT_UUPP(type,p0,p1,p2,p3) NOOPEVENT_UUPPP(type,p0,p1,p2,p3,p4) NOOPEVENT_WS(type,p0,p1,l1) NOOP:EventEventTime ((EventType)0xEF213E99);EventPoolInit ((EventType)0xEFB07141)EventPoolFree ((EventType)0xEFB07F6E)?EventArenaCreateVM ((EventType)0xEFA64CF3)@EventArenaCreateVMNZ ((EventType)0xEFA64CF2)AEventArenaCreateCL ((EventType)0xEFA64CC7)BEventArenaDestroy ((EventType)0xEFA64DE5)CEventArenaAlloc ((EventType)0xEFA64A77)DEventArenaFree ((EventType)0xEFA64F6E)EEventSegAlloc ((EventType)0xEF5E9A77)FEventSegFree ((EventType)0xEF5E9F6E)GEventSegMerge ((EventType)0xEF5E93E6)HEventSegSplit ((EventType)0xEF5E95B7)IEventAMCGenCreate ((EventType)0xEFA3C94C)JEventAMCGenDestroy ((EventType)0xEFA3C94D)KEventAMCInit ((EventType)0xEFA3C141)LEventAMCFinish ((EventType)0xEFA3CF14)MEventAMCTraceBegin ((EventType)0xEFA3C26B)NEventAMCScanBegin ((EventType)0xEFA3C5CB)OEventAMCScanEnd ((EventType)0xEFA3C5CE)PEventAMCFix ((EventType)0xEFA3CF18)QEventAMCFixInPlace ((EventType)0xEFA3CF8A)REventAMCFixForward ((EventType)0xEFA3CF8F)SEventAMCReclaim ((EventType)0xEFA3C6EC)TEventTraceStart ((EventType)0xEF26AC52)UEventTraceCreate ((EventType)0xEF26ACC6)VEventTraceDestroy ((EventType)0xEF26ACDE)WEventSegSetGrey ((EventType)0xEF59596A)XEventTraceFlipBegin ((EventType)0xEF26AF7B)YEventTraceFlipEnd ((EventType)0xEF26AF7E)ZEventTraceReclaim ((EventType)0xEF26A6EC)[EventTraceScanSeg ((EventType)0xEF26A559)\EventTraceScanSingleRef ((EventType)0xEF26A556)^EventTraceAccess ((EventType)0xEF26AACC)_EventTracePoll ((EventType)0xEF26AB01)`EventTraceStep ((EventType)0xEF26A52B)aEventTraceFix ((EventType)0xEF26AF18)bEventTraceFixSeg ((EventType)0xEF26AF85)cEventTraceFixWhite ((EventType)0xEF26AF83)dEventTraceScanArea ((EventType)0xEF26A5CA)eEventTraceScanAreaTagged ((EventType)0xEF26A5C2)fEventVMCreate ((EventType)0xEFF3C6EA)gEventVMDestroy ((EventType)0xEFF3DE52)hEventVMMap ((EventType)0xEFF33AB9)iEventVMUnmap ((EventType)0xEFF3043B)jEventIntern ((EventType)0xEF142E64)kEventArenaExtend ((EventType)0xEFA64E82)lEventArenaRetract ((EventType)0xEFA646E2)mEventRootScan ((EventType)0xEF625CA4)nEventLabel ((EventType)0xEF7ABE79)oEventTraceSegGreyen ((EventType)0xEF26A599)pEventBufferReserve ((EventType)0xEFB0FF6E)qEventBufferCommit ((EventType)0xEFB0FFC0)rEventBufferInit ((EventType)0xEFB0FF14)sEventBufferInitSeg ((EventType)0xEFB0F15E)tEventBufferInitRank ((EventType)0xEFB0F16A)uEventBufferInitEPVM ((EventType)0xEFB0F1EF)vEventBufferFinish ((EventType)0xEFB0FFF1)wEventBufferFill ((EventType)0xEFB0FFF7)xEventBufferEmpty ((EventType)0xEFB0FFE3)yEventArenaAllocFail ((EventType)0xEFA64A7F)zEventSegAllocFail ((EventType)0xEF5E9A7F){EventMeterInit ((EventType)0xEF3E2141)|EventMeterValues ((EventType)0xEF3E2FA7)}EventCBSInit ((EventType)0xEFCB5141)~EventTraceStatCondemn ((EventType)0xEF26A5C0)EventTraceStatScan ((EventType)0xEF26A55C)EventTraceStatFix ((EventType)0xEF26A5F8)EventTraceStatReclaim ((EventType)0xEF26A56E)EventArenaWriteFaults ((EventType)0xEFA6436F)EventPoolInitMV ((EventType)0xEFB0713F)EventPoolInitMVFF ((EventType)0xEFB071FF)EventPoolInitMFS ((EventType)0xEFB07135)EventPoolInitEPVM ((EventType)0xEFB071EF)EventPoolInitEPDL ((EventType)0xEFB071E7)EventPoolInitAMS ((EventType)0xEFB071A5)EventPoolInitAMC ((EventType)0xEFB071AC)EventPoolInitAMCZ ((EventType)0xEFB071A2)EventPoolInitAWL ((EventType)0xEFB071A3)EventPoolInitLO ((EventType)0xEFB07170)EventPoolInitSNC ((EventType)0xEFB07154)EventPoolInitMVT ((EventType)0xEFB07132)EventPoolPush ((EventType)0xEFB07B58)EventPoolPop ((EventType)0xEFB07B0B)EventReservoirLimitSet ((EventType)0xEF6E5713)EventCommitLimitSet ((EventType)0xEFC03713)EventSpareCommitLimitSet ((EventType)0xEF5BC713)hEventInit() NOOPiEventFinish() NOOPjEventControl(r,f) (UNUSED(r), UNUSED(f), (Word)0)kEventInternString(s) (UNUSED(s), (Word)0)lEventInternGenString(l,s) (UNUSED(l), UNUSED(s), (Word)0)mEventLabelAddr(a,i) BEGIN UNUSED(a); UNUSED(i); ENDPlock_h ULockSig ((Sig)0x51970CC9) th_h ThreadSig ((Sig)0x519286ED) ss_h mpmst_h protocol_h DERIVE_LOCAL(name) protocol ## nameDERIVE_STRUCT(name) name ## StructDERIVE_ENSURE(name) name ## GetDERIVE_ENSURE_OLD(name) Ensure ## nameDERIVE_ENSURE_INTERNAL(name) protocolGet ## nameDERIVE_GUARDIAN(name) protocol ## name ## GuardianDERIVE_STATIC_STORAGE(name) protocol ## name ## StructProtocolClassSetSuperclassPoly(class,super) (((ProtocolClass)(class))->superclass) = (ProtocolClass)(super)$DEFINE_CLASS(className,var) static Bool DERIVE_GUARDIAN(className) = FALSE; static DERIVE_STRUCT(className) DERIVE_STATIC_STORAGE(className); static void DERIVE_ENSURE_INTERNAL(className)(className); extern className DERIVE_ENSURE(className)(void); className DERIVE_ENSURE(className)(void) { if (DERIVE_GUARDIAN(className) == FALSE) { LockClaimGlobalRecursive(); if (DERIVE_GUARDIAN(className) == FALSE) { DERIVE_ENSURE_INTERNAL(className) (&DERIVE_STATIC_STORAGE(className)); DERIVE_GUARDIAN(className) = TRUE; } LockReleaseGlobalRecursive(); } return &DERIVE_STATIC_STORAGE(className); } extern className DERIVE_ENSURE_OLD(className)(void); className DERIVE_ENSURE_OLD(className)(void) { return DERIVE_ENSURE(className)(); } static void DERIVE_ENSURE_INTERNAL(className) (className var)AINHERIT_CLASS(this,parentName) BEGIN parentName DERIVE_LOCAL(parentName) = DERIVE_ENSURE(parentName)(); *this = *(DERIVE_LOCAL(parentName)); ProtocolClassSetSuperclassPoly(this, DERIVE_LOCAL(parentName)); ENDODEFINE_ALIAS_CLASS(className,typeName,var) typedef typeName className; typedef DERIVE_STRUCT(typeName) DERIVE_STRUCT(className); DEFINE_CLASS(className, var)VProtocolClassSig ((Sig)0x519B60C7)WProtocolInstSig ((Sig)0x519B6014)ProtocolClassSuperclassPoly(class) (((ProtocolClass)(class))->superclass)ClassOfPoly(inst) ((ProtocolInst)(inst)->class)IsSubclassPoly(sub,super) ProtocolIsSubclass((ProtocolClass)(sub), (ProtocolClass)(super))SUPERCLASS(className) ProtocolClassSuperclassPoly(DERIVE_ENSURE(className)())chain_h GenDescSig ((Sig)0x5199E4DE)+PoolGenSig ((Sig)0x519B009E);ChainSig ((Sig)0x519C8A14)XPoolGenNr(gen) ((gen)->nr)/PoolClassSig ((Sig)0x519C7A55)]PoolSig ((Sig)0x519B0019)}MFSSig ((Sig)0x5193F599)MVSig ((Sig)0x5193B999)ReservoirSig ((Sig)0x5196e599)MessageClassSig ((Sig)0x519359c1)MessageSig ((Sig)0x5193e559)SegClassSig ((Sig)0x5195E9C7)SegSig ((Sig)0x5195E999)GCSegSig ((Sig)0x5199C5E9)SegPrefSig ((Sig)0x5195E9B6)BufferClassSig ((Sig)0x519B0FC7)BufferSig ((Sig)0x519B0FFE)SegBufSig ((Sig)0x51959B0F)FormatSig ((Sig)0x519F63A2)ScanStateSig ((Sig)0x5195CA45)TraceSig ((Sig)0x51924ACE)ChunkCacheEntrySig ((Sig)0x519C80CE)ArenaClassSig ((Sig)0x519A6C1A)GlobalsSig ((Sig)0x519970BA)ArenaSig ((Sig)0x519A6E4A)%BoolCheck(b) ((unsigned)(b) <= 1)(FUNCHECK(f) (FunCheck((Fun)f))4WordIsAligned(w,a) (((w) & ((a) - 1)) == 0)7WordAlignUp(w,a) (((w) + (a) - 1) & ~((Word)(a) - 1));WordRoundUp(w,r) (((w)+(r)-1) - ((w)+(r)-1)%(r))>WordAlignDown(w,a) ((w) & ~((Word)(a) - 1))@size_tAlignUp(s,a) ((size_t)WordAlignUp((Word)(s), a))BPointerAdd(p,s) ((void *)((char *)(p) + (s)))CPointerSub(p,s) ((void *)((char *)(p) - (s)))EPointerOffset(base,limit) ((size_t)((char *)(limit) - (char *)(base)))HPointerAlignUp(p,s) ((void *)WordAlignUp((Word)(p), (Align)(s)))KAddrAdd(p,s) ((Addr)PointerAdd((void *)(p), s))LAddrSub(p,s) ((Addr)PointerSub((void *)(p), s))NAddrOffset(b,l) ((Size)(PointerOffset((void *)(b), (void *)(l))))RAddrAlignDown(p,a) ((Addr)WordAlignDown((Word)(p), a))TAlignWord(s) ((Word)(s))VAddrIsAligned(p,a) WordIsAligned((Word)(p), a)WAddrAlignUp(p,a) ((Addr)WordAlignUp((Word)(p), a))YSizeIsAligned(s,a) WordIsAligned((Word)(s), a)ZSizeAlignUp(s,a) ((Size)WordAlignUp((Word)(s), a))[SizeAlignDown(s,a) ((Size)WordAlignDown((Word)(s), a))]SizeRoundUp(s,r) ((Size)WordRoundUp((Word)(s), (Size)(r)))_IndexIsAligned(s,a) WordIsAligned((Word)(s), a)`IndexAlignUp(s,a) ((Index)WordAlignUp((Word)(s), a))aIndexAlignDown(s,a) ((Index)WordAlignDown((Word)(s), a))cAlignIsAligned(a1,a2) WordIsAligned((Word)(a1), a2)iAddrSet(target,value,size) mps_lib_memset(target, (int)(value), size)mAddrCopy(target,source,size) mps_lib_memcpy(target, source, size)qAddrComp(a,b,size) mps_lib_memcmp(a, b, size)wADDR_PTR(type,addr) ((type *)(addr))PoolArena(pool) ((pool)->arena)PoolAlignment(pool) ((pool)->alignment)PoolSegRing(pool) (&(pool)->segRing)PoolFix(pool,ss,seg,refIO) ((*(pool)->fix)(pool, ss, seg, refIO))ClassOfPool(pool) ((pool)->class)SuperclassOfPool(pool) ((PoolClass)ProtocolClassSuperclassPoly((pool)->class))DEFINE_POOL_CLASS(className,var) DEFINE_ALIAS_CLASS(className, PoolClass, var)POOL_SUPERCLASS(className) ((PoolClass)SUPERCLASS(className))TraceSetSingle(trace) BS_SINGLE(TraceSet, (trace)->ti)TraceSetIsSingle(ts) BS_IS_SINGLE(ts)TraceSetIsMember(ts,trace) BS_IS_MEMBER(ts, (trace)->ti)TraceSetAdd(ts,trace) BS_ADD(TraceSet, ts, (trace)->ti)TraceSetDel(ts,trace) BS_DEL(TraceSet, ts, (trace)->ti)TraceSetUnion(ts1,ts2) BS_UNION(ts1, ts2)TraceSetInter(ts1,ts2) BS_INTER(ts1, ts2)TraceSetDiff(ts1,ts2) BS_DIFF(ts1, ts2)TraceSetSuper(ts1,ts2) BS_SUPER(ts1, ts2)TraceSetSub(ts1,ts2) BS_SUB(ts1, ts2)TraceSetComp(ts) BS_COMP(ts)TRACE_SET_ITER(ti,trace,ts,arena) for(ti = 0, trace = ArenaTrace(arena, ti); ti < TraceLIMIT; ++ti, trace = ArenaTrace(arena, ti)) BEGIN if (TraceSetIsMember(ts, trace)) {TRACE_SET_ITER_END(ti,trace,ts,arena) } ENDTRACE_SCAN_BEGIN(ss) BEGIN Shift SCANzoneShift = (ss)->zoneShift; ZoneSet SCANwhite = (ss)->white; RefSet SCANsummary = (ss)->unfixedSummary; Word SCANt; {TRACE_FIX1(ss,ref) (SCANt = (Word)1 << ((Word)(ref) >> SCANzoneShift & (MPS_WORD_WIDTH-1)), SCANsummary |= SCANt, SCANwhite & SCANt)TRACE_FIX2(ss,refIO) ((*(ss)->fix)(ss, refIO))TRACE_FIX(ss,refIO) (TRACE_FIX1(ss, *(refIO)) ? TRACE_FIX2(ss, refIO) : ResOK)TRACE_SCAN_END(ss) } (ss)->unfixedSummary = SCANsummary; ENDDEFINE_ARENA_CLASS(className,var) DEFINE_ALIAS_CLASS(className, ArenaClass, var)ARENA_SUPERCLASS(className) ((ArenaClass)SUPERCLASS(className))ArenaGlobals(arena) (&(arena)->globals)GlobalsArena(glob) PARENT(ArenaStruct, globals, glob)ArenaRootRing(arena) (&(arena)->rootRing)ArenaTraceRing(arena) (&(arena)->traceRing)ArenaThreadRing(arena) (&(arena)->threadRing)ArenaEpoch(arena) ((arena)->epoch)ArenaTrace(arena,ti) (&(arena)->trace[ti])ArenaZoneShift(arena) ((arena)->zoneShift)ArenaAlign(arena) ((arena)->alignment)ArenaGreyRing(arena,rank) (&(arena)->greyRing[rank])ArenaReservoir(arena) (&(arena)->reservoirStruct)DEFINE_SEG_CLASS(className,var) DEFINE_ALIAS_CLASS(className, SegClass, var)SEG_SUPERCLASS(className) ((SegClass)SUPERCLASS(className))ClassOfSeg(seg) ((seg)->class)SegBase(seg) (TractBase((seg)->firstTract))SegLimit(seg) ((seg)->limit)SegPool(seg) (TractPool((seg)->firstTract))SegRankSet(seg) ((RankSet)(seg)->rankSet)SegPM(seg) ((AccessSet)(seg)->pm)SegSM(seg) ((AccessSet)(seg)->sm)SegDepth(seg) ((unsigned)(seg)->depth)SegGrey(seg) ((TraceSet)(seg)->grey)SegWhite(seg) ((TraceSet)(seg)->white)SegNailed(seg) ((TraceSet)(seg)->nailed)SegOfPoolRing(node) (RING_ELT(Seg, poolRing, (node)))SegOfGreyRing(node) (&(RING_ELT(GCSeg, greyRing, (node)) ->segStruct))SegSummary(seg) (((GCSeg)(seg))->summary)SegSetPM(seg,mode) ((void)((seg)->pm = (mode)))SegSetSM(seg,mode) ((void)((seg)->sm = (mode)))SegSetDepth(seg,d) ((void)((seg)->depth = (d)))SegSetNailed(seg,ts) ((void)((seg)->nailed = (ts)))BUFFER_RESERVE(pReturn,buffer,size,withReservoirPermit) (AddrAdd(BufferAlloc(buffer), size) > BufferAlloc(buffer) && AddrAdd(BufferAlloc(buffer), size) <= BufferAP(buffer)->limit ? (*(pReturn) = BufferAlloc(buffer), BufferAP(buffer)->alloc = AddrAdd(BufferAlloc(buffer), size), ResOK) : BufferFill(pReturn, buffer, size, withReservoirPermit))BUFFER_COMMIT(buffer,p,size) (BufferAP(buffer)->init = BufferAlloc(buffer), BufferAP(buffer)->limit != 0 || BufferTrip(buffer, p, size))BufferAP(buffer) (&(buffer)->apStruct)BufferOfAP(ap) PARENT(BufferStruct, apStruct, ap)BufferArena(buffer) ((buffer)->arena)BufferPool(buffer) ((buffer)->pool)BufferBase(buffer) ((buffer)->base)BufferGetInit(buffer) (BufferAP(buffer)->init)BufferAlloc(buffer) (BufferAP(buffer)->alloc)BufferLimit(buffer) ((buffer)->poolLimit)DEFINE_BUFFER_CLASS(className,var) DEFINE_ALIAS_CLASS(className, BufferClass, var)BUFFER_SUPERCLASS(className) ((BufferClass)SUPERCLASS(className))RankSetIsMember(rs,r) BS_IS_MEMBER((rs), (r))RankSetSingle(r) BS_SINGLE(RankSet, (r))RankSetIsSingle(r) BS_IS_SINGLE(r)RankSetUnion(rs1,rs2) BS_UNION((rs1), (rs2))RankSetDel(rs,r) BS_DEL(RankSet, (rs), (r))AddrZone(arena,addr) (((Word)(addr) >> (arena)->zoneShift) & (MPS_WORD_WIDTH - 1))RefSetUnion(rs1,rs2) BS_UNION((rs1), (rs2))RefSetInter(rs1,rs2) BS_INTER((rs1), (rs2))RefSetDiff(rs1,rs2) BS_DIFF((rs1), (rs2))RefSetAdd(arena,rs,addr) BS_ADD(RefSet, rs, AddrZone(arena, addr))RefSetIsMember(arena,rs,addr) BS_IS_MEMBER(rs, AddrZone(arena, addr))RefSetSuper(rs1,rs2) BS_SUPER((rs1), (rs2))RefSetSub(rs1,rs2) BS_SUB((rs1), (rs2))ZoneSetUnion(zs1,zs2) BS_UNION(zs1, zs2)ZoneSetInter(zs1,zs2) BS_INTER(zs1, zs2)ZoneSetDiff(zs1,zs2) BS_DIFF(zs1, zs2)ZoneSetAdd(arena,zs,addr) BS_ADD(ZoneSet, zs, AddrZone(arena, addr))ZoneSetIsMember(arena,zs,addr) BS_IS_MEMBER(zs, AddrZone(arena, addr))ZoneSetSub(zs1,zs2) BS_SUB(zs1, zs2)ZoneSetSuper(zs1,zs2) BS_SUPER(zs1, zs2)ZoneSetComp(zs) BS_COMP(zs)STATISTIC(gather) BEGIN (gather); ENDSTATISTIC_STAT(gather) BEGIN gather; ENDSTATISTIC_WRITE(format,arg) (format), (arg),TractArena(tract) PoolArena(TractPool(tract))tract.cJan 17 200703:39:22$Id: //info.ravenbrook.com/project/mps/master/code/tract.c#10 $|  AB  AB ,AB < AB HAB ` AB  lBAB FK.AAB DG. AB AB CAB \AB  |zAB Cj.kAB FdAB M. |AB eAB EK. 3AB c. ,AB B AB FO. 8AB H. LAB I. `OAB Fy. @AB CAB F.w+#TractCheck$TractInitP$TractFinishu$TractBase$TractLimit$ChunkCheck %ChunkInit2&ChunkFinishn&ChunkCacheEntryCheck&ChunkCacheEntryInit&ChunkEncache('ChunkOfAddr=(ArenaIsReservedAddr(IndexOfAddr(TractOfAddrG)TractOfBaseAddrV*TractFirst*TractNext*PageAlloc;+PageInito+PageFree+tractSrcIdallocTablePoolDescribeMethodcontrolPoolStructpageTableLimitgreySegMaxchunkFinishnamepageSizeFormatPadMethodrankrootSerialchunkRingArenaAllocMethodreservoirSizeactiveTracesformatfoundationLockPoolBufferClassMethodTraceFixMethodsuperclassthreadRingunitsPerExtentPagefillMutatorSizepoolSerialBoolprehistoryArenaFreeMethodunitSizesetRankSetunsigned intGNU C 3.4.6 [FreeBSD] 20060305BufferRankSetMethodextendArenaChunkFinishMethodfillInternalSizeBufferReassignSegMethodreassignSegisCollectedpoolReadyscmidwhiteSegRefCountforwardedSizeforwardedCountArenaSpareCommitExceededMethodProtocolClassmergegreyRingfinishshort intlimitArenaDescribeMethodprotocoldescribefillSize_oldPoolmodePoolDebugMixinStructrememberedSummaryRingprevserialtractSrcIdChunkOfAddrEpoch_newsetBufferapStructemptyMutatorSizeallocMutatorSizefoundPoolFramePushMethodPoolFinishMethodbusyTraceslwPopPendingchunkspansTractNextallocBasesuspendedpollThresholdArenaStructenabledMessageTypesmpsVersionStringSizefreeListframePopGlobalsStructreservoirStructChainStructbaseArenaClassAccessSetframeptrhistorySegSetRankSummaryMethodFileSrcIdStructlong long unsigned intfileoffsettracetractReturnshDepthhighattrgenCountSegClassStructtractrateFreeBlockStepMethodPoolClassStructglobalsprimaryArenaChunkInitMethodAlignarenaBufferFinishMethodFormatVarietytractSearchPoolWalkMethodskipChunkCheckPoolFreeMethodmortalitywasMarkedproflowmessageRingsize_tmoveAPStructTractStructrampEndmayMoveTractBaseBootBlockpoolLimitChunkclampedPoolReclaimMethodunroundedUnitSizeshCachetracedTimereclaimCountpageTablePagesfreeTractFinishPoolFixMethodChunkInitSegPrefWordmps_lib_stream_sFormatStructpreservedInPlaceCountfreewalkframePushFormattedObjectsStepMethodSegClassgensCountPageStructisMovedsetRankSummarySegDescribeMethodbufferClassPoolDebugMixinSegSetSummaryMethodinsidePollreclaimAddrreservoirLimitcharscannedSizenodereserveBufferStructFormatScanMethodchunkSerialSegFinishMethodMFSHeaderStructSerialsplitChunkCacheEntryCheckFormatClassMethodArenaFormatMoveMethodspacefinalPoolBufferDescribeMethodBufferModefixRefCountMFSStructArenaInitMethodlockrampCountPoolFixEmergencyMethodChunkDecachezoneShiftdummypagestractSearchInChunkisGennailedPoolFreeWalkMethodchainva_listChainleastBaselong long intMVStructPageFreeLockStructIndexOfAddrZoneSetTractBufferSegMethoddepthPoolRampEndMethodlocusRingpagefixEmergencyTracegreylastWorldCollectPoolDebugMixinMethodpageShiftPageInitChunkCacheEntryStructBufferClassStructArenaClassStructbootrememberedSummaryIndexgreySegCountisMutatorArenaFinishMethodfixedSummarycommittedframePopPendingscansingleCopiedSizeSegSetBufferMethodProtocolInstStructAddrStructrampBeginbufferPoolRampBeginMethodsizeSegStructGenDescStructProtocolInstBufferSetRankSetMethodinitAtFlipPoolStructpoolRing_ringChunkEncachedetachspareCommitLimittopGenPoolWhitenMethodspanPoolStructChunkFinishPoolInitMethodTraceIdpoolaccesschainRingPoolGreyMethodlastTractMutatorFaultContextvarietypageTableSizeemptyInternalSizeSrcIdarenaRingsegRefCountavgSizecopytractListFormatPoolScanMethodFormatCopyMethodChunkOfNextAddrlostfailAllocPageTablecapacitywhitenScanStatecondemnedbufferRingChunkStructflippedTracesrootScanCountenabledrootScanSizepointlessScanCountallocRankshCacheLimitsegCopiedSizeChunkCacheEntryInitBufferInitMethodlong intsetSummaryBufferDetachMethodPageAllocnotCondemnedextendByTraceStateTraceSetstatepreservedInPlaceSizenextSegBufferMethodbuild_timefailClassInitPoolClassProtocolCoerceInstMethodemergencyPoolBlackenMethodTractFirstwhitepoolStruct__size_trootRingpageTableSegInitMethodFormatSkipMethodsegScanSizecopiedSizeArenaExtendMethodScanStateStructSegSetWhiteMethodunfixedSummarypageTableBaselastTractBasethreadSeriallabelledsetGreytracedSize__va_listwalksetWhitePoolAllocMethodRingStructrankSetlong unsigned intPoolFramePopPendingMethodSrcIdStructBootBlockStructwriteBarrierHitCountMutatorFaultContextStructArenaReservedMethodleastChunkinitAttrbufferLoggingProtocolClassStructclassbufferFillIndexspareCommitExceededFormatIsMovedMethodmaxSizechunkInitPoolAccessMethodentrysnapCounttypeattachnailCountunsigned char__uint32_tspareCommittedinsideShieldfailAllocTableRingSegSplitMethodblockPoolStructtract.cTractOfAddrRefSetChunkCacheEntryAllocFrameStructPoolFramePopMethodtractStructBufferClassformatSerialaddrsegRingAllocFrameTractCheckhasSegcoerceClassReservoirStructTractInitbuild_dateTractLimitsingleScanSizeBufferreadBarrierHitCountsegScanCountheaderSizecoerceInstdebugMixinchunkCachesigned charSegMergeMethodSegPrefStructmps_lib_FILEPoolBufferFillMethodreclaimSizebufferSerialshort unsigned intzoneschunkReturnbufferEmptyProtocolCoerceClassMethodreservedRankSetisFinalPoolArenaIsReservedAddrdoublesingleScanCountfirstTractalignmentPoolBufferEmptyMethodBufferAttachMethodTractOfBaseAddrrestSegSetRankSetMethodShiftemptySize/home/hannes/dylan/mps/codeTraceStructglobalRingformatRingcommitLimitrootCopiedSizeSegSetGreyMethodshCacheIepochblackentracesGCC: (GNU) 3.4.6 [FreeBSD] 20060305.symtab.strtab.shstrtab.rel.text.rel.data.bss.debug_abbrev.rel.debug_info.rel.debug_line.debug_macinfo.rodata.str1.1.rodata.str1.4.rel.rodata.rel.debug_frame.rel.debug_pubnames.rel.debug_aranges.debug_ranges.debug_str.comment4 `)4% x/848F+B V4oR  b!7vq2'2D@  l{ H  P0%t      \&k6,IU` k u,< H` lBA  C|z%d9|EeQ3a8lLv`O@tract.cFileSrcIdStructChunkDecacheChunkOfNextAddrtractSearchInChunktractSearchtractSrcIdTractCheckTractInitTractFinishTractBaseTractLimitChunkCheckChunkInitSizeLog2BootAllocBootAllocatedBTResRangeChunkFinishChunkCacheEntryCheckChunkCacheEntryInitChunkEncacheChunkOfAddrArenaIsReservedAddrIndexOfAddrTractOfAddrTractOfBaseAddrTractFirstTractNextPageAllocPageInitPageFree N h!"&u''*'/  !%*18?MX_fmt{(39Zev| #.9Ti!0?N]l{ />\kz  7FUds '=KYgu-;IWes )7ESao}  , ; J Y h w            + : I X g v           & = L [ y            - < K Z j           ! 2 D Y o }           -DSbq$Xj| .<JXft,4CRap+4CRap 0@P`p 0@P`p,;JYhw +;LRciz!BMx#O{/Q\~ 0oz@bD~ 1XNy5V  $ 2 A L _ m         !!-!'E'T'b'p'~''''''''''' ((%()(.(C(O(S(Z(i(x(((((((((((( )/)3)8)M)Y)])d)r)))))))))))) **1*@*D*\*h*l*s************++,+A+I+M+T+u+}+++++ ++~    04HL`dx| 48LPpt $DH`d|walk.o/ 1169001562 1001 1001 100644 63396 ` ELF 4(UÉUEp puu uPÍvUWVS}WEPt\vUBpC@t0RWuuu uSuWVWEPue[^_ÍvUS ]SEQE EEEEEjEPh S?$]ÉUÉUS]Ep ju HPSEECTECXE C\C`Cd\Q ]ÐUE@d[QPUVS]u 6sEPt!E@@@ts\sXs`VSTCXу C$e[^ÉUVSu] V;Cus`jSVSЍe[^ÍvUWVSuVtPÃt@ thutJ 8 uuu htRuxPYx vwWhuÃuFv݃ xPjt@tؐe[^_US]Suuu S$]C% $ > $ > : ; I I&I : ;  : ; I8 < : ; I  : ;I8 : ;I8  : ; I8  : ; I 8  : ;I 8  : ;I 8  : ; ' II' ' I : ;  : ;  : ; I: ;II!I/ .: ; ' I@ : ; I .: ; ' @ : ; I !4: ; I"4: ; I # $4: ; I %.? : ; ' @ &4: ; I'.: ;' I@ (: ;I ): ;I *4: ;I+4: ;I ,4: ;I -.? : ;' @ .4: ;I/4: ; I?  )G _int 8W i _LP |6^7zyE` ""2$#a%#&#'# " 2 " . Sigl ResE l"ou ^#Y$YS%Y&Y'W(W Ref)d ;,Y= -Yi.W /W1{ 2W3W4W5W6W7W BT:MY;^d  ~d#8 I##< d#T A#X Q W#\r>Y @> Du!# ^E# F# GQ# H|# I# d J#$ K[#( segL#, M#0 N#4 ?O9#8 sigPC#<! AWjC ad# cbd# , cd# dd# ;e# f#] D3<D sigC# # F 8# # f  # A# -# "X# ey#$ #( #, pad#0 B#4 {#8F :GI XGsig`C#a#Bb#c# f d #e #f# g #$Ah#,i#0fixje#4^ks#8ls#@ms#HN ns#PHH2u!#^3# 4#75#k6-#7# 8#$c9#(:#,H;#0#< ?#@@#D A/#HfixBe#L} C#PD#T E#XF#\_G#`lH%#dv IP#hZJw#lVK#pL#tM#x>N #|4O#sigPC# O O sigC# ti# # X# # # <# * # {# {#$ {#( {#,  #0 G#4 -#8 C#< {#@ "#D #H {{#L &#P #T {#X t#\ p #` g#d #h #l #p P #t  #x x {#| @ #  {# # # P  * TP fix&# Y# X# # sigC# # " # |# @# > #$ t#( p #, g#0 #4 #8 #< x{#@ @#D {#H {#L ;{#P Q5 ;  Qsig>C#?# @ #A #pB#C!#E R   sR #p#d#X # W# S   8SsigC### # c{# #d#, d#  #$ #(C#, } #0#4? T sigC#  # d# , d# ?# 0?#YUJPkUthehS # SegVv|P V sigC# BP# 6 # T   # ,  d#[  W#pm "#sm "#  #X #  ##X[aNyLXu!#^# ###|#  #$#(=#,_(#03#4U#8#<#@F#DsigC#HZY_zZ sig0C# f1# 2# K3# 4# gen5#\ H\ &u!# ^'y## (# 7)# *# +# ,#$ Y-#( .$#, c/O#0 0#4 1#8 R2#< 3#@ sig4C#D^-(^ o## p#t Br#x Wt#| u3## w>## l y{# z{# |{# k }{# # A#  # d#  #  # m# Im## !#  # ~# R # 9C# #  # % # '# # ## {# n{# ^{# #  #  # X## Es# 2 s# Y# ## #  # # ~# ## sigC#?_t_ sigBC# E # L F# Is# J# K# ^Ls# Ms#( Ns#0 Os#8 N Ps#@ MS#H V#L T Y #P nZ#X r] #\ ^#d Ya #h d#pa  2 d# e4: DgKQ Bhh^!#G #X{#\{#`sigC#d< nN8, op {qr/5ONd{tZ`NN{d ud{vN Sw x  N ' 17LN Li]cdldd{Nkd{8yk(k y>DUk`f|kkjk kjNk kFNkkddd8\b|Nj8jajddd{ K kjj "(9j'DJ[jk flNj  N8hN{'d{&,UNj{K`fjddnjNkd" Nk kF/ k :@_N_ kpvN kL[ p Ҷja jNj@S06PNj@[awj@܂kRl ݳx  N  -)\8>XN ddciyddddmc ld{c x#o#xs S g e#fE#r hfc# tg. iPr \   .\sig}C#~ #3!#D!#  a  ! asigC#B ##m!$!>!>!   xO!U!o!o!   . ! $sigC##  {#6!s# J"s#s # # $!!I oz"2 t^!#{#X{#\{#`JY#dc"#h  #lsigC#p z"2 !3#) `^!#+"#X "#{#| {#{#{# {# #sigC#) "Wjgd   e#k#a## ### | >## T$ $ 3 $!$ /.'$ -D$J$j$'$##"7v$|$$2$$$$$r sigC#f8$#p#s# r $%K  Uc$z%0( )U &d & &p'Ps'{!c)$& <,U :Wf:R p;s;{"seg=kp!c>$#L$MdV#L$ OS%d& cU `#Sfa8$PpbPsbP&d"ce$h"o&u&&h U##fj$#Tp#Xs#\#`sigC#du&'Urscd&{'u[Urscd&S  XP *&Pfj$PpPs{P!ss '\tUrscd&P!ss  (NtUss S LV!rscd&!ref"segkt&'M(N)U(V)pS*ss ')I%N,U(#)f#j$ )p$)s$+&V+'&~*rsc(d&+X)~,ss* W+|+V,res,NS-h)]GU( [#S)f[j$ )p\)s\.^*res_N$ / ( /usr/include/usr/include/sys/usr/include/machinempm.hconfig.hmpstd.hmisc.hstddef.hcdefs.h_null.h_types.h_types.hcheck.hmpslib.hevent.heventcom.hmpmtypes.hstdarg.heventgen.hlock.hth.hring.hss.htract.hbt.hmpmst.hprotocol.hchain.hmps.hlimits.hlimits.h_limits.hsyslimits.hwalk.c>  U=,HI d__GNUCLIKE___OFFSETOF 1?__GNUCLIKE___SECTION 1A__GNUCLIKE_ATTRIBUTE_MODE_DI 1D__GNUCLIKE_CTOR_SECTION_HANDLING 1G__GNUCLIKE_BUILTIN_CONSTANT_P 1N__GNUCLIKE_BUILTIN_VARARGS 1O__GNUCLIKE_BUILTIN_STDARG 1P__GNUCLIKE_BUILTIN_VAALIST 1T__GNUC_VA_LIST_COMPATIBILITY 1X__GNUCLIKE_BUILTIN_NEXT_ARG 1Y__GNUCLIKE_MATH_BUILTIN_RELOPS \__GNUCLIKE_BUILTIN_MEMCPY 1___CC_SUPPORTS_INLINE 1`__CC_SUPPORTS___INLINE 1a__CC_SUPPORTS___INLINE__ 1c__CC_SUPPORTS___FUNC__ 1d__CC_SUPPORTS_WARNING 1f__CC_SUPPORTS_VARADIC_XXX 1h__CC_SUPPORTS_DYNAMIC_ARRAY_INIT 1k__CC_INT_IS_32BIT 1s__GNUC_PREREQ__(ma,mi) (__GNUC__ > (ma) || __GNUC__ == (ma) && __GNUC_MINOR__ >= (mi))__P(protos) protos__CONCAT1(x,y) x ## y__CONCAT(x,y) __CONCAT1(x,y)__STRING(x) #x__XSTRING(x) __STRING(x)__const const__signed signed__volatile volatile__dead2 __attribute__((__noreturn__))__pure2 __attribute__((__const__))__unused __attribute__((__unused__))__used __attribute__((__used__))__packed __attribute__((__packed__))__aligned(x) __attribute__((__aligned__(x)))__section(x) __attribute__((__section__(x)))__pure __attribute__((__pure__))__always_inline __attribute__((__always_inline__))__nonnull(x) __attribute__((__nonnull__(x)))__restrict __predict_true(exp) __builtin_expect((exp), 1)__predict_false(exp) __builtin_expect((exp), 0)__offsetof(type,field) ((size_t)(&((type *)0)->field))__rangeof(type,start,end) (__offsetof(type, end) - __offsetof(type, start))__printflike(fmtarg,firstvararg) __attribute__((__format__ (__printf__, fmtarg, firstvararg)))__scanflike(fmtarg,firstvararg) __attribute__((__format__ (__scanf__, fmtarg, firstvararg)))__format_arg(fmtarg) __attribute__((__format_arg__ (fmtarg)))__printf0like(fmtarg,firstvararg) __attribute__((__format__ (__printf0__, fmtarg, firstvararg)))__strong_reference(sym,aliassym) extern __typeof (sym) aliassym __attribute__ ((__alias__ (#sym)));__weak_reference(sym,alias) __asm__(".weak " #alias); __asm__(".equ " #alias ", " #sym)__warn_references(sym,msg) __asm__(".section .gnu.warning." #sym); __asm__(".asciz \"" msg "\""); __asm__(".previous")__IDSTRING(name,string) __asm__(".ident\t\"" string "\"")__FBSDID(s) __IDSTRING(__CONCAT(__rcsid_,__LINE__),s)__RCSID(s) __IDSTRING(__CONCAT(__rcsid_,__LINE__),s)__RCSID_SOURCE(s) __IDSTRING(__CONCAT(__rcsid_source_,__LINE__),s)__SCCSID(s) __IDSTRING(__CONCAT(__sccsid_,__LINE__),s)__COPYRIGHT(s) __IDSTRING(__CONCAT(__copyright_,__LINE__),s)__DECONST(type,var) ((type)(uintptr_t)(const void *)(var))__DEVOLATILE(type,var) ((type)(uintptr_t)(volatile void *)(var))__DEQUALIFY(type,var) ((type)(uintptr_t)(const volatile void *)(var))__POSIX_VISIBLE 200112__XSI_VISIBLE 600__BSD_VISIBLE 1__ISO_C_VISIBLE 1999* NULL ((void *)0)+_SYS__TYPES_H_ ! (_MACHINE__TYPES_H_ .__NO_STRICT_ALIGNMENT __GNUC_VA_LIST 2_RUNE_T_DECLARED 8_SIZE_T_DECLARED >_WCHAR_T_DECLARED Boffsetof(type,member) __offsetof(type, member)*SRCID(id,scmid) static SrcIdStruct FileSrcIdStruct = {__FILE__, (scmid), __DATE__, __TIME__}; SrcId id ## SrcId = &FileSrcIdStruct;BEGIN do {> (i)) & 1)BS_UNION(s1,s2) ((s1) | (s2))BS_ADD(ty,s,i) BS_UNION((s), BS_SINGLE(ty, (i)))BS_INTER(s1,s2) ((s1) & (s2))BS_DIFF(s1,s2) BS_INTER((s1), BS_COMP(s2))BS_DEL(ty,s,i) BS_DIFF((s), BS_SINGLE(ty, (i)))BS_SUPER(s1,s2) (BS_INTER((s1), (s2)) == (s2))BS_SUB(s1,s2) BS_SUPER((s2), (s1))BS_IS_SINGLE(s) (((s) & ((s)-1)) == 0)BS_SYM_DIFF(s1,s2) ((s1) ^ (s2)) check_h  mpslib_h mps_lib_EOF (mps_lib_get_EOF())mps_lib_stderr (mps_lib_get_stderr())mps_lib_stdout (mps_lib_get_stdout())0AVER(cond) DISCARD(cond)1AVERT(type,val) DISCARD(type ## Check(val))2AVER_CRITICAL(cond) DISCARD(cond)3AVERT_CRITICAL(type,val) DISCARD(type ## Check(val))MASSERT(cond,condstring) BEGIN if (cond) NOOP; else mps_lib_assert_fail(condstring "\n" __FILE__ "\n" STR(__LINE__)); END_NOTREACHED NOOPjCHECKT(type,val) ((val) != NULL && (val)->sig == type ## Sig)pCHECKS(type,val) DISCARD(CHECKT(type, val))qCHECKL(cond) DISCARD(cond)rCHECKD(type,val) DISCARD(CHECKT(type, val))sCHECKD_NOSIG(type,val) DISCARD((val) != NULL)tCHECKU(type,val) DISCARD(CHECKT(type, val))uCHECKU_NOSIG(type,val) DISCARD((val) != NULL)CHECKLVALUE(lv1,lv2) ((void)sizeof((lv1) = (lv2)), (void)sizeof((lv2) = (lv1)), TRUE)CHECKTYPE(t1,t2) (sizeof(t1) == sizeof(t2) && CHECKLVALUE(*((t1 *)0), *((t2 *)0)))CHECKFIELDAPPROX(s1,f1,s2,f2) (sizeof(((s1 *)0)->f1) == sizeof(((s2 *)0)->f2) && offsetof(s1, f1) == offsetof(s2, f2))CHECKFIELD(s1,f1,s2,f2) (CHECKFIELDAPPROX(s1, f1, s2, f2) && CHECKLVALUE(((s1 *)0)->f1, ((s2 *)0)->f2)) event_h   eventcom_h  mpmtypes_h '_MACHINE_STDARG_H_ -_VA_LIST_DECLARED 3va_start(ap,last) __builtin_stdarg_start((ap), (last))6va_arg(ap,type) __builtin_va_arg((ap), type):va_copy(dest,src) __builtin_va_copy((dest), (src))>va_end(ap) __builtin_va_end(ap)SigInvalid ((Sig)0x51915BAD)SizeMAX ((Size)-1)AccessSetEMPTY ((AccessSet)0)AccessREAD ((AccessSet)(1<<0))AccessWRITE ((AccessSet)(1<<1))AccessSetWIDTH (2)RefSetEMPTY BS_EMPTY(RefSet)RefSetUNIV BS_UNIV(RefSet)ZoneSetEMPTY BS_EMPTY(ZoneSet)ZoneSetUNIV BS_UNIV(ZoneSet)TraceSetEMPTY BS_EMPTY(TraceSet)TraceSetUNIV ((TraceSet)((1u << TraceLIMIT) - 1))RankSetEMPTY BS_EMPTY(RankSet)RankSetUNIV ((RankSet)((1u << RankLIMIT) - 1))AttrFMT ((Attr)(1<<0))AttrSCAN ((Attr)(1<<1))AttrPM_NO_READ ((Attr)(1<<2))AttrPM_NO_WRITE ((Attr)(1<<3))AttrALLOC ((Attr)(1<<4))AttrFREE ((Attr)(1<<5))AttrBUF ((Attr)(1<<6))AttrBUF_RESERVE ((Attr)(1<<7))AttrBUF_ALLOC ((Attr)(1<<8))AttrGC ((Attr)(1<<9))AttrINCR_RB ((Attr)(1<<10))AttrINCR_WB ((Attr)(1<<11))AttrMOVINGGC ((Attr)(1<<12))AttrMASK (AttrFMT | AttrSCAN | AttrPM_NO_READ | AttrPM_NO_WRITE | AttrALLOC | AttrFREE | AttrBUF | AttrBUF_RESERVE | AttrBUF_ALLOC | AttrGC | AttrINCR_RB | AttrINCR_WB | AttrMOVINGGC)BufferModeATTACHED ((BufferMode)(1<<0))BufferModeFLIPPED ((BufferMode)(1<<1))BufferModeLOGGED ((BufferMode)(1<<2))BufferModeTRANSITION ((BufferMode)(1<<3))RootModeCONSTANT ((RootMode)1<<0)RootModePROTECTABLE ((RootMode)1<<1)RootModePROTECTABLE_INNER ((RootMode)1<<2)STATISTIC_DECL(field) field!EventNameMAX ((size_t)19)"EventCodeMAX ((EventCode)0x0069)&EVENT_0(type) NOOPEVENT_A(type,p0) NOOPEVENT_AW(type,p0,p1) NOOPEVENT_P(type,p0) NOOPEVENT_PAA(type,p0,p1,p2) NOOPEVENT_PAW(type,p0,p1,p2) NOOPEVENT_PAWA(type,p0,p1,p2,p3) NOOPEVENT_PDDWWW(type,p0,p1,p2,p3,p4,p5) NOOPEVENT_PP(type,p0,p1) NOOPEVENT_PPAU(type,p0,p1,p2,p3) NOOPEVENT_PPAWP(type,p0,p1,p2,p3,p4) NOOPEVENT_PPP(type,p0,p1,p2) NOOPEVENT_PPPA(type,p0,p1,p2,p3) NOOPEVENT_PPPU(type,p0,p1,p2,p3) NOOPEVENT_PPPUU(type,p0,p1,p2,p3,p4) NOOPEVENT_PPU(type,p0,p1,p2) NOOPEVENT_PPUU(type,p0,p1,p2,p3) NOOPEVENT_PPUWWW(type,p0,p1,p2,p3,p4,p5) NOOPEVENT_PPWW(type,p0,p1,p2,p3) NOOPEVENT_PPWWW(type,p0,p1,p2,p3,p4) NOOPEVENT_PPWWWUUU(type,p0,p1,p2,p3,p4,p5,p6,p7) NOOPEVENT_PU(type,p0,p1) NOOPEVENT_PW(type,p0,p1) NOOPEVENT_PWA(type,p0,p1,p2) NOOPEVENT_PWAW(type,p0,p1,p2,p3) NOOPEVENT_PWP(type,p0,p1,p2) NOOPEVENT_PWU(type,p0,p1,p2) NOOPEVENT_PWW(type,p0,p1,p2) NOOPEVENT_PWWWWDD(type,p0,p1,p2,p3,p4,p5,p6) NOOPEVENT_PWWWWW(type,p0,p1,p2,p3,p4,p5) NOOPEVENT_PWWWWWWWWW(type,p0,p1,p2,p3,p4,p5,p6,p7,p8,p9) NOOPEVENT_PWWWWWWWWWWWW(type,p0,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11,p12) NOOPEVENT_UUPA(type,p0,p1,p2,p3) NOOPEVENT_UUPP(type,p0,p1,p2,p3) NOOPEVENT_UUPPP(type,p0,p1,p2,p3,p4) NOOPEVENT_WS(type,p0,p1,l1) NOOP:EventEventTime ((EventType)0xEF213E99);EventPoolInit ((EventType)0xEFB07141)EventPoolFree ((EventType)0xEFB07F6E)?EventArenaCreateVM ((EventType)0xEFA64CF3)@EventArenaCreateVMNZ ((EventType)0xEFA64CF2)AEventArenaCreateCL ((EventType)0xEFA64CC7)BEventArenaDestroy ((EventType)0xEFA64DE5)CEventArenaAlloc ((EventType)0xEFA64A77)DEventArenaFree ((EventType)0xEFA64F6E)EEventSegAlloc ((EventType)0xEF5E9A77)FEventSegFree ((EventType)0xEF5E9F6E)GEventSegMerge ((EventType)0xEF5E93E6)HEventSegSplit ((EventType)0xEF5E95B7)IEventAMCGenCreate ((EventType)0xEFA3C94C)JEventAMCGenDestroy ((EventType)0xEFA3C94D)KEventAMCInit ((EventType)0xEFA3C141)LEventAMCFinish ((EventType)0xEFA3CF14)MEventAMCTraceBegin ((EventType)0xEFA3C26B)NEventAMCScanBegin ((EventType)0xEFA3C5CB)OEventAMCScanEnd ((EventType)0xEFA3C5CE)PEventAMCFix ((EventType)0xEFA3CF18)QEventAMCFixInPlace ((EventType)0xEFA3CF8A)REventAMCFixForward ((EventType)0xEFA3CF8F)SEventAMCReclaim ((EventType)0xEFA3C6EC)TEventTraceStart ((EventType)0xEF26AC52)UEventTraceCreate ((EventType)0xEF26ACC6)VEventTraceDestroy ((EventType)0xEF26ACDE)WEventSegSetGrey ((EventType)0xEF59596A)XEventTraceFlipBegin ((EventType)0xEF26AF7B)YEventTraceFlipEnd ((EventType)0xEF26AF7E)ZEventTraceReclaim ((EventType)0xEF26A6EC)[EventTraceScanSeg ((EventType)0xEF26A559)\EventTraceScanSingleRef ((EventType)0xEF26A556)^EventTraceAccess ((EventType)0xEF26AACC)_EventTracePoll ((EventType)0xEF26AB01)`EventTraceStep ((EventType)0xEF26A52B)aEventTraceFix ((EventType)0xEF26AF18)bEventTraceFixSeg ((EventType)0xEF26AF85)cEventTraceFixWhite ((EventType)0xEF26AF83)dEventTraceScanArea ((EventType)0xEF26A5CA)eEventTraceScanAreaTagged ((EventType)0xEF26A5C2)fEventVMCreate ((EventType)0xEFF3C6EA)gEventVMDestroy ((EventType)0xEFF3DE52)hEventVMMap ((EventType)0xEFF33AB9)iEventVMUnmap ((EventType)0xEFF3043B)jEventIntern ((EventType)0xEF142E64)kEventArenaExtend ((EventType)0xEFA64E82)lEventArenaRetract ((EventType)0xEFA646E2)mEventRootScan ((EventType)0xEF625CA4)nEventLabel ((EventType)0xEF7ABE79)oEventTraceSegGreyen ((EventType)0xEF26A599)pEventBufferReserve ((EventType)0xEFB0FF6E)qEventBufferCommit ((EventType)0xEFB0FFC0)rEventBufferInit ((EventType)0xEFB0FF14)sEventBufferInitSeg ((EventType)0xEFB0F15E)tEventBufferInitRank ((EventType)0xEFB0F16A)uEventBufferInitEPVM ((EventType)0xEFB0F1EF)vEventBufferFinish ((EventType)0xEFB0FFF1)wEventBufferFill ((EventType)0xEFB0FFF7)xEventBufferEmpty ((EventType)0xEFB0FFE3)yEventArenaAllocFail ((EventType)0xEFA64A7F)zEventSegAllocFail ((EventType)0xEF5E9A7F){EventMeterInit ((EventType)0xEF3E2141)|EventMeterValues ((EventType)0xEF3E2FA7)}EventCBSInit ((EventType)0xEFCB5141)~EventTraceStatCondemn ((EventType)0xEF26A5C0)EventTraceStatScan ((EventType)0xEF26A55C)EventTraceStatFix ((EventType)0xEF26A5F8)EventTraceStatReclaim ((EventType)0xEF26A56E)EventArenaWriteFaults ((EventType)0xEFA6436F)EventPoolInitMV ((EventType)0xEFB0713F)EventPoolInitMVFF ((EventType)0xEFB071FF)EventPoolInitMFS ((EventType)0xEFB07135)EventPoolInitEPVM ((EventType)0xEFB071EF)EventPoolInitEPDL ((EventType)0xEFB071E7)EventPoolInitAMS ((EventType)0xEFB071A5)EventPoolInitAMC ((EventType)0xEFB071AC)EventPoolInitAMCZ ((EventType)0xEFB071A2)EventPoolInitAWL ((EventType)0xEFB071A3)EventPoolInitLO ((EventType)0xEFB07170)EventPoolInitSNC ((EventType)0xEFB07154)EventPoolInitMVT ((EventType)0xEFB07132)EventPoolPush ((EventType)0xEFB07B58)EventPoolPop ((EventType)0xEFB07B0B)EventReservoirLimitSet ((EventType)0xEF6E5713)EventCommitLimitSet ((EventType)0xEFC03713)EventSpareCommitLimitSet ((EventType)0xEF5BC713)hEventInit() NOOPiEventFinish() NOOPjEventControl(r,f) (UNUSED(r), UNUSED(f), (Word)0)kEventInternString(s) (UNUSED(s), (Word)0)lEventInternGenString(l,s) (UNUSED(l), UNUSED(s), (Word)0)mEventLabelAddr(a,i) BEGIN UNUSED(a); UNUSED(i); ENDPlock_h ULockSig ((Sig)0x51970CC9) th_h  ring_h RingNONE ((Ring)0)$RingInit(ring) BEGIN Ring _ring = (ring); AVER(_ring != NULL); _ring->next = _ring; _ring->prev = _ring; AVER(RingCheck(_ring)); END/RingFinish(ring) BEGIN Ring _ring = (ring); AVER(RingCheckSingle(_ring)); _ring->next = RingNONE; _ring->prev = RingNONE; END9RingAppend(ring,new) BEGIN Ring _ring = (ring), _new = (new); AVER(RingCheck(_ring)); AVER(RingCheckSingle(_new)); _new->prev = _ring->prev; _new->next = _ring; _ring->prev->next = _new; _ring->prev = _new; ENDFRingInsert(ring,new) BEGIN Ring _ring = (ring), _new = (new); AVER(RingCheck(_ring)); AVER(RingCheckSingle(_new)); _new->prev = _ring; _new->next = _ring->next; _ring->next->prev = _new; _ring->next = _new; ENDSRingRemove(old) BEGIN Ring _old = (old); AVER(RingCheck(_old)); AVER(!RingIsSingle(_old)); _old->next->prev = _old->prev; _old->prev->next = _old->next; _old->next = _old; _old->prev = _old; END`RingNext(ring) ((ring)->next)dRingPrev(ring) ((ring)->prev)gRING_ELT(type,field,node) ((type)(void *)((char *)(node) - (size_t)(&((type)0)->field)))kRING_FOR(node,ring,next) for(node = RingNext(ring), next = RingNext(node); node != (ring); node = (next), next = RingNext(node))ThreadSig ((Sig)0x519286ED) ss_h  tract_h   bt_h BTSize(n) (((n) + MPS_WORD_WIDTH-1) / MPS_WORD_WIDTH * sizeof(Word))BTGet(a,i) ((Bool)(((a)[((i) >> MPS_WORD_SHIFT)] >> ((i) & ~((Word)-1 << MPS_WORD_SHIFT))) & (Word)1))BTSet(a,i) BEGIN (a)[((i)>>MPS_WORD_SHIFT)] |= (Word)1<<((i)&~((Word)-1<>MPS_WORD_SHIFT)] &= ~((Word)1 << ((i) & ~((Word)-1<base)&TractPool(tract) ((tract)->pool)'TractP(tract) ((tract)->p)(TractSetP(tract,pp) ((void)((tract)->p = (pp))))TractHasSeg(tract) ((Bool)(tract)->hasSeg)*TractSetHasSeg(tract,b) ((void)((tract)->hasSeg = (b)))+TractWhite(tract) ((tract)->white),TractSetWhite(tract,w) ((void)((tract)->white = (w)))8TRACT_SEG(segReturn,tract) (TractHasSeg(tract) && ((*(segReturn) = (Seg)TractP(tract)), TRUE));TRACT_SET_SEG(tract,seg) (TractSetHasSeg(tract, TRUE), TractSetP(tract, seg))>TRACT_UNSET_SEG(tract) (TractSetHasSeg(tract, FALSE), TractSetP(tract, NULL))nPageTract(page) (&(page)->the.tractStruct)rPageOfTract(tract) PARENT(PageStruct, the.tractStruct, (tract))vPagePool(page) ((page)->the.rest.pool)}PageIsAllocated(page) ((page)->the.rest.pool != NULL)PageType(page) ((page)->the.rest.type)ChunkSig ((Sig)0x519C804C)ChunkArena(chunk) ((chunk)->arena)ChunkPageSize(chunk) ((chunk)->pageSize)ChunkPageShift(chunk) ((chunk)->pageShift)ChunkPagesToSize(chunk,pages) ((Size)(pages) << (chunk)->pageShift)ChunkSizeToPages(chunk,size) ((Count)((size) >> (chunk)->pageShift))CHUNK_OF_ADDR(chunkReturn,arena,addr) (((arena)->chunkCache.base <= (addr) && (addr) < (arena)->chunkCache.limit) ? (*(chunkReturn) = (arena)->chunkCache.chunk, TRUE) : ChunkOfAddr(chunkReturn, arena, addr))AddrPageBase(chunk,addr) AddrAlignDown((addr), ChunkPageSize(chunk))TRACT_OF_ADDR(tractReturn,arena,addr) BEGIN Arena _arena = (arena); Addr _addr = (addr); Chunk _chunk; Index _i; if (CHUNK_OF_ADDR(&_chunk, _arena, _addr)) { _i = INDEX_OF_ADDR(_chunk, _addr); if (BTGet(_chunk->allocTable, _i)) *(tractReturn) = PageTract(&_chunk->pageTable[_i]); else *(tractReturn) = NULL; } else *(tractReturn) = NULL; ENDINDEX_OF_ADDR(chunk,addr) ((Index)ChunkSizeToPages(chunk, AddrOffset((chunk)->base, addr)))PageIndexBase(chunk,i) AddrAdd((chunk)->base, ChunkPagesToSize(chunk, i))TractAverContiguousRange(arena,rangeBase,rangeLimit) BEGIN Chunk _ch = NULL; UNUSED(_ch); AVER(ChunkOfAddr(&_ch, arena, rangeBase) && (rangeLimit) <= _ch->limit); ENDTRACT_TRACT_FOR(tract,addr,arena,firstTract,limit) tract = (firstTract); addr = TractBase(tract); TractAverContiguousRange(arena, addr, limit); for(; tract != NULL; (addr = AddrAdd(addr, (arena)->alignment)), (addr < (limit) ? (tract = PageTract(PageOfTract(tract) + 1)) : (tract = NULL) ))TRACT_FOR(tract,addr,arena,base,limit) TRACT_TRACT_FOR(tract, addr, arena, TractOfBaseAddr(arena, base), limit)mpmst_h protocol_h DERIVE_LOCAL(name) protocol ## nameDERIVE_STRUCT(name) name ## StructDERIVE_ENSURE(name) name ## GetDERIVE_ENSURE_OLD(name) Ensure ## nameDERIVE_ENSURE_INTERNAL(name) protocolGet ## nameDERIVE_GUARDIAN(name) protocol ## name ## GuardianDERIVE_STATIC_STORAGE(name) protocol ## name ## StructProtocolClassSetSuperclassPoly(class,super) (((ProtocolClass)(class))->superclass) = (ProtocolClass)(super)$DEFINE_CLASS(className,var) static Bool DERIVE_GUARDIAN(className) = FALSE; static DERIVE_STRUCT(className) DERIVE_STATIC_STORAGE(className); static void DERIVE_ENSURE_INTERNAL(className)(className); extern className DERIVE_ENSURE(className)(void); className DERIVE_ENSURE(className)(void) { if (DERIVE_GUARDIAN(className) == FALSE) { LockClaimGlobalRecursive(); if (DERIVE_GUARDIAN(className) == FALSE) { DERIVE_ENSURE_INTERNAL(className) (&DERIVE_STATIC_STORAGE(className)); DERIVE_GUARDIAN(className) = TRUE; } LockReleaseGlobalRecursive(); } return &DERIVE_STATIC_STORAGE(className); } extern className DERIVE_ENSURE_OLD(className)(void); className DERIVE_ENSURE_OLD(className)(void) { return DERIVE_ENSURE(className)(); } static void DERIVE_ENSURE_INTERNAL(className) (className var)AINHERIT_CLASS(this,parentName) BEGIN parentName DERIVE_LOCAL(parentName) = DERIVE_ENSURE(parentName)(); *this = *(DERIVE_LOCAL(parentName)); ProtocolClassSetSuperclassPoly(this, DERIVE_LOCAL(parentName)); ENDODEFINE_ALIAS_CLASS(className,typeName,var) typedef typeName className; typedef DERIVE_STRUCT(typeName) DERIVE_STRUCT(className); DEFINE_CLASS(className, var)VProtocolClassSig ((Sig)0x519B60C7)WProtocolInstSig ((Sig)0x519B6014)ProtocolClassSuperclassPoly(class) (((ProtocolClass)(class))->superclass)ClassOfPoly(inst) ((ProtocolInst)(inst)->class)IsSubclassPoly(sub,super) ProtocolIsSubclass((ProtocolClass)(sub), (ProtocolClass)(super))SUPERCLASS(className) ProtocolClassSuperclassPoly(DERIVE_ENSURE(className)())chain_h GenDescSig ((Sig)0x5199E4DE)+PoolGenSig ((Sig)0x519B009E);ChainSig ((Sig)0x519C8A14)XPoolGenNr(gen) ((gen)->nr)/PoolClassSig ((Sig)0x519C7A55)]PoolSig ((Sig)0x519B0019)}MFSSig ((Sig)0x5193F599)MVSig ((Sig)0x5193B999)ReservoirSig ((Sig)0x5196e599)MessageClassSig ((Sig)0x519359c1)MessageSig ((Sig)0x5193e559)SegClassSig ((Sig)0x5195E9C7)SegSig ((Sig)0x5195E999)GCSegSig ((Sig)0x5199C5E9)SegPrefSig ((Sig)0x5195E9B6)BufferClassSig ((Sig)0x519B0FC7)BufferSig ((Sig)0x519B0FFE)SegBufSig ((Sig)0x51959B0F)FormatSig ((Sig)0x519F63A2)ScanStateSig ((Sig)0x5195CA45)TraceSig ((Sig)0x51924ACE)ChunkCacheEntrySig ((Sig)0x519C80CE)ArenaClassSig ((Sig)0x519A6C1A)GlobalsSig ((Sig)0x519970BA)ArenaSig ((Sig)0x519A6E4A)%BoolCheck(b) ((unsigned)(b) <= 1)(FUNCHECK(f) (FunCheck((Fun)f))4WordIsAligned(w,a) (((w) & ((a) - 1)) == 0)7WordAlignUp(w,a) (((w) + (a) - 1) & ~((Word)(a) - 1));WordRoundUp(w,r) (((w)+(r)-1) - ((w)+(r)-1)%(r))>WordAlignDown(w,a) ((w) & ~((Word)(a) - 1))@size_tAlignUp(s,a) ((size_t)WordAlignUp((Word)(s), a))BPointerAdd(p,s) ((void *)((char *)(p) + (s)))CPointerSub(p,s) ((void *)((char *)(p) - (s)))EPointerOffset(base,limit) ((size_t)((char *)(limit) - (char *)(base)))HPointerAlignUp(p,s) ((void *)WordAlignUp((Word)(p), (Align)(s)))KAddrAdd(p,s) ((Addr)PointerAdd((void *)(p), s))LAddrSub(p,s) ((Addr)PointerSub((void *)(p), s))NAddrOffset(b,l) ((Size)(PointerOffset((void *)(b), (void *)(l))))RAddrAlignDown(p,a) ((Addr)WordAlignDown((Word)(p), a))TAlignWord(s) ((Word)(s))VAddrIsAligned(p,a) WordIsAligned((Word)(p), a)WAddrAlignUp(p,a) ((Addr)WordAlignUp((Word)(p), a))YSizeIsAligned(s,a) WordIsAligned((Word)(s), a)ZSizeAlignUp(s,a) ((Size)WordAlignUp((Word)(s), a))[SizeAlignDown(s,a) ((Size)WordAlignDown((Word)(s), a))]SizeRoundUp(s,r) ((Size)WordRoundUp((Word)(s), (Size)(r)))_IndexIsAligned(s,a) WordIsAligned((Word)(s), a)`IndexAlignUp(s,a) ((Index)WordAlignUp((Word)(s), a))aIndexAlignDown(s,a) ((Index)WordAlignDown((Word)(s), a))cAlignIsAligned(a1,a2) WordIsAligned((Word)(a1), a2)iAddrSet(target,value,size) mps_lib_memset(target, (int)(value), size)mAddrCopy(target,source,size) mps_lib_memcpy(target, source, size)qAddrComp(a,b,size) mps_lib_memcmp(a, b, size)wADDR_PTR(type,addr) ((type *)(addr))PoolArena(pool) ((pool)->arena)PoolAlignment(pool) ((pool)->alignment)PoolSegRing(pool) (&(pool)->segRing)PoolFix(pool,ss,seg,refIO) ((*(pool)->fix)(pool, ss, seg, refIO))ClassOfPool(pool) ((pool)->class)SuperclassOfPool(pool) ((PoolClass)ProtocolClassSuperclassPoly((pool)->class))DEFINE_POOL_CLASS(className,var) DEFINE_ALIAS_CLASS(className, PoolClass, var)POOL_SUPERCLASS(className) ((PoolClass)SUPERCLASS(className))TraceSetSingle(trace) BS_SINGLE(TraceSet, (trace)->ti)TraceSetIsSingle(ts) BS_IS_SINGLE(ts)TraceSetIsMember(ts,trace) BS_IS_MEMBER(ts, (trace)->ti)TraceSetAdd(ts,trace) BS_ADD(TraceSet, ts, (trace)->ti)TraceSetDel(ts,trace) BS_DEL(TraceSet, ts, (trace)->ti)TraceSetUnion(ts1,ts2) BS_UNION(ts1, ts2)TraceSetInter(ts1,ts2) BS_INTER(ts1, ts2)TraceSetDiff(ts1,ts2) BS_DIFF(ts1, ts2)TraceSetSuper(ts1,ts2) BS_SUPER(ts1, ts2)TraceSetSub(ts1,ts2) BS_SUB(ts1, ts2)TraceSetComp(ts) BS_COMP(ts)TRACE_SET_ITER(ti,trace,ts,arena) for(ti = 0, trace = ArenaTrace(arena, ti); ti < TraceLIMIT; ++ti, trace = ArenaTrace(arena, ti)) BEGIN if (TraceSetIsMember(ts, trace)) {TRACE_SET_ITER_END(ti,trace,ts,arena) } ENDTRACE_SCAN_BEGIN(ss) BEGIN Shift SCANzoneShift = (ss)->zoneShift; ZoneSet SCANwhite = (ss)->white; RefSet SCANsummary = (ss)->unfixedSummary; Word SCANt; {TRACE_FIX1(ss,ref) (SCANt = (Word)1 << ((Word)(ref) >> SCANzoneShift & (MPS_WORD_WIDTH-1)), SCANsummary |= SCANt, SCANwhite & SCANt)TRACE_FIX2(ss,refIO) ((*(ss)->fix)(ss, refIO))TRACE_FIX(ss,refIO) (TRACE_FIX1(ss, *(refIO)) ? TRACE_FIX2(ss, refIO) : ResOK)TRACE_SCAN_END(ss) } (ss)->unfixedSummary = SCANsummary; ENDDEFINE_ARENA_CLASS(className,var) DEFINE_ALIAS_CLASS(className, ArenaClass, var)ARENA_SUPERCLASS(className) ((ArenaClass)SUPERCLASS(className))ArenaGlobals(arena) (&(arena)->globals)GlobalsArena(glob) PARENT(ArenaStruct, globals, glob)ArenaRootRing(arena) (&(arena)->rootRing)ArenaTraceRing(arena) (&(arena)->traceRing)ArenaThreadRing(arena) (&(arena)->threadRing)ArenaEpoch(arena) ((arena)->epoch)ArenaTrace(arena,ti) (&(arena)->trace[ti])ArenaZoneShift(arena) ((arena)->zoneShift)ArenaAlign(arena) ((arena)->alignment)ArenaGreyRing(arena,rank) (&(arena)->greyRing[rank])ArenaReservoir(arena) (&(arena)->reservoirStruct)DEFINE_SEG_CLASS(className,var) DEFINE_ALIAS_CLASS(className, SegClass, var)SEG_SUPERCLASS(className) ((SegClass)SUPERCLASS(className))ClassOfSeg(seg) ((seg)->class)SegBase(seg) (TractBase((seg)->firstTract))SegLimit(seg) ((seg)->limit)SegPool(seg) (TractPool((seg)->firstTract))SegRankSet(seg) ((RankSet)(seg)->rankSet)SegPM(seg) ((AccessSet)(seg)->pm)SegSM(seg) ((AccessSet)(seg)->sm)SegDepth(seg) ((unsigned)(seg)->depth)SegGrey(seg) ((TraceSet)(seg)->grey)SegWhite(seg) ((TraceSet)(seg)->white)SegNailed(seg) ((TraceSet)(seg)->nailed)SegOfPoolRing(node) (RING_ELT(Seg, poolRing, (node)))SegOfGreyRing(node) (&(RING_ELT(GCSeg, greyRing, (node)) ->segStruct))SegSummary(seg) (((GCSeg)(seg))->summary)SegSetPM(seg,mode) ((void)((seg)->pm = (mode)))SegSetSM(seg,mode) ((void)((seg)->sm = (mode)))SegSetDepth(seg,d) ((void)((seg)->depth = (d)))SegSetNailed(seg,ts) ((void)((seg)->nailed = (ts)))BUFFER_RESERVE(pReturn,buffer,size,withReservoirPermit) (AddrAdd(BufferAlloc(buffer), size) > BufferAlloc(buffer) && AddrAdd(BufferAlloc(buffer), size) <= BufferAP(buffer)->limit ? (*(pReturn) = BufferAlloc(buffer), BufferAP(buffer)->alloc = AddrAdd(BufferAlloc(buffer), size), ResOK) : BufferFill(pReturn, buffer, size, withReservoirPermit))BUFFER_COMMIT(buffer,p,size) (BufferAP(buffer)->init = BufferAlloc(buffer), BufferAP(buffer)->limit != 0 || BufferTrip(buffer, p, size))BufferAP(buffer) (&(buffer)->apStruct)BufferOfAP(ap) PARENT(BufferStruct, apStruct, ap)BufferArena(buffer) ((buffer)->arena)BufferPool(buffer) ((buffer)->pool)BufferBase(buffer) ((buffer)->base)BufferGetInit(buffer) (BufferAP(buffer)->init)BufferAlloc(buffer) (BufferAP(buffer)->alloc)BufferLimit(buffer) ((buffer)->poolLimit)DEFINE_BUFFER_CLASS(className,var) DEFINE_ALIAS_CLASS(className, BufferClass, var)BUFFER_SUPERCLASS(className) ((BufferClass)SUPERCLASS(className))RankSetIsMember(rs,r) BS_IS_MEMBER((rs), (r))RankSetSingle(r) BS_SINGLE(RankSet, (r))RankSetIsSingle(r) BS_IS_SINGLE(r)RankSetUnion(rs1,rs2) BS_UNION((rs1), (rs2))RankSetDel(rs,r) BS_DEL(RankSet, (rs), (r))AddrZone(arena,addr) (((Word)(addr) >> (arena)->zoneShift) & (MPS_WORD_WIDTH - 1))RefSetUnion(rs1,rs2) BS_UNION((rs1), (rs2))RefSetInter(rs1,rs2) BS_INTER((rs1), (rs2))RefSetDiff(rs1,rs2) BS_DIFF((rs1), (rs2))RefSetAdd(arena,rs,addr) BS_ADD(RefSet, rs, AddrZone(arena, addr))RefSetIsMember(arena,rs,addr) BS_IS_MEMBER(rs, AddrZone(arena, addr))RefSetSuper(rs1,rs2) BS_SUPER((rs1), (rs2))RefSetSub(rs1,rs2) BS_SUB((rs1), (rs2))ZoneSetUnion(zs1,zs2) BS_UNION(zs1, zs2)ZoneSetInter(zs1,zs2) BS_INTER(zs1, zs2)ZoneSetDiff(zs1,zs2) BS_DIFF(zs1, zs2)ZoneSetAdd(arena,zs,addr) BS_ADD(ZoneSet, zs, AddrZone(arena, addr))ZoneSetIsMember(arena,zs,addr) BS_IS_MEMBER(zs, AddrZone(arena, addr))ZoneSetSub(zs1,zs2) BS_SUB(zs1, zs2)ZoneSetSuper(zs1,zs2) BS_SUPER(zs1, zs2)ZoneSetComp(zs) BS_COMP(zs)STATISTIC(gather) BEGIN (gather); ENDSTATISTIC_STAT(gather) BEGIN gather; ENDSTATISTIC_WRITE(format,arg) (format), (arg), mps_h &_LIMITS_H_ +_POSIX_ARG_MAX 4096,_POSIX_CHILD_MAX 25-_POSIX_LINK_MAX 8._POSIX_MAX_CANON 255/_POSIX_MAX_INPUT 2550_POSIX_NAME_MAX 141_POSIX_NGROUPS_MAX 82_POSIX_OPEN_MAX 203_POSIX_PATH_MAX 2564_POSIX_PIPE_BUF 5125_POSIX_SSIZE_MAX 327676_POSIX_STREAM_MAX 87_POSIX_TZNAME_MAX 69BC_BASE_MAX 99:BC_DIM_MAX 2048;BC_SCALE_MAX 99EXPR_NEST_MAX 32?LINE_MAX 2048@RE_DUP_MAX 255B_POSIX2_BC_BASE_MAX 99C_POSIX2_BC_DIM_MAX 2048D_POSIX2_BC_SCALE_MAX 99E_POSIX2_BC_STRING_MAX 1000F_POSIX2_EQUIV_CLASS_MAX 2G_POSIX2_EXPR_NEST_MAX 32H_POSIX2_LINE_MAX 2048I_POSIX2_RE_DUP_MAX 255M_POSIX_AIO_LISTIO_MAX 16N_POSIX_AIO_MAX 1O_POSIX_DELAYTIMER_MAX 32P_POSIX_MQ_OPEN_MAX 8Q_POSIX_MQ_PRIO_MAX 32R_POSIX_RTSIG_MAX 8S_POSIX_SEM_NSEMS_MAX 256T_POSIX_SEM_VALUE_MAX 32767U_POSIX_SIGQUEUE_MAX 32V_POSIX_TIMER_MAX 32Z_POSIX_THREAD_DESTRUCTOR_ITERATIONS 4[_POSIX_THREAD_KEYS_MAX 128\_POSIX_THREAD_THREADS_MAX 64`_POSIX_HOST_NAME_MAX 255a_POSIX_LOGIN_NAME_MAX 9b_POSIX_SS_REPL_MAX 4c_POSIX_SYMLINK_MAX 255d_POSIX_SYMLOOP_MAX 8e_POSIX_TRACE_EVENT_NAME_MAX 30f_POSIX_TRACE_NAME_MAX 8g_POSIX_TRACE_SYS_MAX 8h_POSIX_TRACE_USER_EVENT_MAX 32i_POSIX_TTY_NAME_MAX 9j_POSIX2_CHARCLASS_NAME_MAX 14k_POSIX2_COLL_WEIGHTS_MAX 2m_POSIX_RE_DUP_MAX _POSIX2_RE_DUP_MAXq_XOPEN_IOV_MAX 16r_XOPEN_NAME_MAX 255s_XOPEN_PATH_MAX 1024tPASS_MAX 128vNL_ARGMAX 99wNL_LANGMAX 31xNL_MSGMAX 32767yNL_NMAX 1zNL_SETMAX 255{NL_TEXTMAX 2048~MB_LEN_MAX 6!_SYS_LIMITS_H_ $"_MACHINE__LIMITS_H_ /__CHAR_BIT 81__SCHAR_MAX 0x7f2__SCHAR_MIN (-0x7f - 1)4__UCHAR_MAX 0xff6__USHRT_MAX 0xffff7__SHRT_MAX 0x7fff8__SHRT_MIN (-0x7fff - 1):__UINT_MAX 0xffffffffU;__INT_MAX 0x7fffffff<__INT_MIN (-0x7fffffff - 1)D__ULONG_MAX 0xffffffffULE__LONG_MAX 0x7fffffffLF__LONG_MIN (-0x7fffffffL - 1)J__ULLONG_MAX 0xffffffffffffffffULLK__LLONG_MAX 0x7fffffffffffffffLLL__LLONG_MIN (-0x7fffffffffffffffLL - 1)N__SSIZE_MAX __INT_MAXP__SIZE_T_MAX __UINT_MAXR__OFF_MAX __LLONG_MAXS__OFF_MIN __LLONG_MINV__UQUAD_MAX __ULLONG_MAXW__QUAD_MAX __LLONG_MAXX__QUAD_MIN __LLONG_MIN]__LONG_BIT 32___WORD_BIT 32&CHAR_BIT __CHAR_BIT(SCHAR_MAX __SCHAR_MAX)SCHAR_MIN __SCHAR_MIN+UCHAR_MAX __UCHAR_MAX1CHAR_MAX SCHAR_MAX2CHAR_MIN SCHAR_MIN5USHRT_MAX __USHRT_MAX6SHRT_MAX __SHRT_MAX7SHRT_MIN __SHRT_MIN9UINT_MAX __UINT_MAX:INT_MAX __INT_MAX;INT_MIN __INT_MIN=ULONG_MAX __ULONG_MAX>LONG_MAX __LONG_MAX?LONG_MIN __LONG_MINHSSIZE_MAX __SSIZE_MAXLSIZE_T_MAX __SIZE_T_MAXNOFF_MAX __OFF_MAXOOFF_MIN __OFF_MINSGID_MAX UINT_MAXTUID_MAX UINT_MAXVUQUAD_MAX (__UQUAD_MAX)WQUAD_MAX (__QUAD_MAX)XQUAD_MIN (__QUAD_MIN)\LONG_BIT __LONG_BIT]WORD_BIT __WORD_BIT"_SYS_SYSLIMITS_H_ 4ARG_MAX 2621447CHILD_MAX 409LINK_MAX 32767:MAX_CANON 255;MAX_INPUT 255 (sac)->mps_middle) { _mps_i = 0; while (_mps_s > (sac)->mps_freelists[_mps_i].mps_size) _mps_i += 2; } else { _mps_i = 1; while (_mps_s <= (sac)->mps_freelists[_mps_i].mps_size) _mps_i += 2; } if ((sac)->mps_freelists[_mps_i].mps_count != 0) { (p_o) = (sac)->mps_freelists[_mps_i].mps_blocks; (sac)->mps_freelists[_mps_i].mps_blocks = *(mps_addr_t *)(p_o); --(sac)->mps_freelists[_mps_i].mps_count; (res_o) = MPS_RES_OK; } else (res_o) = mps_sac_fill(&(p_o), sac, _mps_s, has_reservoir_permit); MPS_ENDMPS_SAC_FREE_FAST(sac,p,size) MPS_BEGIN size_t _mps_i, _mps_s; _mps_s = (size); if (_mps_s > (sac)->mps_middle) { _mps_i = 0; while (_mps_s > (sac)->mps_freelists[_mps_i].mps_size) _mps_i += 2; } else { _mps_i = 1; while (_mps_s <= (sac)->mps_freelists[_mps_i].mps_size) _mps_i += 2; } if ((sac)->mps_freelists[_mps_i].mps_count < (sac)->mps_freelists[_mps_i].mps_count_max) { *(mps_addr_t *)(p) = (sac)->mps_freelists[_mps_i].mps_blocks; (sac)->mps_freelists[_mps_i].mps_blocks = (p); ++(sac)->mps_freelists[_mps_i].mps_count; } else mps_sac_empty(sac, p, _mps_s); MPS_ENDMPS_SAC_ALLOC(res_o,p_o,sac,size,has_reservoir_permit) MPS_SAC_ALLOC_FAST(res_o, p_o, sac, size, has_reservoir_permit)MPS_SAC_FREE(sac,p,size) MPS_SAC_FREE_FAST(sac, p, size)mps_reserve(_p_o,_mps_ap,_size) ((char *)(_mps_ap)->alloc + (_size) > (char *)(_mps_ap)->alloc && (char *)(_mps_ap)->alloc + (_size) <= (char *)(_mps_ap)->limit ? ((_mps_ap)->alloc = (mps_addr_t)((char *)(_mps_ap)->alloc + (_size)), *(_p_o) = (_mps_ap)->init, MPS_RES_OK) : mps_ap_fill(_p_o, _mps_ap, _size))MPS_RESERVE_BLOCK(_res_v,_p_v,_mps_ap,_size) MPS_BEGIN char *_alloc = (char *)(_mps_ap)->alloc; char *_next = _alloc + (_size); if(_next > _alloc && _next <= (char *)(_mps_ap)->limit) { (_mps_ap)->alloc = (mps_addr_t)_next; (_p_v) = (_mps_ap)->init; (_res_v) = MPS_RES_OK; } else (_res_v) = mps_ap_fill(&(_p_v), _mps_ap, _size); MPS_ENDMPS_RESERVE_WITH_RESERVOIR_PERMIT_BLOCK(_res_v,_p_v,_mps_ap,_size) MPS_BEGIN char *_alloc = (char *)(_mps_ap)->alloc; char *_next = _alloc + (_size); if(_next > _alloc && _next <= (char *)(_mps_ap)->limit) { (_mps_ap)->alloc = (mps_addr_t)_next; (_p_v) = (_mps_ap)->init; (_res_v) = MPS_RES_OK; } else (_res_v) = mps_ap_fill_with_reservoir_permit(&(_p_v), _mps_ap, _size); MPS_ENDmps_commit(_mps_ap,_p,_size) ((_mps_ap)->init = (_mps_ap)->alloc, (_mps_ap)->limit != 0 || mps_ap_trip(_mps_ap, _p, _size))MPS_SCAN_BEGIN(ss) MPS_BEGIN mps_ss_t _ss = (ss); mps_word_t _mps_w0 = (_ss)->w0; mps_word_t _mps_w1 = (_ss)->w1; mps_word_t _mps_w2 = (_ss)->w2; mps_word_t _mps_wt; {MPS_FIX1(ss,ref) (_mps_wt = 1uL << ((mps_word_t)(ref) >> _mps_w0 & (sizeof(mps_word_t) * CHAR_BIT - 1)), _mps_w2 |= _mps_wt, _mps_w1 & _mps_wt)MPS_FIX2(ss,ref_io) ((*(ss)->fix)(ss, ref_io))MPS_FIX12(ss,ref_io) (MPS_FIX1(ss, *(ref_io)) ? MPS_FIX2(ss, ref_io) : MPS_RES_OK)MPS_FIX(ss,ref_io) MPS_FIX12(ss, ref_io)MPS_FIX_CALL(ss,call) MPS_BEGIN (call); _mps_w2 |= (ss)->w2; MPS_ENDMPS_SCAN_END(ss) } (ss)->w2 = _mps_w2; MPS_ENDFormattedObjectsStepClosureSig ((Sig)0x519F05C1)rootsStepClosureSig ((Sig)0x51965C10)rootsStepClosure2ScanState(rsc) (&(rsc)->ssStruct)ScanState2rootsStepClosure(ss) PARENT(rootsStepClosureStruct, ssStruct, ss)walk.cJan 17 200703:39:22$Id: //info.ravenbrook.com/project/mps/master/code/walk.c#9 $|  AB  AB U. $,AB FH.}. L.JAB DD. AB SAB DZ. \AB N.tnAB EO.EAB BJ.(,AB IK.g. e./AB DD.Z)&mps_arena_formatted_objects_walk)mps_arena_roots_walky)walkSrcIdGallocTablePoolDescribeMethodcontrolPoolStructpageTableLimitGlobalsgreySegMaxchunkFinishnamepageSizeFormatPadMethodrankrootSerialchunkRingArenaAllocMethodFormattedObjectsStepClosurereservoirSizeactiveTracesformatfoundationLockPoolBufferClassMethodTraceFixMethodsuperclassthreadRingArenaFormattedObjectsStepunitsPerExtentPagefillMutatorSizepoolSerialBoolprehistoryArenaFreeMethodmps_addr_tunitSizesetRankSetunsigned intGNU C 3.4.6 [FreeBSD] 20060305BufferRankSetMethodextendArenaChunkFinishMethodfillInternalSizeBufferReassignSegMethodreassignSegisCollectedpoolReadyscmidwhiteSegRefCountforwardedSizeforwardedCountRootStructArenaSpareCommitExceededMethodProtocolClassmergegreyRingfinishshort intAlignArenaDescribeMethodprotocoldescribefillSizesegScanCountmps_root_sPoolmodePoolDebugMixinStructrememberedSummaryRingprevfixRefCountserialEpochsetBufferapStructemptyMutatorSizeallocMutatorSizePoolFramePushMethodPoolFinishMethodbusyTraceslwPopPendingchunkspansallocBasesuspendedpollThresholdArenaStructenabledMessageTypesmpsVersionStringSizefreeListframePoprootsStepClosureInitGlobalsStructreservoirStructChainStructbaseArenaClassmps_arena_tAccessSetframeptrhistorySegSetRankSummaryMethodFileSrcIdStructlong long unsigned introotFixfileoffsetmps_pool_tArenaRootsWalktraceshDepthhighattrgenCountSegClassStructrateFreeBlockStepMethodPoolClassStructglobalsprimaryArenaChunkInitMethodmps_fmt_tarenaBufferFinishMethodFormatVarietywalk.cRootPoolWalkMethodskipPoolFreeMethodmortalitywasMarkedproflowmessageRingsize_tmoveAPStructTractStructrampEndmayMoveBootBlockpoolLimitChunkclampedPoolReclaimMethodunroundedUnitSizerootWalkshCachereclaimCountpageTablePagesfreePoolFixMethodSegPrefWordmps_lib_stream_sFormatStructpreservedInPlaceCountfreewalkframePushFormattedObjectsStepMethodSegClassgensCountPageStructisMovedsetRankSummarySegDescribeMethodbufferClassPoolDebugMixinSegSetSummaryMethodinsidePollreclaimAddrreservoirLimitmps_roots_stepper_tcharscannedSizereserveBufferStructFormatScanMethodchunkSerialSegFinishMethodarenaGlobalsMFSHeaderStructSerialLockStructsplitmps_arena_roots_walkFormatClassMethodArenaFormatMoveMethodspacefinalPoolBufferDescribeMethodBufferModelimitMFSStructArenaInitMethodlockrampCountPoolFixEmergencyMethodFormattedObjectsStepClosureStructzoneShiftArenaFormattedObjectsWalkmps_formatted_objects_stepper_tpagesisGennailedPoolFreeWalkMethodchainva_listssStructChainlong long intMVStructtracedTimeZoneSetTractBufferSegMethoddepthPoolRampEndMethodlocusRingfixEmergencyTracegreylastWorldCollectPoolDebugMixinMethodpageShiftChunkCacheEntryStructBufferClassStructArenaClassStructrememberedSummaryIndexgreySegCountisMutatorArenaFinishMethodfixedSummaryFormattedObjectsStepClosureCheckcommittedframePopPendingscansingleCopiedSizeSegSetBufferMethodProtocolInstStructAddrStructrampBeginbufferPoolRampBeginMethodsizeSegStructGenDescStructProtocolInstBufferSetRankSetMethodmps_root_tinitAtFlipPoolStructpoolRingFormatdetachspareCommitLimitmps_arena_stopGenPoolWhitenMethodspanPoolStructPoolInitMethodTraceIdpoolmps_arena_formatted_objects_walkaccesschainRingPoolGreyMethodlastTract/home/hannes/dylan/mps/codeMutatorFaultContextvarietyemptyInternalSizeSrcIdarenaRingsegRefCountavgSizecopytractListBufferDetachMethodmps_arenaPoolScanMethodFormatCopyMethodlostcapacitywhitenScanStatemps_fmt_scondemnedrootbufferRingChunkStructflippedTracesrootScanCountenabledrootScanSizepointlessScanCountallocRankshCacheLimitsegCopiedSizeBufferInitMethodlong intsetSummarynotCondemnedextendByTraceStateTraceSetstatepreservedInPlaceSizenextSegBufferMethodbuild_timerefIOPoolClassProtocolCoerceInstMethodemergencyPoolBlackenMethodwhitepoolStruct__size_trootRingSegInitMethodFormatSkipMethodsegScanSizerootsStepClosureStructcopiedSizeArenaExtendMethodScanStateStructSegSetWhiteMethodunfixedSummarypageTableBaselastTractBasethreadSeriallabelledsetGreytracedSize__va_listwalksetWhitePoolAllocMethodRingStructrankSetlong unsigned intPoolFramePopPendingMethodSrcIdStructBootBlockStructwriteBarrierHitCountMutatorFaultContextStructArenaReservedMethodinitAttrbufferLoggingProtocolClassStructclassbufferFillIndexspareCommitExceededFormatIsMovedMethodmaxSizechunkInitPoolAccessMethodobjectsnapCounttypeattachnailCountunsigned char__uint32_tspareCommittedinsideShieldRingSegSplitMethodrootsStepClosureFinishblockPoolStructRefSetAllocFrameStructPoolFramePopMethodtractStructBufferClassformatSerialRootsWalkFixsegRingwalkSrcIdAllocFramehasSegcoerceClassReservoirStructbuild_datesingleScanSizeBufferreadBarrierHitCountpageTableheaderSizerootsStepClosurecoerceInstdebugMixinchunkCachemps_pool_ssigned charSegMergeMethodSegPrefStructmps_lib_FILEPoolBufferFillMethodreclaimSizebufferSerialshort unsigned intzonesbufferEmptyProtocolCoerceClassMethodreservedRankSetisFinalPooldoublesingleScanCountfirstTractalignmentPoolBufferEmptyMethodBufferAttachMethodrestSegSetRankSetMethodShiftemptySizerootsStepClosureCheckrscStructTraceStructglobalRingformatRingcommitLimitrootCopiedSizeSegSetGreyMethodshCacheIepochblackentracesGCC: (GNU) 3.4.6 [FreeBSD] 20060305.symtab.strtab.shstrtab.rel.text.rel.data.bss.debug_abbrev.rel.debug_info.rel.debug_line.debug_macinfo.rodata.str1.1.rodata.str1.4.rel.rodata.rel.debug_frame.rel.debug_pubnames.rel.debug_aranges.debug_str.comment4G )|% /4F )B V/,R  b1hq2@2\> p ^ z  0)%      9 S,m S\tnE, J2=HVfpy/walk.cFileSrcIdStructFormattedObjectsStepClosureCheckArenaFormattedObjectsStepArenaFormattedObjectsWalkrootsStepClosureCheckrootsStepClosureInitrootsStepClosureFinishRootsWalkFixrootWalkArenaRootsWalkwalkSrcIdSegFirstShieldExposePoolWalkShieldCoverSegNextmps_arena_formatted_objects_walkArenaEnterArenaLeaveScanStateInitScanStateFinishSegOfAddrRootRankScanStateSetSummaryRootScanTraceCreateRootGreyRootsIterateTraceDestroymps_arena_roots_walk>f{ "#*$n%&'()D*l+t,, -$">#  !%*18?MX_fmt{(39Zev| #.9Tek-<KZiy,;Ziq%4CRap (6DR`n &4BP^lz"0>LZhv  ) 8 G V e t            ( 7 F U d s           : I X g v            + @ V d r           0 > L Z h v         !0@U,>Qfn|$2Od{ />M\kz 0@P`p 0@P`p 0@P`p )8GVet $*;AR\dr%P'S)4V}GR}:\V 0f&Qx .Yz  $ 7 E \ g s        !!E!v!!!!!!!!!" ""&"4"B"P"^"{""""""""""##4#?#J#V#b#n####### $$"$($9$k$$$$$%%%%%)%0%>%L%%%%%%%%%%% &&&&M&e&z&&&&&&& '''('6'C''''''''(((!(((R(^(b(i((((())))P)i)u) z))    04LPtx (,TXreserv.o/ 1169001562 1001 1001 100644 58356 ` ELF X4(UÉUÍvU=u1=u h .v ÐUÍvUVS]ƃhPSsCChCC C$ e[^ÉUÉUS]C \CXt @ʅu9S`uQK\uS`u ;K`r[ÐUWVSuF E\E~\9~`tTu9~`sG EXxuu PEPEPS0 uEF`FXUBEFX9~`re[^_UWVS ]} ]C E9{`t3\9{`v(CXPSXMQxuVpR4)s`9{`wِe[^_UVSU]J 9\uJ9Z`r@ZXsCBXB`+\B` S VuSE0E e[^UWVS$}E W U}\UU‰UW\UPuËpteE9G`s, S VuSUW`GXC_XUBx3uVP4E\;usue[^_ÍvUWVSUZPEBP9t7E쐍{W C9t_Bxʋ 9u]E9]u͉[^_ÍvUWVS }_ } t&S|\\M t!ƃv9w`sw\ WVWw\e[^_UE@\ÐUS]SC`]US]C\C`CXCdQ Pu S]US]SCd[Q]C% $ > $ > : ; I I&I : ;  : ; I8 < : ; I  : ;I8 : ;I8  : ; I8  : ; I 8  : ;I 8  : ;I 8  : ; ' II' ' I : ;  : ;  : ; I: ;II!I/ .: ; ' I@ : ; I : ; I .: ; ' @ !4: ; I".? : ; ' I@ # $4: ; I %.? : ; ' I@ &4: ; I '.? : ;' @ (: ;I )4: ;I *4: ;I+.: ;' I@ ,.? : ;' I@ -4: ;I .4: ; I?  )p Kint 8W U+0 _L |A0>7z_E ""$#<%#&#'# "t 2 A . Sigl ResE< l-"ou n#Y$Y(%Y&Y'W(W Ref)d ,Y -Y .W/We1{ 2We3WZ4W5W6W7W BT:MYo;^d Y @> Dz!# zE# F# GV# H# I# 2 J#$ K`#( segL#, MM#0 N#4 O>#8 sigPC#<' AWJC ad# bd# 2 cd# dd# e# f#+ DR<D sigC# ^# 8# #   # M# M 2# ]# E~#$ #( . #, pad#0 #4 {#8F G XGsig`C#^a#b#c#  d # e #f# |g #$Mh#,i#0fixjj#4Dks#8~ls#@ms#H ns#PHH2z!#z3# 4#5#[6-#7# 8#$ 9#(:#,; #0#<b ?#@B@ #DM A4#HfixBj#LO C#P%D#T E#X_F#\~G#`|H*#d' IU#h$J|#luK#pL#tM#x5N#|O#sigPC#eI\ O O sigC# ti# # # g# n# # 5 # {# D{#$ {#( ~{#, #0 c#4 #8 #< {#@ #D a#H {#L 2#P #T R {#X R#\  #` B#d #h #l #p  #t a #x S {#| _ # t {# # # P  5 TP fix+# x Y# # # sigC# # J # # #  #$ R#(  #, B#0 #4 #8 a#< S{#@ _#D t{#H {#L R{#P Q@ F  Qsig>C#?# @ #A #`B#C!# R   SR #p#d# # W# S   8SsigC#^## # {# #d#2 d# #$ #(C#,  #0#4J T sigC#  # d# 2 d# J# LJ#?UU[vUthehX # SegV[ V sigC# [# B # "   # 2  d#-  W#pm "#sm "#b  # #  #M#XflYiLXz!#z# ###9#  #$k#( #,)-#08#4Z#8#< #@K#DsigC#H4ZdjfZ sig0C# V1# 2# &3# 4# gen5#\ H\ &z!# z'}## (# )# *# +# ,#$ .-#( .)#, /T#0 0#4 1#8 n2#< 3#@ sig4C#D^=(^ o## ^p#t r#x 2t#| :uC## wN##  y{# z{# |{# 9 }{# x # M#  # d#  #  # # @q## J !#  # X# 2 # IC# #  # % # # # ## 3{# {# ;{# #  #  # 5## s# s# g Y# ## #  # <# d# ## sigC#[_t_ sigBC# E # R F# /Is# J# K# DLs# ~Ms#( Ns#0 Os#8 Ps#@ ]S#H V#L " Y #P TZ#X 9] #\ ^#d 7a #h d#p d e(. "g?E hV\hh%"#^ #X2{#\{#`sigC#dB nN8 op{pqr4:TNd{t_eNY{d oud{vN Sw x %N%' 6<QN QbhdlddBNvd{8 v"-v CIZvekvvjvc vj Nv%WKNvvddd8agNj8jmjddd{=  vj j '->jIO`jv kqNj%q N82N{  d{+1ZNj{WekjddǑNvd"Q Nv  v4 vU ?EdNd vu{N vQa u һj3 j $N$j4-5;UNj4g`f|j4܇vWl ݸxN%x "2s=C]N ddPhn~ddddBhd d{h B#M#BS X g e#fE#w h@c( g3 i[w \   \sig}C#~ #*!#I!#  a  !v asigC# #m#!)!C!C!   xT!Z!t!t!    ! $sigC##z  {#!s# *"s#E # # $!!Q o"8 t%"#{#XQ{#\{#`0Y#ds"#h3  #lsigC#p "8  "C# `%"#"#Xb "#Q{#& {#V{# {#u {#  #sigC# "\Jgd  e#v#e## #$'N U &arg&8 6$&9 U 8!:KEE!"E6$[U" E6$\iU $ FlUP E6$S#t$mGV%%SURK!FT6$!U!xV g%7 nUmKS$Mo{Q$ o{R$xp P! q$rP%%N UKV$2 {W$M{h$ d$`#P&resNP$dl$x p k&UKS{W$p$ l$M{V#$xʧ P%'NhU׉P%׏PKR {S !$Q#!a$x S$dV''hU(KW(dP( {)p)wdV)2 dl)1{h)M{d) `)x  S#*_ch +g( /}U(.R)0S))0p)1V#@f) 5W)6R)6Q#T^):jP'( FU(EKW( E{ ) G{V)HS#)N{P,( k{U(jKP,')Cu{U(tKS,o)NTU(~KS(~ -resNP')TpU(KS$.$^E$EA$ )f /usr/include/usr/include/sys/usr/include/machinempm.hconfig.hmpstd.hmisc.hstddef.hcdefs.h_null.h_types.h_types.hcheck.hmpslib.hevent.heventcom.hmpmtypes.hstdarg.heventgen.hlock.hth.hring.hss.htract.hbt.hmpmst.hprotocol.hchain.hreserv.c&@ @ZcBcrrrrrdUrZ=d>F:gTY Gf=TX9xU&udV:gYiQ;d, 9ToUW<:d:VVZwe:fIdduGX,=;nz ˻ 9yUf W::;__GNUCLIKE___OFFSETOF 1?__GNUCLIKE___SECTION 1A__GNUCLIKE_ATTRIBUTE_MODE_DI 1D__GNUCLIKE_CTOR_SECTION_HANDLING 1G__GNUCLIKE_BUILTIN_CONSTANT_P 1N__GNUCLIKE_BUILTIN_VARARGS 1O__GNUCLIKE_BUILTIN_STDARG 1P__GNUCLIKE_BUILTIN_VAALIST 1T__GNUC_VA_LIST_COMPATIBILITY 1X__GNUCLIKE_BUILTIN_NEXT_ARG 1Y__GNUCLIKE_MATH_BUILTIN_RELOPS \__GNUCLIKE_BUILTIN_MEMCPY 1___CC_SUPPORTS_INLINE 1`__CC_SUPPORTS___INLINE 1a__CC_SUPPORTS___INLINE__ 1c__CC_SUPPORTS___FUNC__ 1d__CC_SUPPORTS_WARNING 1f__CC_SUPPORTS_VARADIC_XXX 1h__CC_SUPPORTS_DYNAMIC_ARRAY_INIT 1k__CC_INT_IS_32BIT 1s__GNUC_PREREQ__(ma,mi) (__GNUC__ > (ma) || __GNUC__ == (ma) && __GNUC_MINOR__ >= (mi))__P(protos) protos__CONCAT1(x,y) x ## y__CONCAT(x,y) __CONCAT1(x,y)__STRING(x) #x__XSTRING(x) __STRING(x)__const const__signed signed__volatile volatile__dead2 __attribute__((__noreturn__))__pure2 __attribute__((__const__))__unused __attribute__((__unused__))__used __attribute__((__used__))__packed __attribute__((__packed__))__aligned(x) __attribute__((__aligned__(x)))__section(x) __attribute__((__section__(x)))__pure __attribute__((__pure__))__always_inline __attribute__((__always_inline__))__nonnull(x) __attribute__((__nonnull__(x)))__restrict __predict_true(exp) __builtin_expect((exp), 1)__predict_false(exp) __builtin_expect((exp), 0)__offsetof(type,field) ((size_t)(&((type *)0)->field))__rangeof(type,start,end) (__offsetof(type, end) - __offsetof(type, start))__printflike(fmtarg,firstvararg) __attribute__((__format__ (__printf__, fmtarg, firstvararg)))__scanflike(fmtarg,firstvararg) __attribute__((__format__ (__scanf__, fmtarg, firstvararg)))__format_arg(fmtarg) __attribute__((__format_arg__ (fmtarg)))__printf0like(fmtarg,firstvararg) __attribute__((__format__ (__printf0__, fmtarg, firstvararg)))__strong_reference(sym,aliassym) extern __typeof (sym) aliassym __attribute__ ((__alias__ (#sym)));__weak_reference(sym,alias) __asm__(".weak " #alias); __asm__(".equ " #alias ", " #sym)__warn_references(sym,msg) __asm__(".section .gnu.warning." #sym); __asm__(".asciz \"" msg "\""); __asm__(".previous")__IDSTRING(name,string) __asm__(".ident\t\"" string "\"")__FBSDID(s) __IDSTRING(__CONCAT(__rcsid_,__LINE__),s)__RCSID(s) __IDSTRING(__CONCAT(__rcsid_,__LINE__),s)__RCSID_SOURCE(s) __IDSTRING(__CONCAT(__rcsid_source_,__LINE__),s)__SCCSID(s) __IDSTRING(__CONCAT(__sccsid_,__LINE__),s)__COPYRIGHT(s) __IDSTRING(__CONCAT(__copyright_,__LINE__),s)__DECONST(type,var) ((type)(uintptr_t)(const void *)(var))__DEVOLATILE(type,var) ((type)(uintptr_t)(volatile void *)(var))__DEQUALIFY(type,var) ((type)(uintptr_t)(const volatile void *)(var))__POSIX_VISIBLE 200112__XSI_VISIBLE 600__BSD_VISIBLE 1__ISO_C_VISIBLE 1999* NULL ((void *)0)+_SYS__TYPES_H_ ! (_MACHINE__TYPES_H_ .__NO_STRICT_ALIGNMENT __GNUC_VA_LIST 2_RUNE_T_DECLARED 8_SIZE_T_DECLARED >_WCHAR_T_DECLARED Boffsetof(type,member) __offsetof(type, member)*SRCID(id,scmid) static SrcIdStruct FileSrcIdStruct = {__FILE__, (scmid), __DATE__, __TIME__}; SrcId id ## SrcId = &FileSrcIdStruct;BEGIN do {> (i)) & 1)BS_UNION(s1,s2) ((s1) | (s2))BS_ADD(ty,s,i) BS_UNION((s), BS_SINGLE(ty, (i)))BS_INTER(s1,s2) ((s1) & (s2))BS_DIFF(s1,s2) BS_INTER((s1), BS_COMP(s2))BS_DEL(ty,s,i) BS_DIFF((s), BS_SINGLE(ty, (i)))BS_SUPER(s1,s2) (BS_INTER((s1), (s2)) == (s2))BS_SUB(s1,s2) BS_SUPER((s2), (s1))BS_IS_SINGLE(s) (((s) & ((s)-1)) == 0)BS_SYM_DIFF(s1,s2) ((s1) ^ (s2)) check_h  mpslib_h mps_lib_EOF (mps_lib_get_EOF())mps_lib_stderr (mps_lib_get_stderr())mps_lib_stdout (mps_lib_get_stdout())0AVER(cond) DISCARD(cond)1AVERT(type,val) DISCARD(type ## Check(val))2AVER_CRITICAL(cond) DISCARD(cond)3AVERT_CRITICAL(type,val) DISCARD(type ## Check(val))MASSERT(cond,condstring) BEGIN if (cond) NOOP; else mps_lib_assert_fail(condstring "\n" __FILE__ "\n" STR(__LINE__)); END_NOTREACHED NOOPjCHECKT(type,val) ((val) != NULL && (val)->sig == type ## Sig)pCHECKS(type,val) DISCARD(CHECKT(type, val))qCHECKL(cond) DISCARD(cond)rCHECKD(type,val) DISCARD(CHECKT(type, val))sCHECKD_NOSIG(type,val) DISCARD((val) != NULL)tCHECKU(type,val) DISCARD(CHECKT(type, val))uCHECKU_NOSIG(type,val) DISCARD((val) != NULL)CHECKLVALUE(lv1,lv2) ((void)sizeof((lv1) = (lv2)), (void)sizeof((lv2) = (lv1)), TRUE)CHECKTYPE(t1,t2) (sizeof(t1) == sizeof(t2) && CHECKLVALUE(*((t1 *)0), *((t2 *)0)))CHECKFIELDAPPROX(s1,f1,s2,f2) (sizeof(((s1 *)0)->f1) == sizeof(((s2 *)0)->f2) && offsetof(s1, f1) == offsetof(s2, f2))CHECKFIELD(s1,f1,s2,f2) (CHECKFIELDAPPROX(s1, f1, s2, f2) && CHECKLVALUE(((s1 *)0)->f1, ((s2 *)0)->f2)) event_h   eventcom_h  mpmtypes_h '_MACHINE_STDARG_H_ -_VA_LIST_DECLARED 3va_start(ap,last) __builtin_stdarg_start((ap), (last))6va_arg(ap,type) __builtin_va_arg((ap), type):va_copy(dest,src) __builtin_va_copy((dest), (src))>va_end(ap) __builtin_va_end(ap)SigInvalid ((Sig)0x51915BAD)SizeMAX ((Size)-1)AccessSetEMPTY ((AccessSet)0)AccessREAD ((AccessSet)(1<<0))AccessWRITE ((AccessSet)(1<<1))AccessSetWIDTH (2)RefSetEMPTY BS_EMPTY(RefSet)RefSetUNIV BS_UNIV(RefSet)ZoneSetEMPTY BS_EMPTY(ZoneSet)ZoneSetUNIV BS_UNIV(ZoneSet)TraceSetEMPTY BS_EMPTY(TraceSet)TraceSetUNIV ((TraceSet)((1u << TraceLIMIT) - 1))RankSetEMPTY BS_EMPTY(RankSet)RankSetUNIV ((RankSet)((1u << RankLIMIT) - 1))AttrFMT ((Attr)(1<<0))AttrSCAN ((Attr)(1<<1))AttrPM_NO_READ ((Attr)(1<<2))AttrPM_NO_WRITE ((Attr)(1<<3))AttrALLOC ((Attr)(1<<4))AttrFREE ((Attr)(1<<5))AttrBUF ((Attr)(1<<6))AttrBUF_RESERVE ((Attr)(1<<7))AttrBUF_ALLOC ((Attr)(1<<8))AttrGC ((Attr)(1<<9))AttrINCR_RB ((Attr)(1<<10))AttrINCR_WB ((Attr)(1<<11))AttrMOVINGGC ((Attr)(1<<12))AttrMASK (AttrFMT | AttrSCAN | AttrPM_NO_READ | AttrPM_NO_WRITE | AttrALLOC | AttrFREE | AttrBUF | AttrBUF_RESERVE | AttrBUF_ALLOC | AttrGC | AttrINCR_RB | AttrINCR_WB | AttrMOVINGGC)BufferModeATTACHED ((BufferMode)(1<<0))BufferModeFLIPPED ((BufferMode)(1<<1))BufferModeLOGGED ((BufferMode)(1<<2))BufferModeTRANSITION ((BufferMode)(1<<3))RootModeCONSTANT ((RootMode)1<<0)RootModePROTECTABLE ((RootMode)1<<1)RootModePROTECTABLE_INNER ((RootMode)1<<2)STATISTIC_DECL(field) field!EventNameMAX ((size_t)19)"EventCodeMAX ((EventCode)0x0069)&EVENT_0(type) NOOPEVENT_A(type,p0) NOOPEVENT_AW(type,p0,p1) NOOPEVENT_P(type,p0) NOOPEVENT_PAA(type,p0,p1,p2) NOOPEVENT_PAW(type,p0,p1,p2) NOOPEVENT_PAWA(type,p0,p1,p2,p3) NOOPEVENT_PDDWWW(type,p0,p1,p2,p3,p4,p5) NOOPEVENT_PP(type,p0,p1) NOOPEVENT_PPAU(type,p0,p1,p2,p3) NOOPEVENT_PPAWP(type,p0,p1,p2,p3,p4) NOOPEVENT_PPP(type,p0,p1,p2) NOOPEVENT_PPPA(type,p0,p1,p2,p3) NOOPEVENT_PPPU(type,p0,p1,p2,p3) NOOPEVENT_PPPUU(type,p0,p1,p2,p3,p4) NOOPEVENT_PPU(type,p0,p1,p2) NOOPEVENT_PPUU(type,p0,p1,p2,p3) NOOPEVENT_PPUWWW(type,p0,p1,p2,p3,p4,p5) NOOPEVENT_PPWW(type,p0,p1,p2,p3) NOOPEVENT_PPWWW(type,p0,p1,p2,p3,p4) NOOPEVENT_PPWWWUUU(type,p0,p1,p2,p3,p4,p5,p6,p7) NOOPEVENT_PU(type,p0,p1) NOOPEVENT_PW(type,p0,p1) NOOPEVENT_PWA(type,p0,p1,p2) NOOPEVENT_PWAW(type,p0,p1,p2,p3) NOOPEVENT_PWP(type,p0,p1,p2) NOOPEVENT_PWU(type,p0,p1,p2) NOOPEVENT_PWW(type,p0,p1,p2) NOOPEVENT_PWWWWDD(type,p0,p1,p2,p3,p4,p5,p6) NOOPEVENT_PWWWWW(type,p0,p1,p2,p3,p4,p5) NOOPEVENT_PWWWWWWWWW(type,p0,p1,p2,p3,p4,p5,p6,p7,p8,p9) NOOPEVENT_PWWWWWWWWWWWW(type,p0,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11,p12) NOOPEVENT_UUPA(type,p0,p1,p2,p3) NOOPEVENT_UUPP(type,p0,p1,p2,p3) NOOPEVENT_UUPPP(type,p0,p1,p2,p3,p4) NOOPEVENT_WS(type,p0,p1,l1) NOOP:EventEventTime ((EventType)0xEF213E99);EventPoolInit ((EventType)0xEFB07141)EventPoolFree ((EventType)0xEFB07F6E)?EventArenaCreateVM ((EventType)0xEFA64CF3)@EventArenaCreateVMNZ ((EventType)0xEFA64CF2)AEventArenaCreateCL ((EventType)0xEFA64CC7)BEventArenaDestroy ((EventType)0xEFA64DE5)CEventArenaAlloc ((EventType)0xEFA64A77)DEventArenaFree ((EventType)0xEFA64F6E)EEventSegAlloc ((EventType)0xEF5E9A77)FEventSegFree ((EventType)0xEF5E9F6E)GEventSegMerge ((EventType)0xEF5E93E6)HEventSegSplit ((EventType)0xEF5E95B7)IEventAMCGenCreate ((EventType)0xEFA3C94C)JEventAMCGenDestroy ((EventType)0xEFA3C94D)KEventAMCInit ((EventType)0xEFA3C141)LEventAMCFinish ((EventType)0xEFA3CF14)MEventAMCTraceBegin ((EventType)0xEFA3C26B)NEventAMCScanBegin ((EventType)0xEFA3C5CB)OEventAMCScanEnd ((EventType)0xEFA3C5CE)PEventAMCFix ((EventType)0xEFA3CF18)QEventAMCFixInPlace ((EventType)0xEFA3CF8A)REventAMCFixForward ((EventType)0xEFA3CF8F)SEventAMCReclaim ((EventType)0xEFA3C6EC)TEventTraceStart ((EventType)0xEF26AC52)UEventTraceCreate ((EventType)0xEF26ACC6)VEventTraceDestroy ((EventType)0xEF26ACDE)WEventSegSetGrey ((EventType)0xEF59596A)XEventTraceFlipBegin ((EventType)0xEF26AF7B)YEventTraceFlipEnd ((EventType)0xEF26AF7E)ZEventTraceReclaim ((EventType)0xEF26A6EC)[EventTraceScanSeg ((EventType)0xEF26A559)\EventTraceScanSingleRef ((EventType)0xEF26A556)^EventTraceAccess ((EventType)0xEF26AACC)_EventTracePoll ((EventType)0xEF26AB01)`EventTraceStep ((EventType)0xEF26A52B)aEventTraceFix ((EventType)0xEF26AF18)bEventTraceFixSeg ((EventType)0xEF26AF85)cEventTraceFixWhite ((EventType)0xEF26AF83)dEventTraceScanArea ((EventType)0xEF26A5CA)eEventTraceScanAreaTagged ((EventType)0xEF26A5C2)fEventVMCreate ((EventType)0xEFF3C6EA)gEventVMDestroy ((EventType)0xEFF3DE52)hEventVMMap ((EventType)0xEFF33AB9)iEventVMUnmap ((EventType)0xEFF3043B)jEventIntern ((EventType)0xEF142E64)kEventArenaExtend ((EventType)0xEFA64E82)lEventArenaRetract ((EventType)0xEFA646E2)mEventRootScan ((EventType)0xEF625CA4)nEventLabel ((EventType)0xEF7ABE79)oEventTraceSegGreyen ((EventType)0xEF26A599)pEventBufferReserve ((EventType)0xEFB0FF6E)qEventBufferCommit ((EventType)0xEFB0FFC0)rEventBufferInit ((EventType)0xEFB0FF14)sEventBufferInitSeg ((EventType)0xEFB0F15E)tEventBufferInitRank ((EventType)0xEFB0F16A)uEventBufferInitEPVM ((EventType)0xEFB0F1EF)vEventBufferFinish ((EventType)0xEFB0FFF1)wEventBufferFill ((EventType)0xEFB0FFF7)xEventBufferEmpty ((EventType)0xEFB0FFE3)yEventArenaAllocFail ((EventType)0xEFA64A7F)zEventSegAllocFail ((EventType)0xEF5E9A7F){EventMeterInit ((EventType)0xEF3E2141)|EventMeterValues ((EventType)0xEF3E2FA7)}EventCBSInit ((EventType)0xEFCB5141)~EventTraceStatCondemn ((EventType)0xEF26A5C0)EventTraceStatScan ((EventType)0xEF26A55C)EventTraceStatFix ((EventType)0xEF26A5F8)EventTraceStatReclaim ((EventType)0xEF26A56E)EventArenaWriteFaults ((EventType)0xEFA6436F)EventPoolInitMV ((EventType)0xEFB0713F)EventPoolInitMVFF ((EventType)0xEFB071FF)EventPoolInitMFS ((EventType)0xEFB07135)EventPoolInitEPVM ((EventType)0xEFB071EF)EventPoolInitEPDL ((EventType)0xEFB071E7)EventPoolInitAMS ((EventType)0xEFB071A5)EventPoolInitAMC ((EventType)0xEFB071AC)EventPoolInitAMCZ ((EventType)0xEFB071A2)EventPoolInitAWL ((EventType)0xEFB071A3)EventPoolInitLO ((EventType)0xEFB07170)EventPoolInitSNC ((EventType)0xEFB07154)EventPoolInitMVT ((EventType)0xEFB07132)EventPoolPush ((EventType)0xEFB07B58)EventPoolPop ((EventType)0xEFB07B0B)EventReservoirLimitSet ((EventType)0xEF6E5713)EventCommitLimitSet ((EventType)0xEFC03713)EventSpareCommitLimitSet ((EventType)0xEF5BC713)hEventInit() NOOPiEventFinish() NOOPjEventControl(r,f) (UNUSED(r), UNUSED(f), (Word)0)kEventInternString(s) (UNUSED(s), (Word)0)lEventInternGenString(l,s) (UNUSED(l), UNUSED(s), (Word)0)mEventLabelAddr(a,i) BEGIN UNUSED(a); UNUSED(i); ENDPlock_h ULockSig ((Sig)0x51970CC9) th_h  ring_h RingNONE ((Ring)0)$RingInit(ring) BEGIN Ring _ring = (ring); AVER(_ring != NULL); _ring->next = _ring; _ring->prev = _ring; AVER(RingCheck(_ring)); END/RingFinish(ring) BEGIN Ring _ring = (ring); AVER(RingCheckSingle(_ring)); _ring->next = RingNONE; _ring->prev = RingNONE; END9RingAppend(ring,new) BEGIN Ring _ring = (ring), _new = (new); AVER(RingCheck(_ring)); AVER(RingCheckSingle(_new)); _new->prev = _ring->prev; _new->next = _ring; _ring->prev->next = _new; _ring->prev = _new; ENDFRingInsert(ring,new) BEGIN Ring _ring = (ring), _new = (new); AVER(RingCheck(_ring)); AVER(RingCheckSingle(_new)); _new->prev = _ring; _new->next = _ring->next; _ring->next->prev = _new; _ring->next = _new; ENDSRingRemove(old) BEGIN Ring _old = (old); AVER(RingCheck(_old)); AVER(!RingIsSingle(_old)); _old->next->prev = _old->prev; _old->prev->next = _old->next; _old->next = _old; _old->prev = _old; END`RingNext(ring) ((ring)->next)dRingPrev(ring) ((ring)->prev)gRING_ELT(type,field,node) ((type)(void *)((char *)(node) - (size_t)(&((type)0)->field)))kRING_FOR(node,ring,next) for(node = RingNext(ring), next = RingNext(node); node != (ring); node = (next), next = RingNext(node))ThreadSig ((Sig)0x519286ED) ss_h  tract_h   bt_h BTSize(n) (((n) + MPS_WORD_WIDTH-1) / MPS_WORD_WIDTH * sizeof(Word))BTGet(a,i) ((Bool)(((a)[((i) >> MPS_WORD_SHIFT)] >> ((i) & ~((Word)-1 << MPS_WORD_SHIFT))) & (Word)1))BTSet(a,i) BEGIN (a)[((i)>>MPS_WORD_SHIFT)] |= (Word)1<<((i)&~((Word)-1<>MPS_WORD_SHIFT)] &= ~((Word)1 << ((i) & ~((Word)-1<base)&TractPool(tract) ((tract)->pool)'TractP(tract) ((tract)->p)(TractSetP(tract,pp) ((void)((tract)->p = (pp))))TractHasSeg(tract) ((Bool)(tract)->hasSeg)*TractSetHasSeg(tract,b) ((void)((tract)->hasSeg = (b)))+TractWhite(tract) ((tract)->white),TractSetWhite(tract,w) ((void)((tract)->white = (w)))8TRACT_SEG(segReturn,tract) (TractHasSeg(tract) && ((*(segReturn) = (Seg)TractP(tract)), TRUE));TRACT_SET_SEG(tract,seg) (TractSetHasSeg(tract, TRUE), TractSetP(tract, seg))>TRACT_UNSET_SEG(tract) (TractSetHasSeg(tract, FALSE), TractSetP(tract, NULL))nPageTract(page) (&(page)->the.tractStruct)rPageOfTract(tract) PARENT(PageStruct, the.tractStruct, (tract))vPagePool(page) ((page)->the.rest.pool)}PageIsAllocated(page) ((page)->the.rest.pool != NULL)PageType(page) ((page)->the.rest.type)ChunkSig ((Sig)0x519C804C)ChunkArena(chunk) ((chunk)->arena)ChunkPageSize(chunk) ((chunk)->pageSize)ChunkPageShift(chunk) ((chunk)->pageShift)ChunkPagesToSize(chunk,pages) ((Size)(pages) << (chunk)->pageShift)ChunkSizeToPages(chunk,size) ((Count)((size) >> (chunk)->pageShift))CHUNK_OF_ADDR(chunkReturn,arena,addr) (((arena)->chunkCache.base <= (addr) && (addr) < (arena)->chunkCache.limit) ? (*(chunkReturn) = (arena)->chunkCache.chunk, TRUE) : ChunkOfAddr(chunkReturn, arena, addr))AddrPageBase(chunk,addr) AddrAlignDown((addr), ChunkPageSize(chunk))TRACT_OF_ADDR(tractReturn,arena,addr) BEGIN Arena _arena = (arena); Addr _addr = (addr); Chunk _chunk; Index _i; if (CHUNK_OF_ADDR(&_chunk, _arena, _addr)) { _i = INDEX_OF_ADDR(_chunk, _addr); if (BTGet(_chunk->allocTable, _i)) *(tractReturn) = PageTract(&_chunk->pageTable[_i]); else *(tractReturn) = NULL; } else *(tractReturn) = NULL; ENDINDEX_OF_ADDR(chunk,addr) ((Index)ChunkSizeToPages(chunk, AddrOffset((chunk)->base, addr)))PageIndexBase(chunk,i) AddrAdd((chunk)->base, ChunkPagesToSize(chunk, i))TractAverContiguousRange(arena,rangeBase,rangeLimit) BEGIN Chunk _ch = NULL; UNUSED(_ch); AVER(ChunkOfAddr(&_ch, arena, rangeBase) && (rangeLimit) <= _ch->limit); ENDTRACT_TRACT_FOR(tract,addr,arena,firstTract,limit) tract = (firstTract); addr = TractBase(tract); TractAverContiguousRange(arena, addr, limit); for(; tract != NULL; (addr = AddrAdd(addr, (arena)->alignment)), (addr < (limit) ? (tract = PageTract(PageOfTract(tract) + 1)) : (tract = NULL) ))TRACT_FOR(tract,addr,arena,base,limit) TRACT_TRACT_FOR(tract, addr, arena, TractOfBaseAddr(arena, base), limit)mpmst_h protocol_h DERIVE_LOCAL(name) protocol ## nameDERIVE_STRUCT(name) name ## StructDERIVE_ENSURE(name) name ## GetDERIVE_ENSURE_OLD(name) Ensure ## nameDERIVE_ENSURE_INTERNAL(name) protocolGet ## nameDERIVE_GUARDIAN(name) protocol ## name ## GuardianDERIVE_STATIC_STORAGE(name) protocol ## name ## StructProtocolClassSetSuperclassPoly(class,super) (((ProtocolClass)(class))->superclass) = (ProtocolClass)(super)$DEFINE_CLASS(className,var) static Bool DERIVE_GUARDIAN(className) = FALSE; static DERIVE_STRUCT(className) DERIVE_STATIC_STORAGE(className); static void DERIVE_ENSURE_INTERNAL(className)(className); extern className DERIVE_ENSURE(className)(void); className DERIVE_ENSURE(className)(void) { if (DERIVE_GUARDIAN(className) == FALSE) { LockClaimGlobalRecursive(); if (DERIVE_GUARDIAN(className) == FALSE) { DERIVE_ENSURE_INTERNAL(className) (&DERIVE_STATIC_STORAGE(className)); DERIVE_GUARDIAN(className) = TRUE; } LockReleaseGlobalRecursive(); } return &DERIVE_STATIC_STORAGE(className); } extern className DERIVE_ENSURE_OLD(className)(void); className DERIVE_ENSURE_OLD(className)(void) { return DERIVE_ENSURE(className)(); } static void DERIVE_ENSURE_INTERNAL(className) (className var)AINHERIT_CLASS(this,parentName) BEGIN parentName DERIVE_LOCAL(parentName) = DERIVE_ENSURE(parentName)(); *this = *(DERIVE_LOCAL(parentName)); ProtocolClassSetSuperclassPoly(this, DERIVE_LOCAL(parentName)); ENDODEFINE_ALIAS_CLASS(className,typeName,var) typedef typeName className; typedef DERIVE_STRUCT(typeName) DERIVE_STRUCT(className); DEFINE_CLASS(className, var)VProtocolClassSig ((Sig)0x519B60C7)WProtocolInstSig ((Sig)0x519B6014)ProtocolClassSuperclassPoly(class) (((ProtocolClass)(class))->superclass)ClassOfPoly(inst) ((ProtocolInst)(inst)->class)IsSubclassPoly(sub,super) ProtocolIsSubclass((ProtocolClass)(sub), (ProtocolClass)(super))SUPERCLASS(className) ProtocolClassSuperclassPoly(DERIVE_ENSURE(className)())chain_h GenDescSig ((Sig)0x5199E4DE)+PoolGenSig ((Sig)0x519B009E);ChainSig ((Sig)0x519C8A14)XPoolGenNr(gen) ((gen)->nr)/PoolClassSig ((Sig)0x519C7A55)]PoolSig ((Sig)0x519B0019)}MFSSig ((Sig)0x5193F599)MVSig ((Sig)0x5193B999)ReservoirSig ((Sig)0x5196e599)MessageClassSig ((Sig)0x519359c1)MessageSig ((Sig)0x5193e559)SegClassSig ((Sig)0x5195E9C7)SegSig ((Sig)0x5195E999)GCSegSig ((Sig)0x5199C5E9)SegPrefSig ((Sig)0x5195E9B6)BufferClassSig ((Sig)0x519B0FC7)BufferSig ((Sig)0x519B0FFE)SegBufSig ((Sig)0x51959B0F)FormatSig ((Sig)0x519F63A2)ScanStateSig ((Sig)0x5195CA45)TraceSig ((Sig)0x51924ACE)ChunkCacheEntrySig ((Sig)0x519C80CE)ArenaClassSig ((Sig)0x519A6C1A)GlobalsSig ((Sig)0x519970BA)ArenaSig ((Sig)0x519A6E4A)%BoolCheck(b) ((unsigned)(b) <= 1)(FUNCHECK(f) (FunCheck((Fun)f))4WordIsAligned(w,a) (((w) & ((a) - 1)) == 0)7WordAlignUp(w,a) (((w) + (a) - 1) & ~((Word)(a) - 1));WordRoundUp(w,r) (((w)+(r)-1) - ((w)+(r)-1)%(r))>WordAlignDown(w,a) ((w) & ~((Word)(a) - 1))@size_tAlignUp(s,a) ((size_t)WordAlignUp((Word)(s), a))BPointerAdd(p,s) ((void *)((char *)(p) + (s)))CPointerSub(p,s) ((void *)((char *)(p) - (s)))EPointerOffset(base,limit) ((size_t)((char *)(limit) - (char *)(base)))HPointerAlignUp(p,s) ((void *)WordAlignUp((Word)(p), (Align)(s)))KAddrAdd(p,s) ((Addr)PointerAdd((void *)(p), s))LAddrSub(p,s) ((Addr)PointerSub((void *)(p), s))NAddrOffset(b,l) ((Size)(PointerOffset((void *)(b), (void *)(l))))RAddrAlignDown(p,a) ((Addr)WordAlignDown((Word)(p), a))TAlignWord(s) ((Word)(s))VAddrIsAligned(p,a) WordIsAligned((Word)(p), a)WAddrAlignUp(p,a) ((Addr)WordAlignUp((Word)(p), a))YSizeIsAligned(s,a) WordIsAligned((Word)(s), a)ZSizeAlignUp(s,a) ((Size)WordAlignUp((Word)(s), a))[SizeAlignDown(s,a) ((Size)WordAlignDown((Word)(s), a))]SizeRoundUp(s,r) ((Size)WordRoundUp((Word)(s), (Size)(r)))_IndexIsAligned(s,a) WordIsAligned((Word)(s), a)`IndexAlignUp(s,a) ((Index)WordAlignUp((Word)(s), a))aIndexAlignDown(s,a) ((Index)WordAlignDown((Word)(s), a))cAlignIsAligned(a1,a2) WordIsAligned((Word)(a1), a2)iAddrSet(target,value,size) mps_lib_memset(target, (int)(value), size)mAddrCopy(target,source,size) mps_lib_memcpy(target, source, size)qAddrComp(a,b,size) mps_lib_memcmp(a, b, size)wADDR_PTR(type,addr) ((type *)(addr))PoolArena(pool) ((pool)->arena)PoolAlignment(pool) ((pool)->alignment)PoolSegRing(pool) (&(pool)->segRing)PoolFix(pool,ss,seg,refIO) ((*(pool)->fix)(pool, ss, seg, refIO))ClassOfPool(pool) ((pool)->class)SuperclassOfPool(pool) ((PoolClass)ProtocolClassSuperclassPoly((pool)->class))DEFINE_POOL_CLASS(className,var) DEFINE_ALIAS_CLASS(className, PoolClass, var)POOL_SUPERCLASS(className) ((PoolClass)SUPERCLASS(className))TraceSetSingle(trace) BS_SINGLE(TraceSet, (trace)->ti)TraceSetIsSingle(ts) BS_IS_SINGLE(ts)TraceSetIsMember(ts,trace) BS_IS_MEMBER(ts, (trace)->ti)TraceSetAdd(ts,trace) BS_ADD(TraceSet, ts, (trace)->ti)TraceSetDel(ts,trace) BS_DEL(TraceSet, ts, (trace)->ti)TraceSetUnion(ts1,ts2) BS_UNION(ts1, ts2)TraceSetInter(ts1,ts2) BS_INTER(ts1, ts2)TraceSetDiff(ts1,ts2) BS_DIFF(ts1, ts2)TraceSetSuper(ts1,ts2) BS_SUPER(ts1, ts2)TraceSetSub(ts1,ts2) BS_SUB(ts1, ts2)TraceSetComp(ts) BS_COMP(ts)TRACE_SET_ITER(ti,trace,ts,arena) for(ti = 0, trace = ArenaTrace(arena, ti); ti < TraceLIMIT; ++ti, trace = ArenaTrace(arena, ti)) BEGIN if (TraceSetIsMember(ts, trace)) {TRACE_SET_ITER_END(ti,trace,ts,arena) } ENDTRACE_SCAN_BEGIN(ss) BEGIN Shift SCANzoneShift = (ss)->zoneShift; ZoneSet SCANwhite = (ss)->white; RefSet SCANsummary = (ss)->unfixedSummary; Word SCANt; {TRACE_FIX1(ss,ref) (SCANt = (Word)1 << ((Word)(ref) >> SCANzoneShift & (MPS_WORD_WIDTH-1)), SCANsummary |= SCANt, SCANwhite & SCANt)TRACE_FIX2(ss,refIO) ((*(ss)->fix)(ss, refIO))TRACE_FIX(ss,refIO) (TRACE_FIX1(ss, *(refIO)) ? TRACE_FIX2(ss, refIO) : ResOK)TRACE_SCAN_END(ss) } (ss)->unfixedSummary = SCANsummary; ENDDEFINE_ARENA_CLASS(className,var) DEFINE_ALIAS_CLASS(className, ArenaClass, var)ARENA_SUPERCLASS(className) ((ArenaClass)SUPERCLASS(className))ArenaGlobals(arena) (&(arena)->globals)GlobalsArena(glob) PARENT(ArenaStruct, globals, glob)ArenaRootRing(arena) (&(arena)->rootRing)ArenaTraceRing(arena) (&(arena)->traceRing)ArenaThreadRing(arena) (&(arena)->threadRing)ArenaEpoch(arena) ((arena)->epoch)ArenaTrace(arena,ti) (&(arena)->trace[ti])ArenaZoneShift(arena) ((arena)->zoneShift)ArenaAlign(arena) ((arena)->alignment)ArenaGreyRing(arena,rank) (&(arena)->greyRing[rank])ArenaReservoir(arena) (&(arena)->reservoirStruct)DEFINE_SEG_CLASS(className,var) DEFINE_ALIAS_CLASS(className, SegClass, var)SEG_SUPERCLASS(className) ((SegClass)SUPERCLASS(className))ClassOfSeg(seg) ((seg)->class)SegBase(seg) (TractBase((seg)->firstTract))SegLimit(seg) ((seg)->limit)SegPool(seg) (TractPool((seg)->firstTract))SegRankSet(seg) ((RankSet)(seg)->rankSet)SegPM(seg) ((AccessSet)(seg)->pm)SegSM(seg) ((AccessSet)(seg)->sm)SegDepth(seg) ((unsigned)(seg)->depth)SegGrey(seg) ((TraceSet)(seg)->grey)SegWhite(seg) ((TraceSet)(seg)->white)SegNailed(seg) ((TraceSet)(seg)->nailed)SegOfPoolRing(node) (RING_ELT(Seg, poolRing, (node)))SegOfGreyRing(node) (&(RING_ELT(GCSeg, greyRing, (node)) ->segStruct))SegSummary(seg) (((GCSeg)(seg))->summary)SegSetPM(seg,mode) ((void)((seg)->pm = (mode)))SegSetSM(seg,mode) ((void)((seg)->sm = (mode)))SegSetDepth(seg,d) ((void)((seg)->depth = (d)))SegSetNailed(seg,ts) ((void)((seg)->nailed = (ts)))BUFFER_RESERVE(pReturn,buffer,size,withReservoirPermit) (AddrAdd(BufferAlloc(buffer), size) > BufferAlloc(buffer) && AddrAdd(BufferAlloc(buffer), size) <= BufferAP(buffer)->limit ? (*(pReturn) = BufferAlloc(buffer), BufferAP(buffer)->alloc = AddrAdd(BufferAlloc(buffer), size), ResOK) : BufferFill(pReturn, buffer, size, withReservoirPermit))BUFFER_COMMIT(buffer,p,size) (BufferAP(buffer)->init = BufferAlloc(buffer), BufferAP(buffer)->limit != 0 || BufferTrip(buffer, p, size))BufferAP(buffer) (&(buffer)->apStruct)BufferOfAP(ap) PARENT(BufferStruct, apStruct, ap)BufferArena(buffer) ((buffer)->arena)BufferPool(buffer) ((buffer)->pool)BufferBase(buffer) ((buffer)->base)BufferGetInit(buffer) (BufferAP(buffer)->init)BufferAlloc(buffer) (BufferAP(buffer)->alloc)BufferLimit(buffer) ((buffer)->poolLimit)DEFINE_BUFFER_CLASS(className,var) DEFINE_ALIAS_CLASS(className, BufferClass, var)BUFFER_SUPERCLASS(className) ((BufferClass)SUPERCLASS(className))RankSetIsMember(rs,r) BS_IS_MEMBER((rs), (r))RankSetSingle(r) BS_SINGLE(RankSet, (r))RankSetIsSingle(r) BS_IS_SINGLE(r)RankSetUnion(rs1,rs2) BS_UNION((rs1), (rs2))RankSetDel(rs,r) BS_DEL(RankSet, (rs), (r))AddrZone(arena,addr) (((Word)(addr) >> (arena)->zoneShift) & (MPS_WORD_WIDTH - 1))RefSetUnion(rs1,rs2) BS_UNION((rs1), (rs2))RefSetInter(rs1,rs2) BS_INTER((rs1), (rs2))RefSetDiff(rs1,rs2) BS_DIFF((rs1), (rs2))RefSetAdd(arena,rs,addr) BS_ADD(RefSet, rs, AddrZone(arena, addr))RefSetIsMember(arena,rs,addr) BS_IS_MEMBER(rs, AddrZone(arena, addr))RefSetSuper(rs1,rs2) BS_SUPER((rs1), (rs2))RefSetSub(rs1,rs2) BS_SUB((rs1), (rs2))ZoneSetUnion(zs1,zs2) BS_UNION(zs1, zs2)ZoneSetInter(zs1,zs2) BS_INTER(zs1, zs2)ZoneSetDiff(zs1,zs2) BS_DIFF(zs1, zs2)ZoneSetAdd(arena,zs,addr) BS_ADD(ZoneSet, zs, AddrZone(arena, addr))ZoneSetIsMember(arena,zs,addr) BS_IS_MEMBER(zs, AddrZone(arena, addr))ZoneSetSub(zs1,zs2) BS_SUB(zs1, zs2)ZoneSetSuper(zs1,zs2) BS_SUPER(zs1, zs2)ZoneSetComp(zs) BS_COMP(zs)STATISTIC(gather) BEGIN (gather); ENDSTATISTIC_STAT(gather) BEGIN gather; ENDSTATISTIC_WRITE(format,arg) (format), (arg),Pool2Reservoir(pool) PARENT(ReservoirStruct, poolStruct, pool)resTractNext(tract) ((Tract)TractP((tract)))resTractSetNext(tract,next) (TractSetP((tract), (void*)(next)))!reservoirArena(reservoir) ((reservoir)->poolStruct.arena)reserv.cJan 17 200703:39:22Reservoir$Id: //info.ravenbrook.com/project/mps/master/code/reserv.c#9 $ |  AB  AB GAB b.S.\ AB lNAB BT.AB OAB A$ AB Fy. Q. XAB Fx.lAB B|. hAB Fj.aAB F$pAB FR.q. AB AB DD. @AB D_. M.TAB DD.)L$ReservoirPoolClassGetc$EnsureReservoirPoolClass$ReservoirCheckg%ReservoirEnsureFullk&ReservoirWithdraw'ReservoirDepositg(ReservoirSetLimit(ReservoirLimit(ReservoirAvailable')ReservoirInito)ReservoirFinish)reservSrcIdpallocTablemutatorBufferCountPoolDescribeMethodreslimitcontrolPoolStructpageTableLimitGlobalsgreySegMaxchunkFinishnamepageSizeFormatPadMethodrankrootSerialchunkRingArenaAllocMethodreservoirSizeactiveTracesformatfoundationLockPoolBufferClassMethodTraceFixMethodsuperclassthreadRingunitsPerExtentPagefillMutatorSizepoolSerialBoolprehistoryArenaFreeMethodunitSizesetRankSetunsigned intGNU C 3.4.6 [FreeBSD] 20060305BufferRankSetMethodextendArenaChunkFinishMethodfillInternalSizeBufferReassignSegMethodreassignSegisCollectedpoolReadyscmidwhiteSegRefCountforwardedSizeforwardedCountArenaSpareCommitExceededMethodProtocolClassmergegreyRingfinishshort intAlignArenaDescribeMethodprotocoldescribefillSizeReservoirPoolClassStructsegScanCountPoolmodePoolDebugMixinStructrememberedSummaryRingprevfixRefCountserialEpochsetBufferapStructemptyMutatorSizeallocMutatorSizeReservoirCheckPoolFramePushMethodPoolFinishMethodbusyTraceswantReservoirWithdrawlwPopPendingchunkspansallocBasenextbsuspendednextppollThresholdArenaStructenabledMessageTypesmpsVersionStringSizefreeListframePopGlobalsStructreservoirStructChainStructbaseArenaClassAccessSetframeptrhistorySegSetRankSummaryMethodFileSrcIdStructlong long unsigned intfileoffsetbaseTractReturntraceshDepthReservoirAvailablehighattrgenCountSegClassStructtractrateFreeBlockStepMethodPoolClassStructglobalsprimaryArenaChunkInitMethodarenaBufferFinishMethodFormatVarietyPoolWalkMethodskipPoolFreeMethodmortalitywasMarkedproflowmessageRingsize_tmoveAPStructTractStructrampEndmayMoveBootBlockpoolLimitChunkclampedPoolReclaimMethodprotocolReservoirPoolClassStructunroundedUnitSizeReservoirEnsureFullshCachereclaimCountpageTablePagesfreebuffPoolFixMethodResPoolFinishSegPrefWordmps_lib_stream_sFormatStructpreservedInPlaceCountfreewalkframePushFormattedObjectsStepMethodSegClassgensCountPageStructisMovedsetRankSummarySegDescribeMethodbufferClassPoolDebugMixinSegSetSummaryMethodinsidePollreclaimAddrreservoirLimitcharreservoirclscannedSizereserveBufferStructFormatScanMethodchunkSerialSegFinishMethodMFSHeaderStructSerialReservoirDepositLockStructsplitFormatClassMethodArenaFormatMoveMethodspacefinalPoolBufferDescribeMethodBufferModelimitMFSStructArenaInitMethodlockrampCountPoolFixEmergencyMethodzoneShiftpagesisGennailedReservoirLimitPoolFreeWalkMethodchainva_listreserv.cChainlong long intMVStructtracedTimeEnsureReservoirPoolClassZoneSetTractBufferSegMethoddepthPoolRampEndMethodlocusRingfixEmergencyTracegreylastWorldCollectPoolDebugMixinMethodpageShiftChunkCacheEntryStructBufferClassStructArenaClassStructrememberedSummaryIndexgreySegCountisMutatorArenaFinishMethodfixedSummarycommittedframePopPendingreservoirIsConsistentscansingleCopiedSizeSegSetBufferMethodProtocolInstStructAddrStructrampBeginbufferPoolRampBeginMethodsizeSegStructGenDescStructProtocolInstReservoirSetLimitBufferSetRankSetMethodinitAtFlipPoolStructpoolRingFormatdetachspareCommitLimittopGenPoolWhitenMethodspanPoolStructPoolInitMethodprotocolGetReservoirPoolClassTraceIdpoolneededaccesschainRingPoolGreyMethodlastTractMutatorFaultContextvarietyemptyInternalSizeSrcIdarenaRingsegRefCountavgSizecopytractListBufferDetachMethodthisPoolScanMethodFormatCopyMethodlostcapacitywhitenScanStatecondemnedbufferRingChunkStructflippedTracesrootScanCountenabledrootScanSizepointlessScanCountallocRankshCacheLimitsegCopiedSizeBufferInitMethodlong intsetSummarynotCondemnedextendByTraceStateTraceSetstatepreservedInPlaceSizenextSegBufferMethodbuild_timeReservoirPoolClasswastagePoolClassProtocolCoerceInstMethodReservoirPoolClassGetemergencyPoolBlackenMethodwhitecountpoolStruct__size_trootRingSegInitMethodFormatSkipMethodsegScanSizeprotocolAbstractPoolClasscopiedSizeArenaExtendMethodScanStateStructSegSetWhiteMethodunfixedSummarypageTableBaselastTractBasethreadSeriallabelledsetGreytracedSize__va_listwalksetWhitePoolAllocMethodRingStructrankSetlong unsigned intPoolFramePopPendingMethodSrcIdStructBootBlockStructwriteBarrierHitCountMutatorFaultContextStructArenaReservedMethodinitAttrbaseReturnbufferLoggingProtocolClassStructclassbufferFillIndexspareCommitExceededFormatIsMovedMethodmaxSizeprotocolReservoirPoolClassGuardianchunkInitPoolAccessMethodsnapCounttypeattachnailCountunsigned char__uint32_tspareCommittedinsideShieldRingSegSplitMethodblockPoolStructRefSetAllocFrameStructPoolFramePopMethodtractStructBufferClassformatSerialAbstractPoolClassaddrsegRingResPoolInitAllocFramehasSegcoerceClassReservoirInitReservoirStructbuild_daterespoolsingleScanSizeBufferreadBarrierHitCountpageTablereservSrcIdheaderSizecoerceInstdebugMixinchunkCachesigned charSegMergeMethodSegPrefStructmps_lib_FILEPoolBufferFillMethodreclaimSizebufferSerialshort unsigned intzonesReservoirnodebReservoirFinishbufferEmptyProtocolCoerceClassMethodreservedRankSetisFinalPooldoublesingleScanCountfirstTractalignmentPoolBufferEmptyMethodBufferAttachMethodrestSegSetRankSetMethodShiftemptySizenodep/home/hannes/dylan/mps/codereservoirShrinkreservoirTraceStructglobalRingformatRingcommitLimitrootCopiedSizeSegSetGreyMethodshCacheIepochblackentracesGCC: (GNU) 3.4.6 [FreeBSD] 20060305.symtab.strtab.shstrtab.rel.text.rel.data.bss.debug_abbrev.rel.debug_info.rel.debug_line.debug_macinfo.rodata.str1.1.rodata.str1.4.rel.rodata.rel.debug_frame.rel.debug_pubnames.rel.debug_aranges.debug_str.comment4p )% / 4Fi)B VE1-R  br3vq2((2P@ $ Ĭ ٭  0QJ%o ;      & 4W xlNOXaG %\ >SZi }lhp  @ T0reserv.cFileSrcIdStructResPoolInitResPoolFinishprotocolReservoirPoolClassGuardianprotocolReservoirPoolClassStructprotocolGetReservoirPoolClassreservoirIsConsistentreservoirShrinkmutatorBufferCountreservSrcIdReservoirPoolClassGetLockClaimGlobalRecursiveLockReleaseGlobalRecursiveEnsureReservoirPoolClassAbstractPoolClassGetmemcpyReservoirCheckReservoirEnsureFullSegPrefDefaultReservoirWithdrawTractFinishTractInitReservoirDepositTractOfBaseAddrReservoirSetLimitReservoirLimitReservoirAvailableReservoirInitPoolInitReservoirFinishPoolFinish$*5@MUcu  c#>%K&(%&"";H-`/  !%*18?MX_fmt{(39Zev| #.9Tek-<KZiy,;Ziq%4CRap (6DR`n &4BP^lz"0>LZhv  % 4 C R a p            $ 3 B Q ` o ~          ' E T c r            & 6 K a o }          % ; I W e s          ,;K`%7I\qy!/=Zo +:IXgv +;K[k{ +;K[k{ +;K[k{%4CRap/5FLaiw*U,X .9[ LW?a![5k+V}3^   ) < J a l x         !!J!{!!!!!!!!!"""("6"D"R"`"n""""""""""##%#D#O#Z#f#r###### $$$$+$7$B$N$Y$]$e$p$t$$$$$$$$$$$$$$$%%%%(%5%B%O%Z%m%x%|%%%%%%%%%%%& &&&+&9&G&T&X&]&q&|&&&&&&&&&&&&& '''',':'I'X'f'u'''''''''''' ((($(2(@(N(R(W(m(u(y(((((((((((())))-)9)=)D)R)u)}))))) ))))))u    04HLhl $@Ddh protocol.o/ 1169001562 1001 1001 100644 36660 ` ELF 4(UÉUÉU Uu REPR ÍvUWVS } u9t9u[9uE8 [^_ÍvUWVS } u_9t9u[9uE8 [^_ÍvU=u1=u h.vÐUÍvUE`Q@@@ <C% $ > $ > : ; I I&I : ;  : ; I8 : ; I : ; I8 ' I I .? : ; ' I@ : ; I : ; I 4: ; I .: ; ' I@ 4: ; I .? : ; ' I@ .: ; ' @ 4: ; I?  ;1mwyint$-$Eo""$#P%#W&#'# o Sigai\ V\ sig}#~#b#8# Naag;a sig##m   V Vx     ' U Q& U V V,9Usub+R+ %-|C<}U@PAWBVpDS}EPJD^U[Pu\VW]Vp_S}`Ps U[s Ut;UsP  ssh /usr/include/usr/include/sys/usr/include/machinempm.hconfig.hmpstd.hmisc.hstddef.hcdefs.h_null.h_types.h_types.hcheck.hmpslib.hevent.heventcom.hmpmtypes.hstdarg.heventgen.hlock.hth.hring.hss.htract.hbt.hmpmst.hprotocol.hchain.hprotocol.c?= Ճ U, UaHsVV : USHsVVcBcdd:rr__STDC_HOSTED__ 1__GNUC__ 3__GNUC_MINOR__ 4__GNUC_PATCHLEVEL__ 6__SIZE_TYPE__ unsigned int__PTRDIFF_TYPE__ int__WCHAR_TYPE__ int__WINT_TYPE__ unsigned int __GXX_ABI_VERSION 1002 __SCHAR_MAX__ 127 __SHRT_MAX__ 32767 __INT_MAX__ 2147483647 __LONG_MAX__ 2147483647L__LONG_LONG_MAX__ 9223372036854775807LL__WCHAR_MAX__ 2147483647__CHAR_BIT__ 8__FLT_EVAL_METHOD__ 2__FLT_RADIX__ 2__FLT_MANT_DIG__ 24__FLT_DIG__ 6__FLT_MIN_EXP__ (-125)__FLT_MIN_10_EXP__ (-37)__FLT_MAX_EXP__ 128__FLT_MAX_10_EXP__ 38__FLT_MAX__ 3.40282347e+38F__FLT_MIN__ 1.17549435e-38F__FLT_EPSILON__ 1.19209290e-7F__FLT_DENORM_MIN__ 1.40129846e-45F__FLT_HAS_INFINITY__ 1__FLT_HAS_QUIET_NAN__ 1__DBL_MANT_DIG__ 53 __DBL_DIG__ 15!__DBL_MIN_EXP__ (-1021)"__DBL_MIN_10_EXP__ (-307)#__DBL_MAX_EXP__ 1024$__DBL_MAX_10_EXP__ 308%__DBL_MAX__ 1.7976931348623157e+308&__DBL_MIN__ 2.2250738585072014e-308'__DBL_EPSILON__ 2.2204460492503131e-16(__DBL_DENORM_MIN__ 4.9406564584124654e-324)__DBL_HAS_INFINITY__ 1*__DBL_HAS_QUIET_NAN__ 1+__LDBL_MANT_DIG__ 53,__LDBL_DIG__ 15-__LDBL_MIN_EXP__ (-16381).__LDBL_MIN_10_EXP__ (-4931)/__LDBL_MAX_EXP__ 163840__LDBL_MAX_10_EXP__ 49321__DECIMAL_DIG__ 172__LDBL_MAX__ 1.1897314953572316e+4932L3__LDBL_MIN__ 3.3621031431120935e-4932L4__LDBL_EPSILON__ 2.2204460492503131e-16L5__LDBL_DENORM_MIN__ 7.4653686412953080e-4948L6__LDBL_HAS_INFINITY__ 17__LDBL_HAS_QUIET_NAN__ 18__REGISTER_PREFIX__ 9__USER_LABEL_PREFIX__ :__VERSION__ "3.4.6 [FreeBSD] 20060305";__OPTIMIZE__ 1<__FINITE_MATH_ONLY__ 0=__STRICT_ANSI__ 1@__i386 1A__i386__ 1B__tune_i386__ 1C__FreeBSD__ 6D__unix 1E__unix__ 1F__KPRINTF_ATTRIBUTE__ 1J__FreeBSD_cc_version 602001K__ELF__ 1_REENTRANT 1CONFIG_PROD_DYLAN 1CONFIG_VAR_HI 1NDEBUG 1  mpm_h config_h !CONFIG_DEBUG "CHECK_DEFAULT CheckNONE6CHECK_NONE 7MPS_ASSERT_STRING "nonasserted"?EVENT_NONE @MPS_LOG_STRING "nonlogging"EDIAGNOSTICS FMPS_DEBUG_STRING "debug"LMPS_VARIETY_STRING MPS_ASSERT_STRING "." MPS_LOG_STRING "." MPS_DEBUG_STRINGRmpstd_h MPS_PF_FRI4GC MPS_PF_STRING "fri4gc"MPS_OS_FR MPS_ARCH_I4 MPS_BUILD_GC MPS_T_WORD unsigned longMPS_WORD_WIDTH 32MPS_WORD_SHIFT 5MPS_PF_ALIGN 4EPVMDefaultSubsequentSegSIZE (64ul * 1024)ARENA_CONTROL_EXTENDBY ((Size)4096)ARENA_CONTROL_AVGSIZE ((Size)32)ARENA_CONTROL_MAXSIZE ((Size)65536)ArenaPollALLOCTIME (65536.0)ARENA_ZONESHIFT ((Shift)20)ARENA_CLIENT_PAGE_SIZE ((Size)8192)ArenaDefaultZONESET (ZoneSetUNIV << (MPS_WORD_WIDTH / 2))SegPrefDEFAULT { SegPrefSig, TRUE, ArenaDefaultZONESET, FALSE, FALSE, (Serial)0, }LDHistoryLENGTH ((Size)4)StackProbeDEPTH ((Size)0)ShieldCacheSIZE ((size_t)16)ShieldDepthWIDTH (4)VMANPageALIGNMENT ((Align)4096)VMJunkBYTE ((unsigned char)0xA9)TraceLIMIT ((size_t)1)TraceCopyScanRATIO (1.5)RememberedSummaryBLOCK 15EventBufferSIZE ((size_t)4096)EventStringLengthMAX ((size_t)255)ASSERT_BUFFER_SIZE ((Size)512)MPS_PROD_STRING "dylan"MPS_PROD_DYLAN ARENA_INIT_SPARE_COMMIT_LIMIT ((Size)10uL*1024uL*1024uL)THREAD_MULTI PROTECTION DONGLE_NONE PROD_CHECK_DEFAULT CheckSHALLOWARENA_SIZE ((Size)1<<30)misc_h '_STDDEF_H_ )%_SYS_CDEFS_H_ +__BEGIN_DECLS ,__END_DECLS 8__GNUCLIKE_ASM 39__GNUCLIKE_MATH_BUILTIN_CONSTANTS =__GNUCLIKE___TYPEOF 1>__GNUCLIKE___OFFSETOF 1?__GNUCLIKE___SECTION 1A__GNUCLIKE_ATTRIBUTE_MODE_DI 1D__GNUCLIKE_CTOR_SECTION_HANDLING 1G__GNUCLIKE_BUILTIN_CONSTANT_P 1N__GNUCLIKE_BUILTIN_VARARGS 1O__GNUCLIKE_BUILTIN_STDARG 1P__GNUCLIKE_BUILTIN_VAALIST 1T__GNUC_VA_LIST_COMPATIBILITY 1X__GNUCLIKE_BUILTIN_NEXT_ARG 1Y__GNUCLIKE_MATH_BUILTIN_RELOPS \__GNUCLIKE_BUILTIN_MEMCPY 1___CC_SUPPORTS_INLINE 1`__CC_SUPPORTS___INLINE 1a__CC_SUPPORTS___INLINE__ 1c__CC_SUPPORTS___FUNC__ 1d__CC_SUPPORTS_WARNING 1f__CC_SUPPORTS_VARADIC_XXX 1h__CC_SUPPORTS_DYNAMIC_ARRAY_INIT 1k__CC_INT_IS_32BIT 1s__GNUC_PREREQ__(ma,mi) (__GNUC__ > (ma) || __GNUC__ == (ma) && __GNUC_MINOR__ >= (mi))__P(protos) protos__CONCAT1(x,y) x ## y__CONCAT(x,y) __CONCAT1(x,y)__STRING(x) #x__XSTRING(x) __STRING(x)__const const__signed signed__volatile volatile__dead2 __attribute__((__noreturn__))__pure2 __attribute__((__const__))__unused __attribute__((__unused__))__used __attribute__((__used__))__packed __attribute__((__packed__))__aligned(x) __attribute__((__aligned__(x)))__section(x) __attribute__((__section__(x)))__pure __attribute__((__pure__))__always_inline __attribute__((__always_inline__))__nonnull(x) __attribute__((__nonnull__(x)))__restrict __predict_true(exp) __builtin_expect((exp), 1)__predict_false(exp) __builtin_expect((exp), 0)__offsetof(type,field) ((size_t)(&((type *)0)->field))__rangeof(type,start,end) (__offsetof(type, end) - __offsetof(type, start))__printflike(fmtarg,firstvararg) __attribute__((__format__ (__printf__, fmtarg, firstvararg)))__scanflike(fmtarg,firstvararg) __attribute__((__format__ (__scanf__, fmtarg, firstvararg)))__format_arg(fmtarg) __attribute__((__format_arg__ (fmtarg)))__printf0like(fmtarg,firstvararg) __attribute__((__format__ (__printf0__, fmtarg, firstvararg)))__strong_reference(sym,aliassym) extern __typeof (sym) aliassym __attribute__ ((__alias__ (#sym)));__weak_reference(sym,alias) __asm__(".weak " #alias); __asm__(".equ " #alias ", " #sym)__warn_references(sym,msg) __asm__(".section .gnu.warning." #sym); __asm__(".asciz \"" msg "\""); __asm__(".previous")__IDSTRING(name,string) __asm__(".ident\t\"" string "\"")__FBSDID(s) __IDSTRING(__CONCAT(__rcsid_,__LINE__),s)__RCSID(s) __IDSTRING(__CONCAT(__rcsid_,__LINE__),s)__RCSID_SOURCE(s) __IDSTRING(__CONCAT(__rcsid_source_,__LINE__),s)__SCCSID(s) __IDSTRING(__CONCAT(__sccsid_,__LINE__),s)__COPYRIGHT(s) __IDSTRING(__CONCAT(__copyright_,__LINE__),s)__DECONST(type,var) ((type)(uintptr_t)(const void *)(var))__DEVOLATILE(type,var) ((type)(uintptr_t)(volatile void *)(var))__DEQUALIFY(type,var) ((type)(uintptr_t)(const volatile void *)(var))__POSIX_VISIBLE 200112__XSI_VISIBLE 600__BSD_VISIBLE 1__ISO_C_VISIBLE 1999* NULL ((void *)0)+_SYS__TYPES_H_ ! (_MACHINE__TYPES_H_ .__NO_STRICT_ALIGNMENT __GNUC_VA_LIST 2_RUNE_T_DECLARED 8_SIZE_T_DECLARED >_WCHAR_T_DECLARED Boffsetof(type,member) __offsetof(type, member)*SRCID(id,scmid) static SrcIdStruct FileSrcIdStruct = {__FILE__, (scmid), __DATE__, __TIME__}; SrcId id ## SrcId = &FileSrcIdStruct;BEGIN do {> (i)) & 1)BS_UNION(s1,s2) ((s1) | (s2))BS_ADD(ty,s,i) BS_UNION((s), BS_SINGLE(ty, (i)))BS_INTER(s1,s2) ((s1) & (s2))BS_DIFF(s1,s2) BS_INTER((s1), BS_COMP(s2))BS_DEL(ty,s,i) BS_DIFF((s), BS_SINGLE(ty, (i)))BS_SUPER(s1,s2) (BS_INTER((s1), (s2)) == (s2))BS_SUB(s1,s2) BS_SUPER((s2), (s1))BS_IS_SINGLE(s) (((s) & ((s)-1)) == 0)BS_SYM_DIFF(s1,s2) ((s1) ^ (s2)) check_h  mpslib_h mps_lib_EOF (mps_lib_get_EOF())mps_lib_stderr (mps_lib_get_stderr())mps_lib_stdout (mps_lib_get_stdout())0AVER(cond) DISCARD(cond)1AVERT(type,val) DISCARD(type ## Check(val))2AVER_CRITICAL(cond) DISCARD(cond)3AVERT_CRITICAL(type,val) DISCARD(type ## Check(val))MASSERT(cond,condstring) BEGIN if (cond) NOOP; else mps_lib_assert_fail(condstring "\n" __FILE__ "\n" STR(__LINE__)); END_NOTREACHED NOOPjCHECKT(type,val) ((val) != NULL && (val)->sig == type ## Sig)pCHECKS(type,val) DISCARD(CHECKT(type, val))qCHECKL(cond) DISCARD(cond)rCHECKD(type,val) DISCARD(CHECKT(type, val))sCHECKD_NOSIG(type,val) DISCARD((val) != NULL)tCHECKU(type,val) DISCARD(CHECKT(type, val))uCHECKU_NOSIG(type,val) DISCARD((val) != NULL)CHECKLVALUE(lv1,lv2) ((void)sizeof((lv1) = (lv2)), (void)sizeof((lv2) = (lv1)), TRUE)CHECKTYPE(t1,t2) (sizeof(t1) == sizeof(t2) && CHECKLVALUE(*((t1 *)0), *((t2 *)0)))CHECKFIELDAPPROX(s1,f1,s2,f2) (sizeof(((s1 *)0)->f1) == sizeof(((s2 *)0)->f2) && offsetof(s1, f1) == offsetof(s2, f2))CHECKFIELD(s1,f1,s2,f2) (CHECKFIELDAPPROX(s1, f1, s2, f2) && CHECKLVALUE(((s1 *)0)->f1, ((s2 *)0)->f2)) event_h   eventcom_h  mpmtypes_h '_MACHINE_STDARG_H_ -_VA_LIST_DECLARED 3va_start(ap,last) __builtin_stdarg_start((ap), (last))6va_arg(ap,type) __builtin_va_arg((ap), type):va_copy(dest,src) __builtin_va_copy((dest), (src))>va_end(ap) __builtin_va_end(ap)SigInvalid ((Sig)0x51915BAD)SizeMAX ((Size)-1)AccessSetEMPTY ((AccessSet)0)AccessREAD ((AccessSet)(1<<0))AccessWRITE ((AccessSet)(1<<1))AccessSetWIDTH (2)RefSetEMPTY BS_EMPTY(RefSet)RefSetUNIV BS_UNIV(RefSet)ZoneSetEMPTY BS_EMPTY(ZoneSet)ZoneSetUNIV BS_UNIV(ZoneSet)TraceSetEMPTY BS_EMPTY(TraceSet)TraceSetUNIV ((TraceSet)((1u << TraceLIMIT) - 1))RankSetEMPTY BS_EMPTY(RankSet)RankSetUNIV ((RankSet)((1u << RankLIMIT) - 1))AttrFMT ((Attr)(1<<0))AttrSCAN ((Attr)(1<<1))AttrPM_NO_READ ((Attr)(1<<2))AttrPM_NO_WRITE ((Attr)(1<<3))AttrALLOC ((Attr)(1<<4))AttrFREE ((Attr)(1<<5))AttrBUF ((Attr)(1<<6))AttrBUF_RESERVE ((Attr)(1<<7))AttrBUF_ALLOC ((Attr)(1<<8))AttrGC ((Attr)(1<<9))AttrINCR_RB ((Attr)(1<<10))AttrINCR_WB ((Attr)(1<<11))AttrMOVINGGC ((Attr)(1<<12))AttrMASK (AttrFMT | AttrSCAN | AttrPM_NO_READ | AttrPM_NO_WRITE | AttrALLOC | AttrFREE | AttrBUF | AttrBUF_RESERVE | AttrBUF_ALLOC | AttrGC | AttrINCR_RB | AttrINCR_WB | AttrMOVINGGC)BufferModeATTACHED ((BufferMode)(1<<0))BufferModeFLIPPED ((BufferMode)(1<<1))BufferModeLOGGED ((BufferMode)(1<<2))BufferModeTRANSITION ((BufferMode)(1<<3))RootModeCONSTANT ((RootMode)1<<0)RootModePROTECTABLE ((RootMode)1<<1)RootModePROTECTABLE_INNER ((RootMode)1<<2)STATISTIC_DECL(field) field!EventNameMAX ((size_t)19)"EventCodeMAX ((EventCode)0x0069)&EVENT_0(type) NOOPEVENT_A(type,p0) NOOPEVENT_AW(type,p0,p1) NOOPEVENT_P(type,p0) NOOPEVENT_PAA(type,p0,p1,p2) NOOPEVENT_PAW(type,p0,p1,p2) NOOPEVENT_PAWA(type,p0,p1,p2,p3) NOOPEVENT_PDDWWW(type,p0,p1,p2,p3,p4,p5) NOOPEVENT_PP(type,p0,p1) NOOPEVENT_PPAU(type,p0,p1,p2,p3) NOOPEVENT_PPAWP(type,p0,p1,p2,p3,p4) NOOPEVENT_PPP(type,p0,p1,p2) NOOPEVENT_PPPA(type,p0,p1,p2,p3) NOOPEVENT_PPPU(type,p0,p1,p2,p3) NOOPEVENT_PPPUU(type,p0,p1,p2,p3,p4) NOOPEVENT_PPU(type,p0,p1,p2) NOOPEVENT_PPUU(type,p0,p1,p2,p3) NOOPEVENT_PPUWWW(type,p0,p1,p2,p3,p4,p5) NOOPEVENT_PPWW(type,p0,p1,p2,p3) NOOPEVENT_PPWWW(type,p0,p1,p2,p3,p4) NOOPEVENT_PPWWWUUU(type,p0,p1,p2,p3,p4,p5,p6,p7) NOOPEVENT_PU(type,p0,p1) NOOPEVENT_PW(type,p0,p1) NOOPEVENT_PWA(type,p0,p1,p2) NOOPEVENT_PWAW(type,p0,p1,p2,p3) NOOPEVENT_PWP(type,p0,p1,p2) NOOPEVENT_PWU(type,p0,p1,p2) NOOPEVENT_PWW(type,p0,p1,p2) NOOPEVENT_PWWWWDD(type,p0,p1,p2,p3,p4,p5,p6) NOOPEVENT_PWWWWW(type,p0,p1,p2,p3,p4,p5) NOOPEVENT_PWWWWWWWWW(type,p0,p1,p2,p3,p4,p5,p6,p7,p8,p9) NOOPEVENT_PWWWWWWWWWWWW(type,p0,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11,p12) NOOPEVENT_UUPA(type,p0,p1,p2,p3) NOOPEVENT_UUPP(type,p0,p1,p2,p3) NOOPEVENT_UUPPP(type,p0,p1,p2,p3,p4) NOOPEVENT_WS(type,p0,p1,l1) NOOP:EventEventTime ((EventType)0xEF213E99);EventPoolInit ((EventType)0xEFB07141)EventPoolFree ((EventType)0xEFB07F6E)?EventArenaCreateVM ((EventType)0xEFA64CF3)@EventArenaCreateVMNZ ((EventType)0xEFA64CF2)AEventArenaCreateCL ((EventType)0xEFA64CC7)BEventArenaDestroy ((EventType)0xEFA64DE5)CEventArenaAlloc ((EventType)0xEFA64A77)DEventArenaFree ((EventType)0xEFA64F6E)EEventSegAlloc ((EventType)0xEF5E9A77)FEventSegFree ((EventType)0xEF5E9F6E)GEventSegMerge ((EventType)0xEF5E93E6)HEventSegSplit ((EventType)0xEF5E95B7)IEventAMCGenCreate ((EventType)0xEFA3C94C)JEventAMCGenDestroy ((EventType)0xEFA3C94D)KEventAMCInit ((EventType)0xEFA3C141)LEventAMCFinish ((EventType)0xEFA3CF14)MEventAMCTraceBegin ((EventType)0xEFA3C26B)NEventAMCScanBegin ((EventType)0xEFA3C5CB)OEventAMCScanEnd ((EventType)0xEFA3C5CE)PEventAMCFix ((EventType)0xEFA3CF18)QEventAMCFixInPlace ((EventType)0xEFA3CF8A)REventAMCFixForward ((EventType)0xEFA3CF8F)SEventAMCReclaim ((EventType)0xEFA3C6EC)TEventTraceStart ((EventType)0xEF26AC52)UEventTraceCreate ((EventType)0xEF26ACC6)VEventTraceDestroy ((EventType)0xEF26ACDE)WEventSegSetGrey ((EventType)0xEF59596A)XEventTraceFlipBegin ((EventType)0xEF26AF7B)YEventTraceFlipEnd ((EventType)0xEF26AF7E)ZEventTraceReclaim ((EventType)0xEF26A6EC)[EventTraceScanSeg ((EventType)0xEF26A559)\EventTraceScanSingleRef ((EventType)0xEF26A556)^EventTraceAccess ((EventType)0xEF26AACC)_EventTracePoll ((EventType)0xEF26AB01)`EventTraceStep ((EventType)0xEF26A52B)aEventTraceFix ((EventType)0xEF26AF18)bEventTraceFixSeg ((EventType)0xEF26AF85)cEventTraceFixWhite ((EventType)0xEF26AF83)dEventTraceScanArea ((EventType)0xEF26A5CA)eEventTraceScanAreaTagged ((EventType)0xEF26A5C2)fEventVMCreate ((EventType)0xEFF3C6EA)gEventVMDestroy ((EventType)0xEFF3DE52)hEventVMMap ((EventType)0xEFF33AB9)iEventVMUnmap ((EventType)0xEFF3043B)jEventIntern ((EventType)0xEF142E64)kEventArenaExtend ((EventType)0xEFA64E82)lEventArenaRetract ((EventType)0xEFA646E2)mEventRootScan ((EventType)0xEF625CA4)nEventLabel ((EventType)0xEF7ABE79)oEventTraceSegGreyen ((EventType)0xEF26A599)pEventBufferReserve ((EventType)0xEFB0FF6E)qEventBufferCommit ((EventType)0xEFB0FFC0)rEventBufferInit ((EventType)0xEFB0FF14)sEventBufferInitSeg ((EventType)0xEFB0F15E)tEventBufferInitRank ((EventType)0xEFB0F16A)uEventBufferInitEPVM ((EventType)0xEFB0F1EF)vEventBufferFinish ((EventType)0xEFB0FFF1)wEventBufferFill ((EventType)0xEFB0FFF7)xEventBufferEmpty ((EventType)0xEFB0FFE3)yEventArenaAllocFail ((EventType)0xEFA64A7F)zEventSegAllocFail ((EventType)0xEF5E9A7F){EventMeterInit ((EventType)0xEF3E2141)|EventMeterValues ((EventType)0xEF3E2FA7)}EventCBSInit ((EventType)0xEFCB5141)~EventTraceStatCondemn ((EventType)0xEF26A5C0)EventTraceStatScan ((EventType)0xEF26A55C)EventTraceStatFix ((EventType)0xEF26A5F8)EventTraceStatReclaim ((EventType)0xEF26A56E)EventArenaWriteFaults ((EventType)0xEFA6436F)EventPoolInitMV ((EventType)0xEFB0713F)EventPoolInitMVFF ((EventType)0xEFB071FF)EventPoolInitMFS ((EventType)0xEFB07135)EventPoolInitEPVM ((EventType)0xEFB071EF)EventPoolInitEPDL ((EventType)0xEFB071E7)EventPoolInitAMS ((EventType)0xEFB071A5)EventPoolInitAMC ((EventType)0xEFB071AC)EventPoolInitAMCZ ((EventType)0xEFB071A2)EventPoolInitAWL ((EventType)0xEFB071A3)EventPoolInitLO ((EventType)0xEFB07170)EventPoolInitSNC ((EventType)0xEFB07154)EventPoolInitMVT ((EventType)0xEFB07132)EventPoolPush ((EventType)0xEFB07B58)EventPoolPop ((EventType)0xEFB07B0B)EventReservoirLimitSet ((EventType)0xEF6E5713)EventCommitLimitSet ((EventType)0xEFC03713)EventSpareCommitLimitSet ((EventType)0xEF5BC713)hEventInit() NOOPiEventFinish() NOOPjEventControl(r,f) (UNUSED(r), UNUSED(f), (Word)0)kEventInternString(s) (UNUSED(s), (Word)0)lEventInternGenString(l,s) (UNUSED(l), UNUSED(s), (Word)0)mEventLabelAddr(a,i) BEGIN UNUSED(a); UNUSED(i); ENDPlock_h ULockSig ((Sig)0x51970CC9) th_h  ring_h RingNONE ((Ring)0)$RingInit(ring) BEGIN Ring _ring = (ring); AVER(_ring != NULL); _ring->next = _ring; _ring->prev = _ring; AVER(RingCheck(_ring)); END/RingFinish(ring) BEGIN Ring _ring = (ring); AVER(RingCheckSingle(_ring)); _ring->next = RingNONE; _ring->prev = RingNONE; END9RingAppend(ring,new) BEGIN Ring _ring = (ring), _new = (new); AVER(RingCheck(_ring)); AVER(RingCheckSingle(_new)); _new->prev = _ring->prev; _new->next = _ring; _ring->prev->next = _new; _ring->prev = _new; ENDFRingInsert(ring,new) BEGIN Ring _ring = (ring), _new = (new); AVER(RingCheck(_ring)); AVER(RingCheckSingle(_new)); _new->prev = _ring; _new->next = _ring->next; _ring->next->prev = _new; _ring->next = _new; ENDSRingRemove(old) BEGIN Ring _old = (old); AVER(RingCheck(_old)); AVER(!RingIsSingle(_old)); _old->next->prev = _old->prev; _old->prev->next = _old->next; _old->next = _old; _old->prev = _old; END`RingNext(ring) ((ring)->next)dRingPrev(ring) ((ring)->prev)gRING_ELT(type,field,node) ((type)(void *)((char *)(node) - (size_t)(&((type)0)->field)))kRING_FOR(node,ring,next) for(node = RingNext(ring), next = RingNext(node); node != (ring); node = (next), next = RingNext(node))ThreadSig ((Sig)0x519286ED) ss_h  tract_h   bt_h BTSize(n) (((n) + MPS_WORD_WIDTH-1) / MPS_WORD_WIDTH * sizeof(Word))BTGet(a,i) ((Bool)(((a)[((i) >> MPS_WORD_SHIFT)] >> ((i) & ~((Word)-1 << MPS_WORD_SHIFT))) & (Word)1))BTSet(a,i) BEGIN (a)[((i)>>MPS_WORD_SHIFT)] |= (Word)1<<((i)&~((Word)-1<>MPS_WORD_SHIFT)] &= ~((Word)1 << ((i) & ~((Word)-1<base)&TractPool(tract) ((tract)->pool)'TractP(tract) ((tract)->p)(TractSetP(tract,pp) ((void)((tract)->p = (pp))))TractHasSeg(tract) ((Bool)(tract)->hasSeg)*TractSetHasSeg(tract,b) ((void)((tract)->hasSeg = (b)))+TractWhite(tract) ((tract)->white),TractSetWhite(tract,w) ((void)((tract)->white = (w)))8TRACT_SEG(segReturn,tract) (TractHasSeg(tract) && ((*(segReturn) = (Seg)TractP(tract)), TRUE));TRACT_SET_SEG(tract,seg) (TractSetHasSeg(tract, TRUE), TractSetP(tract, seg))>TRACT_UNSET_SEG(tract) (TractSetHasSeg(tract, FALSE), TractSetP(tract, NULL))nPageTract(page) (&(page)->the.tractStruct)rPageOfTract(tract) PARENT(PageStruct, the.tractStruct, (tract))vPagePool(page) ((page)->the.rest.pool)}PageIsAllocated(page) ((page)->the.rest.pool != NULL)PageType(page) ((page)->the.rest.type)ChunkSig ((Sig)0x519C804C)ChunkArena(chunk) ((chunk)->arena)ChunkPageSize(chunk) ((chunk)->pageSize)ChunkPageShift(chunk) ((chunk)->pageShift)ChunkPagesToSize(chunk,pages) ((Size)(pages) << (chunk)->pageShift)ChunkSizeToPages(chunk,size) ((Count)((size) >> (chunk)->pageShift))CHUNK_OF_ADDR(chunkReturn,arena,addr) (((arena)->chunkCache.base <= (addr) && (addr) < (arena)->chunkCache.limit) ? (*(chunkReturn) = (arena)->chunkCache.chunk, TRUE) : ChunkOfAddr(chunkReturn, arena, addr))AddrPageBase(chunk,addr) AddrAlignDown((addr), ChunkPageSize(chunk))TRACT_OF_ADDR(tractReturn,arena,addr) BEGIN Arena _arena = (arena); Addr _addr = (addr); Chunk _chunk; Index _i; if (CHUNK_OF_ADDR(&_chunk, _arena, _addr)) { _i = INDEX_OF_ADDR(_chunk, _addr); if (BTGet(_chunk->allocTable, _i)) *(tractReturn) = PageTract(&_chunk->pageTable[_i]); else *(tractReturn) = NULL; } else *(tractReturn) = NULL; ENDINDEX_OF_ADDR(chunk,addr) ((Index)ChunkSizeToPages(chunk, AddrOffset((chunk)->base, addr)))PageIndexBase(chunk,i) AddrAdd((chunk)->base, ChunkPagesToSize(chunk, i))TractAverContiguousRange(arena,rangeBase,rangeLimit) BEGIN Chunk _ch = NULL; UNUSED(_ch); AVER(ChunkOfAddr(&_ch, arena, rangeBase) && (rangeLimit) <= _ch->limit); ENDTRACT_TRACT_FOR(tract,addr,arena,firstTract,limit) tract = (firstTract); addr = TractBase(tract); TractAverContiguousRange(arena, addr, limit); for(; tract != NULL; (addr = AddrAdd(addr, (arena)->alignment)), (addr < (limit) ? (tract = PageTract(PageOfTract(tract) + 1)) : (tract = NULL) ))TRACT_FOR(tract,addr,arena,base,limit) TRACT_TRACT_FOR(tract, addr, arena, TractOfBaseAddr(arena, base), limit)mpmst_h protocol_h DERIVE_LOCAL(name) protocol ## nameDERIVE_STRUCT(name) name ## StructDERIVE_ENSURE(name) name ## GetDERIVE_ENSURE_OLD(name) Ensure ## nameDERIVE_ENSURE_INTERNAL(name) protocolGet ## nameDERIVE_GUARDIAN(name) protocol ## name ## GuardianDERIVE_STATIC_STORAGE(name) protocol ## name ## StructProtocolClassSetSuperclassPoly(class,super) (((ProtocolClass)(class))->superclass) = (ProtocolClass)(super)$DEFINE_CLASS(className,var) static Bool DERIVE_GUARDIAN(className) = FALSE; static DERIVE_STRUCT(className) DERIVE_STATIC_STORAGE(className); static void DERIVE_ENSURE_INTERNAL(className)(className); extern className DERIVE_ENSURE(className)(void); className DERIVE_ENSURE(className)(void) { if (DERIVE_GUARDIAN(className) == FALSE) { LockClaimGlobalRecursive(); if (DERIVE_GUARDIAN(className) == FALSE) { DERIVE_ENSURE_INTERNAL(className) (&DERIVE_STATIC_STORAGE(className)); DERIVE_GUARDIAN(className) = TRUE; } LockReleaseGlobalRecursive(); } return &DERIVE_STATIC_STORAGE(className); } extern className DERIVE_ENSURE_OLD(className)(void); className DERIVE_ENSURE_OLD(className)(void) { return DERIVE_ENSURE(className)(); } static void DERIVE_ENSURE_INTERNAL(className) (className var)AINHERIT_CLASS(this,parentName) BEGIN parentName DERIVE_LOCAL(parentName) = DERIVE_ENSURE(parentName)(); *this = *(DERIVE_LOCAL(parentName)); ProtocolClassSetSuperclassPoly(this, DERIVE_LOCAL(parentName)); ENDODEFINE_ALIAS_CLASS(className,typeName,var) typedef typeName className; typedef DERIVE_STRUCT(typeName) DERIVE_STRUCT(className); DEFINE_CLASS(className, var)VProtocolClassSig ((Sig)0x519B60C7)WProtocolInstSig ((Sig)0x519B6014)ProtocolClassSuperclassPoly(class) (((ProtocolClass)(class))->superclass)ClassOfPoly(inst) ((ProtocolInst)(inst)->class)IsSubclassPoly(sub,super) ProtocolIsSubclass((ProtocolClass)(sub), (ProtocolClass)(super))SUPERCLASS(className) ProtocolClassSuperclassPoly(DERIVE_ENSURE(className)())chain_h GenDescSig ((Sig)0x5199E4DE)+PoolGenSig ((Sig)0x519B009E);ChainSig ((Sig)0x519C8A14)XPoolGenNr(gen) ((gen)->nr)/PoolClassSig ((Sig)0x519C7A55)]PoolSig ((Sig)0x519B0019)}MFSSig ((Sig)0x5193F599)MVSig ((Sig)0x5193B999)ReservoirSig ((Sig)0x5196e599)MessageClassSig ((Sig)0x519359c1)MessageSig ((Sig)0x5193e559)SegClassSig ((Sig)0x5195E9C7)SegSig ((Sig)0x5195E999)GCSegSig ((Sig)0x5199C5E9)SegPrefSig ((Sig)0x5195E9B6)BufferClassSig ((Sig)0x519B0FC7)BufferSig ((Sig)0x519B0FFE)SegBufSig ((Sig)0x51959B0F)FormatSig ((Sig)0x519F63A2)ScanStateSig ((Sig)0x5195CA45)TraceSig ((Sig)0x51924ACE)ChunkCacheEntrySig ((Sig)0x519C80CE)ArenaClassSig ((Sig)0x519A6C1A)GlobalsSig ((Sig)0x519970BA)ArenaSig ((Sig)0x519A6E4A)%BoolCheck(b) ((unsigned)(b) <= 1)(FUNCHECK(f) (FunCheck((Fun)f))4WordIsAligned(w,a) (((w) & ((a) - 1)) == 0)7WordAlignUp(w,a) (((w) + (a) - 1) & ~((Word)(a) - 1));WordRoundUp(w,r) (((w)+(r)-1) - ((w)+(r)-1)%(r))>WordAlignDown(w,a) ((w) & ~((Word)(a) - 1))@size_tAlignUp(s,a) ((size_t)WordAlignUp((Word)(s), a))BPointerAdd(p,s) ((void *)((char *)(p) + (s)))CPointerSub(p,s) ((void *)((char *)(p) - (s)))EPointerOffset(base,limit) ((size_t)((char *)(limit) - (char *)(base)))HPointerAlignUp(p,s) ((void *)WordAlignUp((Word)(p), (Align)(s)))KAddrAdd(p,s) ((Addr)PointerAdd((void *)(p), s))LAddrSub(p,s) ((Addr)PointerSub((void *)(p), s))NAddrOffset(b,l) ((Size)(PointerOffset((void *)(b), (void *)(l))))RAddrAlignDown(p,a) ((Addr)WordAlignDown((Word)(p), a))TAlignWord(s) ((Word)(s))VAddrIsAligned(p,a) WordIsAligned((Word)(p), a)WAddrAlignUp(p,a) ((Addr)WordAlignUp((Word)(p), a))YSizeIsAligned(s,a) WordIsAligned((Word)(s), a)ZSizeAlignUp(s,a) ((Size)WordAlignUp((Word)(s), a))[SizeAlignDown(s,a) ((Size)WordAlignDown((Word)(s), a))]SizeRoundUp(s,r) ((Size)WordRoundUp((Word)(s), (Size)(r)))_IndexIsAligned(s,a) WordIsAligned((Word)(s), a)`IndexAlignUp(s,a) ((Index)WordAlignUp((Word)(s), a))aIndexAlignDown(s,a) ((Index)WordAlignDown((Word)(s), a))cAlignIsAligned(a1,a2) WordIsAligned((Word)(a1), a2)iAddrSet(target,value,size) mps_lib_memset(target, (int)(value), size)mAddrCopy(target,source,size) mps_lib_memcpy(target, source, size)qAddrComp(a,b,size) mps_lib_memcmp(a, b, size)wADDR_PTR(type,addr) ((type *)(addr))PoolArena(pool) ((pool)->arena)PoolAlignment(pool) ((pool)->alignment)PoolSegRing(pool) (&(pool)->segRing)PoolFix(pool,ss,seg,refIO) ((*(pool)->fix)(pool, ss, seg, refIO))ClassOfPool(pool) ((pool)->class)SuperclassOfPool(pool) ((PoolClass)ProtocolClassSuperclassPoly((pool)->class))DEFINE_POOL_CLASS(className,var) DEFINE_ALIAS_CLASS(className, PoolClass, var)POOL_SUPERCLASS(className) ((PoolClass)SUPERCLASS(className))TraceSetSingle(trace) BS_SINGLE(TraceSet, (trace)->ti)TraceSetIsSingle(ts) BS_IS_SINGLE(ts)TraceSetIsMember(ts,trace) BS_IS_MEMBER(ts, (trace)->ti)TraceSetAdd(ts,trace) BS_ADD(TraceSet, ts, (trace)->ti)TraceSetDel(ts,trace) BS_DEL(TraceSet, ts, (trace)->ti)TraceSetUnion(ts1,ts2) BS_UNION(ts1, ts2)TraceSetInter(ts1,ts2) BS_INTER(ts1, ts2)TraceSetDiff(ts1,ts2) BS_DIFF(ts1, ts2)TraceSetSuper(ts1,ts2) BS_SUPER(ts1, ts2)TraceSetSub(ts1,ts2) BS_SUB(ts1, ts2)TraceSetComp(ts) BS_COMP(ts)TRACE_SET_ITER(ti,trace,ts,arena) for(ti = 0, trace = ArenaTrace(arena, ti); ti < TraceLIMIT; ++ti, trace = ArenaTrace(arena, ti)) BEGIN if (TraceSetIsMember(ts, trace)) {TRACE_SET_ITER_END(ti,trace,ts,arena) } ENDTRACE_SCAN_BEGIN(ss) BEGIN Shift SCANzoneShift = (ss)->zoneShift; ZoneSet SCANwhite = (ss)->white; RefSet SCANsummary = (ss)->unfixedSummary; Word SCANt; {TRACE_FIX1(ss,ref) (SCANt = (Word)1 << ((Word)(ref) >> SCANzoneShift & (MPS_WORD_WIDTH-1)), SCANsummary |= SCANt, SCANwhite & SCANt)TRACE_FIX2(ss,refIO) ((*(ss)->fix)(ss, refIO))TRACE_FIX(ss,refIO) (TRACE_FIX1(ss, *(refIO)) ? TRACE_FIX2(ss, refIO) : ResOK)TRACE_SCAN_END(ss) } (ss)->unfixedSummary = SCANsummary; ENDDEFINE_ARENA_CLASS(className,var) DEFINE_ALIAS_CLASS(className, ArenaClass, var)ARENA_SUPERCLASS(className) ((ArenaClass)SUPERCLASS(className))ArenaGlobals(arena) (&(arena)->globals)GlobalsArena(glob) PARENT(ArenaStruct, globals, glob)ArenaRootRing(arena) (&(arena)->rootRing)ArenaTraceRing(arena) (&(arena)->traceRing)ArenaThreadRing(arena) (&(arena)->threadRing)ArenaEpoch(arena) ((arena)->epoch)ArenaTrace(arena,ti) (&(arena)->trace[ti])ArenaZoneShift(arena) ((arena)->zoneShift)ArenaAlign(arena) ((arena)->alignment)ArenaGreyRing(arena,rank) (&(arena)->greyRing[rank])ArenaReservoir(arena) (&(arena)->reservoirStruct)DEFINE_SEG_CLASS(className,var) DEFINE_ALIAS_CLASS(className, SegClass, var)SEG_SUPERCLASS(className) ((SegClass)SUPERCLASS(className))ClassOfSeg(seg) ((seg)->class)SegBase(seg) (TractBase((seg)->firstTract))SegLimit(seg) ((seg)->limit)SegPool(seg) (TractPool((seg)->firstTract))SegRankSet(seg) ((RankSet)(seg)->rankSet)SegPM(seg) ((AccessSet)(seg)->pm)SegSM(seg) ((AccessSet)(seg)->sm)SegDepth(seg) ((unsigned)(seg)->depth)SegGrey(seg) ((TraceSet)(seg)->grey)SegWhite(seg) ((TraceSet)(seg)->white)SegNailed(seg) ((TraceSet)(seg)->nailed)SegOfPoolRing(node) (RING_ELT(Seg, poolRing, (node)))SegOfGreyRing(node) (&(RING_ELT(GCSeg, greyRing, (node)) ->segStruct))SegSummary(seg) (((GCSeg)(seg))->summary)SegSetPM(seg,mode) ((void)((seg)->pm = (mode)))SegSetSM(seg,mode) ((void)((seg)->sm = (mode)))SegSetDepth(seg,d) ((void)((seg)->depth = (d)))SegSetNailed(seg,ts) ((void)((seg)->nailed = (ts)))BUFFER_RESERVE(pReturn,buffer,size,withReservoirPermit) (AddrAdd(BufferAlloc(buffer), size) > BufferAlloc(buffer) && AddrAdd(BufferAlloc(buffer), size) <= BufferAP(buffer)->limit ? (*(pReturn) = BufferAlloc(buffer), BufferAP(buffer)->alloc = AddrAdd(BufferAlloc(buffer), size), ResOK) : BufferFill(pReturn, buffer, size, withReservoirPermit))BUFFER_COMMIT(buffer,p,size) (BufferAP(buffer)->init = BufferAlloc(buffer), BufferAP(buffer)->limit != 0 || BufferTrip(buffer, p, size))BufferAP(buffer) (&(buffer)->apStruct)BufferOfAP(ap) PARENT(BufferStruct, apStruct, ap)BufferArena(buffer) ((buffer)->arena)BufferPool(buffer) ((buffer)->pool)BufferBase(buffer) ((buffer)->base)BufferGetInit(buffer) (BufferAP(buffer)->init)BufferAlloc(buffer) (BufferAP(buffer)->alloc)BufferLimit(buffer) ((buffer)->poolLimit)DEFINE_BUFFER_CLASS(className,var) DEFINE_ALIAS_CLASS(className, BufferClass, var)BUFFER_SUPERCLASS(className) ((BufferClass)SUPERCLASS(className))RankSetIsMember(rs,r) BS_IS_MEMBER((rs), (r))RankSetSingle(r) BS_SINGLE(RankSet, (r))RankSetIsSingle(r) BS_IS_SINGLE(r)RankSetUnion(rs1,rs2) BS_UNION((rs1), (rs2))RankSetDel(rs,r) BS_DEL(RankSet, (rs), (r))AddrZone(arena,addr) (((Word)(addr) >> (arena)->zoneShift) & (MPS_WORD_WIDTH - 1))RefSetUnion(rs1,rs2) BS_UNION((rs1), (rs2))RefSetInter(rs1,rs2) BS_INTER((rs1), (rs2))RefSetDiff(rs1,rs2) BS_DIFF((rs1), (rs2))RefSetAdd(arena,rs,addr) BS_ADD(RefSet, rs, AddrZone(arena, addr))RefSetIsMember(arena,rs,addr) BS_IS_MEMBER(rs, AddrZone(arena, addr))RefSetSuper(rs1,rs2) BS_SUPER((rs1), (rs2))RefSetSub(rs1,rs2) BS_SUB((rs1), (rs2))ZoneSetUnion(zs1,zs2) BS_UNION(zs1, zs2)ZoneSetInter(zs1,zs2) BS_INTER(zs1, zs2)ZoneSetDiff(zs1,zs2) BS_DIFF(zs1, zs2)ZoneSetAdd(arena,zs,addr) BS_ADD(ZoneSet, zs, AddrZone(arena, addr))ZoneSetIsMember(arena,zs,addr) BS_IS_MEMBER(zs, AddrZone(arena, addr))ZoneSetSub(zs1,zs2) BS_SUB(zs1, zs2)ZoneSetSuper(zs1,zs2) BS_SUPER(zs1, zs2)ZoneSetComp(zs) BS_COMP(zs)STATISTIC(gather) BEGIN (gather); ENDSTATISTIC_STAT(gather) BEGIN gather; ENDSTATISTIC_WRITE(format,arg) (format), (arg),protocol.cJan 17 200703:39:22$Id: //info.ravenbrook.com/project/mps/master/code/protocol.c#9 $ |  AB  AB !AB N.<AAB FAAB FGAB b.S.  AB AB ProtocolClassCheck'ProtocolInstCheckQProtocolIsSubclassJProtocolClassGetaEnsureProtocolClassprotocolSrcId;ProtocolCoerceClasssuperclassBoolunsigned intGNU C 3.4.6 [FreeBSD] 20060305scmidProtocolIsSubclassProtocolClassshort intprotocol.cprotocolSrcIdFileSrcIdStructlong long unsigned intfileProtocolClassGettheClassprotocolProtocolClassStructcharprotocolGetProtocolClasssuperinstcoercedlong long intProtocolInstStructProtocolInstEnsureProtocolClassSrcIdproInstrootprotocolProtocolClassGuardianlong intbuild_timeProtocolCoerceInstMethodlong unsigned intSrcIdStructProtocolClassStructclassunsigned charProtocolClassCheckProtocolInstCheckcoerceClassProtocolCoerceInstbuild_datecoerceInstsigned charshort unsigned intProtocolCoerceClassMethoddoubleproClass/home/hannes/dylan/mps/codecoerceResultGCC: (GNU) 3.4.6 [FreeBSD] 20060305.symtab.strtab.shstrtab.rel.text.rel.data.bss.debug_abbrev.rel.debug_info.rel.debug_line.debug_macinfo.rodata.str1.1.rodata.str1.4.rel.rodata.rel.debug_frame.rel.debug_pubnames.rel.debug_aranges.debug_str.comment4; t`)p% ԋ/t4t>FB ܋VR t bHuq2~ 20~Bt~ | ~ t   $0)%-L <5     <A0ACa}  !G!  protocol.cFileSrcIdStructProtocolCoerceClassProtocolCoerceInstprotocolProtocolClassGuardianprotocolProtocolClassStructprotocolGetProtocolClassprotocolSrcIdProtocolClassCheckProtocolInstCheckProtocolIsSubclassProtocolClassGetLockClaimGlobalRecursiveLockReleaseGlobalRecursiveEnsureProtocolClassN.5  !%*18?MT[bipw~,:HWl-8<CWbfz %=LW[cnr} w    04HLdhpool.o/ 1169001562 1001 1001 100644 60172 ` ELF 4(UÉUÉUEPuu uÉUWVS ]E UljSu ǂC ssvCC@C$C$@C C,C0BLC4S8S@SH[PQGXCGXuSR uGPPVCP2p0[QC$C(CCCCe[^_UEPuu uÉUWVS }jwu EPÃu>GuuWu VÃu E0wuu ؍e[^_ÉUS]CSP$KSABA[QC$C(CCCA]ÉUWVS]s{ S+^ vSWe[^_UE@PtÍvUVS] uCuVSuP(…u$RV,$d$C8[8C @ X Ѝe[^ÐU EPuu PR,ÐUEPuuuu PR8ÉU EPuu PR $ > : ; I I&I : ;  : ; I8 < : ; I  : ;I8 : ;I8  : ; I8  : ; I 8  : ;I 8  : ;I 8  : ; ' II' ' I : ;  : ;  : ; I: ;II!I/ .? : ; ' I@ : ; I  4: ; I !4: ; I "4: ; I# : ; $ % &.? : ; ' @ '.? : ;' @ (: ;I )4: ;I *.? : ;' I@ +4: ;I ,: ;I -4: ;I. U/4: ;I04: ; I?  ,W${@int 8W - _L |P{7zE "?"D$#v%#q&#'# " 2 B . Sigl ResE= l<"ou k #Y$Y%Y&Y'W(W Ref)d ,Y -Y .W/W1{_ 2WG3W<4W5W6W7W BT:MY;^d KY @> D^!# E# F# G:# He# jI#  J#$ KD#( segL#, M#0 N#4 TO"#8 sigPC#<3 AWC ad# bd# > cd# dd# e# f# DS<D sigC# # 8# #  # # / # ?A# b#$ #( #, pad#0 #4 {#8"F >G XGsig`C#a#b#c#  d #o e #3f# 2g #$h#,i#0fixjN#4vks#8ls#@+ms#H ns#PHH2^!#3# 4#I5#6-#7j# 8#$ 9#(":#,;#0Y<>#4t =j#8T >#<D ?#@@#D/ A#HfixBN#L1 C~#P4D#Tv E#XF#\G#`H#d I9#hJ`#lvK#pL#tM#xN#|O#sigPC#> O @O sigC# ti# # # # P# # * # e {# &{#$ {#( {#, #0 m#4 #8 #< {#@ ,#D #H {#L #P |#T 4 {#X x#\ #` |#d q#h [#l #p  #t  #x  {#| ` # V {# # '#[ P  * ZTP fix# Y# # |# sigC# #  # # ]# #$ x#( #, |#0 q#4 [#8 #< {#@ `#D V{#H ){#L U{#P Q5 ;  Qsig>C#?#{ @ #A #B#C!# R   Rg #p#d# # NW# S   z 8SsigC### # {#o #d#> d# 4#$ #(C#,f #0#4?y T sigC# ( # d# > d# ?# J?#qUJPkUtheh< # SegVv|P V sigC# P#  #   # >  d#  W#pm "#sm "#D  # #  # #X[aNLX^!## ###e#  #$#(#,#0#4>#8#<#@/#DsigC#H5ZY_Z sig0C# }1# S2# `3# 4# gen5#\ H\ &^!# 'V## (# I)# *# +# ,#$ -#( . #, /8#0 "0y#4 @1#8 x2#< 3#@ sig4C#D^V(^ o\## p#t r#x lt#| 8u## w'## y{# z{# |{#  }{# # #  # d#  #  # # J## ) !# u # # o # bC# #  # W # # # h## {# {# m{# >#  #  # \x## s# s# I Y# ## [# {  # # # ## sigC#Y_t_ sigBC# jE # ^ F# HIs# )J# K# vLs# Ms#( Ns#0 +Os#8 Ps#@ vS#H V#L Y #P Z#X ] #\ ^#d ]a #h d#p d  pe# H:g4: ahh!#s #XA{#\{#`sigC#dN nN8 op{qHr8Nd{tCImNmsN{d ud{vN Sw x N '= 5N 5FLldlw}ddNkd{8kk j'->kIOekpvkpjkE kjNk /Nkkddd8EKeNj8pvjjddd{ p kjj  "j<-3Djk OUjNj P u{N8Nm{Dd{>Nmmj{IOjjddJu{Nkd"0 ȪNk k k #)HNH k'Y_~N k5m Y ҟj jNj)9Nj)%DJ`j)0kqk;l ݜl'x%N Z !'AN dd LRbddmsdd$L, md{L k#s# < gg e#efE#[ hc g iP[ \w }  \sig}C#L~l # #U-!#  a   X asigC#l #m! !'!'! l  ex8!>!X!X!l l l } ! $sigC#S#K  {#S!s# g"s#' # # $i!! oc"D t!#{#X3{#\{#`bY#di"#h  #lsigC#p c"D !# `!#o"#XA o"#3{# {#8{# {#F {#. #sigC# z"a@gd@y  ex#k#>## ##) U(#Q Ug P]$pN2Ug oo o resqNP!r8P%zN4Ug ySyPyRy8 res{NP"|Y!}W#$$aj! V$%js! P$.%s|! P$T%! P"$m%" $%" %" %N2Ub%  resNP!8P&PN4Ub%P W8 resNS!g V!p# ##&'Ug S$&!9Q$&" $'" %" 'k'0U(g S)V)W)dS*' x0AU(g P*'% "NDU(u m(g  S(  {V(4!+res#NP'@(AU(g @P,old@d ( @{*( ONU(g MP,segMk (-Md(CN"(l N*( ^NU(g ]P(\] ,seg]k'5)EhU(g gP(\g ,seggk'z) rU(g qP(q  ,segqk*) ~N3U(^}H,ss}  (g }P,seg}k*(*N4LU(g P,ss  ,segk(m'*LjU(g P,ss  ,segk(m-resN'*lU(g P(\ ,segk')+U(g P,segk ,f;,p,s{'j+U(g P,fl ,p*+fNFU(g S(  V+resNP)aR) W.) jP*,)HhU((,P(g (R*x,L<hU(b;%P(; (-;d)= |*,aLU(g KS(-Kd )= Mx/N){OP!#0#@d /usr/include/usr/include/sys/usr/include/machinempm.hconfig.hmpstd.hmisc.hstddef.hcdefs.h_null.h_types.h_types.hcheck.hmpslib.hevent.heventcom.hmpmtypes.hstdarg.heventgen.hlock.hth.hring.hss.htract.hbt.hmpmst.hprotocol.hchain.hpool.c("99 f:J%-;:rrrdV::
u;tdՆf:K -wtVt;,t:ew:,M..1A . :M 2, G14d z:n<zOV kQdX +i"PHYK,__STDC_HOSTED__ 1__GNUC__ 3__GNUC_MINOR__ 4__GNUC_PATCHLEVEL__ 6__SIZE_TYPE__ unsigned int__PTRDIFF_TYPE__ int__WCHAR_TYPE__ int__WINT_TYPE__ unsigned int __GXX_ABI_VERSION 1002 __SCHAR_MAX__ 127 __SHRT_MAX__ 32767 __INT_MAX__ 2147483647 __LONG_MAX__ 2147483647L__LONG_LONG_MAX__ 9223372036854775807LL__WCHAR_MAX__ 2147483647__CHAR_BIT__ 8__FLT_EVAL_METHOD__ 2__FLT_RADIX__ 2__FLT_MANT_DIG__ 24__FLT_DIG__ 6__FLT_MIN_EXP__ (-125)__FLT_MIN_10_EXP__ (-37)__FLT_MAX_EXP__ 128__FLT_MAX_10_EXP__ 38__FLT_MAX__ 3.40282347e+38F__FLT_MIN__ 1.17549435e-38F__FLT_EPSILON__ 1.19209290e-7F__FLT_DENORM_MIN__ 1.40129846e-45F__FLT_HAS_INFINITY__ 1__FLT_HAS_QUIET_NAN__ 1__DBL_MANT_DIG__ 53 __DBL_DIG__ 15!__DBL_MIN_EXP__ (-1021)"__DBL_MIN_10_EXP__ (-307)#__DBL_MAX_EXP__ 1024$__DBL_MAX_10_EXP__ 308%__DBL_MAX__ 1.7976931348623157e+308&__DBL_MIN__ 2.2250738585072014e-308'__DBL_EPSILON__ 2.2204460492503131e-16(__DBL_DENORM_MIN__ 4.9406564584124654e-324)__DBL_HAS_INFINITY__ 1*__DBL_HAS_QUIET_NAN__ 1+__LDBL_MANT_DIG__ 53,__LDBL_DIG__ 15-__LDBL_MIN_EXP__ (-16381).__LDBL_MIN_10_EXP__ (-4931)/__LDBL_MAX_EXP__ 163840__LDBL_MAX_10_EXP__ 49321__DECIMAL_DIG__ 172__LDBL_MAX__ 1.1897314953572316e+4932L3__LDBL_MIN__ 3.3621031431120935e-4932L4__LDBL_EPSILON__ 2.2204460492503131e-16L5__LDBL_DENORM_MIN__ 7.4653686412953080e-4948L6__LDBL_HAS_INFINITY__ 17__LDBL_HAS_QUIET_NAN__ 18__REGISTER_PREFIX__ 9__USER_LABEL_PREFIX__ :__VERSION__ "3.4.6 [FreeBSD] 20060305";__OPTIMIZE__ 1<__FINITE_MATH_ONLY__ 0=__STRICT_ANSI__ 1@__i386 1A__i386__ 1B__tune_i386__ 1C__FreeBSD__ 6D__unix 1E__unix__ 1F__KPRINTF_ATTRIBUTE__ 1J__FreeBSD_cc_version 602001K__ELF__ 1_REENTRANT 1CONFIG_PROD_DYLAN 1CONFIG_VAR_HI 1NDEBUG 1! mpm_h config_h !CONFIG_DEBUG "CHECK_DEFAULT CheckNONE6CHECK_NONE 7MPS_ASSERT_STRING "nonasserted"?EVENT_NONE @MPS_LOG_STRING "nonlogging"EDIAGNOSTICS FMPS_DEBUG_STRING "debug"LMPS_VARIETY_STRING MPS_ASSERT_STRING "." MPS_LOG_STRING "." MPS_DEBUG_STRINGRmpstd_h MPS_PF_FRI4GC MPS_PF_STRING "fri4gc"MPS_OS_FR MPS_ARCH_I4 MPS_BUILD_GC MPS_T_WORD unsigned longMPS_WORD_WIDTH 32MPS_WORD_SHIFT 5MPS_PF_ALIGN 4EPVMDefaultSubsequentSegSIZE (64ul * 1024)ARENA_CONTROL_EXTENDBY ((Size)4096)ARENA_CONTROL_AVGSIZE ((Size)32)ARENA_CONTROL_MAXSIZE ((Size)65536)ArenaPollALLOCTIME (65536.0)ARENA_ZONESHIFT ((Shift)20)ARENA_CLIENT_PAGE_SIZE ((Size)8192)ArenaDefaultZONESET (ZoneSetUNIV << (MPS_WORD_WIDTH / 2))SegPrefDEFAULT { SegPrefSig, TRUE, ArenaDefaultZONESET, FALSE, FALSE, (Serial)0, }LDHistoryLENGTH ((Size)4)StackProbeDEPTH ((Size)0)ShieldCacheSIZE ((size_t)16)ShieldDepthWIDTH (4)VMANPageALIGNMENT ((Align)4096)VMJunkBYTE ((unsigned char)0xA9)TraceLIMIT ((size_t)1)TraceCopyScanRATIO (1.5)RememberedSummaryBLOCK 15EventBufferSIZE ((size_t)4096)EventStringLengthMAX ((size_t)255)ASSERT_BUFFER_SIZE ((Size)512)MPS_PROD_STRING "dylan"MPS_PROD_DYLAN ARENA_INIT_SPARE_COMMIT_LIMIT ((Size)10uL*1024uL*1024uL)THREAD_MULTI PROTECTION DONGLE_NONE PROD_CHECK_DEFAULT CheckSHALLOWARENA_SIZE ((Size)1<<30)misc_h '_STDDEF_H_ )%_SYS_CDEFS_H_ +__BEGIN_DECLS ,__END_DECLS 8__GNUCLIKE_ASM 39__GNUCLIKE_MATH_BUILTIN_CONSTANTS =__GNUCLIKE___TYPEOF 1>__GNUCLIKE___OFFSETOF 1?__GNUCLIKE___SECTION 1A__GNUCLIKE_ATTRIBUTE_MODE_DI 1D__GNUCLIKE_CTOR_SECTION_HANDLING 1G__GNUCLIKE_BUILTIN_CONSTANT_P 1N__GNUCLIKE_BUILTIN_VARARGS 1O__GNUCLIKE_BUILTIN_STDARG 1P__GNUCLIKE_BUILTIN_VAALIST 1T__GNUC_VA_LIST_COMPATIBILITY 1X__GNUCLIKE_BUILTIN_NEXT_ARG 1Y__GNUCLIKE_MATH_BUILTIN_RELOPS \__GNUCLIKE_BUILTIN_MEMCPY 1___CC_SUPPORTS_INLINE 1`__CC_SUPPORTS___INLINE 1a__CC_SUPPORTS___INLINE__ 1c__CC_SUPPORTS___FUNC__ 1d__CC_SUPPORTS_WARNING 1f__CC_SUPPORTS_VARADIC_XXX 1h__CC_SUPPORTS_DYNAMIC_ARRAY_INIT 1k__CC_INT_IS_32BIT 1s__GNUC_PREREQ__(ma,mi) (__GNUC__ > (ma) || __GNUC__ == (ma) && __GNUC_MINOR__ >= (mi))__P(protos) protos__CONCAT1(x,y) x ## y__CONCAT(x,y) __CONCAT1(x,y)__STRING(x) #x__XSTRING(x) __STRING(x)__const const__signed signed__volatile volatile__dead2 __attribute__((__noreturn__))__pure2 __attribute__((__const__))__unused __attribute__((__unused__))__used __attribute__((__used__))__packed __attribute__((__packed__))__aligned(x) __attribute__((__aligned__(x)))__section(x) __attribute__((__section__(x)))__pure __attribute__((__pure__))__always_inline __attribute__((__always_inline__))__nonnull(x) __attribute__((__nonnull__(x)))__restrict __predict_true(exp) __builtin_expect((exp), 1)__predict_false(exp) __builtin_expect((exp), 0)__offsetof(type,field) ((size_t)(&((type *)0)->field))__rangeof(type,start,end) (__offsetof(type, end) - __offsetof(type, start))__printflike(fmtarg,firstvararg) __attribute__((__format__ (__printf__, fmtarg, firstvararg)))__scanflike(fmtarg,firstvararg) __attribute__((__format__ (__scanf__, fmtarg, firstvararg)))__format_arg(fmtarg) __attribute__((__format_arg__ (fmtarg)))__printf0like(fmtarg,firstvararg) __attribute__((__format__ (__printf0__, fmtarg, firstvararg)))__strong_reference(sym,aliassym) extern __typeof (sym) aliassym __attribute__ ((__alias__ (#sym)));__weak_reference(sym,alias) __asm__(".weak " #alias); __asm__(".equ " #alias ", " #sym)__warn_references(sym,msg) __asm__(".section .gnu.warning." #sym); __asm__(".asciz \"" msg "\""); __asm__(".previous")__IDSTRING(name,string) __asm__(".ident\t\"" string "\"")__FBSDID(s) __IDSTRING(__CONCAT(__rcsid_,__LINE__),s)__RCSID(s) __IDSTRING(__CONCAT(__rcsid_,__LINE__),s)__RCSID_SOURCE(s) __IDSTRING(__CONCAT(__rcsid_source_,__LINE__),s)__SCCSID(s) __IDSTRING(__CONCAT(__sccsid_,__LINE__),s)__COPYRIGHT(s) __IDSTRING(__CONCAT(__copyright_,__LINE__),s)__DECONST(type,var) ((type)(uintptr_t)(const void *)(var))__DEVOLATILE(type,var) ((type)(uintptr_t)(volatile void *)(var))__DEQUALIFY(type,var) ((type)(uintptr_t)(const volatile void *)(var))__POSIX_VISIBLE 200112__XSI_VISIBLE 600__BSD_VISIBLE 1__ISO_C_VISIBLE 1999* NULL ((void *)0)+_SYS__TYPES_H_ ! (_MACHINE__TYPES_H_ .__NO_STRICT_ALIGNMENT __GNUC_VA_LIST 2_RUNE_T_DECLARED 8_SIZE_T_DECLARED >_WCHAR_T_DECLARED Boffsetof(type,member) __offsetof(type, member)*SRCID(id,scmid) static SrcIdStruct FileSrcIdStruct = {__FILE__, (scmid), __DATE__, __TIME__}; SrcId id ## SrcId = &FileSrcIdStruct;BEGIN do {> (i)) & 1)BS_UNION(s1,s2) ((s1) | (s2))BS_ADD(ty,s,i) BS_UNION((s), BS_SINGLE(ty, (i)))BS_INTER(s1,s2) ((s1) & (s2))BS_DIFF(s1,s2) BS_INTER((s1), BS_COMP(s2))BS_DEL(ty,s,i) BS_DIFF((s), BS_SINGLE(ty, (i)))BS_SUPER(s1,s2) (BS_INTER((s1), (s2)) == (s2))BS_SUB(s1,s2) BS_SUPER((s2), (s1))BS_IS_SINGLE(s) (((s) & ((s)-1)) == 0)BS_SYM_DIFF(s1,s2) ((s1) ^ (s2)) check_h  mpslib_h mps_lib_EOF (mps_lib_get_EOF())mps_lib_stderr (mps_lib_get_stderr())mps_lib_stdout (mps_lib_get_stdout())0AVER(cond) DISCARD(cond)1AVERT(type,val) DISCARD(type ## Check(val))2AVER_CRITICAL(cond) DISCARD(cond)3AVERT_CRITICAL(type,val) DISCARD(type ## Check(val))MASSERT(cond,condstring) BEGIN if (cond) NOOP; else mps_lib_assert_fail(condstring "\n" __FILE__ "\n" STR(__LINE__)); END_NOTREACHED NOOPjCHECKT(type,val) ((val) != NULL && (val)->sig == type ## Sig)pCHECKS(type,val) DISCARD(CHECKT(type, val))qCHECKL(cond) DISCARD(cond)rCHECKD(type,val) DISCARD(CHECKT(type, val))sCHECKD_NOSIG(type,val) DISCARD((val) != NULL)tCHECKU(type,val) DISCARD(CHECKT(type, val))uCHECKU_NOSIG(type,val) DISCARD((val) != NULL)CHECKLVALUE(lv1,lv2) ((void)sizeof((lv1) = (lv2)), (void)sizeof((lv2) = (lv1)), TRUE)CHECKTYPE(t1,t2) (sizeof(t1) == sizeof(t2) && CHECKLVALUE(*((t1 *)0), *((t2 *)0)))CHECKFIELDAPPROX(s1,f1,s2,f2) (sizeof(((s1 *)0)->f1) == sizeof(((s2 *)0)->f2) && offsetof(s1, f1) == offsetof(s2, f2))CHECKFIELD(s1,f1,s2,f2) (CHECKFIELDAPPROX(s1, f1, s2, f2) && CHECKLVALUE(((s1 *)0)->f1, ((s2 *)0)->f2)) event_h   eventcom_h  mpmtypes_h '_MACHINE_STDARG_H_ -_VA_LIST_DECLARED 3va_start(ap,last) __builtin_stdarg_start((ap), (last))6va_arg(ap,type) __builtin_va_arg((ap), type):va_copy(dest,src) __builtin_va_copy((dest), (src))>va_end(ap) __builtin_va_end(ap)SigInvalid ((Sig)0x51915BAD)SizeMAX ((Size)-1)AccessSetEMPTY ((AccessSet)0)AccessREAD ((AccessSet)(1<<0))AccessWRITE ((AccessSet)(1<<1))AccessSetWIDTH (2)RefSetEMPTY BS_EMPTY(RefSet)RefSetUNIV BS_UNIV(RefSet)ZoneSetEMPTY BS_EMPTY(ZoneSet)ZoneSetUNIV BS_UNIV(ZoneSet)TraceSetEMPTY BS_EMPTY(TraceSet)TraceSetUNIV ((TraceSet)((1u << TraceLIMIT) - 1))RankSetEMPTY BS_EMPTY(RankSet)RankSetUNIV ((RankSet)((1u << RankLIMIT) - 1))AttrFMT ((Attr)(1<<0))AttrSCAN ((Attr)(1<<1))AttrPM_NO_READ ((Attr)(1<<2))AttrPM_NO_WRITE ((Attr)(1<<3))AttrALLOC ((Attr)(1<<4))AttrFREE ((Attr)(1<<5))AttrBUF ((Attr)(1<<6))AttrBUF_RESERVE ((Attr)(1<<7))AttrBUF_ALLOC ((Attr)(1<<8))AttrGC ((Attr)(1<<9))AttrINCR_RB ((Attr)(1<<10))AttrINCR_WB ((Attr)(1<<11))AttrMOVINGGC ((Attr)(1<<12))AttrMASK (AttrFMT | AttrSCAN | AttrPM_NO_READ | AttrPM_NO_WRITE | AttrALLOC | AttrFREE | AttrBUF | AttrBUF_RESERVE | AttrBUF_ALLOC | AttrGC | AttrINCR_RB | AttrINCR_WB | AttrMOVINGGC)BufferModeATTACHED ((BufferMode)(1<<0))BufferModeFLIPPED ((BufferMode)(1<<1))BufferModeLOGGED ((BufferMode)(1<<2))BufferModeTRANSITION ((BufferMode)(1<<3))RootModeCONSTANT ((RootMode)1<<0)RootModePROTECTABLE ((RootMode)1<<1)RootModePROTECTABLE_INNER ((RootMode)1<<2)STATISTIC_DECL(field) field!EventNameMAX ((size_t)19)"EventCodeMAX ((EventCode)0x0069)&EVENT_0(type) NOOPEVENT_A(type,p0) NOOPEVENT_AW(type,p0,p1) NOOPEVENT_P(type,p0) NOOPEVENT_PAA(type,p0,p1,p2) NOOPEVENT_PAW(type,p0,p1,p2) NOOPEVENT_PAWA(type,p0,p1,p2,p3) NOOPEVENT_PDDWWW(type,p0,p1,p2,p3,p4,p5) NOOPEVENT_PP(type,p0,p1) NOOPEVENT_PPAU(type,p0,p1,p2,p3) NOOPEVENT_PPAWP(type,p0,p1,p2,p3,p4) NOOPEVENT_PPP(type,p0,p1,p2) NOOPEVENT_PPPA(type,p0,p1,p2,p3) NOOPEVENT_PPPU(type,p0,p1,p2,p3) NOOPEVENT_PPPUU(type,p0,p1,p2,p3,p4) NOOPEVENT_PPU(type,p0,p1,p2) NOOPEVENT_PPUU(type,p0,p1,p2,p3) NOOPEVENT_PPUWWW(type,p0,p1,p2,p3,p4,p5) NOOPEVENT_PPWW(type,p0,p1,p2,p3) NOOPEVENT_PPWWW(type,p0,p1,p2,p3,p4) NOOPEVENT_PPWWWUUU(type,p0,p1,p2,p3,p4,p5,p6,p7) NOOPEVENT_PU(type,p0,p1) NOOPEVENT_PW(type,p0,p1) NOOPEVENT_PWA(type,p0,p1,p2) NOOPEVENT_PWAW(type,p0,p1,p2,p3) NOOPEVENT_PWP(type,p0,p1,p2) NOOPEVENT_PWU(type,p0,p1,p2) NOOPEVENT_PWW(type,p0,p1,p2) NOOPEVENT_PWWWWDD(type,p0,p1,p2,p3,p4,p5,p6) NOOPEVENT_PWWWWW(type,p0,p1,p2,p3,p4,p5) NOOPEVENT_PWWWWWWWWW(type,p0,p1,p2,p3,p4,p5,p6,p7,p8,p9) NOOPEVENT_PWWWWWWWWWWWW(type,p0,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11,p12) NOOPEVENT_UUPA(type,p0,p1,p2,p3) NOOPEVENT_UUPP(type,p0,p1,p2,p3) NOOPEVENT_UUPPP(type,p0,p1,p2,p3,p4) NOOPEVENT_WS(type,p0,p1,l1) NOOP:EventEventTime ((EventType)0xEF213E99);EventPoolInit ((EventType)0xEFB07141)EventPoolFree ((EventType)0xEFB07F6E)?EventArenaCreateVM ((EventType)0xEFA64CF3)@EventArenaCreateVMNZ ((EventType)0xEFA64CF2)AEventArenaCreateCL ((EventType)0xEFA64CC7)BEventArenaDestroy ((EventType)0xEFA64DE5)CEventArenaAlloc ((EventType)0xEFA64A77)DEventArenaFree ((EventType)0xEFA64F6E)EEventSegAlloc ((EventType)0xEF5E9A77)FEventSegFree ((EventType)0xEF5E9F6E)GEventSegMerge ((EventType)0xEF5E93E6)HEventSegSplit ((EventType)0xEF5E95B7)IEventAMCGenCreate ((EventType)0xEFA3C94C)JEventAMCGenDestroy ((EventType)0xEFA3C94D)KEventAMCInit ((EventType)0xEFA3C141)LEventAMCFinish ((EventType)0xEFA3CF14)MEventAMCTraceBegin ((EventType)0xEFA3C26B)NEventAMCScanBegin ((EventType)0xEFA3C5CB)OEventAMCScanEnd ((EventType)0xEFA3C5CE)PEventAMCFix ((EventType)0xEFA3CF18)QEventAMCFixInPlace ((EventType)0xEFA3CF8A)REventAMCFixForward ((EventType)0xEFA3CF8F)SEventAMCReclaim ((EventType)0xEFA3C6EC)TEventTraceStart ((EventType)0xEF26AC52)UEventTraceCreate ((EventType)0xEF26ACC6)VEventTraceDestroy ((EventType)0xEF26ACDE)WEventSegSetGrey ((EventType)0xEF59596A)XEventTraceFlipBegin ((EventType)0xEF26AF7B)YEventTraceFlipEnd ((EventType)0xEF26AF7E)ZEventTraceReclaim ((EventType)0xEF26A6EC)[EventTraceScanSeg ((EventType)0xEF26A559)\EventTraceScanSingleRef ((EventType)0xEF26A556)^EventTraceAccess ((EventType)0xEF26AACC)_EventTracePoll ((EventType)0xEF26AB01)`EventTraceStep ((EventType)0xEF26A52B)aEventTraceFix ((EventType)0xEF26AF18)bEventTraceFixSeg ((EventType)0xEF26AF85)cEventTraceFixWhite ((EventType)0xEF26AF83)dEventTraceScanArea ((EventType)0xEF26A5CA)eEventTraceScanAreaTagged ((EventType)0xEF26A5C2)fEventVMCreate ((EventType)0xEFF3C6EA)gEventVMDestroy ((EventType)0xEFF3DE52)hEventVMMap ((EventType)0xEFF33AB9)iEventVMUnmap ((EventType)0xEFF3043B)jEventIntern ((EventType)0xEF142E64)kEventArenaExtend ((EventType)0xEFA64E82)lEventArenaRetract ((EventType)0xEFA646E2)mEventRootScan ((EventType)0xEF625CA4)nEventLabel ((EventType)0xEF7ABE79)oEventTraceSegGreyen ((EventType)0xEF26A599)pEventBufferReserve ((EventType)0xEFB0FF6E)qEventBufferCommit ((EventType)0xEFB0FFC0)rEventBufferInit ((EventType)0xEFB0FF14)sEventBufferInitSeg ((EventType)0xEFB0F15E)tEventBufferInitRank ((EventType)0xEFB0F16A)uEventBufferInitEPVM ((EventType)0xEFB0F1EF)vEventBufferFinish ((EventType)0xEFB0FFF1)wEventBufferFill ((EventType)0xEFB0FFF7)xEventBufferEmpty ((EventType)0xEFB0FFE3)yEventArenaAllocFail ((EventType)0xEFA64A7F)zEventSegAllocFail ((EventType)0xEF5E9A7F){EventMeterInit ((EventType)0xEF3E2141)|EventMeterValues ((EventType)0xEF3E2FA7)}EventCBSInit ((EventType)0xEFCB5141)~EventTraceStatCondemn ((EventType)0xEF26A5C0)EventTraceStatScan ((EventType)0xEF26A55C)EventTraceStatFix ((EventType)0xEF26A5F8)EventTraceStatReclaim ((EventType)0xEF26A56E)EventArenaWriteFaults ((EventType)0xEFA6436F)EventPoolInitMV ((EventType)0xEFB0713F)EventPoolInitMVFF ((EventType)0xEFB071FF)EventPoolInitMFS ((EventType)0xEFB07135)EventPoolInitEPVM ((EventType)0xEFB071EF)EventPoolInitEPDL ((EventType)0xEFB071E7)EventPoolInitAMS ((EventType)0xEFB071A5)EventPoolInitAMC ((EventType)0xEFB071AC)EventPoolInitAMCZ ((EventType)0xEFB071A2)EventPoolInitAWL ((EventType)0xEFB071A3)EventPoolInitLO ((EventType)0xEFB07170)EventPoolInitSNC ((EventType)0xEFB07154)EventPoolInitMVT ((EventType)0xEFB07132)EventPoolPush ((EventType)0xEFB07B58)EventPoolPop ((EventType)0xEFB07B0B)EventReservoirLimitSet ((EventType)0xEF6E5713)EventCommitLimitSet ((EventType)0xEFC03713)EventSpareCommitLimitSet ((EventType)0xEF5BC713)hEventInit() NOOPiEventFinish() NOOPjEventControl(r,f) (UNUSED(r), UNUSED(f), (Word)0)kEventInternString(s) (UNUSED(s), (Word)0)lEventInternGenString(l,s) (UNUSED(l), UNUSED(s), (Word)0)mEventLabelAddr(a,i) BEGIN UNUSED(a); UNUSED(i); ENDPlock_h ULockSig ((Sig)0x51970CC9) th_h  ring_h RingNONE ((Ring)0)$RingInit(ring) BEGIN Ring _ring = (ring); AVER(_ring != NULL); _ring->next = _ring; _ring->prev = _ring; AVER(RingCheck(_ring)); END/RingFinish(ring) BEGIN Ring _ring = (ring); AVER(RingCheckSingle(_ring)); _ring->next = RingNONE; _ring->prev = RingNONE; END9RingAppend(ring,new) BEGIN Ring _ring = (ring), _new = (new); AVER(RingCheck(_ring)); AVER(RingCheckSingle(_new)); _new->prev = _ring->prev; _new->next = _ring; _ring->prev->next = _new; _ring->prev = _new; ENDFRingInsert(ring,new) BEGIN Ring _ring = (ring), _new = (new); AVER(RingCheck(_ring)); AVER(RingCheckSingle(_new)); _new->prev = _ring; _new->next = _ring->next; _ring->next->prev = _new; _ring->next = _new; ENDSRingRemove(old) BEGIN Ring _old = (old); AVER(RingCheck(_old)); AVER(!RingIsSingle(_old)); _old->next->prev = _old->prev; _old->prev->next = _old->next; _old->next = _old; _old->prev = _old; END`RingNext(ring) ((ring)->next)dRingPrev(ring) ((ring)->prev)gRING_ELT(type,field,node) ((type)(void *)((char *)(node) - (size_t)(&((type)0)->field)))kRING_FOR(node,ring,next) for(node = RingNext(ring), next = RingNext(node); node != (ring); node = (next), next = RingNext(node))ThreadSig ((Sig)0x519286ED) ss_h  tract_h   bt_h BTSize(n) (((n) + MPS_WORD_WIDTH-1) / MPS_WORD_WIDTH * sizeof(Word))BTGet(a,i) ((Bool)(((a)[((i) >> MPS_WORD_SHIFT)] >> ((i) & ~((Word)-1 << MPS_WORD_SHIFT))) & (Word)1))BTSet(a,i) BEGIN (a)[((i)>>MPS_WORD_SHIFT)] |= (Word)1<<((i)&~((Word)-1<>MPS_WORD_SHIFT)] &= ~((Word)1 << ((i) & ~((Word)-1<base)&TractPool(tract) ((tract)->pool)'TractP(tract) ((tract)->p)(TractSetP(tract,pp) ((void)((tract)->p = (pp))))TractHasSeg(tract) ((Bool)(tract)->hasSeg)*TractSetHasSeg(tract,b) ((void)((tract)->hasSeg = (b)))+TractWhite(tract) ((tract)->white),TractSetWhite(tract,w) ((void)((tract)->white = (w)))8TRACT_SEG(segReturn,tract) (TractHasSeg(tract) && ((*(segReturn) = (Seg)TractP(tract)), TRUE));TRACT_SET_SEG(tract,seg) (TractSetHasSeg(tract, TRUE), TractSetP(tract, seg))>TRACT_UNSET_SEG(tract) (TractSetHasSeg(tract, FALSE), TractSetP(tract, NULL))nPageTract(page) (&(page)->the.tractStruct)rPageOfTract(tract) PARENT(PageStruct, the.tractStruct, (tract))vPagePool(page) ((page)->the.rest.pool)}PageIsAllocated(page) ((page)->the.rest.pool != NULL)PageType(page) ((page)->the.rest.type)ChunkSig ((Sig)0x519C804C)ChunkArena(chunk) ((chunk)->arena)ChunkPageSize(chunk) ((chunk)->pageSize)ChunkPageShift(chunk) ((chunk)->pageShift)ChunkPagesToSize(chunk,pages) ((Size)(pages) << (chunk)->pageShift)ChunkSizeToPages(chunk,size) ((Count)((size) >> (chunk)->pageShift))CHUNK_OF_ADDR(chunkReturn,arena,addr) (((arena)->chunkCache.base <= (addr) && (addr) < (arena)->chunkCache.limit) ? (*(chunkReturn) = (arena)->chunkCache.chunk, TRUE) : ChunkOfAddr(chunkReturn, arena, addr))AddrPageBase(chunk,addr) AddrAlignDown((addr), ChunkPageSize(chunk))TRACT_OF_ADDR(tractReturn,arena,addr) BEGIN Arena _arena = (arena); Addr _addr = (addr); Chunk _chunk; Index _i; if (CHUNK_OF_ADDR(&_chunk, _arena, _addr)) { _i = INDEX_OF_ADDR(_chunk, _addr); if (BTGet(_chunk->allocTable, _i)) *(tractReturn) = PageTract(&_chunk->pageTable[_i]); else *(tractReturn) = NULL; } else *(tractReturn) = NULL; ENDINDEX_OF_ADDR(chunk,addr) ((Index)ChunkSizeToPages(chunk, AddrOffset((chunk)->base, addr)))PageIndexBase(chunk,i) AddrAdd((chunk)->base, ChunkPagesToSize(chunk, i))TractAverContiguousRange(arena,rangeBase,rangeLimit) BEGIN Chunk _ch = NULL; UNUSED(_ch); AVER(ChunkOfAddr(&_ch, arena, rangeBase) && (rangeLimit) <= _ch->limit); ENDTRACT_TRACT_FOR(tract,addr,arena,firstTract,limit) tract = (firstTract); addr = TractBase(tract); TractAverContiguousRange(arena, addr, limit); for(; tract != NULL; (addr = AddrAdd(addr, (arena)->alignment)), (addr < (limit) ? (tract = PageTract(PageOfTract(tract) + 1)) : (tract = NULL) ))TRACT_FOR(tract,addr,arena,base,limit) TRACT_TRACT_FOR(tract, addr, arena, TractOfBaseAddr(arena, base), limit)mpmst_h protocol_h DERIVE_LOCAL(name) protocol ## nameDERIVE_STRUCT(name) name ## StructDERIVE_ENSURE(name) name ## GetDERIVE_ENSURE_OLD(name) Ensure ## nameDERIVE_ENSURE_INTERNAL(name) protocolGet ## nameDERIVE_GUARDIAN(name) protocol ## name ## GuardianDERIVE_STATIC_STORAGE(name) protocol ## name ## StructProtocolClassSetSuperclassPoly(class,super) (((ProtocolClass)(class))->superclass) = (ProtocolClass)(super)$DEFINE_CLASS(className,var) static Bool DERIVE_GUARDIAN(className) = FALSE; static DERIVE_STRUCT(className) DERIVE_STATIC_STORAGE(className); static void DERIVE_ENSURE_INTERNAL(className)(className); extern className DERIVE_ENSURE(className)(void); className DERIVE_ENSURE(className)(void) { if (DERIVE_GUARDIAN(className) == FALSE) { LockClaimGlobalRecursive(); if (DERIVE_GUARDIAN(className) == FALSE) { DERIVE_ENSURE_INTERNAL(className) (&DERIVE_STATIC_STORAGE(className)); DERIVE_GUARDIAN(className) = TRUE; } LockReleaseGlobalRecursive(); } return &DERIVE_STATIC_STORAGE(className); } extern className DERIVE_ENSURE_OLD(className)(void); className DERIVE_ENSURE_OLD(className)(void) { return DERIVE_ENSURE(className)(); } static void DERIVE_ENSURE_INTERNAL(className) (className var)AINHERIT_CLASS(this,parentName) BEGIN parentName DERIVE_LOCAL(parentName) = DERIVE_ENSURE(parentName)(); *this = *(DERIVE_LOCAL(parentName)); ProtocolClassSetSuperclassPoly(this, DERIVE_LOCAL(parentName)); ENDODEFINE_ALIAS_CLASS(className,typeName,var) typedef typeName className; typedef DERIVE_STRUCT(typeName) DERIVE_STRUCT(className); DEFINE_CLASS(className, var)VProtocolClassSig ((Sig)0x519B60C7)WProtocolInstSig ((Sig)0x519B6014)ProtocolClassSuperclassPoly(class) (((ProtocolClass)(class))->superclass)ClassOfPoly(inst) ((ProtocolInst)(inst)->class)IsSubclassPoly(sub,super) ProtocolIsSubclass((ProtocolClass)(sub), (ProtocolClass)(super))SUPERCLASS(className) ProtocolClassSuperclassPoly(DERIVE_ENSURE(className)())chain_h GenDescSig ((Sig)0x5199E4DE)+PoolGenSig ((Sig)0x519B009E);ChainSig ((Sig)0x519C8A14)XPoolGenNr(gen) ((gen)->nr)/PoolClassSig ((Sig)0x519C7A55)]PoolSig ((Sig)0x519B0019)}MFSSig ((Sig)0x5193F599)MVSig ((Sig)0x5193B999)ReservoirSig ((Sig)0x5196e599)MessageClassSig ((Sig)0x519359c1)MessageSig ((Sig)0x5193e559)SegClassSig ((Sig)0x5195E9C7)SegSig ((Sig)0x5195E999)GCSegSig ((Sig)0x5199C5E9)SegPrefSig ((Sig)0x5195E9B6)BufferClassSig ((Sig)0x519B0FC7)BufferSig ((Sig)0x519B0FFE)SegBufSig ((Sig)0x51959B0F)FormatSig ((Sig)0x519F63A2)ScanStateSig ((Sig)0x5195CA45)TraceSig ((Sig)0x51924ACE)ChunkCacheEntrySig ((Sig)0x519C80CE)ArenaClassSig ((Sig)0x519A6C1A)GlobalsSig ((Sig)0x519970BA)ArenaSig ((Sig)0x519A6E4A)%BoolCheck(b) ((unsigned)(b) <= 1)(FUNCHECK(f) (FunCheck((Fun)f))4WordIsAligned(w,a) (((w) & ((a) - 1)) == 0)7WordAlignUp(w,a) (((w) + (a) - 1) & ~((Word)(a) - 1));WordRoundUp(w,r) (((w)+(r)-1) - ((w)+(r)-1)%(r))>WordAlignDown(w,a) ((w) & ~((Word)(a) - 1))@size_tAlignUp(s,a) ((size_t)WordAlignUp((Word)(s), a))BPointerAdd(p,s) ((void *)((char *)(p) + (s)))CPointerSub(p,s) ((void *)((char *)(p) - (s)))EPointerOffset(base,limit) ((size_t)((char *)(limit) - (char *)(base)))HPointerAlignUp(p,s) ((void *)WordAlignUp((Word)(p), (Align)(s)))KAddrAdd(p,s) ((Addr)PointerAdd((void *)(p), s))LAddrSub(p,s) ((Addr)PointerSub((void *)(p), s))NAddrOffset(b,l) ((Size)(PointerOffset((void *)(b), (void *)(l))))RAddrAlignDown(p,a) ((Addr)WordAlignDown((Word)(p), a))TAlignWord(s) ((Word)(s))VAddrIsAligned(p,a) WordIsAligned((Word)(p), a)WAddrAlignUp(p,a) ((Addr)WordAlignUp((Word)(p), a))YSizeIsAligned(s,a) WordIsAligned((Word)(s), a)ZSizeAlignUp(s,a) ((Size)WordAlignUp((Word)(s), a))[SizeAlignDown(s,a) ((Size)WordAlignDown((Word)(s), a))]SizeRoundUp(s,r) ((Size)WordRoundUp((Word)(s), (Size)(r)))_IndexIsAligned(s,a) WordIsAligned((Word)(s), a)`IndexAlignUp(s,a) ((Index)WordAlignUp((Word)(s), a))aIndexAlignDown(s,a) ((Index)WordAlignDown((Word)(s), a))cAlignIsAligned(a1,a2) WordIsAligned((Word)(a1), a2)iAddrSet(target,value,size) mps_lib_memset(target, (int)(value), size)mAddrCopy(target,source,size) mps_lib_memcpy(target, source, size)qAddrComp(a,b,size) mps_lib_memcmp(a, b, size)wADDR_PTR(type,addr) ((type *)(addr))PoolArena(pool) ((pool)->arena)PoolAlignment(pool) ((pool)->alignment)PoolSegRing(pool) (&(pool)->segRing)PoolFix(pool,ss,seg,refIO) ((*(pool)->fix)(pool, ss, seg, refIO))ClassOfPool(pool) ((pool)->class)SuperclassOfPool(pool) ((PoolClass)ProtocolClassSuperclassPoly((pool)->class))DEFINE_POOL_CLASS(className,var) DEFINE_ALIAS_CLASS(className, PoolClass, var)POOL_SUPERCLASS(className) ((PoolClass)SUPERCLASS(className))TraceSetSingle(trace) BS_SINGLE(TraceSet, (trace)->ti)TraceSetIsSingle(ts) BS_IS_SINGLE(ts)TraceSetIsMember(ts,trace) BS_IS_MEMBER(ts, (trace)->ti)TraceSetAdd(ts,trace) BS_ADD(TraceSet, ts, (trace)->ti)TraceSetDel(ts,trace) BS_DEL(TraceSet, ts, (trace)->ti)TraceSetUnion(ts1,ts2) BS_UNION(ts1, ts2)TraceSetInter(ts1,ts2) BS_INTER(ts1, ts2)TraceSetDiff(ts1,ts2) BS_DIFF(ts1, ts2)TraceSetSuper(ts1,ts2) BS_SUPER(ts1, ts2)TraceSetSub(ts1,ts2) BS_SUB(ts1, ts2)TraceSetComp(ts) BS_COMP(ts)TRACE_SET_ITER(ti,trace,ts,arena) for(ti = 0, trace = ArenaTrace(arena, ti); ti < TraceLIMIT; ++ti, trace = ArenaTrace(arena, ti)) BEGIN if (TraceSetIsMember(ts, trace)) {TRACE_SET_ITER_END(ti,trace,ts,arena) } ENDTRACE_SCAN_BEGIN(ss) BEGIN Shift SCANzoneShift = (ss)->zoneShift; ZoneSet SCANwhite = (ss)->white; RefSet SCANsummary = (ss)->unfixedSummary; Word SCANt; {TRACE_FIX1(ss,ref) (SCANt = (Word)1 << ((Word)(ref) >> SCANzoneShift & (MPS_WORD_WIDTH-1)), SCANsummary |= SCANt, SCANwhite & SCANt)TRACE_FIX2(ss,refIO) ((*(ss)->fix)(ss, refIO))TRACE_FIX(ss,refIO) (TRACE_FIX1(ss, *(refIO)) ? TRACE_FIX2(ss, refIO) : ResOK)TRACE_SCAN_END(ss) } (ss)->unfixedSummary = SCANsummary; ENDDEFINE_ARENA_CLASS(className,var) DEFINE_ALIAS_CLASS(className, ArenaClass, var)ARENA_SUPERCLASS(className) ((ArenaClass)SUPERCLASS(className))ArenaGlobals(arena) (&(arena)->globals)GlobalsArena(glob) PARENT(ArenaStruct, globals, glob)ArenaRootRing(arena) (&(arena)->rootRing)ArenaTraceRing(arena) (&(arena)->traceRing)ArenaThreadRing(arena) (&(arena)->threadRing)ArenaEpoch(arena) ((arena)->epoch)ArenaTrace(arena,ti) (&(arena)->trace[ti])ArenaZoneShift(arena) ((arena)->zoneShift)ArenaAlign(arena) ((arena)->alignment)ArenaGreyRing(arena,rank) (&(arena)->greyRing[rank])ArenaReservoir(arena) (&(arena)->reservoirStruct)DEFINE_SEG_CLASS(className,var) DEFINE_ALIAS_CLASS(className, SegClass, var)SEG_SUPERCLASS(className) ((SegClass)SUPERCLASS(className))ClassOfSeg(seg) ((seg)->class)SegBase(seg) (TractBase((seg)->firstTract))SegLimit(seg) ((seg)->limit)SegPool(seg) (TractPool((seg)->firstTract))SegRankSet(seg) ((RankSet)(seg)->rankSet)SegPM(seg) ((AccessSet)(seg)->pm)SegSM(seg) ((AccessSet)(seg)->sm)SegDepth(seg) ((unsigned)(seg)->depth)SegGrey(seg) ((TraceSet)(seg)->grey)SegWhite(seg) ((TraceSet)(seg)->white)SegNailed(seg) ((TraceSet)(seg)->nailed)SegOfPoolRing(node) (RING_ELT(Seg, poolRing, (node)))SegOfGreyRing(node) (&(RING_ELT(GCSeg, greyRing, (node)) ->segStruct))SegSummary(seg) (((GCSeg)(seg))->summary)SegSetPM(seg,mode) ((void)((seg)->pm = (mode)))SegSetSM(seg,mode) ((void)((seg)->sm = (mode)))SegSetDepth(seg,d) ((void)((seg)->depth = (d)))SegSetNailed(seg,ts) ((void)((seg)->nailed = (ts)))BUFFER_RESERVE(pReturn,buffer,size,withReservoirPermit) (AddrAdd(BufferAlloc(buffer), size) > BufferAlloc(buffer) && AddrAdd(BufferAlloc(buffer), size) <= BufferAP(buffer)->limit ? (*(pReturn) = BufferAlloc(buffer), BufferAP(buffer)->alloc = AddrAdd(BufferAlloc(buffer), size), ResOK) : BufferFill(pReturn, buffer, size, withReservoirPermit))BUFFER_COMMIT(buffer,p,size) (BufferAP(buffer)->init = BufferAlloc(buffer), BufferAP(buffer)->limit != 0 || BufferTrip(buffer, p, size))BufferAP(buffer) (&(buffer)->apStruct)BufferOfAP(ap) PARENT(BufferStruct, apStruct, ap)BufferArena(buffer) ((buffer)->arena)BufferPool(buffer) ((buffer)->pool)BufferBase(buffer) ((buffer)->base)BufferGetInit(buffer) (BufferAP(buffer)->init)BufferAlloc(buffer) (BufferAP(buffer)->alloc)BufferLimit(buffer) ((buffer)->poolLimit)DEFINE_BUFFER_CLASS(className,var) DEFINE_ALIAS_CLASS(className, BufferClass, var)BUFFER_SUPERCLASS(className) ((BufferClass)SUPERCLASS(className))RankSetIsMember(rs,r) BS_IS_MEMBER((rs), (r))RankSetSingle(r) BS_SINGLE(RankSet, (r))RankSetIsSingle(r) BS_IS_SINGLE(r)RankSetUnion(rs1,rs2) BS_UNION((rs1), (rs2))RankSetDel(rs,r) BS_DEL(RankSet, (rs), (r))AddrZone(arena,addr) (((Word)(addr) >> (arena)->zoneShift) & (MPS_WORD_WIDTH - 1))RefSetUnion(rs1,rs2) BS_UNION((rs1), (rs2))RefSetInter(rs1,rs2) BS_INTER((rs1), (rs2))RefSetDiff(rs1,rs2) BS_DIFF((rs1), (rs2))RefSetAdd(arena,rs,addr) BS_ADD(RefSet, rs, AddrZone(arena, addr))RefSetIsMember(arena,rs,addr) BS_IS_MEMBER(rs, AddrZone(arena, addr))RefSetSuper(rs1,rs2) BS_SUPER((rs1), (rs2))RefSetSub(rs1,rs2) BS_SUB((rs1), (rs2))ZoneSetUnion(zs1,zs2) BS_UNION(zs1, zs2)ZoneSetInter(zs1,zs2) BS_INTER(zs1, zs2)ZoneSetDiff(zs1,zs2) BS_DIFF(zs1, zs2)ZoneSetAdd(arena,zs,addr) BS_ADD(ZoneSet, zs, AddrZone(arena, addr))ZoneSetIsMember(arena,zs,addr) BS_IS_MEMBER(zs, AddrZone(arena, addr))ZoneSetSub(zs1,zs2) BS_SUB(zs1, zs2)ZoneSetSuper(zs1,zs2) BS_SUPER(zs1, zs2)ZoneSetComp(zs) BS_COMP(zs)STATISTIC(gather) BEGIN (gather); ENDSTATISTIC_STAT(gather) BEGIN gather; ENDSTATISTIC_WRITE(format,arg) (format), (arg),pool.cJan 17 200703:39:22 alignment $W arena $P ($U) class $P ("$S") Pool $P ($U) { emptyInternalSize $UKb fillInternalSize $UKb emptyMutatorSize $UKb fillMutatorSize $UKb } Pool $P ($U) $Id: //info.ravenbrook.com/project/mps/master/code/pool.c#10 $:|  AB  AB AB P. 4AB F~.AB P. 4nAB FO.ZAB DG. 0AB FJ.0AB DOAB BQ.AB P.AB V. AB P.AB P.AB P.AB S.4AB P.LAB S.lAB P.AB V. AB P.0AB F[.@_..0V.G. H AB h4AB M.3AB DM.,#PoolClassCheck#PoolCheck#PoolInit]$PoolInitV%PoolCreate&PoolCreateV&PoolFinish'PoolDestroyk'PoolDefaultBufferClass'PoolAlloc'PoolFree@(PoolAccess(PoolWhiten(PoolGrey5)PoolBlackenz)PoolScan)PoolFix(*PoolFixEmergency*PoolReclaim*PoolWalk)+PoolFreeWalkj+PoolDescribe+PoolFormat ,PoolOfAddrx,PoolHasAddr,poolSrcId 37allocTablePoolAccessPoolClassCheckPoolDescribeMethodcontrolPoolStructpageTableLimitGlobalsPoolHasAddrgreySegMaxchunkFinishnamepageSizeFormatPadMethodrankrootSerialchunkRingArenaAllocMethodPoolFixEmergencyreservoirSizeactiveTracesformatfoundationPoolDefaultBufferClassLockPoolBufferClassMethodTraceFixMethodsuperclassthreadRingunitsPerExtentPagefillMutatorSizepoolSerialPoolFixBoolprehistoryArenaFreeMethodunitSizesetRankSetunsigned intGNU C 3.4.6 [FreeBSD] 20060305BufferRankSetMethodextendArenaChunkFinishMethodfillInternalSizeBufferReassignSegMethodreassignSegisCollectedpoolReadyscmidwhiteSegRefCountforwardedSizeforwardedCountArenaSpareCommitExceededMethodProtocolClassmergegreyRingfinishshort intAlignArenaDescribeMethodprotocoldescribefillSizesegScanCount_oldPoolmodePoolDebugMixinStructrememberedSummaryRingprevfixRefCountserialEpoch_newsetBufferapStructemptyMutatorSizeallocMutatorSizetraceSetPoolFramePushMethodPoolReclaimPoolFinishMethodbusyTracesPoolFinishlwPopPendingchunkspansallocBasesuspendedpollThresholdArenaStructenabledMessageTypesmpsVersionStringSizefreeListframePopGlobalsStructreservoirStructPoolInitChainStructfailInitbaseArenaClassAccessSetframeptrhistorySegSetRankSummaryMethodFileSrcIdStructlong long unsigned intfileoffsetPoolCreateVtracepoolReturnshDepthpReturnhighattrgenCountSegClassStructtractrateFreeBlockStepMethodPoolFreePoolClassStructglobalsprimaryArenaChunkInitMethodarenaBufferFinishMethodFormatVarietyfailPoolInitPoolWalkMethodskipPoolFreeMethodmortalitywasMarkedproflowmessageRingsize_tmoveAPStructTractStructrampEndmayMoveBootBlockpoolLimitChunkclampedPoolReclaimMethodunroundedUnitSizeshCachePoolDestroyreclaimCountpageTablePagesfreePoolFixMethodSegPrefWordmps_lib_stream_sFormatStructpreservedInPlaceCountfreewalkframePushFormattedObjectsStepMethodargsSegClassgensCountPageStructisMovedsetRankSummarySegDescribeMethodbufferClassPoolDebugMixinPoolScanSegSetSummaryMethodinsidePollreclaimAddrreservoirLimitcharscannedSizenodePoolDescribereservemanagedBufferStructFormatScanMethodchunkSerialSegFinishMethodMFSHeaderStructSerialLockStructsplitFormatClassMethodArenaFormatMoveMethodspacefinalPoolBufferDescribeMethodBufferModelimitMFSStructArenaInitMethodlockrampCountPoolFixEmergencyMethodzoneShiftstreampagesisGennailedPoolFreeWalkMethodchainva_listChainlong long intMVStructtracedTimeZoneSetTractBufferSegMethoddepthPoolRampEndMethodlocusRingfixEmergencyTracegreylastWorldCollectPoolDebugMixinMethodpageShiftChunkCacheEntryStructBufferClassStructArenaClassStructrememberedSummaryIndexgreySegCountisMutatorArenaFinishMethodfixedSummarycommittedframePopPendingPoolBlackenPoolAllocscansingleCopiedSizeSegSetBufferMethodProtocolInstStructAddrStructrampBeginbufferPoolRampBeginMethodsizeSegStructGenDescStructProtocolInstBufferSetRankSetMethodinitAtFlipPoolStructnextNodepoolRing_ringFormatdetachspareCommitLimittopGenPoolWhitenMethodspanPoolStructPoolInitMethodTraceIdpoolcontextaccesschainRingPoolGreyMethodlastTractMutatorFaultContextvarietyemptyInternalSizeSrcIdarenaRingsegRefCountavgSizecopytractListPoolWhitenBufferDetachMethodPoolScanMethodFormatCopyMethodaddrPoollostcapacitywhitenScanStatecondemnedbufferRingChunkStructflippedTracesrootScanCountenabledrootScanSizepointlessScanCountallocRankshCacheLimitsegCopiedSizefailControlAllocBufferInitMethodlong intsetSummarynotCondemnedextendByTraceStateTraceSetstatepreservedInPlaceSizenextSegBufferMethodbuild_timerefIOPoolCreatePoolClassProtocolCoerceInstMethodemergencyPoolBlackenMethodwhitepoolStruct__size_trootRingSegInitMethodFormatSkipMethodsegScanSizecopiedSizewithReservoirPermitArenaExtendMethodScanStateStructSegSetWhiteMethodunfixedSummarypageTableBaseclassIdlastTractBasethreadSeriallabelledsetGreytracedSize__va_listwalksetWhitePoolAllocMethodRingStructrankSetlong unsigned intPoolFramePopPendingMethodSrcIdStructBootBlockStructwriteBarrierHitCountMutatorFaultContextStructArenaReservedMethodinitformatReturnAttrpoolSrcIdPoolFormatbufferLoggingProtocolClassStructclassbufferFillIndexspareCommitExceededPoolFreeWalkFormatIsMovedMethodmaxSizechunkInitPoolAccessMethodsnapCounttypeattachnailCountunsigned char__uint32_tspareCommittedinsideShieldRingSegSplitMethodblockPoolStructRefSetAllocFrameStructPoolFramePopMethodPoolWalktractStructBufferClassformatSerialaddrsegRingAllocFramePoolGreyhasSegcoerceClassReservoirStructbuild_datesingleScanSizeBufferreadBarrierHitCountpageTableheaderSizecoerceInstdebugMixinchunkCachesigned charSegMergeMethodSegPrefStructmps_lib_FILEPoolBufferFillMethodreclaimSizebufferSerialshort unsigned intzonesbufferEmptyProtocolCoerceClassMethodreservedRankSetisFinalPoolPoolCheckdoublesingleScanCountfirstTractalignmentPoolBufferEmptyMethodBufferAttachMethodrestSegSetRankSetMethodShiftemptySize/home/hannes/dylan/mps/codeTraceStructPoolOfAddrpool.ctotalReturnglobalRingformatRingcommitLimitrootCopiedSizeSegSetGreyMethodPoolInitVshCacheIepochblackentracesGCC: (GNU) 3.4.6 [FreeBSD] 20060305.symtab.strtab.shstrtab.rel.text.rel.data.bss.debug_abbrev.rel.debug_info.rel.debug_line.debug_macinfo.rodata.str1.1.rodata.str1.4.rel.rodata.rodata.cst4.rel.debug_frame.rel.debug_pubnames.rel.debug_aranges.debug_ranges.debug_str.comment4 )% /4F,B pV5DR < b7uq22? D ЮԮ dб v  0%4@ t    " 1 ;D4NY4ner~Z00DO4L l!.;BQ`H kh4v3pool.cFileSrcIdStructpoolSrcIdPoolClassCheckPoolCheckPoolInitPoolInitVPoolCreatePoolCreateVControlAllocControlFreePoolFinishPoolDestroyPoolDefaultBufferClassPoolAllocPoolFreePoolAccessPoolWhitenPoolGreyPoolBlackenPoolScanPoolFixPoolFixEmergencyPoolReclaimPoolWalkPoolFreeWalkPoolDescribeWriteFFormatDescribeBufferDescribePoolFormatPoolOfAddrTractOfAddrPoolHasAddr,,Mk$    !-@.X |    -/ $-y21  !%*18?MX_fmt{(39Zev| #.9Tek-<KZiy,;Ziq%4CRap (6DR`n &4BP^lz"0>LZhv  ) 8 G V e t            ( 7 F U d s           : I X g v            + @ V d r           0 > L Z h v         !0@U,>Qfn|$2Od{ />M\kz 0@P`p 0@P`p 0@P`p )8GVet $*;EM[iw9z<m?f0;f#Ek?kO:aBc   . E P \ m         .!_!n!!!!!!!!!!"""+"9"G"d"p"""""""""""#(#3#?#K#]#########$ $$$&$4$P$c$n$r$y$$$$$$$$$$$$%%%%!%3%7%<%I%Y%]%b%r%v%{%%%%%%%%%%% &&&&,&:&G&b&o&}&&&&&&&&&&&&&&&&&' '' '(','3'A'O']'q'}''''''''''( ( ((1(F(R(V(](z(((((((((() ));)C)G)N)\))))))))))*.*6*:*A*l**********/+7+;+B+p+|++++++++++++ ,&,2,6,=,K,Z,i,~,,,,,,,,,, ,,s    04HLdh $(DH`d| $(@D\`x|poolabs.o/ 1169001562 1001 1001 100644 70532 ` ELF 4(UEH0@(@,ÉUEH@0@4@`@d@tÉUEH@8@D@@ÍvUEHUEH@<@X@\U=u1=u h .v ÐUÍvUS]PSPSP S CCCCCC C$C(C,C0C4C8C<C@CDCHCLCPCTCXC\C`CdChClCpCtCxC|ǃǃUzQ[ÉU=u1=u h.vÐUÍvUVS]ƃhPSsSe[^ÍvU=u1=u h`.v`ÐUÍvUVS]ƃhPSsSe[^ÍvU= u1= u h. vÐUÍvUVS]ƃhPSsCte[^ÉU=u1=u h.vÐUÍvUVS]ƃhPSsSe[^ÍvU=u1=u h@.v@ÐUÍvUVS]ƃhPSsSe[^ÍvUÍvUÉUÉUÉUÍvUÍvUÉUS]uSuEP…uEUU Ћ]ÐUÍvUUE9v)PRuÉU jhDu ÐUÉUÉUÉU uu Ep ÉUWVSu }EX utwVSF#Etu WVSj8 uXу F$PVVSЍe[^_ÉUS ]SE H RS]ÉUÉUÍvUS]CU JuPS]ÍvUÍvUÍvUÉUÉUÍvUÍvUÍvUÍvUÍvUÉUÉUÍvUÉUÉUÍvUÍvUC% $ > $ > : ; I I&I : ;  : ; I8 < : ; I  : ;I8 : ;I8  : ; I8  : ; I 8  : ;I 8  : ;I 8  : ; ' II' ' I : ;  : ;  : ; I: ;II!I/ .? : ; ' @ : ; I .? : ; ' I@ .: ; ' @ ! "4: ; I #.? : ; ' I@ $: ; I %.? : ;' I@ &: ;I '4: ;I (.? : ;' @ ): ;I *4: ;I +4: ;I,.? : ;' I@ -4: ; I?  E33$Lintu 8W& rYJ _L | & 7zEv""$#%#.&#'# " 2  . Sigl ResE  l "ou [#Ym $Y%Y&Y'W (W Ref)d ,Y -Y.WE/W1{2WE3W-4W5W6W8 7W BT:MY ;^d HY@> D!# E# F# jGk# H# ;I# <J#$ Ku#( segL#, M#0 N1#4 OS#8 sigPC#< AW C jad# bd#  cd# dd# e# f#5D <D sigC# # ;8#  # |2 # {# \G# m r# #$ ~ #( #, pad#0 #4 m{#8@F PGXGsig`C#a#b# c# |d2 #qe2 #f# g2 #${h#,.i#0fixj#4ks#8ls#@ms#Hdns#PHH2!#3#4#5#%6-#j7# 8#$9#( :#,;5#0#<c?#@@"#D\AI#HfixB#LPC#P D#TE#X F#\* G#`iH?#d9Ij#hJ#l! K#p L#tM#xN&#|eO#sigPC#IjJ[KLMIN]O $O sigC# ti#  # 9# # Y# # l # X{# {#$ 5{#( B{#, #0 r#4 #8 #< ^{#@ #D #H {#L `#P 9#T a{#X #\ #` #d B#h ,#l O#p  #t # #x  {#|  # _ {# r # #P $ l TP fix@# a Y# 9# # sigC#  #  # # # "#$ #( #, #0 B#4 ,#8 ##< {#@ #D _{#H {#L  {#P Qw }  Qsig>C# ?#@2 # A #*B#] C"#R  F R#p#d#9 # W# & SQ W |8SsigC## #2 # {##d# d# #$r #(C#,c #0 #4T sigC# F # d#  d# # E#Us Uthehm # SegVV sigC# # p #  2 #   d# W#pm "#sm "#c #9 #~  ##T X3LX!###j## # #$#(n #,B#0M#4 o#8#<!#@ `#DsigC#H ZZ sig0C# 1# 2# 3# x 4# gen5#\H\ &!# '## (# )# j*# +# <,#$ -3#( f.>#, /i#0 0#4 1#8 }2#< 3#@ sig4C#D ^*(^ o## p#t r#x t#| 3uX## wc## /y{# Rz{# |{# C}{# a # {#  # Jd# F # 2 # F # ## T!# G2 # s# 2 # 6C# M# # 2 # X# # j ## {# {# {# #  #  # ## vs# s# hY# ## # 2 # # # )## sigC#,t_ sigBC# <E2 # ; F# Is# J# , K# Ls# Ms#( -Ns#0 Os#8 dPs#@ JS#H V#L Y2 #P Z#X S]2 #\ ^#d oa2 #h d#p'd7= . eNT Zgek hh?"#  #X {#\{#`sigC#d+ nN8oHp#3{aqrIOiNd{ttzN{d ud{vNF SmwF x%:N:'xKQfN f4 w}dlSdd\Nd{8R  +1B +X^o1z yjrj  !N:,2`Nddd8,v|Nj8% jjddd{ jR!1j<BSj^duj Nj:{N8^N{ 5d{@FoNj{zjddǦNd",[N "-3I TZyNy  ΊN fJ Њ4 j&jJ9N9jZJPjNjZu{jZ^ ܜll Ex  &N:y17GC5 RXrN dd}dd dd}d{ }  2 t##   m ge#6fE# h+c= gH s i \   \sig}C#~ #x-!#^!# a !-!asigC# #m8!>!X!X!   "xi!o!!!    !$sigC## {# !s#  "s#8#2 #$!!Qo"! t?"#F {#X${#\{#`Y#d`"#h #lsigC#p "! ""X# `?"#"#Xl"#${#{# {# {#{#2 #sigC# "q gd$e##z##2 #7! "" ",# "g$ "b % "& "K$7U6Pp$BNUAP$_QPqUPP$ _tU^P$hUgPovUF vU H%[wUvS!$"x PKULYU %\US!d}"VZUCU &US! "VmcUdqU &tUS!|" VUU &1US!!"V 4{U|U U'US!"V{'U#'(NUO 8 #(NU˞ {̶#[( NU֞ {׶(U$oldd {(rU$oldd {#O)oNU> j{%)INGUR>R&&j&{S&'resNP'pdx(1*X HMU&&j &jd& d(*!PvU& & j &j dR&  dP%* ,NxU&+&k +: %*4NU&3&3 %5+=NU&<&< %+MNU&K)segK &Kd&UL"&L,%,BdNU&bP)segb &bd&Uc"&c,%,N~U&P)segV&dW&U"&,* S!t'refR+resN%,bNU&&P)segS%--8NU&& )seg(s-b U&& )seg(-U&&R)segS(- U&&  )seg(C. U&&  )seg%.NNU&0y)ss  &)seg%.N *U&)ss  )seg&f(9/ ,1U&& )seg(/r 49U&)bufj &T(/\<AU&)bufj (/C#DIU&")buf"j &T"(30+LQU&*)buf*j %}02NT^U&G19&1 )buf1j%0<N`jU&;)buf;j & ;Z( 1 GlqU&F)bufFj & FZ%W1QNt~U&GP9&P )bufPj%12ZNU&Y)bufYj & YZ(1~ eU&c)segc )fdl)pd)sd{(A2UrU&q)fq )pq, ~xU"b-"v"v# "-"#"("#`"  "$""$" "$@zg /usr/include/usr/include/sys/usr/include/machinempm.hconfig.hmpstd.hmisc.hstddef.hcdefs.h_null.h_types.h_types.hcheck.hmpslib.hevent.heventcom.hmpmtypes.hstdarg.heventgen.hlock.hth.hring.hss.htract.hbt.hmpmst.hprotocol.hchain.hpoolabs.c6eHrrMerrsrrrMeHrrt[eH1ertrr1cBcrrrrrrrrrrrrrrrrrrrrrrrrrrrrcBcdcBcdcBcrcBcdcBcd X>[ 9 V?XH:Kf=?>  9  c e `UKXu<,hȺ?>X:V>XAY@@>Y>Y=Y=Y? 9YAY<__STDC_HOSTED__ 1__GNUC__ 3__GNUC_MINOR__ 4__GNUC_PATCHLEVEL__ 6__SIZE_TYPE__ unsigned int__PTRDIFF_TYPE__ int__WCHAR_TYPE__ int__WINT_TYPE__ unsigned int __GXX_ABI_VERSION 1002 __SCHAR_MAX__ 127 __SHRT_MAX__ 32767 __INT_MAX__ 2147483647 __LONG_MAX__ 2147483647L__LONG_LONG_MAX__ 9223372036854775807LL__WCHAR_MAX__ 2147483647__CHAR_BIT__ 8__FLT_EVAL_METHOD__ 2__FLT_RADIX__ 2__FLT_MANT_DIG__ 24__FLT_DIG__ 6__FLT_MIN_EXP__ (-125)__FLT_MIN_10_EXP__ (-37)__FLT_MAX_EXP__ 128__FLT_MAX_10_EXP__ 38__FLT_MAX__ 3.40282347e+38F__FLT_MIN__ 1.17549435e-38F__FLT_EPSILON__ 1.19209290e-7F__FLT_DENORM_MIN__ 1.40129846e-45F__FLT_HAS_INFINITY__ 1__FLT_HAS_QUIET_NAN__ 1__DBL_MANT_DIG__ 53 __DBL_DIG__ 15!__DBL_MIN_EXP__ (-1021)"__DBL_MIN_10_EXP__ (-307)#__DBL_MAX_EXP__ 1024$__DBL_MAX_10_EXP__ 308%__DBL_MAX__ 1.7976931348623157e+308&__DBL_MIN__ 2.2250738585072014e-308'__DBL_EPSILON__ 2.2204460492503131e-16(__DBL_DENORM_MIN__ 4.9406564584124654e-324)__DBL_HAS_INFINITY__ 1*__DBL_HAS_QUIET_NAN__ 1+__LDBL_MANT_DIG__ 53,__LDBL_DIG__ 15-__LDBL_MIN_EXP__ (-16381).__LDBL_MIN_10_EXP__ (-4931)/__LDBL_MAX_EXP__ 163840__LDBL_MAX_10_EXP__ 49321__DECIMAL_DIG__ 172__LDBL_MAX__ 1.1897314953572316e+4932L3__LDBL_MIN__ 3.3621031431120935e-4932L4__LDBL_EPSILON__ 2.2204460492503131e-16L5__LDBL_DENORM_MIN__ 7.4653686412953080e-4948L6__LDBL_HAS_INFINITY__ 17__LDBL_HAS_QUIET_NAN__ 18__REGISTER_PREFIX__ 9__USER_LABEL_PREFIX__ :__VERSION__ "3.4.6 [FreeBSD] 20060305";__OPTIMIZE__ 1<__FINITE_MATH_ONLY__ 0=__STRICT_ANSI__ 1@__i386 1A__i386__ 1B__tune_i386__ 1C__FreeBSD__ 6D__unix 1E__unix__ 1F__KPRINTF_ATTRIBUTE__ 1J__FreeBSD_cc_version 602001K__ELF__ 1_REENTRANT 1CONFIG_PROD_DYLAN 1CONFIG_VAR_HI 1NDEBUG 1 mpm_h config_h !CONFIG_DEBUG "CHECK_DEFAULT CheckNONE6CHECK_NONE 7MPS_ASSERT_STRING "nonasserted"?EVENT_NONE @MPS_LOG_STRING "nonlogging"EDIAGNOSTICS FMPS_DEBUG_STRING "debug"LMPS_VARIETY_STRING MPS_ASSERT_STRING "." MPS_LOG_STRING "." MPS_DEBUG_STRINGRmpstd_h MPS_PF_FRI4GC MPS_PF_STRING "fri4gc"MPS_OS_FR MPS_ARCH_I4 MPS_BUILD_GC MPS_T_WORD unsigned longMPS_WORD_WIDTH 32MPS_WORD_SHIFT 5MPS_PF_ALIGN 4EPVMDefaultSubsequentSegSIZE (64ul * 1024)ARENA_CONTROL_EXTENDBY ((Size)4096)ARENA_CONTROL_AVGSIZE ((Size)32)ARENA_CONTROL_MAXSIZE ((Size)65536)ArenaPollALLOCTIME (65536.0)ARENA_ZONESHIFT ((Shift)20)ARENA_CLIENT_PAGE_SIZE ((Size)8192)ArenaDefaultZONESET (ZoneSetUNIV << (MPS_WORD_WIDTH / 2))SegPrefDEFAULT { SegPrefSig, TRUE, ArenaDefaultZONESET, FALSE, FALSE, (Serial)0, }LDHistoryLENGTH ((Size)4)StackProbeDEPTH ((Size)0)ShieldCacheSIZE ((size_t)16)ShieldDepthWIDTH (4)VMANPageALIGNMENT ((Align)4096)VMJunkBYTE ((unsigned char)0xA9)TraceLIMIT ((size_t)1)TraceCopyScanRATIO (1.5)RememberedSummaryBLOCK 15EventBufferSIZE ((size_t)4096)EventStringLengthMAX ((size_t)255)ASSERT_BUFFER_SIZE ((Size)512)MPS_PROD_STRING "dylan"MPS_PROD_DYLAN ARENA_INIT_SPARE_COMMIT_LIMIT ((Size)10uL*1024uL*1024uL)THREAD_MULTI PROTECTION DONGLE_NONE PROD_CHECK_DEFAULT CheckSHALLOWARENA_SIZE ((Size)1<<30)misc_h '_STDDEF_H_ )%_SYS_CDEFS_H_ +__BEGIN_DECLS ,__END_DECLS 8__GNUCLIKE_ASM 39__GNUCLIKE_MATH_BUILTIN_CONSTANTS =__GNUCLIKE___TYPEOF 1>__GNUCLIKE___OFFSETOF 1?__GNUCLIKE___SECTION 1A__GNUCLIKE_ATTRIBUTE_MODE_DI 1D__GNUCLIKE_CTOR_SECTION_HANDLING 1G__GNUCLIKE_BUILTIN_CONSTANT_P 1N__GNUCLIKE_BUILTIN_VARARGS 1O__GNUCLIKE_BUILTIN_STDARG 1P__GNUCLIKE_BUILTIN_VAALIST 1T__GNUC_VA_LIST_COMPATIBILITY 1X__GNUCLIKE_BUILTIN_NEXT_ARG 1Y__GNUCLIKE_MATH_BUILTIN_RELOPS \__GNUCLIKE_BUILTIN_MEMCPY 1___CC_SUPPORTS_INLINE 1`__CC_SUPPORTS___INLINE 1a__CC_SUPPORTS___INLINE__ 1c__CC_SUPPORTS___FUNC__ 1d__CC_SUPPORTS_WARNING 1f__CC_SUPPORTS_VARADIC_XXX 1h__CC_SUPPORTS_DYNAMIC_ARRAY_INIT 1k__CC_INT_IS_32BIT 1s__GNUC_PREREQ__(ma,mi) (__GNUC__ > (ma) || __GNUC__ == (ma) && __GNUC_MINOR__ >= (mi))__P(protos) protos__CONCAT1(x,y) x ## y__CONCAT(x,y) __CONCAT1(x,y)__STRING(x) #x__XSTRING(x) __STRING(x)__const const__signed signed__volatile volatile__dead2 __attribute__((__noreturn__))__pure2 __attribute__((__const__))__unused __attribute__((__unused__))__used __attribute__((__used__))__packed __attribute__((__packed__))__aligned(x) __attribute__((__aligned__(x)))__section(x) __attribute__((__section__(x)))__pure __attribute__((__pure__))__always_inline __attribute__((__always_inline__))__nonnull(x) __attribute__((__nonnull__(x)))__restrict __predict_true(exp) __builtin_expect((exp), 1)__predict_false(exp) __builtin_expect((exp), 0)__offsetof(type,field) ((size_t)(&((type *)0)->field))__rangeof(type,start,end) (__offsetof(type, end) - __offsetof(type, start))__printflike(fmtarg,firstvararg) __attribute__((__format__ (__printf__, fmtarg, firstvararg)))__scanflike(fmtarg,firstvararg) __attribute__((__format__ (__scanf__, fmtarg, firstvararg)))__format_arg(fmtarg) __attribute__((__format_arg__ (fmtarg)))__printf0like(fmtarg,firstvararg) __attribute__((__format__ (__printf0__, fmtarg, firstvararg)))__strong_reference(sym,aliassym) extern __typeof (sym) aliassym __attribute__ ((__alias__ (#sym)));__weak_reference(sym,alias) __asm__(".weak " #alias); __asm__(".equ " #alias ", " #sym)__warn_references(sym,msg) __asm__(".section .gnu.warning." #sym); __asm__(".asciz \"" msg "\""); __asm__(".previous")__IDSTRING(name,string) __asm__(".ident\t\"" string "\"")__FBSDID(s) __IDSTRING(__CONCAT(__rcsid_,__LINE__),s)__RCSID(s) __IDSTRING(__CONCAT(__rcsid_,__LINE__),s)__RCSID_SOURCE(s) __IDSTRING(__CONCAT(__rcsid_source_,__LINE__),s)__SCCSID(s) __IDSTRING(__CONCAT(__sccsid_,__LINE__),s)__COPYRIGHT(s) __IDSTRING(__CONCAT(__copyright_,__LINE__),s)__DECONST(type,var) ((type)(uintptr_t)(const void *)(var))__DEVOLATILE(type,var) ((type)(uintptr_t)(volatile void *)(var))__DEQUALIFY(type,var) ((type)(uintptr_t)(const volatile void *)(var))__POSIX_VISIBLE 200112__XSI_VISIBLE 600__BSD_VISIBLE 1__ISO_C_VISIBLE 1999* NULL ((void *)0)+_SYS__TYPES_H_ ! (_MACHINE__TYPES_H_ .__NO_STRICT_ALIGNMENT __GNUC_VA_LIST 2_RUNE_T_DECLARED 8_SIZE_T_DECLARED >_WCHAR_T_DECLARED Boffsetof(type,member) __offsetof(type, member)*SRCID(id,scmid) static SrcIdStruct FileSrcIdStruct = {__FILE__, (scmid), __DATE__, __TIME__}; SrcId id ## SrcId = &FileSrcIdStruct;BEGIN do {> (i)) & 1)BS_UNION(s1,s2) ((s1) | (s2))BS_ADD(ty,s,i) BS_UNION((s), BS_SINGLE(ty, (i)))BS_INTER(s1,s2) ((s1) & (s2))BS_DIFF(s1,s2) BS_INTER((s1), BS_COMP(s2))BS_DEL(ty,s,i) BS_DIFF((s), BS_SINGLE(ty, (i)))BS_SUPER(s1,s2) (BS_INTER((s1), (s2)) == (s2))BS_SUB(s1,s2) BS_SUPER((s2), (s1))BS_IS_SINGLE(s) (((s) & ((s)-1)) == 0)BS_SYM_DIFF(s1,s2) ((s1) ^ (s2)) check_h  mpslib_h mps_lib_EOF (mps_lib_get_EOF())mps_lib_stderr (mps_lib_get_stderr())mps_lib_stdout (mps_lib_get_stdout())0AVER(cond) DISCARD(cond)1AVERT(type,val) DISCARD(type ## Check(val))2AVER_CRITICAL(cond) DISCARD(cond)3AVERT_CRITICAL(type,val) DISCARD(type ## Check(val))MASSERT(cond,condstring) BEGIN if (cond) NOOP; else mps_lib_assert_fail(condstring "\n" __FILE__ "\n" STR(__LINE__)); END_NOTREACHED NOOPjCHECKT(type,val) ((val) != NULL && (val)->sig == type ## Sig)pCHECKS(type,val) DISCARD(CHECKT(type, val))qCHECKL(cond) DISCARD(cond)rCHECKD(type,val) DISCARD(CHECKT(type, val))sCHECKD_NOSIG(type,val) DISCARD((val) != NULL)tCHECKU(type,val) DISCARD(CHECKT(type, val))uCHECKU_NOSIG(type,val) DISCARD((val) != NULL)CHECKLVALUE(lv1,lv2) ((void)sizeof((lv1) = (lv2)), (void)sizeof((lv2) = (lv1)), TRUE)CHECKTYPE(t1,t2) (sizeof(t1) == sizeof(t2) && CHECKLVALUE(*((t1 *)0), *((t2 *)0)))CHECKFIELDAPPROX(s1,f1,s2,f2) (sizeof(((s1 *)0)->f1) == sizeof(((s2 *)0)->f2) && offsetof(s1, f1) == offsetof(s2, f2))CHECKFIELD(s1,f1,s2,f2) (CHECKFIELDAPPROX(s1, f1, s2, f2) && CHECKLVALUE(((s1 *)0)->f1, ((s2 *)0)->f2)) event_h   eventcom_h  mpmtypes_h '_MACHINE_STDARG_H_ -_VA_LIST_DECLARED 3va_start(ap,last) __builtin_stdarg_start((ap), (last))6va_arg(ap,type) __builtin_va_arg((ap), type):va_copy(dest,src) __builtin_va_copy((dest), (src))>va_end(ap) __builtin_va_end(ap)SigInvalid ((Sig)0x51915BAD)SizeMAX ((Size)-1)AccessSetEMPTY ((AccessSet)0)AccessREAD ((AccessSet)(1<<0))AccessWRITE ((AccessSet)(1<<1))AccessSetWIDTH (2)RefSetEMPTY BS_EMPTY(RefSet)RefSetUNIV BS_UNIV(RefSet)ZoneSetEMPTY BS_EMPTY(ZoneSet)ZoneSetUNIV BS_UNIV(ZoneSet)TraceSetEMPTY BS_EMPTY(TraceSet)TraceSetUNIV ((TraceSet)((1u << TraceLIMIT) - 1))RankSetEMPTY BS_EMPTY(RankSet)RankSetUNIV ((RankSet)((1u << RankLIMIT) - 1))AttrFMT ((Attr)(1<<0))AttrSCAN ((Attr)(1<<1))AttrPM_NO_READ ((Attr)(1<<2))AttrPM_NO_WRITE ((Attr)(1<<3))AttrALLOC ((Attr)(1<<4))AttrFREE ((Attr)(1<<5))AttrBUF ((Attr)(1<<6))AttrBUF_RESERVE ((Attr)(1<<7))AttrBUF_ALLOC ((Attr)(1<<8))AttrGC ((Attr)(1<<9))AttrINCR_RB ((Attr)(1<<10))AttrINCR_WB ((Attr)(1<<11))AttrMOVINGGC ((Attr)(1<<12))AttrMASK (AttrFMT | AttrSCAN | AttrPM_NO_READ | AttrPM_NO_WRITE | AttrALLOC | AttrFREE | AttrBUF | AttrBUF_RESERVE | AttrBUF_ALLOC | AttrGC | AttrINCR_RB | AttrINCR_WB | AttrMOVINGGC)BufferModeATTACHED ((BufferMode)(1<<0))BufferModeFLIPPED ((BufferMode)(1<<1))BufferModeLOGGED ((BufferMode)(1<<2))BufferModeTRANSITION ((BufferMode)(1<<3))RootModeCONSTANT ((RootMode)1<<0)RootModePROTECTABLE ((RootMode)1<<1)RootModePROTECTABLE_INNER ((RootMode)1<<2)STATISTIC_DECL(field) field!EventNameMAX ((size_t)19)"EventCodeMAX ((EventCode)0x0069)&EVENT_0(type) NOOPEVENT_A(type,p0) NOOPEVENT_AW(type,p0,p1) NOOPEVENT_P(type,p0) NOOPEVENT_PAA(type,p0,p1,p2) NOOPEVENT_PAW(type,p0,p1,p2) NOOPEVENT_PAWA(type,p0,p1,p2,p3) NOOPEVENT_PDDWWW(type,p0,p1,p2,p3,p4,p5) NOOPEVENT_PP(type,p0,p1) NOOPEVENT_PPAU(type,p0,p1,p2,p3) NOOPEVENT_PPAWP(type,p0,p1,p2,p3,p4) NOOPEVENT_PPP(type,p0,p1,p2) NOOPEVENT_PPPA(type,p0,p1,p2,p3) NOOPEVENT_PPPU(type,p0,p1,p2,p3) NOOPEVENT_PPPUU(type,p0,p1,p2,p3,p4) NOOPEVENT_PPU(type,p0,p1,p2) NOOPEVENT_PPUU(type,p0,p1,p2,p3) NOOPEVENT_PPUWWW(type,p0,p1,p2,p3,p4,p5) NOOPEVENT_PPWW(type,p0,p1,p2,p3) NOOPEVENT_PPWWW(type,p0,p1,p2,p3,p4) NOOPEVENT_PPWWWUUU(type,p0,p1,p2,p3,p4,p5,p6,p7) NOOPEVENT_PU(type,p0,p1) NOOPEVENT_PW(type,p0,p1) NOOPEVENT_PWA(type,p0,p1,p2) NOOPEVENT_PWAW(type,p0,p1,p2,p3) NOOPEVENT_PWP(type,p0,p1,p2) NOOPEVENT_PWU(type,p0,p1,p2) NOOPEVENT_PWW(type,p0,p1,p2) NOOPEVENT_PWWWWDD(type,p0,p1,p2,p3,p4,p5,p6) NOOPEVENT_PWWWWW(type,p0,p1,p2,p3,p4,p5) NOOPEVENT_PWWWWWWWWW(type,p0,p1,p2,p3,p4,p5,p6,p7,p8,p9) NOOPEVENT_PWWWWWWWWWWWW(type,p0,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11,p12) NOOPEVENT_UUPA(type,p0,p1,p2,p3) NOOPEVENT_UUPP(type,p0,p1,p2,p3) NOOPEVENT_UUPPP(type,p0,p1,p2,p3,p4) NOOPEVENT_WS(type,p0,p1,l1) NOOP:EventEventTime ((EventType)0xEF213E99);EventPoolInit ((EventType)0xEFB07141)EventPoolFree ((EventType)0xEFB07F6E)?EventArenaCreateVM ((EventType)0xEFA64CF3)@EventArenaCreateVMNZ ((EventType)0xEFA64CF2)AEventArenaCreateCL ((EventType)0xEFA64CC7)BEventArenaDestroy ((EventType)0xEFA64DE5)CEventArenaAlloc ((EventType)0xEFA64A77)DEventArenaFree ((EventType)0xEFA64F6E)EEventSegAlloc ((EventType)0xEF5E9A77)FEventSegFree ((EventType)0xEF5E9F6E)GEventSegMerge ((EventType)0xEF5E93E6)HEventSegSplit ((EventType)0xEF5E95B7)IEventAMCGenCreate ((EventType)0xEFA3C94C)JEventAMCGenDestroy ((EventType)0xEFA3C94D)KEventAMCInit ((EventType)0xEFA3C141)LEventAMCFinish ((EventType)0xEFA3CF14)MEventAMCTraceBegin ((EventType)0xEFA3C26B)NEventAMCScanBegin ((EventType)0xEFA3C5CB)OEventAMCScanEnd ((EventType)0xEFA3C5CE)PEventAMCFix ((EventType)0xEFA3CF18)QEventAMCFixInPlace ((EventType)0xEFA3CF8A)REventAMCFixForward ((EventType)0xEFA3CF8F)SEventAMCReclaim ((EventType)0xEFA3C6EC)TEventTraceStart ((EventType)0xEF26AC52)UEventTraceCreate ((EventType)0xEF26ACC6)VEventTraceDestroy ((EventType)0xEF26ACDE)WEventSegSetGrey ((EventType)0xEF59596A)XEventTraceFlipBegin ((EventType)0xEF26AF7B)YEventTraceFlipEnd ((EventType)0xEF26AF7E)ZEventTraceReclaim ((EventType)0xEF26A6EC)[EventTraceScanSeg ((EventType)0xEF26A559)\EventTraceScanSingleRef ((EventType)0xEF26A556)^EventTraceAccess ((EventType)0xEF26AACC)_EventTracePoll ((EventType)0xEF26AB01)`EventTraceStep ((EventType)0xEF26A52B)aEventTraceFix ((EventType)0xEF26AF18)bEventTraceFixSeg ((EventType)0xEF26AF85)cEventTraceFixWhite ((EventType)0xEF26AF83)dEventTraceScanArea ((EventType)0xEF26A5CA)eEventTraceScanAreaTagged ((EventType)0xEF26A5C2)fEventVMCreate ((EventType)0xEFF3C6EA)gEventVMDestroy ((EventType)0xEFF3DE52)hEventVMMap ((EventType)0xEFF33AB9)iEventVMUnmap ((EventType)0xEFF3043B)jEventIntern ((EventType)0xEF142E64)kEventArenaExtend ((EventType)0xEFA64E82)lEventArenaRetract ((EventType)0xEFA646E2)mEventRootScan ((EventType)0xEF625CA4)nEventLabel ((EventType)0xEF7ABE79)oEventTraceSegGreyen ((EventType)0xEF26A599)pEventBufferReserve ((EventType)0xEFB0FF6E)qEventBufferCommit ((EventType)0xEFB0FFC0)rEventBufferInit ((EventType)0xEFB0FF14)sEventBufferInitSeg ((EventType)0xEFB0F15E)tEventBufferInitRank ((EventType)0xEFB0F16A)uEventBufferInitEPVM ((EventType)0xEFB0F1EF)vEventBufferFinish ((EventType)0xEFB0FFF1)wEventBufferFill ((EventType)0xEFB0FFF7)xEventBufferEmpty ((EventType)0xEFB0FFE3)yEventArenaAllocFail ((EventType)0xEFA64A7F)zEventSegAllocFail ((EventType)0xEF5E9A7F){EventMeterInit ((EventType)0xEF3E2141)|EventMeterValues ((EventType)0xEF3E2FA7)}EventCBSInit ((EventType)0xEFCB5141)~EventTraceStatCondemn ((EventType)0xEF26A5C0)EventTraceStatScan ((EventType)0xEF26A55C)EventTraceStatFix ((EventType)0xEF26A5F8)EventTraceStatReclaim ((EventType)0xEF26A56E)EventArenaWriteFaults ((EventType)0xEFA6436F)EventPoolInitMV ((EventType)0xEFB0713F)EventPoolInitMVFF ((EventType)0xEFB071FF)EventPoolInitMFS ((EventType)0xEFB07135)EventPoolInitEPVM ((EventType)0xEFB071EF)EventPoolInitEPDL ((EventType)0xEFB071E7)EventPoolInitAMS ((EventType)0xEFB071A5)EventPoolInitAMC ((EventType)0xEFB071AC)EventPoolInitAMCZ ((EventType)0xEFB071A2)EventPoolInitAWL ((EventType)0xEFB071A3)EventPoolInitLO ((EventType)0xEFB07170)EventPoolInitSNC ((EventType)0xEFB07154)EventPoolInitMVT ((EventType)0xEFB07132)EventPoolPush ((EventType)0xEFB07B58)EventPoolPop ((EventType)0xEFB07B0B)EventReservoirLimitSet ((EventType)0xEF6E5713)EventCommitLimitSet ((EventType)0xEFC03713)EventSpareCommitLimitSet ((EventType)0xEF5BC713)hEventInit() NOOPiEventFinish() NOOPjEventControl(r,f) (UNUSED(r), UNUSED(f), (Word)0)kEventInternString(s) (UNUSED(s), (Word)0)lEventInternGenString(l,s) (UNUSED(l), UNUSED(s), (Word)0)mEventLabelAddr(a,i) BEGIN UNUSED(a); UNUSED(i); ENDPlock_h ULockSig ((Sig)0x51970CC9) th_h  ring_h RingNONE ((Ring)0)$RingInit(ring) BEGIN Ring _ring = (ring); AVER(_ring != NULL); _ring->next = _ring; _ring->prev = _ring; AVER(RingCheck(_ring)); END/RingFinish(ring) BEGIN Ring _ring = (ring); AVER(RingCheckSingle(_ring)); _ring->next = RingNONE; _ring->prev = RingNONE; END9RingAppend(ring,new) BEGIN Ring _ring = (ring), _new = (new); AVER(RingCheck(_ring)); AVER(RingCheckSingle(_new)); _new->prev = _ring->prev; _new->next = _ring; _ring->prev->next = _new; _ring->prev = _new; ENDFRingInsert(ring,new) BEGIN Ring _ring = (ring), _new = (new); AVER(RingCheck(_ring)); AVER(RingCheckSingle(_new)); _new->prev = _ring; _new->next = _ring->next; _ring->next->prev = _new; _ring->next = _new; ENDSRingRemove(old) BEGIN Ring _old = (old); AVER(RingCheck(_old)); AVER(!RingIsSingle(_old)); _old->next->prev = _old->prev; _old->prev->next = _old->next; _old->next = _old; _old->prev = _old; END`RingNext(ring) ((ring)->next)dRingPrev(ring) ((ring)->prev)gRING_ELT(type,field,node) ((type)(void *)((char *)(node) - (size_t)(&((type)0)->field)))kRING_FOR(node,ring,next) for(node = RingNext(ring), next = RingNext(node); node != (ring); node = (next), next = RingNext(node))ThreadSig ((Sig)0x519286ED) ss_h  tract_h   bt_h BTSize(n) (((n) + MPS_WORD_WIDTH-1) / MPS_WORD_WIDTH * sizeof(Word))BTGet(a,i) ((Bool)(((a)[((i) >> MPS_WORD_SHIFT)] >> ((i) & ~((Word)-1 << MPS_WORD_SHIFT))) & (Word)1))BTSet(a,i) BEGIN (a)[((i)>>MPS_WORD_SHIFT)] |= (Word)1<<((i)&~((Word)-1<>MPS_WORD_SHIFT)] &= ~((Word)1 << ((i) & ~((Word)-1<base)&TractPool(tract) ((tract)->pool)'TractP(tract) ((tract)->p)(TractSetP(tract,pp) ((void)((tract)->p = (pp))))TractHasSeg(tract) ((Bool)(tract)->hasSeg)*TractSetHasSeg(tract,b) ((void)((tract)->hasSeg = (b)))+TractWhite(tract) ((tract)->white),TractSetWhite(tract,w) ((void)((tract)->white = (w)))8TRACT_SEG(segReturn,tract) (TractHasSeg(tract) && ((*(segReturn) = (Seg)TractP(tract)), TRUE));TRACT_SET_SEG(tract,seg) (TractSetHasSeg(tract, TRUE), TractSetP(tract, seg))>TRACT_UNSET_SEG(tract) (TractSetHasSeg(tract, FALSE), TractSetP(tract, NULL))nPageTract(page) (&(page)->the.tractStruct)rPageOfTract(tract) PARENT(PageStruct, the.tractStruct, (tract))vPagePool(page) ((page)->the.rest.pool)}PageIsAllocated(page) ((page)->the.rest.pool != NULL)PageType(page) ((page)->the.rest.type)ChunkSig ((Sig)0x519C804C)ChunkArena(chunk) ((chunk)->arena)ChunkPageSize(chunk) ((chunk)->pageSize)ChunkPageShift(chunk) ((chunk)->pageShift)ChunkPagesToSize(chunk,pages) ((Size)(pages) << (chunk)->pageShift)ChunkSizeToPages(chunk,size) ((Count)((size) >> (chunk)->pageShift))CHUNK_OF_ADDR(chunkReturn,arena,addr) (((arena)->chunkCache.base <= (addr) && (addr) < (arena)->chunkCache.limit) ? (*(chunkReturn) = (arena)->chunkCache.chunk, TRUE) : ChunkOfAddr(chunkReturn, arena, addr))AddrPageBase(chunk,addr) AddrAlignDown((addr), ChunkPageSize(chunk))TRACT_OF_ADDR(tractReturn,arena,addr) BEGIN Arena _arena = (arena); Addr _addr = (addr); Chunk _chunk; Index _i; if (CHUNK_OF_ADDR(&_chunk, _arena, _addr)) { _i = INDEX_OF_ADDR(_chunk, _addr); if (BTGet(_chunk->allocTable, _i)) *(tractReturn) = PageTract(&_chunk->pageTable[_i]); else *(tractReturn) = NULL; } else *(tractReturn) = NULL; ENDINDEX_OF_ADDR(chunk,addr) ((Index)ChunkSizeToPages(chunk, AddrOffset((chunk)->base, addr)))PageIndexBase(chunk,i) AddrAdd((chunk)->base, ChunkPagesToSize(chunk, i))TractAverContiguousRange(arena,rangeBase,rangeLimit) BEGIN Chunk _ch = NULL; UNUSED(_ch); AVER(ChunkOfAddr(&_ch, arena, rangeBase) && (rangeLimit) <= _ch->limit); ENDTRACT_TRACT_FOR(tract,addr,arena,firstTract,limit) tract = (firstTract); addr = TractBase(tract); TractAverContiguousRange(arena, addr, limit); for(; tract != NULL; (addr = AddrAdd(addr, (arena)->alignment)), (addr < (limit) ? (tract = PageTract(PageOfTract(tract) + 1)) : (tract = NULL) ))TRACT_FOR(tract,addr,arena,base,limit) TRACT_TRACT_FOR(tract, addr, arena, TractOfBaseAddr(arena, base), limit)mpmst_h protocol_h DERIVE_LOCAL(name) protocol ## nameDERIVE_STRUCT(name) name ## StructDERIVE_ENSURE(name) name ## GetDERIVE_ENSURE_OLD(name) Ensure ## nameDERIVE_ENSURE_INTERNAL(name) protocolGet ## nameDERIVE_GUARDIAN(name) protocol ## name ## GuardianDERIVE_STATIC_STORAGE(name) protocol ## name ## StructProtocolClassSetSuperclassPoly(class,super) (((ProtocolClass)(class))->superclass) = (ProtocolClass)(super)$DEFINE_CLASS(className,var) static Bool DERIVE_GUARDIAN(className) = FALSE; static DERIVE_STRUCT(className) DERIVE_STATIC_STORAGE(className); static void DERIVE_ENSURE_INTERNAL(className)(className); extern className DERIVE_ENSURE(className)(void); className DERIVE_ENSURE(className)(void) { if (DERIVE_GUARDIAN(className) == FALSE) { LockClaimGlobalRecursive(); if (DERIVE_GUARDIAN(className) == FALSE) { DERIVE_ENSURE_INTERNAL(className) (&DERIVE_STATIC_STORAGE(className)); DERIVE_GUARDIAN(className) = TRUE; } LockReleaseGlobalRecursive(); } return &DERIVE_STATIC_STORAGE(className); } extern className DERIVE_ENSURE_OLD(className)(void); className DERIVE_ENSURE_OLD(className)(void) { return DERIVE_ENSURE(className)(); } static void DERIVE_ENSURE_INTERNAL(className) (className var)AINHERIT_CLASS(this,parentName) BEGIN parentName DERIVE_LOCAL(parentName) = DERIVE_ENSURE(parentName)(); *this = *(DERIVE_LOCAL(parentName)); ProtocolClassSetSuperclassPoly(this, DERIVE_LOCAL(parentName)); ENDODEFINE_ALIAS_CLASS(className,typeName,var) typedef typeName className; typedef DERIVE_STRUCT(typeName) DERIVE_STRUCT(className); DEFINE_CLASS(className, var)VProtocolClassSig ((Sig)0x519B60C7)WProtocolInstSig ((Sig)0x519B6014)ProtocolClassSuperclassPoly(class) (((ProtocolClass)(class))->superclass)ClassOfPoly(inst) ((ProtocolInst)(inst)->class)IsSubclassPoly(sub,super) ProtocolIsSubclass((ProtocolClass)(sub), (ProtocolClass)(super))SUPERCLASS(className) ProtocolClassSuperclassPoly(DERIVE_ENSURE(className)())chain_h GenDescSig ((Sig)0x5199E4DE)+PoolGenSig ((Sig)0x519B009E);ChainSig ((Sig)0x519C8A14)XPoolGenNr(gen) ((gen)->nr)/PoolClassSig ((Sig)0x519C7A55)]PoolSig ((Sig)0x519B0019)}MFSSig ((Sig)0x5193F599)MVSig ((Sig)0x5193B999)ReservoirSig ((Sig)0x5196e599)MessageClassSig ((Sig)0x519359c1)MessageSig ((Sig)0x5193e559)SegClassSig ((Sig)0x5195E9C7)SegSig ((Sig)0x5195E999)GCSegSig ((Sig)0x5199C5E9)SegPrefSig ((Sig)0x5195E9B6)BufferClassSig ((Sig)0x519B0FC7)BufferSig ((Sig)0x519B0FFE)SegBufSig ((Sig)0x51959B0F)FormatSig ((Sig)0x519F63A2)ScanStateSig ((Sig)0x5195CA45)TraceSig ((Sig)0x51924ACE)ChunkCacheEntrySig ((Sig)0x519C80CE)ArenaClassSig ((Sig)0x519A6C1A)GlobalsSig ((Sig)0x519970BA)ArenaSig ((Sig)0x519A6E4A)%BoolCheck(b) ((unsigned)(b) <= 1)(FUNCHECK(f) (FunCheck((Fun)f))4WordIsAligned(w,a) (((w) & ((a) - 1)) == 0)7WordAlignUp(w,a) (((w) + (a) - 1) & ~((Word)(a) - 1));WordRoundUp(w,r) (((w)+(r)-1) - ((w)+(r)-1)%(r))>WordAlignDown(w,a) ((w) & ~((Word)(a) - 1))@size_tAlignUp(s,a) ((size_t)WordAlignUp((Word)(s), a))BPointerAdd(p,s) ((void *)((char *)(p) + (s)))CPointerSub(p,s) ((void *)((char *)(p) - (s)))EPointerOffset(base,limit) ((size_t)((char *)(limit) - (char *)(base)))HPointerAlignUp(p,s) ((void *)WordAlignUp((Word)(p), (Align)(s)))KAddrAdd(p,s) ((Addr)PointerAdd((void *)(p), s))LAddrSub(p,s) ((Addr)PointerSub((void *)(p), s))NAddrOffset(b,l) ((Size)(PointerOffset((void *)(b), (void *)(l))))RAddrAlignDown(p,a) ((Addr)WordAlignDown((Word)(p), a))TAlignWord(s) ((Word)(s))VAddrIsAligned(p,a) WordIsAligned((Word)(p), a)WAddrAlignUp(p,a) ((Addr)WordAlignUp((Word)(p), a))YSizeIsAligned(s,a) WordIsAligned((Word)(s), a)ZSizeAlignUp(s,a) ((Size)WordAlignUp((Word)(s), a))[SizeAlignDown(s,a) ((Size)WordAlignDown((Word)(s), a))]SizeRoundUp(s,r) ((Size)WordRoundUp((Word)(s), (Size)(r)))_IndexIsAligned(s,a) WordIsAligned((Word)(s), a)`IndexAlignUp(s,a) ((Index)WordAlignUp((Word)(s), a))aIndexAlignDown(s,a) ((Index)WordAlignDown((Word)(s), a))cAlignIsAligned(a1,a2) WordIsAligned((Word)(a1), a2)iAddrSet(target,value,size) mps_lib_memset(target, (int)(value), size)mAddrCopy(target,source,size) mps_lib_memcpy(target, source, size)qAddrComp(a,b,size) mps_lib_memcmp(a, b, size)wADDR_PTR(type,addr) ((type *)(addr))PoolArena(pool) ((pool)->arena)PoolAlignment(pool) ((pool)->alignment)PoolSegRing(pool) (&(pool)->segRing)PoolFix(pool,ss,seg,refIO) ((*(pool)->fix)(pool, ss, seg, refIO))ClassOfPool(pool) ((pool)->class)SuperclassOfPool(pool) ((PoolClass)ProtocolClassSuperclassPoly((pool)->class))DEFINE_POOL_CLASS(className,var) DEFINE_ALIAS_CLASS(className, PoolClass, var)POOL_SUPERCLASS(className) ((PoolClass)SUPERCLASS(className))TraceSetSingle(trace) BS_SINGLE(TraceSet, (trace)->ti)TraceSetIsSingle(ts) BS_IS_SINGLE(ts)TraceSetIsMember(ts,trace) BS_IS_MEMBER(ts, (trace)->ti)TraceSetAdd(ts,trace) BS_ADD(TraceSet, ts, (trace)->ti)TraceSetDel(ts,trace) BS_DEL(TraceSet, ts, (trace)->ti)TraceSetUnion(ts1,ts2) BS_UNION(ts1, ts2)TraceSetInter(ts1,ts2) BS_INTER(ts1, ts2)TraceSetDiff(ts1,ts2) BS_DIFF(ts1, ts2)TraceSetSuper(ts1,ts2) BS_SUPER(ts1, ts2)TraceSetSub(ts1,ts2) BS_SUB(ts1, ts2)TraceSetComp(ts) BS_COMP(ts)TRACE_SET_ITER(ti,trace,ts,arena) for(ti = 0, trace = ArenaTrace(arena, ti); ti < TraceLIMIT; ++ti, trace = ArenaTrace(arena, ti)) BEGIN if (TraceSetIsMember(ts, trace)) {TRACE_SET_ITER_END(ti,trace,ts,arena) } ENDTRACE_SCAN_BEGIN(ss) BEGIN Shift SCANzoneShift = (ss)->zoneShift; ZoneSet SCANwhite = (ss)->white; RefSet SCANsummary = (ss)->unfixedSummary; Word SCANt; {TRACE_FIX1(ss,ref) (SCANt = (Word)1 << ((Word)(ref) >> SCANzoneShift & (MPS_WORD_WIDTH-1)), SCANsummary |= SCANt, SCANwhite & SCANt)TRACE_FIX2(ss,refIO) ((*(ss)->fix)(ss, refIO))TRACE_FIX(ss,refIO) (TRACE_FIX1(ss, *(refIO)) ? TRACE_FIX2(ss, refIO) : ResOK)TRACE_SCAN_END(ss) } (ss)->unfixedSummary = SCANsummary; ENDDEFINE_ARENA_CLASS(className,var) DEFINE_ALIAS_CLASS(className, ArenaClass, var)ARENA_SUPERCLASS(className) ((ArenaClass)SUPERCLASS(className))ArenaGlobals(arena) (&(arena)->globals)GlobalsArena(glob) PARENT(ArenaStruct, globals, glob)ArenaRootRing(arena) (&(arena)->rootRing)ArenaTraceRing(arena) (&(arena)->traceRing)ArenaThreadRing(arena) (&(arena)->threadRing)ArenaEpoch(arena) ((arena)->epoch)ArenaTrace(arena,ti) (&(arena)->trace[ti])ArenaZoneShift(arena) ((arena)->zoneShift)ArenaAlign(arena) ((arena)->alignment)ArenaGreyRing(arena,rank) (&(arena)->greyRing[rank])ArenaReservoir(arena) (&(arena)->reservoirStruct)DEFINE_SEG_CLASS(className,var) DEFINE_ALIAS_CLASS(className, SegClass, var)SEG_SUPERCLASS(className) ((SegClass)SUPERCLASS(className))ClassOfSeg(seg) ((seg)->class)SegBase(seg) (TractBase((seg)->firstTract))SegLimit(seg) ((seg)->limit)SegPool(seg) (TractPool((seg)->firstTract))SegRankSet(seg) ((RankSet)(seg)->rankSet)SegPM(seg) ((AccessSet)(seg)->pm)SegSM(seg) ((AccessSet)(seg)->sm)SegDepth(seg) ((unsigned)(seg)->depth)SegGrey(seg) ((TraceSet)(seg)->grey)SegWhite(seg) ((TraceSet)(seg)->white)SegNailed(seg) ((TraceSet)(seg)->nailed)SegOfPoolRing(node) (RING_ELT(Seg, poolRing, (node)))SegOfGreyRing(node) (&(RING_ELT(GCSeg, greyRing, (node)) ->segStruct))SegSummary(seg) (((GCSeg)(seg))->summary)SegSetPM(seg,mode) ((void)((seg)->pm = (mode)))SegSetSM(seg,mode) ((void)((seg)->sm = (mode)))SegSetDepth(seg,d) ((void)((seg)->depth = (d)))SegSetNailed(seg,ts) ((void)((seg)->nailed = (ts)))BUFFER_RESERVE(pReturn,buffer,size,withReservoirPermit) (AddrAdd(BufferAlloc(buffer), size) > BufferAlloc(buffer) && AddrAdd(BufferAlloc(buffer), size) <= BufferAP(buffer)->limit ? (*(pReturn) = BufferAlloc(buffer), BufferAP(buffer)->alloc = AddrAdd(BufferAlloc(buffer), size), ResOK) : BufferFill(pReturn, buffer, size, withReservoirPermit))BUFFER_COMMIT(buffer,p,size) (BufferAP(buffer)->init = BufferAlloc(buffer), BufferAP(buffer)->limit != 0 || BufferTrip(buffer, p, size))BufferAP(buffer) (&(buffer)->apStruct)BufferOfAP(ap) PARENT(BufferStruct, apStruct, ap)BufferArena(buffer) ((buffer)->arena)BufferPool(buffer) ((buffer)->pool)BufferBase(buffer) ((buffer)->base)BufferGetInit(buffer) (BufferAP(buffer)->init)BufferAlloc(buffer) (BufferAP(buffer)->alloc)BufferLimit(buffer) ((buffer)->poolLimit)DEFINE_BUFFER_CLASS(className,var) DEFINE_ALIAS_CLASS(className, BufferClass, var)BUFFER_SUPERCLASS(className) ((BufferClass)SUPERCLASS(className))RankSetIsMember(rs,r) BS_IS_MEMBER((rs), (r))RankSetSingle(r) BS_SINGLE(RankSet, (r))RankSetIsSingle(r) BS_IS_SINGLE(r)RankSetUnion(rs1,rs2) BS_UNION((rs1), (rs2))RankSetDel(rs,r) BS_DEL(RankSet, (rs), (r))AddrZone(arena,addr) (((Word)(addr) >> (arena)->zoneShift) & (MPS_WORD_WIDTH - 1))RefSetUnion(rs1,rs2) BS_UNION((rs1), (rs2))RefSetInter(rs1,rs2) BS_INTER((rs1), (rs2))RefSetDiff(rs1,rs2) BS_DIFF((rs1), (rs2))RefSetAdd(arena,rs,addr) BS_ADD(RefSet, rs, AddrZone(arena, addr))RefSetIsMember(arena,rs,addr) BS_IS_MEMBER(rs, AddrZone(arena, addr))RefSetSuper(rs1,rs2) BS_SUPER((rs1), (rs2))RefSetSub(rs1,rs2) BS_SUB((rs1), (rs2))ZoneSetUnion(zs1,zs2) BS_UNION(zs1, zs2)ZoneSetInter(zs1,zs2) BS_INTER(zs1, zs2)ZoneSetDiff(zs1,zs2) BS_DIFF(zs1, zs2)ZoneSetAdd(arena,zs,addr) BS_ADD(ZoneSet, zs, AddrZone(arena, addr))ZoneSetIsMember(arena,zs,addr) BS_IS_MEMBER(zs, AddrZone(arena, addr))ZoneSetSub(zs1,zs2) BS_SUB(zs1, zs2)ZoneSetSuper(zs1,zs2) BS_SUPER(zs1, zs2)ZoneSetComp(zs) BS_COMP(zs)STATISTIC(gather) BEGIN (gather); ENDSTATISTIC_STAT(gather) BEGIN gather; ENDSTATISTIC_WRITE(format,arg) (format), (arg),poolabs.cJan 17 200703:39:22ABSTRACT$Id: //info.ravenbrook.com/project/mps/master/code/poolabs.c#10 $ No class-specific description available. | AB 2AB P!AB t AB $AB GAB b.S. AB AB DGAB b.S.L AB  \1AB BT.L.GAB b.S. AB  1AB BT.L.GAB b.S.d AB t2AB BT.GAB b.S. AB  1AB BT.L.4GAB b.S.| AB  1AB BT.L.AB  AB  AB  AB AB AB  AB ?AB DN.HAB P&AB W.xAB M. AB  AB  AB AB O.$AB FO.~. P.2AB D\. AB AB 9AB Dc.AB  AB  AB   AB ,AB 4AB <AB DAB LAB T AB ` AB lAB t AB  AB AB AB  AB I3&$PoolClassMixInAllocFreeK$PoolClassMixInBufferp$PoolClassMixInScan$PoolClassMixInFormat$PoolClassMixInCollect$AbstractPoolClassGet$EnsureAbstractPoolClassH%AbstractAllocFreePoolClassGet_%EnsureAbstractAllocFreePoolClass%AbstractBufferPoolClassGet%EnsureAbstractBufferPoolClass&AbstractSegBufPoolClassGet1&EnsureAbstractSegBufPoolClass&AbstractScanPoolClassGet&EnsureAbstractScanPoolClass&AbstractCollectPoolClassGet'EnsureAbstractCollectPoolClassU'PoolTrivFinish{'PoolTrivInit'PoolNoAlloc(PoolTrivAlloc[(PoolNoFree(PoolTrivFree(PoolNoBufferFillO)PoolTrivBufferFill)PoolNoBufferEmpty1*PoolTrivBufferEmpty*PoolTrivDescribe*PoolNoTraceBegin*PoolTrivTraceBegin5+PoolNoAccess+PoolSegAccess,PoolSingleAccess,PoolTrivWhiten,PoolNoWhiten--PoolNoGreys-PoolTrivGrey-PoolNoBlacken-PoolTrivBlackenC.PoolNoScan.PoolNoFix.PoolNoReclaim9/PoolNoRampBegin/PoolNoRampEnd/PoolTrivRampBegin/PoolTrivRampEnd30PoolNoFramePush}0PoolNoFramePop0PoolNoFramePopPending 1PoolTrivFramePushW1PoolTrivFramePop1PoolNoWalk1PoolNoFreeWalkA2PoolNoBufferClassj2poolabsSrcIdallocTablePoolClassMixInFormatPoolDescribeMethodcontrolPoolStructpageTableLimitcollectAllPoolClassMixInScangreySegMaxchunkFinishnamePoolTrivFinishpageSizeFormatPadMethodEnsureAbstractScanPoolClassrankrootSerialchunkRingArenaAllocMethodreservoirSizeactiveTracesprotocolProtocolClassformatfoundationLockPoolBufferClassMethodprotocolGetAbstractPoolClassTraceFixMethodsuperclassthreadRingunitsPerExtentPagefillMutatorSizepoolSerialBoolprehistoryArenaFreeMethodprotocolAbstractSegBufPoolClassStructunitSizesetRankSetunsigned intGNU C 3.4.6 [FreeBSD] 20060305BufferRankSetMethodextendArenaChunkFinishMethodPoolNoFramePopprotocolAbstractPoolClassStructfillInternalSizeBufferReassignSegMethodreassignSegisCollectedpoolReadyscmidwhiteSegRefCountforwardedSizeforwardedCountPoolTrivFramePopEnsureAbstractBufferPoolClassArenaSpareCommitExceededMethodProtocolClassmergegreyRingfinishshort intPoolClassMixInCollectAlignArenaDescribeMethodprotocolAbstractScanPoolClassGetdescribefillSizetraceSetsegScanCountprotocolAbstractBufferPoolClassGuardianPoolmodePoolDebugMixinStructrememberedSummaryRingprevfixRefCountserialEnsureAbstractCollectPoolClassprotocolAbstractScanPoolClassGuardianEpochsetBufferAbstractAllocFreePoolClassStructapStructemptyMutatorSizeallocMutatorSizelimitReturnPoolFramePushMethodPoolFinishMethodAbstractPoolClassGetPoolNoFramePushbusyTraceslwPopPendingchunkprotocolAbstractPoolClassGuardianprotocolGetAbstractCollectPoolClassspansallocBasePoolNoFixsuspendedpollThresholdArenaStructenabledMessageTypesmpsVersionStringSizefreeListframePopPoolTrivFreeGlobalsStructreservoirStructprotocolGetAbstractAllocFreePoolClassChainStructPoolNoBlackenbaseArenaClassprotocolAbstractAllocFreePoolClassStructAccessSetframeptrhistorySegSetRankSummaryMethodAbstractCollectPoolClassFileSrcIdStructlong long unsigned intfileoffsetAbstractCollectPoolClassStructPoolTrivRampEndAbstractAllocFreePoolClassGettraceshDepthPoolClassMixInAllocFreePoolTrivBlackenpReturnhighattrgenCountSegClassStructrateframeReturnFreeBlockStepMethodAbstractSegBufPoolClassStructEnsureAbstractSegBufPoolClassprotocolAbstractCollectPoolClassStructPoolClassStructglobalsprimaryArenaChunkInitMethodprotocolAbstractSegBufPoolClassarenaBufferFinishMethodFormatVarietyEnsureAbstractPoolClassPoolWalkMethodskipPoolNoRampBeginPoolFreeMethodmortalityprotocolAbstractSegBufPoolClassGuardianwasMarkedproflowmessageRingsize_tmoveAPStructTractStructrampEndmayMoveBootBlockpoolLimitChunkclampedPoolReclaimMethodunroundedUnitSizePoolNoBufferEmptyshCachereclaimCountpageTablePagesfreePoolFixMethodSegPrefWordmps_lib_stream_sFormatStructprotocolAbstractCollectPoolClassGuardianPoolNoFramePopPendingpreservedInPlaceCountfreewalkframePushFormattedObjectsStepMethodargsSegClassgensPoolNoGreyCountPageStructisMovedsetRankSummarySegDescribeMethodbufferClassPoolDebugMixinSegSetSummaryMethodPoolNoBufferClassinsidePollreclaimAddrreservoirLimitcharscannedSizereserveBufferStructFormatScanMethodchunkSerialSegFinishMethodAbstractScanPoolClassStructPoolNoWalkMFSHeaderStructPoolTrivDescribeSerialLockStructsplitFormatClassMethodArenaFormatMoveMethodspacefinalPoolBufferDescribeMethodBufferModelimitMFSStructArenaInitMethodlockrampCountPoolFixEmergencyMethodzoneShiftstreampagesisGennailedPoolTrivAllocPoolFreeWalkMethodchainva_listChainprotocolAbstractBufferPoolClasslong long intMVStructtracedTimeZoneSetTractBufferSegMethoddepthframePoolRampEndMethodlocusRingPoolSegAccessfixEmergencyTracegreylastWorldCollectPoolDebugMixinMethodpageShiftPoolSingleAccessChunkCacheEntryStructBufferClassStructArenaClassStructrememberedSummaryIndexgreySegCountisMutatorArenaFinishMethodfixedSummarycommittedframePopPendingPoolTrivBufferFillscansingleCopiedSizeSegSetBufferMethodProtocolInstStructAddrStructrampBeginbufferPoolRampBeginMethodsizeSegStructGenDescStructProtocolInstBufferSetRankSetMethodinitAtFlipPoolStructpoolRingPoolTrivInitFormatdetachspareCommitLimittopGenPoolWhitenMethodspanPoolStructPoolInitMethodpoolabsSrcIdTraceIdpoolcontextaccessprotocolGetAbstractScanPoolClasschainRingPoolGreyMethodlastTractPoolTrivBufferEmptyAbstractCollectPoolClassGetMutatorFaultContextvarietyPoolTrivRampBeginPoolNoFreeWalkemptyInternalSizeSrcIdarenaRingsegRefCountavgSizecopytractListBufferDetachMethodPoolNoAccessPoolScanMethodFormatCopyMethodPoolTrivFramePushlostcapacitywhitenScanStatePoolTrivTraceBeginprotocolAbstractAllocFreePoolClassGuardiancondemnedPoolTrivWhitenbufferRingChunkStructflippedTracesrootScanCountenabledrootScanSizepointlessScanCountallocRankshCacheLimitsegCopiedSizeBufferInitMethodlong intsetSummarynotCondemnedextendByTraceStatePoolNoWhitenTraceSetPoolNoScanstatepreservedInPlaceSizenextSegBufferMethodbuild_timerefIOPoolNoReclaimPoolClassProtocolCoerceInstMethodPoolNoFreeemergencyPoolBlackenMethodEnsureAbstractAllocFreePoolClassprotocolAbstractBufferPoolClassStructwhitepoolStruct__size_trootRingSegInitMethodAbstractAllocFreePoolClassFormatSkipMethodsegScanSizeprotocolAbstractPoolClasscopiedSizewithReservoirPermitArenaExtendMethodScanStateStructSegSetWhiteMethodunfixedSummarypageTableBaseAbstractBufferPoolClassStructlastTractBasethreadSeriallabelledsetGreytracedSize__va_listwalksetWhitePoolAllocMethodRingStructrankSetlong unsigned intPoolFramePopPendingMethodSrcIdStructBootBlockStructPoolClassMixInBufferwriteBarrierHitCountMutatorFaultContextStructArenaReservedMethodPoolNoRampEndinitPoolNoBufferFillAttrbaseReturnbufferLoggingProtocolClassStructclassAbstractSegBufPoolClassbufferFillIndexspareCommitExceededFormatIsMovedMethodmaxSizechunkInitPoolAccessMethodsnapCounttypeattachnailCountunsigned charAbstractBufferPoolClassGet__uint32_tspareCommittedinsideShieldPoolNoAllocRingSegSplitMethodblockPoolStructPoolNoTraceBeginprotocolGetAbstractSegBufPoolClassRefSetAllocFrameStructPoolFramePopMethodtractStructAbstractPoolClassStructBufferClassAbstractBufferPoolClassformatSerialAbstractPoolClassaddrAbstractScanPoolClasssegRingprotocolGetAbstractBufferPoolClassAllocFramehasSegcoerceClassprotocolAbstractScanPoolClassReservoirStructpoolabs.cbuild_datesingleScanSizeBufferreadBarrierHitCountpageTableheaderSizecoerceInstdebugMixinchunkCachesigned charSegMergeMethodSegPrefStructmps_lib_FILEPoolBufferFillMethodreclaimSizebufferSerialshort unsigned intzonesbufferEmptyProtocolCoerceClassMethodreservedRankSetisFinalPooldoublesingleScanCountfirstTractalignmentPoolBufferEmptyMethodBufferAttachMethodrestSegSetRankSetMethodShiftemptySizeprotocolAbstractScanPoolClassStruct/home/hannes/dylan/mps/codePoolTrivGreyTraceStructtotalReturnglobalRingformatRingcommitLimitrootCopiedSizeAbstractSegBufPoolClassGetSegSetGreyMethodshCacheIepochblackentracesGCC: (GNU) 3.4.6 [FreeBSD] 20060305.symtab.strtab.shstrtab.rel.text.rel.data.bss.debug_abbrev.rel.debug_info.rel.debug_line.debug_macinfo.rodata.str1.1.rodata.str1.4.rel.rodata.rel.debug_frame.rel.debug_pubnames.rel.debug_aranges.debug_str.comment4 )% T/ 4F| I3B \(V=~R  bC@uq2 (24p  T  l  t0% $      = ]z\1`B1e t2 1Aj@1 2 ?P&1t C TcP!v 9t $2DLG+F ^o |  H      ,4+<9T I` Xlny xGL G ;GVd tG 4G|    1@Qhupoolabs.cFileSrcIdStructprotocolAbstractPoolClassGuardianprotocolAbstractPoolClassStructprotocolGetAbstractPoolClassprotocolAbstractAllocFreePoolClassGuardianprotocolAbstractAllocFreePoolClassStructprotocolGetAbstractAllocFreePoolClassprotocolAbstractBufferPoolClassGuardianprotocolAbstractBufferPoolClassStructprotocolGetAbstractBufferPoolClassprotocolAbstractSegBufPoolClassGuardianprotocolAbstractSegBufPoolClassStructprotocolGetAbstractSegBufPoolClassprotocolAbstractScanPoolClassGuardianprotocolAbstractScanPoolClassStructprotocolGetAbstractScanPoolClassprotocolAbstractCollectPoolClassGuardianprotocolAbstractCollectPoolClassStructprotocolGetAbstractCollectPoolClasspoolabsSrcIdPoolClassMixInAllocFreePoolTrivAllocPoolTrivFreePoolClassMixInBufferPoolTrivBufferFillPoolTrivBufferEmptyPoolTrivFramePushPoolTrivFramePopBufferClassGetPoolClassMixInScanPoolSegAccessPoolTrivBlackenPoolTrivGreyPoolClassMixInFormatPoolClassMixInCollectPoolTrivWhitenPoolTrivRampBeginPoolTrivRampEndAbstractPoolClassGetLockClaimGlobalRecursiveLockReleaseGlobalRecursiveEnsureAbstractPoolClassProtocolClassGetPoolTrivInitPoolTrivFinishPoolNoAllocPoolNoFreePoolNoBufferFillPoolNoBufferEmptyPoolNoAccessPoolNoWhitenPoolNoGreyPoolNoBlackenPoolNoScanPoolNoFixPoolNoReclaimPoolNoRampBeginPoolNoRampEndPoolNoFramePushPoolNoFramePopPoolNoFramePopPendingPoolNoWalkPoolNoFreeWalkPoolNoBufferClassPoolTrivDescribePoolNoDebugMixinAbstractAllocFreePoolClassGetEnsureAbstractAllocFreePoolClassmemcpyAbstractBufferPoolClassGetEnsureAbstractBufferPoolClassAbstractSegBufPoolClassGetEnsureAbstractSegBufPoolClassSegBufClassGetAbstractScanPoolClassGetEnsureAbstractScanPoolClassAbstractCollectPoolClassGetEnsureAbstractCollectPoolClassPoolAllocPoolFreeWriteFPoolNoTraceBeginPoolTrivTraceBeginTraceSegAccessPoolSingleAccessProtCanStepInstructionShieldExposeTraceScanSingleRefProtStepInstructionSegSetSummaryShieldCoverSegSetWhiteSegSetGrey &',)3*:+A,H-]/d0k1456897;' C<J=Q>X?_@fAmBtC{DEFGGHIJKLMNOPQR 8%0=9ESSe7vU%89V7U($,82=HU9]kX}VUZ89[ XU&.<D8JU`m9u][U3_k` adfg+h;i`jjklm  "!"%"*"1"8"?"M"X"_"f"m"t"{"""""""""""""("3"9"Z"e"v"|"""""""""""" ""#"."9"T"e"k""""""""""""-"<"K"Z"i"y""""""""""",";"Z"i"q"""""""""""%"4"C"R"a"p""""""""" ""("6"D"R"`"n"""""""""" ""&"4"B"P"^"l"z"""""""""""""0">"L"Z"h"v""""""""" " "/ "> "M "\ "k "z " " " " " " " " " " " ". "= "L "[ "j "y " " " " " " " " " " ") "@ "O "^ "| " " " " " " " " " " "! "0 "? "N "] "m " " " " " " " " " " "$ "5 "G "\ "r " " " " " " " " " " " ""6"E"T"c"r"""""""""J"\"n"""""""""""" "."<"J"X"f"t""""""" ""&"5"D"S"b"q"""""""""""&"5"D"S"b"r"""""""""""""2"B"R"b"r"""""""""""""2"B"R"b"r""""""""""-"<"K"Z"i"x""""""""""""-">"D"U"["l"v"~"""""""4"?"j"""""A"m""""!"C"N"p"""""""a"l""""""2"T"v"""""6"p""""#"J"""""""@"k"""""'"H"s""""""" " "$ "3 "> "Q "_ "v " " " " " " " " " !"!".!"_!"!"!"!"!"!"!"!"!" """"'""/""=""K""Y""g""u"""""""""""""""""""" #"#"+#":#"Y#"d#"o#"{#"#"#"#"#"#"$"$"$",$"3$7$>$"Q$"X$\$c$"v$"}$$$"$"$$$"$"$$$"$"$$$"%%%"%%$%"1%5%:%"J%"U%Y%a%"l%p%{%"%%%"%%%"%"%%%"%%%"%%%"&& &"&"'&+&3&">&B&M&"T&X&_&"l&p&u&"&"&&&"&&&"&&&"&&&"&"&&'"'''"&'*'1'">'B'G'"['"b'f'm'"'"'''"'"'"'''"'"'"'" ("((#("1("?("M("a("h(l(s("("("((("("("(((" )")"%)"3)"A)"U)"a)e)l)"y)")")")")")")))"*"*""*"7*"?*C*J*"Y*"h*"v*"*"***"*"*"***"*"+" +++"&+";+"G+K+R+"p+"+"+"+"+++"+"+"+" ,",,!,"=,"K,"Z,"i,"w,{,,",,,",",",,-"-"3-";-?-F-"U-"y-"---"-"-"---"-"." ..."%."I."U.Y.`."}."."..."."."// /"/"?/"G/K/R/"p/"/"///"/"///"/"0" 000"90"E0I0P0"_0"0"000"0"0"000"0"1"1#1*1"91"]1"i1m1t1"1"1"111"2" 222"C2"O2S2Z2"f2 k2"x2$}2"22"22"22"22"22"22"22"33"33""3'3"3383"D3v    04HL`dx| @D`dx|,0PTpt $(<@TXtx (,PTpt  $8<PThl(,@Dtrace.o/ 1169001562 1001 1001 100644 83120 ` ELF  4(UÉUSEXP j(SP]UE@ÉUE@ÉUE@ ÉUS] jh CPuCCC YcQ]U@tÉUWVSU}<KE t{t vF8<tӋEBE BXBB B$zB EBB(B,B0B4B8B<B@BDBHBLBPBEʕQ[^_ÉUE@[QÐUÉUÉUÉUUM Et/ t Ovt3EB<APB $ > : ; I I&I : ;  : ; I8 < : ; I  : ;I8 : ;I8  : ; I8  : ; I 8  : ;I 8  : ;I 8  : ; ' II' ' I : ;  : ;  : ; I: ;II!I/ .: ; ' I@ : ; I .: ; ' @ 4: ; I !.? : ; ' I@ ": ; I #4: ; I $4: ; I%.? : ; ' @ &.: ;' @ ': ;I (: ;I )4: ;I *4: ;I +.: ;' I@ ,.? : ;' I@ - . : ;/4: ;I0 1 : ;2.? : ;' @ 34: ;I4 : ;54: ;I?  64: ; I?  "?e inte 8WN g\ _Lw |]7z E"\"$#+%#r&#]'# "S 2 M  . Sigl ResE l` "ou #Y $Y9%Y&Y'Wb (W Ref)d ,Y-Y.W/W1{2W 3W4W 5We6W^7W BT:MY;^d  Y@> D_## $E# F# GN# ~Hy# tI# J#$ KX#( segL#,  M#0 CN#4 O6#8 sigPC#<QAWC ad# bd# 0cd# dd# ( e# A f# DY<D sigC# { # 8# j# !# #  # m #  #$ !#( b!#, pad)!#0 K!#4 ?{#8F  GXGsig`C#{ a#b#jc# d!# e!#tf# g!#$h#, i#0fixjb#4 ks#8ls#@ms#Hfns#PHH 2_##$3#4#t5#I6-# 7~# ~8#$9#(<:#,j ;#0h#< ?#@@#DA,#HfixBb#LKC#Pi D#TE#X}F#\G#`H"#dIM#hJt#l3K#pL#tM#x[N #| O#sigPC# O $ O sigC# ti# j# # # *# "# * # {# {#$ {#(  {#, F#0 #4  #8 $#< {#@ `#D #H {#L #P #T {#X #\ ^ #` #d #h N#l #p  #t  #x  {#|  #  {# # v#P  * TP fix## Y# # # sigC# j# m # J# T# e#$ #( ^ #, #0 #4 N#8 #< {#@ #D {#H {#L f{#PQ5 ;  Qsig>C#j?#J@!#A #B#C"#R   R #p#d# #  W# S   8SsigC#{ #j# !# 6{##d#0d# ` #$*#()C#,g"#0#4?3T sigC# E # d# 0d# K?# ?#= UJPkM Utheh="# SegVv|PV sigC# P#  #  !# 0 d#q  W#pm "#sm "#  # #  # #%X[aNMLX _##$## #~#y# #$X#(m#,%#0C0#4u R#8#<n#@C#DsigC#HZY_Z sig0C# r1# C2#  3# 4# gen5#\H\ &_## $'%# (# t)# *# ~+# ,#$ -#( <.$#, /O#0 <0#4 1#8 o 2#< 3#@ sig4C#DG^(^ o %# { p#t r#x X t#| Su$# w$# y{# {z{# |{# | }{# # #  # 4d# I # !# # Y$# !# X!# 9# <!# lC# # # r!# b # # + %# {# {# {# #  #  # ^)%# s# ~s# Y# 9%# !# J!# # # I%# sigC#_8t_ sigBC# @E!# F# .Is# J# zK#  Ls# Ms#( uNs#0 Os#8 fPs#@ 4S#H V#L Y!#P Z#X ]!#\ ^#d ^a!#h Xd#pa   d# Me4: F~gKQ hhj## #X{#\+{#`sigC#dnN8op { q r/5ONd{0 tZ`NN{d pud{vN Sw x  N 'Wi<B2sigC#j#&#ە# ܐ!## sigC#$# * #G # _n #1ˏ #3̚ #C#.4IN I2Z`dljddNkd{8Nk%k K;ARk]cyk k,jkkjNk 9CNkkddd8Y_yNj8jjddd{Vkjj%6j AGXjkAci~Nj FN8TN{$d{B #)RNj{#]c~jddxljNkd"{ȾNk3 kK, k7=\N\ kmsN kImҳjj}Nj@-3MNj@X^tj@kOlݰxJ N    * )L 5 ; G 1R X n I1y   {1y y     N dd]   dd0 !!dd   4!:!K!d{  a!g!!  V!#F V!# g!!$sigC#C# {#h!s# 1"s##!#$!! ="g e#fE#\"hc "g"M iP\"0 \x"~""2\sig}C#~m"#"#.## a"""asigC#m"#m##(#(#"m""x9#?#Y#Y#m"m"m"2~"o#9tj##; {#X {#\ {#`Y#d ##h #lsigC#p h#9u#$K`j####Xt## {# {#{#-{#{#!#sigC#K $WϦ2Bgd $ 3 8e)%k9%$I%!Y%(E%d#A#% @!#the%#%d%&((sig)C#d*{#+{#,{#  -$#.$&%S&5 U4&&IA 0U@1P AB&S jCP& N{0>UM1 AO&P& Y{@NUX1 AZ&P3'd{P^Uc1 Ae&Pe'z`UjyAy&S!'p U"ss #tiP$^$%!(OU"ss R"ts  jWJPP#tiV ^S%E(- U"ss P!n(U"ti!(U"ts !(U^&) U'^R(ss Q'Y%P&m)mFU(tsD W'jDV(ssD 'EY%)tiGS*^GR&) UU(tsT W'jTV)tiVS*^WR+*g]U(tsf 'jfW)tihS*^iR*jV,q* wN`U'^vS(segvkV)resxNP* yW,* NbU'^'  )segkp*jV)resNP-U*dW&f+dU'j*V!Q*V!W-|* V*V!R*V!S++ NU(ts 'J 'jV' *P)resNW)ss$&E,- XU(ts V'J 'jS' W)resNP.,   ts  # j# J#+,w NXU' V(pS/rf,E,&f-%U'^$*&V!R*&V!V*j'S*J(W)rfc)E,X0M-/resGN-H)seg[kR,-NU''-P'jW)tiV*^S121.rU'^S-L*V!R*V!V-,9** P&.HU'^W*jV)pp*&S)resNP&. } U'^V*j W)seg!kp- e *(dS-K P 3\;k+/R  U'P/P'P/P'jQ(tiQP*JSl*^Tp*UV!R*UV!S- )seg^kRk2/%t % U(sss R'AsP,0( ; U(ss R+0cN< U(ts 'J 'jV(segk**P)resN-| )ss$- - )tiS*^R*W&=1U U(ts V'J 'jS(segkW)resNP21  U'jV(segkW'")tiS- Z *m  p-. Z *^R,2q-N U(ss, W',I )ref.P*/ R* 0P0g2 * ;R*;dS*o; p)_i;S02 D )seg>kR-% D )res@NP-D P /segOk,3j hN nU(ssg W'gI )refiP*j R3 k0X3 * uR*udS*ou p)_iuS0t30)segxkP-4@/segk+j4NpRU(ts 'J 'jV(segkS'I*AP*P)resN)ss$-*Q3*W*YP24 TU(ts V'J 'jS(segk'IW)resNP,5NU(ss W' '0)resNP)pS/ref14out-*p*l*V*YP,5rN U(ss ' '0,6?N U(ss W' '0' Y)resNP)pS/ref1">4out(z-,}*p*l*V*YP+s7H3N U'^2)res4NP*j5V*6V!R*6V!S3171M0Z7*=* P-*G* P+7"gN DU' fV(pfS3^h2s8 tDU'^sS'hss '=ss[*juV)segvkl*w{T/resxN0L8h*dW-* {R* s[&8QJU'^S*s{V-*jW)segkl*Jp+L9NLU''-P'jV*^t)resNS*=s]1f,: {@U' *^l)resNP*jL*f{H1i31fg%0:#3#{*?#{S* #{P*t#{S*> $s[* %s\-*:V!R*:V!V*{;s@*<* 0:B*?* S*@s[-Z*hKs`- *\{S2:W q@OU' pP2;{PtU' zS2j;tU' )tiW*^S*jVgv;%2;6U'v;R)iP-3nV!,}</NU'V'dP'AP3j*j;Q-%d)pt*j;S)resEP-Hd*nV!P3V!2=TU' W'dE )segkp*jV-L*dS-$*AP-$)resNP2=TU' *V!S*V!l*jW-r*j;V)iS-|)segkp)b P22> ZU' W*!V!S*!V!V*j"p-;3)j;-*3d,V!,>b6N\U' 5V3j7)res8NS*^9t1E,>MNU' LS)resNNP5Us5Vs  6B   n$  /usr/include/usr/include/sys/usr/include/machinechain.hmpmtypes.hconfig.hmpstd.hmisc.hstddef.hcdefs.h_null.h_types.h_types.hmpslib.hstdarg.hring.hcheck.hmpm.hevent.heventcom.heventgen.hlock.hth.hss.htract.hbt.hmpmst.hprotocol.hlimits.hlimits.h_limits.hsyslimits.htrace.c4 9Vfe?7!tt =srW>W:s3XVer r1r;VVsr=y :⫎'#dԎXV;@dr[;u#fVV}h.h:*J:d<:etVe,=fdVt;t;/uWu^__GNUCLIKE___OFFSETOF 1?__GNUCLIKE___SECTION 1A__GNUCLIKE_ATTRIBUTE_MODE_DI 1D__GNUCLIKE_CTOR_SECTION_HANDLING 1G__GNUCLIKE_BUILTIN_CONSTANT_P 1N__GNUCLIKE_BUILTIN_VARARGS 1O__GNUCLIKE_BUILTIN_STDARG 1P__GNUCLIKE_BUILTIN_VAALIST 1T__GNUC_VA_LIST_COMPATIBILITY 1X__GNUCLIKE_BUILTIN_NEXT_ARG 1Y__GNUCLIKE_MATH_BUILTIN_RELOPS \__GNUCLIKE_BUILTIN_MEMCPY 1___CC_SUPPORTS_INLINE 1`__CC_SUPPORTS___INLINE 1a__CC_SUPPORTS___INLINE__ 1c__CC_SUPPORTS___FUNC__ 1d__CC_SUPPORTS_WARNING 1f__CC_SUPPORTS_VARADIC_XXX 1h__CC_SUPPORTS_DYNAMIC_ARRAY_INIT 1k__CC_INT_IS_32BIT 1s__GNUC_PREREQ__(ma,mi) (__GNUC__ > (ma) || __GNUC__ == (ma) && __GNUC_MINOR__ >= (mi))__P(protos) protos__CONCAT1(x,y) x ## y__CONCAT(x,y) __CONCAT1(x,y)__STRING(x) #x__XSTRING(x) __STRING(x)__const const__signed signed__volatile volatile__dead2 __attribute__((__noreturn__))__pure2 __attribute__((__const__))__unused __attribute__((__unused__))__used __attribute__((__used__))__packed __attribute__((__packed__))__aligned(x) __attribute__((__aligned__(x)))__section(x) __attribute__((__section__(x)))__pure __attribute__((__pure__))__always_inline __attribute__((__always_inline__))__nonnull(x) __attribute__((__nonnull__(x)))__restrict __predict_true(exp) __builtin_expect((exp), 1)__predict_false(exp) __builtin_expect((exp), 0)__offsetof(type,field) ((size_t)(&((type *)0)->field))__rangeof(type,start,end) (__offsetof(type, end) - __offsetof(type, start))__printflike(fmtarg,firstvararg) __attribute__((__format__ (__printf__, fmtarg, firstvararg)))__scanflike(fmtarg,firstvararg) __attribute__((__format__ (__scanf__, fmtarg, firstvararg)))__format_arg(fmtarg) __attribute__((__format_arg__ (fmtarg)))__printf0like(fmtarg,firstvararg) __attribute__((__format__ (__printf0__, fmtarg, firstvararg)))__strong_reference(sym,aliassym) extern __typeof (sym) aliassym __attribute__ ((__alias__ (#sym)));__weak_reference(sym,alias) __asm__(".weak " #alias); __asm__(".equ " #alias ", " #sym)__warn_references(sym,msg) __asm__(".section .gnu.warning." #sym); __asm__(".asciz \"" msg "\""); __asm__(".previous")__IDSTRING(name,string) __asm__(".ident\t\"" string "\"")__FBSDID(s) __IDSTRING(__CONCAT(__rcsid_,__LINE__),s)__RCSID(s) __IDSTRING(__CONCAT(__rcsid_,__LINE__),s)__RCSID_SOURCE(s) __IDSTRING(__CONCAT(__rcsid_source_,__LINE__),s)__SCCSID(s) __IDSTRING(__CONCAT(__sccsid_,__LINE__),s)__COPYRIGHT(s) __IDSTRING(__CONCAT(__copyright_,__LINE__),s)__DECONST(type,var) ((type)(uintptr_t)(const void *)(var))__DEVOLATILE(type,var) ((type)(uintptr_t)(volatile void *)(var))__DEQUALIFY(type,var) ((type)(uintptr_t)(const volatile void *)(var))__POSIX_VISIBLE 200112__XSI_VISIBLE 600__BSD_VISIBLE 1__ISO_C_VISIBLE 1999* NULL ((void *)0)+ _SYS__TYPES_H_ ! (_MACHINE__TYPES_H_ .__NO_STRICT_ALIGNMENT __GNUC_VA_LIST 2_RUNE_T_DECLARED 8_SIZE_T_DECLARED >_WCHAR_T_DECLARED Boffsetof(type,member) __offsetof(type, member)*SRCID(id,scmid) static SrcIdStruct FileSrcIdStruct = {__FILE__, (scmid), __DATE__, __TIME__}; SrcId id ## SrcId = &FileSrcIdStruct;BEGIN do {> (i)) & 1)BS_UNION(s1,s2) ((s1) | (s2))BS_ADD(ty,s,i) BS_UNION((s), BS_SINGLE(ty, (i)))BS_INTER(s1,s2) ((s1) & (s2))BS_DIFF(s1,s2) BS_INTER((s1), BS_COMP(s2))BS_DEL(ty,s,i) BS_DIFF((s), BS_SINGLE(ty, (i)))BS_SUPER(s1,s2) (BS_INTER((s1), (s2)) == (s2))BS_SUB(s1,s2) BS_SUPER((s2), (s1))BS_IS_SINGLE(s) (((s) & ((s)-1)) == 0)BS_SYM_DIFF(s1,s2) ((s1) ^ (s2)) mpslib_h mps_lib_EOF (mps_lib_get_EOF())mps_lib_stderr (mps_lib_get_stderr())mps_lib_stdout (mps_lib_get_stdout()) '_MACHINE_STDARG_H_ -_VA_LIST_DECLARED 3va_start(ap,last) __builtin_stdarg_start((ap), (last))6va_arg(ap,type) __builtin_va_arg((ap), type):va_copy(dest,src) __builtin_va_copy((dest), (src))>va_end(ap) __builtin_va_end(ap)SigInvalid ((Sig)0x51915BAD)SizeMAX ((Size)-1)AccessSetEMPTY ((AccessSet)0)AccessREAD ((AccessSet)(1<<0))AccessWRITE ((AccessSet)(1<<1))AccessSetWIDTH (2)RefSetEMPTY BS_EMPTY(RefSet)RefSetUNIV BS_UNIV(RefSet)ZoneSetEMPTY BS_EMPTY(ZoneSet)ZoneSetUNIV BS_UNIV(ZoneSet)TraceSetEMPTY BS_EMPTY(TraceSet)TraceSetUNIV ((TraceSet)((1u << TraceLIMIT) - 1))RankSetEMPTY BS_EMPTY(RankSet)RankSetUNIV ((RankSet)((1u << RankLIMIT) - 1))AttrFMT ((Attr)(1<<0))AttrSCAN ((Attr)(1<<1))AttrPM_NO_READ ((Attr)(1<<2))AttrPM_NO_WRITE ((Attr)(1<<3))AttrALLOC ((Attr)(1<<4))AttrFREE ((Attr)(1<<5))AttrBUF ((Attr)(1<<6))AttrBUF_RESERVE ((Attr)(1<<7))AttrBUF_ALLOC ((Attr)(1<<8))AttrGC ((Attr)(1<<9))AttrINCR_RB ((Attr)(1<<10))AttrINCR_WB ((Attr)(1<<11))AttrMOVINGGC ((Attr)(1<<12))AttrMASK (AttrFMT | AttrSCAN | AttrPM_NO_READ | AttrPM_NO_WRITE | AttrALLOC | AttrFREE | AttrBUF | AttrBUF_RESERVE | AttrBUF_ALLOC | AttrGC | AttrINCR_RB | AttrINCR_WB | AttrMOVINGGC)BufferModeATTACHED ((BufferMode)(1<<0))BufferModeFLIPPED ((BufferMode)(1<<1))BufferModeLOGGED ((BufferMode)(1<<2))BufferModeTRANSITION ((BufferMode)(1<<3))RootModeCONSTANT ((RootMode)1<<0)RootModePROTECTABLE ((RootMode)1<<1)RootModePROTECTABLE_INNER ((RootMode)1<<2)STATISTIC_DECL(field) field  ring_h  check_h 0AVER(cond) DISCARD(cond)1AVERT(type,val) DISCARD(type ## Check(val))2AVER_CRITICAL(cond) DISCARD(cond)3AVERT_CRITICAL(type,val) DISCARD(type ## Check(val))MASSERT(cond,condstring) BEGIN if (cond) NOOP; else mps_lib_assert_fail(condstring "\n" __FILE__ "\n" STR(__LINE__)); END_NOTREACHED NOOPjCHECKT(type,val) ((val) != NULL && (val)->sig == type ## Sig)pCHECKS(type,val) DISCARD(CHECKT(type, val))qCHECKL(cond) DISCARD(cond)rCHECKD(type,val) DISCARD(CHECKT(type, val))sCHECKD_NOSIG(type,val) DISCARD((val) != NULL)tCHECKU(type,val) DISCARD(CHECKT(type, val))uCHECKU_NOSIG(type,val) DISCARD((val) != NULL)CHECKLVALUE(lv1,lv2) ((void)sizeof((lv1) = (lv2)), (void)sizeof((lv2) = (lv1)), TRUE)CHECKTYPE(t1,t2) (sizeof(t1) == sizeof(t2) && CHECKLVALUE(*((t1 *)0), *((t2 *)0)))CHECKFIELDAPPROX(s1,f1,s2,f2) (sizeof(((s1 *)0)->f1) == sizeof(((s2 *)0)->f2) && offsetof(s1, f1) == offsetof(s2, f2))CHECKFIELD(s1,f1,s2,f2) (CHECKFIELDAPPROX(s1, f1, s2, f2) && CHECKLVALUE(((s1 *)0)->f1, ((s2 *)0)->f2))RingNONE ((Ring)0)$RingInit(ring) BEGIN Ring _ring = (ring); AVER(_ring != NULL); _ring->next = _ring; _ring->prev = _ring; AVER(RingCheck(_ring)); END/RingFinish(ring) BEGIN Ring _ring = (ring); AVER(RingCheckSingle(_ring)); _ring->next = RingNONE; _ring->prev = RingNONE; END9RingAppend(ring,new) BEGIN Ring _ring = (ring), _new = (new); AVER(RingCheck(_ring)); AVER(RingCheckSingle(_new)); _new->prev = _ring->prev; _new->next = _ring; _ring->prev->next = _new; _ring->prev = _new; ENDFRingInsert(ring,new) BEGIN Ring _ring = (ring), _new = (new); AVER(RingCheck(_ring)); AVER(RingCheckSingle(_new)); _new->prev = _ring; _new->next = _ring->next; _ring->next->prev = _new; _ring->next = _new; ENDSRingRemove(old) BEGIN Ring _old = (old); AVER(RingCheck(_old)); AVER(!RingIsSingle(_old)); _old->next->prev = _old->prev; _old->prev->next = _old->next; _old->next = _old; _old->prev = _old; END`RingNext(ring) ((ring)->next)dRingPrev(ring) ((ring)->prev)gRING_ELT(type,field,node) ((type)(void *)((char *)(node) - (size_t)(&((type)0)->field)))kRING_FOR(node,ring,next) for(node = RingNext(ring), next = RingNext(node); node != (ring); node = (next), next = RingNext(node))GenDescSig ((Sig)0x5199E4DE)+PoolGenSig ((Sig)0x519B009E);ChainSig ((Sig)0x519C8A14)XPoolGenNr(gen) ((gen)->nr)  mpm_h event_h  eventcom_h !EventNameMAX ((size_t)19)"EventCodeMAX ((EventCode)0x0069)&EVENT_0(type) NOOPEVENT_A(type,p0) NOOPEVENT_AW(type,p0,p1) NOOPEVENT_P(type,p0) NOOPEVENT_PAA(type,p0,p1,p2) NOOPEVENT_PAW(type,p0,p1,p2) NOOPEVENT_PAWA(type,p0,p1,p2,p3) NOOPEVENT_PDDWWW(type,p0,p1,p2,p3,p4,p5) NOOPEVENT_PP(type,p0,p1) NOOPEVENT_PPAU(type,p0,p1,p2,p3) NOOPEVENT_PPAWP(type,p0,p1,p2,p3,p4) NOOPEVENT_PPP(type,p0,p1,p2) NOOPEVENT_PPPA(type,p0,p1,p2,p3) NOOPEVENT_PPPU(type,p0,p1,p2,p3) NOOPEVENT_PPPUU(type,p0,p1,p2,p3,p4) NOOPEVENT_PPU(type,p0,p1,p2) NOOPEVENT_PPUU(type,p0,p1,p2,p3) NOOPEVENT_PPUWWW(type,p0,p1,p2,p3,p4,p5) NOOPEVENT_PPWW(type,p0,p1,p2,p3) NOOPEVENT_PPWWW(type,p0,p1,p2,p3,p4) NOOPEVENT_PPWWWUUU(type,p0,p1,p2,p3,p4,p5,p6,p7) NOOPEVENT_PU(type,p0,p1) NOOPEVENT_PW(type,p0,p1) NOOPEVENT_PWA(type,p0,p1,p2) NOOPEVENT_PWAW(type,p0,p1,p2,p3) NOOPEVENT_PWP(type,p0,p1,p2) NOOPEVENT_PWU(type,p0,p1,p2) NOOPEVENT_PWW(type,p0,p1,p2) NOOPEVENT_PWWWWDD(type,p0,p1,p2,p3,p4,p5,p6) NOOPEVENT_PWWWWW(type,p0,p1,p2,p3,p4,p5) NOOPEVENT_PWWWWWWWWW(type,p0,p1,p2,p3,p4,p5,p6,p7,p8,p9) NOOPEVENT_PWWWWWWWWWWWW(type,p0,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11,p12) NOOPEVENT_UUPA(type,p0,p1,p2,p3) NOOPEVENT_UUPP(type,p0,p1,p2,p3) NOOPEVENT_UUPPP(type,p0,p1,p2,p3,p4) NOOPEVENT_WS(type,p0,p1,l1) NOOP:EventEventTime ((EventType)0xEF213E99);EventPoolInit ((EventType)0xEFB07141)EventPoolFree ((EventType)0xEFB07F6E)?EventArenaCreateVM ((EventType)0xEFA64CF3)@EventArenaCreateVMNZ ((EventType)0xEFA64CF2)AEventArenaCreateCL ((EventType)0xEFA64CC7)BEventArenaDestroy ((EventType)0xEFA64DE5)CEventArenaAlloc ((EventType)0xEFA64A77)DEventArenaFree ((EventType)0xEFA64F6E)EEventSegAlloc ((EventType)0xEF5E9A77)FEventSegFree ((EventType)0xEF5E9F6E)GEventSegMerge ((EventType)0xEF5E93E6)HEventSegSplit ((EventType)0xEF5E95B7)IEventAMCGenCreate ((EventType)0xEFA3C94C)JEventAMCGenDestroy ((EventType)0xEFA3C94D)KEventAMCInit ((EventType)0xEFA3C141)LEventAMCFinish ((EventType)0xEFA3CF14)MEventAMCTraceBegin ((EventType)0xEFA3C26B)NEventAMCScanBegin ((EventType)0xEFA3C5CB)OEventAMCScanEnd ((EventType)0xEFA3C5CE)PEventAMCFix ((EventType)0xEFA3CF18)QEventAMCFixInPlace ((EventType)0xEFA3CF8A)REventAMCFixForward ((EventType)0xEFA3CF8F)SEventAMCReclaim ((EventType)0xEFA3C6EC)TEventTraceStart ((EventType)0xEF26AC52)UEventTraceCreate ((EventType)0xEF26ACC6)VEventTraceDestroy ((EventType)0xEF26ACDE)WEventSegSetGrey ((EventType)0xEF59596A)XEventTraceFlipBegin ((EventType)0xEF26AF7B)YEventTraceFlipEnd ((EventType)0xEF26AF7E)ZEventTraceReclaim ((EventType)0xEF26A6EC)[EventTraceScanSeg ((EventType)0xEF26A559)\EventTraceScanSingleRef ((EventType)0xEF26A556)^EventTraceAccess ((EventType)0xEF26AACC)_EventTracePoll ((EventType)0xEF26AB01)`EventTraceStep ((EventType)0xEF26A52B)aEventTraceFix ((EventType)0xEF26AF18)bEventTraceFixSeg ((EventType)0xEF26AF85)cEventTraceFixWhite ((EventType)0xEF26AF83)dEventTraceScanArea ((EventType)0xEF26A5CA)eEventTraceScanAreaTagged ((EventType)0xEF26A5C2)fEventVMCreate ((EventType)0xEFF3C6EA)gEventVMDestroy ((EventType)0xEFF3DE52)hEventVMMap ((EventType)0xEFF33AB9)iEventVMUnmap ((EventType)0xEFF3043B)jEventIntern ((EventType)0xEF142E64)kEventArenaExtend ((EventType)0xEFA64E82)lEventArenaRetract ((EventType)0xEFA646E2)mEventRootScan ((EventType)0xEF625CA4)nEventLabel ((EventType)0xEF7ABE79)oEventTraceSegGreyen ((EventType)0xEF26A599)pEventBufferReserve ((EventType)0xEFB0FF6E)qEventBufferCommit ((EventType)0xEFB0FFC0)rEventBufferInit ((EventType)0xEFB0FF14)sEventBufferInitSeg ((EventType)0xEFB0F15E)tEventBufferInitRank ((EventType)0xEFB0F16A)uEventBufferInitEPVM ((EventType)0xEFB0F1EF)vEventBufferFinish ((EventType)0xEFB0FFF1)wEventBufferFill ((EventType)0xEFB0FFF7)xEventBufferEmpty ((EventType)0xEFB0FFE3)yEventArenaAllocFail ((EventType)0xEFA64A7F)zEventSegAllocFail ((EventType)0xEF5E9A7F){EventMeterInit ((EventType)0xEF3E2141)|EventMeterValues ((EventType)0xEF3E2FA7)}EventCBSInit ((EventType)0xEFCB5141)~EventTraceStatCondemn ((EventType)0xEF26A5C0)EventTraceStatScan ((EventType)0xEF26A55C)EventTraceStatFix ((EventType)0xEF26A5F8)EventTraceStatReclaim ((EventType)0xEF26A56E)EventArenaWriteFaults ((EventType)0xEFA6436F)EventPoolInitMV ((EventType)0xEFB0713F)EventPoolInitMVFF ((EventType)0xEFB071FF)EventPoolInitMFS ((EventType)0xEFB07135)EventPoolInitEPVM ((EventType)0xEFB071EF)EventPoolInitEPDL ((EventType)0xEFB071E7)EventPoolInitAMS ((EventType)0xEFB071A5)EventPoolInitAMC ((EventType)0xEFB071AC)EventPoolInitAMCZ ((EventType)0xEFB071A2)EventPoolInitAWL ((EventType)0xEFB071A3)EventPoolInitLO ((EventType)0xEFB07170)EventPoolInitSNC ((EventType)0xEFB07154)EventPoolInitMVT ((EventType)0xEFB07132)EventPoolPush ((EventType)0xEFB07B58)EventPoolPop ((EventType)0xEFB07B0B)EventReservoirLimitSet ((EventType)0xEF6E5713)EventCommitLimitSet ((EventType)0xEFC03713)EventSpareCommitLimitSet ((EventType)0xEF5BC713)hEventInit() NOOPiEventFinish() NOOPjEventControl(r,f) (UNUSED(r), UNUSED(f), (Word)0)kEventInternString(s) (UNUSED(s), (Word)0)lEventInternGenString(l,s) (UNUSED(l), UNUSED(s), (Word)0)mEventLabelAddr(a,i) BEGIN UNUSED(a); UNUSED(i); ENDPlock_h ULockSig ((Sig)0x51970CC9) th_h ThreadSig ((Sig)0x519286ED) ss_h  tract_h   bt_h BTSize(n) (((n) + MPS_WORD_WIDTH-1) / MPS_WORD_WIDTH * sizeof(Word))BTGet(a,i) ((Bool)(((a)[((i) >> MPS_WORD_SHIFT)] >> ((i) & ~((Word)-1 << MPS_WORD_SHIFT))) & (Word)1))BTSet(a,i) BEGIN (a)[((i)>>MPS_WORD_SHIFT)] |= (Word)1<<((i)&~((Word)-1<>MPS_WORD_SHIFT)] &= ~((Word)1 << ((i) & ~((Word)-1<base)&TractPool(tract) ((tract)->pool)'TractP(tract) ((tract)->p)(TractSetP(tract,pp) ((void)((tract)->p = (pp))))TractHasSeg(tract) ((Bool)(tract)->hasSeg)*TractSetHasSeg(tract,b) ((void)((tract)->hasSeg = (b)))+TractWhite(tract) ((tract)->white),TractSetWhite(tract,w) ((void)((tract)->white = (w)))8TRACT_SEG(segReturn,tract) (TractHasSeg(tract) && ((*(segReturn) = (Seg)TractP(tract)), TRUE));TRACT_SET_SEG(tract,seg) (TractSetHasSeg(tract, TRUE), TractSetP(tract, seg))>TRACT_UNSET_SEG(tract) (TractSetHasSeg(tract, FALSE), TractSetP(tract, NULL))nPageTract(page) (&(page)->the.tractStruct)rPageOfTract(tract) PARENT(PageStruct, the.tractStruct, (tract))vPagePool(page) ((page)->the.rest.pool)}PageIsAllocated(page) ((page)->the.rest.pool != NULL)PageType(page) ((page)->the.rest.type)ChunkSig ((Sig)0x519C804C)ChunkArena(chunk) ((chunk)->arena)ChunkPageSize(chunk) ((chunk)->pageSize)ChunkPageShift(chunk) ((chunk)->pageShift)ChunkPagesToSize(chunk,pages) ((Size)(pages) << (chunk)->pageShift)ChunkSizeToPages(chunk,size) ((Count)((size) >> (chunk)->pageShift))CHUNK_OF_ADDR(chunkReturn,arena,addr) (((arena)->chunkCache.base <= (addr) && (addr) < (arena)->chunkCache.limit) ? (*(chunkReturn) = (arena)->chunkCache.chunk, TRUE) : ChunkOfAddr(chunkReturn, arena, addr))AddrPageBase(chunk,addr) AddrAlignDown((addr), ChunkPageSize(chunk))TRACT_OF_ADDR(tractReturn,arena,addr) BEGIN Arena _arena = (arena); Addr _addr = (addr); Chunk _chunk; Index _i; if (CHUNK_OF_ADDR(&_chunk, _arena, _addr)) { _i = INDEX_OF_ADDR(_chunk, _addr); if (BTGet(_chunk->allocTable, _i)) *(tractReturn) = PageTract(&_chunk->pageTable[_i]); else *(tractReturn) = NULL; } else *(tractReturn) = NULL; ENDINDEX_OF_ADDR(chunk,addr) ((Index)ChunkSizeToPages(chunk, AddrOffset((chunk)->base, addr)))PageIndexBase(chunk,i) AddrAdd((chunk)->base, ChunkPagesToSize(chunk, i))TractAverContiguousRange(arena,rangeBase,rangeLimit) BEGIN Chunk _ch = NULL; UNUSED(_ch); AVER(ChunkOfAddr(&_ch, arena, rangeBase) && (rangeLimit) <= _ch->limit); ENDTRACT_TRACT_FOR(tract,addr,arena,firstTract,limit) tract = (firstTract); addr = TractBase(tract); TractAverContiguousRange(arena, addr, limit); for(; tract != NULL; (addr = AddrAdd(addr, (arena)->alignment)), (addr < (limit) ? (tract = PageTract(PageOfTract(tract) + 1)) : (tract = NULL) ))TRACT_FOR(tract,addr,arena,base,limit) TRACT_TRACT_FOR(tract, addr, arena, TractOfBaseAddr(arena, base), limit)mpmst_h protocol_h DERIVE_LOCAL(name) protocol ## nameDERIVE_STRUCT(name) name ## StructDERIVE_ENSURE(name) name ## GetDERIVE_ENSURE_OLD(name) Ensure ## nameDERIVE_ENSURE_INTERNAL(name) protocolGet ## nameDERIVE_GUARDIAN(name) protocol ## name ## GuardianDERIVE_STATIC_STORAGE(name) protocol ## name ## StructProtocolClassSetSuperclassPoly(class,super) (((ProtocolClass)(class))->superclass) = (ProtocolClass)(super)$DEFINE_CLASS(className,var) static Bool DERIVE_GUARDIAN(className) = FALSE; static DERIVE_STRUCT(className) DERIVE_STATIC_STORAGE(className); static void DERIVE_ENSURE_INTERNAL(className)(className); extern className DERIVE_ENSURE(className)(void); className DERIVE_ENSURE(className)(void) { if (DERIVE_GUARDIAN(className) == FALSE) { LockClaimGlobalRecursive(); if (DERIVE_GUARDIAN(className) == FALSE) { DERIVE_ENSURE_INTERNAL(className) (&DERIVE_STATIC_STORAGE(className)); DERIVE_GUARDIAN(className) = TRUE; } LockReleaseGlobalRecursive(); } return &DERIVE_STATIC_STORAGE(className); } extern className DERIVE_ENSURE_OLD(className)(void); className DERIVE_ENSURE_OLD(className)(void) { return DERIVE_ENSURE(className)(); } static void DERIVE_ENSURE_INTERNAL(className) (className var)AINHERIT_CLASS(this,parentName) BEGIN parentName DERIVE_LOCAL(parentName) = DERIVE_ENSURE(parentName)(); *this = *(DERIVE_LOCAL(parentName)); ProtocolClassSetSuperclassPoly(this, DERIVE_LOCAL(parentName)); ENDODEFINE_ALIAS_CLASS(className,typeName,var) typedef typeName className; typedef DERIVE_STRUCT(typeName) DERIVE_STRUCT(className); DEFINE_CLASS(className, var)VProtocolClassSig ((Sig)0x519B60C7)WProtocolInstSig ((Sig)0x519B6014)ProtocolClassSuperclassPoly(class) (((ProtocolClass)(class))->superclass)ClassOfPoly(inst) ((ProtocolInst)(inst)->class)IsSubclassPoly(sub,super) ProtocolIsSubclass((ProtocolClass)(sub), (ProtocolClass)(super))SUPERCLASS(className) ProtocolClassSuperclassPoly(DERIVE_ENSURE(className)())/PoolClassSig ((Sig)0x519C7A55)]PoolSig ((Sig)0x519B0019)}MFSSig ((Sig)0x5193F599)MVSig ((Sig)0x5193B999)ReservoirSig ((Sig)0x5196e599)MessageClassSig ((Sig)0x519359c1)MessageSig ((Sig)0x5193e559)SegClassSig ((Sig)0x5195E9C7)SegSig ((Sig)0x5195E999)GCSegSig ((Sig)0x5199C5E9)SegPrefSig ((Sig)0x5195E9B6)BufferClassSig ((Sig)0x519B0FC7)BufferSig ((Sig)0x519B0FFE)SegBufSig ((Sig)0x51959B0F)FormatSig ((Sig)0x519F63A2)ScanStateSig ((Sig)0x5195CA45)TraceSig ((Sig)0x51924ACE)ChunkCacheEntrySig ((Sig)0x519C80CE)ArenaClassSig ((Sig)0x519A6C1A)GlobalsSig ((Sig)0x519970BA)ArenaSig ((Sig)0x519A6E4A)%BoolCheck(b) ((unsigned)(b) <= 1)(FUNCHECK(f) (FunCheck((Fun)f))4WordIsAligned(w,a) (((w) & ((a) - 1)) == 0)7WordAlignUp(w,a) (((w) + (a) - 1) & ~((Word)(a) - 1));WordRoundUp(w,r) (((w)+(r)-1) - ((w)+(r)-1)%(r))>WordAlignDown(w,a) ((w) & ~((Word)(a) - 1))@size_tAlignUp(s,a) ((size_t)WordAlignUp((Word)(s), a))BPointerAdd(p,s) ((void *)((char *)(p) + (s)))CPointerSub(p,s) ((void *)((char *)(p) - (s)))EPointerOffset(base,limit) ((size_t)((char *)(limit) - (char *)(base)))HPointerAlignUp(p,s) ((void *)WordAlignUp((Word)(p), (Align)(s)))KAddrAdd(p,s) ((Addr)PointerAdd((void *)(p), s))LAddrSub(p,s) ((Addr)PointerSub((void *)(p), s))NAddrOffset(b,l) ((Size)(PointerOffset((void *)(b), (void *)(l))))RAddrAlignDown(p,a) ((Addr)WordAlignDown((Word)(p), a))TAlignWord(s) ((Word)(s))VAddrIsAligned(p,a) WordIsAligned((Word)(p), a)WAddrAlignUp(p,a) ((Addr)WordAlignUp((Word)(p), a))YSizeIsAligned(s,a) WordIsAligned((Word)(s), a)ZSizeAlignUp(s,a) ((Size)WordAlignUp((Word)(s), a))[SizeAlignDown(s,a) ((Size)WordAlignDown((Word)(s), a))]SizeRoundUp(s,r) ((Size)WordRoundUp((Word)(s), (Size)(r)))_IndexIsAligned(s,a) WordIsAligned((Word)(s), a)`IndexAlignUp(s,a) ((Index)WordAlignUp((Word)(s), a))aIndexAlignDown(s,a) ((Index)WordAlignDown((Word)(s), a))cAlignIsAligned(a1,a2) WordIsAligned((Word)(a1), a2)iAddrSet(target,value,size) mps_lib_memset(target, (int)(value), size)mAddrCopy(target,source,size) mps_lib_memcpy(target, source, size)qAddrComp(a,b,size) mps_lib_memcmp(a, b, size)wADDR_PTR(type,addr) ((type *)(addr))PoolArena(pool) ((pool)->arena)PoolAlignment(pool) ((pool)->alignment)PoolSegRing(pool) (&(pool)->segRing)PoolFix(pool,ss,seg,refIO) ((*(pool)->fix)(pool, ss, seg, refIO))ClassOfPool(pool) ((pool)->class)SuperclassOfPool(pool) ((PoolClass)ProtocolClassSuperclassPoly((pool)->class))DEFINE_POOL_CLASS(className,var) DEFINE_ALIAS_CLASS(className, PoolClass, var)POOL_SUPERCLASS(className) ((PoolClass)SUPERCLASS(className))TraceSetSingle(trace) BS_SINGLE(TraceSet, (trace)->ti)TraceSetIsSingle(ts) BS_IS_SINGLE(ts)TraceSetIsMember(ts,trace) BS_IS_MEMBER(ts, (trace)->ti)TraceSetAdd(ts,trace) BS_ADD(TraceSet, ts, (trace)->ti)TraceSetDel(ts,trace) BS_DEL(TraceSet, ts, (trace)->ti)TraceSetUnion(ts1,ts2) BS_UNION(ts1, ts2)TraceSetInter(ts1,ts2) BS_INTER(ts1, ts2)TraceSetDiff(ts1,ts2) BS_DIFF(ts1, ts2)TraceSetSuper(ts1,ts2) BS_SUPER(ts1, ts2)TraceSetSub(ts1,ts2) BS_SUB(ts1, ts2)TraceSetComp(ts) BS_COMP(ts)TRACE_SET_ITER(ti,trace,ts,arena) for(ti = 0, trace = ArenaTrace(arena, ti); ti < TraceLIMIT; ++ti, trace = ArenaTrace(arena, ti)) BEGIN if (TraceSetIsMember(ts, trace)) {TRACE_SET_ITER_END(ti,trace,ts,arena) } ENDTRACE_SCAN_BEGIN(ss) BEGIN Shift SCANzoneShift = (ss)->zoneShift; ZoneSet SCANwhite = (ss)->white; RefSet SCANsummary = (ss)->unfixedSummary; Word SCANt; {TRACE_FIX1(ss,ref) (SCANt = (Word)1 << ((Word)(ref) >> SCANzoneShift & (MPS_WORD_WIDTH-1)), SCANsummary |= SCANt, SCANwhite & SCANt)TRACE_FIX2(ss,refIO) ((*(ss)->fix)(ss, refIO))TRACE_FIX(ss,refIO) (TRACE_FIX1(ss, *(refIO)) ? TRACE_FIX2(ss, refIO) : ResOK)TRACE_SCAN_END(ss) } (ss)->unfixedSummary = SCANsummary; ENDDEFINE_ARENA_CLASS(className,var) DEFINE_ALIAS_CLASS(className, ArenaClass, var)ARENA_SUPERCLASS(className) ((ArenaClass)SUPERCLASS(className))ArenaGlobals(arena) (&(arena)->globals)GlobalsArena(glob) PARENT(ArenaStruct, globals, glob)ArenaRootRing(arena) (&(arena)->rootRing)ArenaTraceRing(arena) (&(arena)->traceRing)ArenaThreadRing(arena) (&(arena)->threadRing)ArenaEpoch(arena) ((arena)->epoch)ArenaTrace(arena,ti) (&(arena)->trace[ti])ArenaZoneShift(arena) ((arena)->zoneShift)ArenaAlign(arena) ((arena)->alignment)ArenaGreyRing(arena,rank) (&(arena)->greyRing[rank])ArenaReservoir(arena) (&(arena)->reservoirStruct)DEFINE_SEG_CLASS(className,var) DEFINE_ALIAS_CLASS(className, SegClass, var)SEG_SUPERCLASS(className) ((SegClass)SUPERCLASS(className))ClassOfSeg(seg) ((seg)->class)SegBase(seg) (TractBase((seg)->firstTract))SegLimit(seg) ((seg)->limit)SegPool(seg) (TractPool((seg)->firstTract))SegRankSet(seg) ((RankSet)(seg)->rankSet)SegPM(seg) ((AccessSet)(seg)->pm)SegSM(seg) ((AccessSet)(seg)->sm)SegDepth(seg) ((unsigned)(seg)->depth)SegGrey(seg) ((TraceSet)(seg)->grey)SegWhite(seg) ((TraceSet)(seg)->white)SegNailed(seg) ((TraceSet)(seg)->nailed)SegOfPoolRing(node) (RING_ELT(Seg, poolRing, (node)))SegOfGreyRing(node) (&(RING_ELT(GCSeg, greyRing, (node)) ->segStruct))SegSummary(seg) (((GCSeg)(seg))->summary)SegSetPM(seg,mode) ((void)((seg)->pm = (mode)))SegSetSM(seg,mode) ((void)((seg)->sm = (mode)))SegSetDepth(seg,d) ((void)((seg)->depth = (d)))SegSetNailed(seg,ts) ((void)((seg)->nailed = (ts)))BUFFER_RESERVE(pReturn,buffer,size,withReservoirPermit) (AddrAdd(BufferAlloc(buffer), size) > BufferAlloc(buffer) && AddrAdd(BufferAlloc(buffer), size) <= BufferAP(buffer)->limit ? (*(pReturn) = BufferAlloc(buffer), BufferAP(buffer)->alloc = AddrAdd(BufferAlloc(buffer), size), ResOK) : BufferFill(pReturn, buffer, size, withReservoirPermit))BUFFER_COMMIT(buffer,p,size) (BufferAP(buffer)->init = BufferAlloc(buffer), BufferAP(buffer)->limit != 0 || BufferTrip(buffer, p, size))BufferAP(buffer) (&(buffer)->apStruct)BufferOfAP(ap) PARENT(BufferStruct, apStruct, ap)BufferArena(buffer) ((buffer)->arena)BufferPool(buffer) ((buffer)->pool)BufferBase(buffer) ((buffer)->base)BufferGetInit(buffer) (BufferAP(buffer)->init)BufferAlloc(buffer) (BufferAP(buffer)->alloc)BufferLimit(buffer) ((buffer)->poolLimit)DEFINE_BUFFER_CLASS(className,var) DEFINE_ALIAS_CLASS(className, BufferClass, var)BUFFER_SUPERCLASS(className) ((BufferClass)SUPERCLASS(className))RankSetIsMember(rs,r) BS_IS_MEMBER((rs), (r))RankSetSingle(r) BS_SINGLE(RankSet, (r))RankSetIsSingle(r) BS_IS_SINGLE(r)RankSetUnion(rs1,rs2) BS_UNION((rs1), (rs2))RankSetDel(rs,r) BS_DEL(RankSet, (rs), (r))AddrZone(arena,addr) (((Word)(addr) >> (arena)->zoneShift) & (MPS_WORD_WIDTH - 1))RefSetUnion(rs1,rs2) BS_UNION((rs1), (rs2))RefSetInter(rs1,rs2) BS_INTER((rs1), (rs2))RefSetDiff(rs1,rs2) BS_DIFF((rs1), (rs2))RefSetAdd(arena,rs,addr) BS_ADD(RefSet, rs, AddrZone(arena, addr))RefSetIsMember(arena,rs,addr) BS_IS_MEMBER(rs, AddrZone(arena, addr))RefSetSuper(rs1,rs2) BS_SUPER((rs1), (rs2))RefSetSub(rs1,rs2) BS_SUB((rs1), (rs2))ZoneSetUnion(zs1,zs2) BS_UNION(zs1, zs2)ZoneSetInter(zs1,zs2) BS_INTER(zs1, zs2)ZoneSetDiff(zs1,zs2) BS_DIFF(zs1, zs2)ZoneSetAdd(arena,zs,addr) BS_ADD(ZoneSet, zs, AddrZone(arena, addr))ZoneSetIsMember(arena,zs,addr) BS_IS_MEMBER(zs, AddrZone(arena, addr))ZoneSetSub(zs1,zs2) BS_SUB(zs1, zs2)ZoneSetSuper(zs1,zs2) BS_SUPER(zs1, zs2)ZoneSetComp(zs) BS_COMP(zs)STATISTIC(gather) BEGIN (gather); ENDSTATISTIC_STAT(gather) BEGIN gather; ENDSTATISTIC_WRITE(format,arg) (format), (arg), &_LIMITS_H_ +_POSIX_ARG_MAX 4096,_POSIX_CHILD_MAX 25-_POSIX_LINK_MAX 8._POSIX_MAX_CANON 255/_POSIX_MAX_INPUT 2550_POSIX_NAME_MAX 141_POSIX_NGROUPS_MAX 82_POSIX_OPEN_MAX 203_POSIX_PATH_MAX 2564_POSIX_PIPE_BUF 5125_POSIX_SSIZE_MAX 327676_POSIX_STREAM_MAX 87_POSIX_TZNAME_MAX 69BC_BASE_MAX 99:BC_DIM_MAX 2048;BC_SCALE_MAX 99EXPR_NEST_MAX 32?LINE_MAX 2048@RE_DUP_MAX 255B_POSIX2_BC_BASE_MAX 99C_POSIX2_BC_DIM_MAX 2048D_POSIX2_BC_SCALE_MAX 99E_POSIX2_BC_STRING_MAX 1000F_POSIX2_EQUIV_CLASS_MAX 2G_POSIX2_EXPR_NEST_MAX 32H_POSIX2_LINE_MAX 2048I_POSIX2_RE_DUP_MAX 255M_POSIX_AIO_LISTIO_MAX 16N_POSIX_AIO_MAX 1O_POSIX_DELAYTIMER_MAX 32P_POSIX_MQ_OPEN_MAX 8Q_POSIX_MQ_PRIO_MAX 32R_POSIX_RTSIG_MAX 8S_POSIX_SEM_NSEMS_MAX 256T_POSIX_SEM_VALUE_MAX 32767U_POSIX_SIGQUEUE_MAX 32V_POSIX_TIMER_MAX 32Z_POSIX_THREAD_DESTRUCTOR_ITERATIONS 4[_POSIX_THREAD_KEYS_MAX 128\_POSIX_THREAD_THREADS_MAX 64`_POSIX_HOST_NAME_MAX 255a_POSIX_LOGIN_NAME_MAX 9b_POSIX_SS_REPL_MAX 4c_POSIX_SYMLINK_MAX 255d_POSIX_SYMLOOP_MAX 8e_POSIX_TRACE_EVENT_NAME_MAX 30f_POSIX_TRACE_NAME_MAX 8g_POSIX_TRACE_SYS_MAX 8h_POSIX_TRACE_USER_EVENT_MAX 32i_POSIX_TTY_NAME_MAX 9j_POSIX2_CHARCLASS_NAME_MAX 14k_POSIX2_COLL_WEIGHTS_MAX 2m_POSIX_RE_DUP_MAX _POSIX2_RE_DUP_MAXq_XOPEN_IOV_MAX 16r_XOPEN_NAME_MAX 255s_XOPEN_PATH_MAX 1024tPASS_MAX 128vNL_ARGMAX 99wNL_LANGMAX 31xNL_MSGMAX 32767yNL_NMAX 1zNL_SETMAX 255{NL_TEXTMAX 2048~MB_LEN_MAX 6!_SYS_LIMITS_H_ $"_MACHINE__LIMITS_H_ /__CHAR_BIT 81__SCHAR_MAX 0x7f2__SCHAR_MIN (-0x7f - 1)4__UCHAR_MAX 0xff6__USHRT_MAX 0xffff7__SHRT_MAX 0x7fff8__SHRT_MIN (-0x7fff - 1):__UINT_MAX 0xffffffffU;__INT_MAX 0x7fffffff<__INT_MIN (-0x7fffffff - 1)D__ULONG_MAX 0xffffffffULE__LONG_MAX 0x7fffffffLF__LONG_MIN (-0x7fffffffL - 1)J__ULLONG_MAX 0xffffffffffffffffULLK__LLONG_MAX 0x7fffffffffffffffLLL__LLONG_MIN (-0x7fffffffffffffffLL - 1)N__SSIZE_MAX __INT_MAXP__SIZE_T_MAX __UINT_MAXR__OFF_MAX __LLONG_MAXS__OFF_MIN __LLONG_MINV__UQUAD_MAX __ULLONG_MAXW__QUAD_MAX __LLONG_MAXX__QUAD_MIN __LLONG_MIN]__LONG_BIT 32___WORD_BIT 32&CHAR_BIT __CHAR_BIT(SCHAR_MAX __SCHAR_MAX)SCHAR_MIN __SCHAR_MIN+UCHAR_MAX __UCHAR_MAX1CHAR_MAX SCHAR_MAX2CHAR_MIN SCHAR_MIN5USHRT_MAX __USHRT_MAX6SHRT_MAX __SHRT_MAX7SHRT_MIN __SHRT_MIN9UINT_MAX __UINT_MAX:INT_MAX __INT_MAX;INT_MIN __INT_MIN=ULONG_MAX __ULONG_MAX>LONG_MAX __LONG_MAX?LONG_MIN __LONG_MINHSSIZE_MAX __SSIZE_MAXLSIZE_T_MAX __SIZE_T_MAXNOFF_MAX __OFF_MAXOOFF_MIN __OFF_MINSGID_MAX UINT_MAXTUID_MAX UINT_MAXVUQUAD_MAX (__UQUAD_MAX)WQUAD_MAX (__QUAD_MAX)XQUAD_MIN (__QUAD_MIN)\LONG_BIT __LONG_BIT]WORD_BIT __WORD_BIT"_SYS_SYSLIMITS_H_ 4ARG_MAX 2621447CHILD_MAX 409LINK_MAX 32767:MAX_CANON 255;MAX_INPUT 255messageStruct))1MessageTraceMessage(message) (PARENT(TraceMessageStruct, messageStruct, message)) traceWorkClock(trace) ((trace)->segScanSize + (trace)->rootScanSize)trace.cJan 17 200703:39:22TraceGC$Id: //info.ravenbrook.com/project/mps/master/code/trace.c#17 $7 @A|  AB  $AB DG.0AB @AB PAB `@AB DQ.AB AB CAB  AB  AB  AB AB  NAB Cc. @AB CAAB C `sAB FN. AB FK. dYAB Fj.(SAB FG.Q.L.W.$DAB FO.N.N.X8AB BJ. AB FZ. AB F^.AB Bg. dAB FO. AB FK. AB F AB ( AB << {AB FG.\.`.L..O.T.K.N.f.$ DAB FO.N.N. AB Fa. AB Ft. AB Ft.(pAB FJ.b.J..$TLAB FR. N.Q. eAB FA.AB N. jAB FF. AB Fe. 8AB BJ. DpAB FK. AB Fn.$LAB EH.w. [.(@AB F^.. x.@AB P$AB DD. twAB Fq.(AB $AB EU.R.I.$AB FD.g.O. TAB FD. jAB FN.\KAB ED./AB DD.&?e'ScanStateCheck'ScanStateInit!(ScanStateFinishE(TraceIdCheckn(TraceSetCheck(TraceCheck*TraceAddWhiteq*TraceCondemnZonesf-TraceCreate-TraceDestroy/ScanStateSetSummary/ScanStateSummary=1TraceSegAccess1TraceFix2TraceFixEmergencyj4TraceScanSingleRef4TraceScanArea5TraceScanAreaTagged5TraceScanAreaMasked7TraceStartL9TracePoll:ArenaClamp:ArenaRelease;ArenaPark|;rememberedSummaryBlockInit;arenaRememberSummaryOne}<ArenaExposeRemember=ArenaRestoreProtection=arenaForgetProtection2>ArenaStartCollect>ArenaCollect>TraceTopGenMortality>TraceWorkFactor?traceSrcIdProtocolCoerceClassMethodwhiteMutatorFaultContextmpsVersionStringchunkPoolBlackenMethodsize_t_oldMessageTraceFixclampednotCondemnedSizechunkSerialArenaCollectLockStructLockalignmentframePushpageTablePagesframePopPendingpageTableLimitfirstChainrootunitsPerExtentglobalPoolFreeMethodChunkCacheEntryStructTraceMessageDeleteSrcIdStructMFSHeaderStructPoolAccessMethodgreyRingdetachisGensuperclassforwardedCountcoerceClassfoundBufferDetachMethodsegScanSizeSCANsummaryblockPoolStructnewBlockemptySizetypeScanStateSummaryarenaRememberSummaryOneArenaMutatorFaultContextStructdoublemergepoolLimitfinishpoolRingBufferStructarenaRinggreySegMaxgensnodebpoolStructArenaDescribeMethodtraceFlipBuffersTraceScanAreanodepphaseforwardedSizeEpochreservoirLimittraceAccountingPhasefinishingTimeMVStructPoolFinishMethodAttrarenaArenaFreeMethodrootRingrampCountArenaReleasenextNodelong intPoolClassStructrestPoolReclaimMethodArenaClassStructclassbufferClassepochWordSegSetWhiteMethodhistorywriteBarrierHitCountpageSizeheaderSizerankScanStateInitbuild_timemortalityhigh__va_listTraceIdProtocolInstblackenrampBeginPoolRampBeginMethodProtocolCoerceInstMethodSizesigned charReservoirStructAddrStruct/home/hannes/dylan/mps/codesingleScanCountspacefreewalkextendsetRankSetSegFinishMethodrememberedSummaryRingspanPoolStructrefIOoldScannedBufferAttachMethodPoolBufferClassMethodpointlessScanCountrootFlipClosureStructTraceMessageClassStructRingMessageGCCondemnedSizeMethodtraceScanRootResproflowIndexsCondemnedPoolDescribeMethodFormatSkipMethod_ringsConsTraceSegStructTraceCheckfailStartvarietyflippedTracesBufferFinishMethodfoundationTraceCreatedescribeTraceMessageInitcapacityScanStateStructTraceMessageStructrootScanSizegcCondemnedSizesummaryattrsnapCountrememberedSummaryIndex_chunkreclaimSizePoolStructreassignSegSummaryPairSegSetRankSummaryMethodRingStructpreservedInPlaceSizenodeRankSetArenaInitMethodFormatPadMethodmayMovefileProtocolInstStructpageslimitrememberedSummaryBlockInittraceQuantumtracerememberskipthreadRingPoolFramePushMethodArenaChunkFinishMethodreservetractfinalizationRefSCANzoneShiftbufferchainbusyTracesPoolAllocMethodmoveArenaExtendMethodrateTraceMessageLiveSizetraceScanRootunroundedUnitSizemps_lib_stream_ssegRefCountbufferFillsetRankSummarytraceReclaimAccessSetChunkStructfixRefCountdeleteframeptrTraceCondemnZonesshDepthtraceSetSignalEmergencyunsigned charrootScanCountsSurvivorsisCollectedenabledArenaAllocMethodlwPopPendinglong unsigned intallocBaseTraceFixEmergencyspareCommitLimitnailCountformatextendByavgSizeTraceSegAccessTraceScanSingleRefAllocFrameStruct_arenachunkRinggreyfirstTractnPollscommittedlabelledfillMutatorSizeScanStateFinishPagetraceSrcIdPageStructpoolReadythreadSerialchunkFinishserialBuffertraceUpdateCountsFormatCopyMethodBootBlockStructBoolunitSizebufferLoggingreservoirStructPoolDebugMixinMethodTraceAddWhiteFormatrankSetTracePollTraceStructProtocolClasstTracePerScanMessageDeleteMethodAddr__uint32_tScanStateCheckSegSetSummaryMethodprotocolmasksegCopiedSizefreeListva_listmessageStructTraceSetRememberedSummaryBlockStructbufferRingcondemnedSetArenaSpareCommitExceededMethodshCachePoolGreyMethodPoolBufferFillMethodArenaClampSerialreclaimdepthrootFlipinitCountfillSizeTracehasSegdynamicDeferralFormatScanMethodTraceMessageCondemnedSizespareCommitExceededPoolnailedTraceStartRefSetPoolDebugMixinTraceSetCheckscmidhaveWhiteSegsTraceScanAreaMaskedcontrolPoolStructtrace.csetGreyallocMutatorSizePoolFramePopPendingMethodScanStatesegReturntraceScanSingleRefResRootallocGlobalsnextChainNodeTractStructSegSplitMethodTraceMessageunsigned intBufferReassignSegMethodGlobalsStructPoolInitMethodtraceScanSegArenaStartCollectattachfirstTimecondemnedSizepageShiftMessageGCNotCondemnedSizeMethodwhitennextbfinalPoolBufferRankSetMethodSegPrefStructMessageTypePoolFixMethod_newnextpsegRingPoolBufferEmptyMethodMFSStructzonesprimaryBufferModenonWhiteSegbufferEmptyoffsetPoolWhitenMethodChainStructreadBarrierHitCountblockprehistoryFileSrcIdStructSegInitMethodreclaimCountZoneSetBufferClassStructSegSetGreyMethodGNU C 3.4.6 [FreeBSD] 20060305FormattedObjectsStepMethodSegClassStruct__size_tfixedSummaryTraceScanAreaTaggedcharTraceStatewalkrankReturnArenaChunkInitMethodtraceFindGreyAlignpreservedInPlaceCountBufferInitMethodlastTractrootCopiedSizescansetWhitetraceStartCollectAllMessageStructglobalRingfixEmergencyformatRingtraceScanSegRespollEndcommitLimitRootStructSCANwhitelooptracedSizesizelong long unsigned intSrcIdinsideShieldRankcondemnedzoneShiftTraceFixMethodtraceSetWhiteUnionlocusRingpoolScanStateSetSummaryformatSerialPoolDebugMixinStructdebugMixinfailCondemnbuild_daterampEndPoolClassgenCountinitAtFlippageTablepoolSerialFormatIsMovedMethodPoolRampEndMethodPoolFramePopMethodchunkInitshCacheLimitTraceMessageCheckmaxSizerootGreyreservoirSizeSegMergeMethodtraceCondemnAllsetBuffercopyRememberedSummaryBlocktracedTimeBufferClasstimerootSerialChainframePopactiveTracesemptyMutatorSizechainNodePoolFreeWalkMethodArenaParktopGensuspendedglobalsFormatClassMethodnameallocTablelastTractBaseapStructSegSetRankSetMethodgcLiveSizeFreeBlockStepMethodAllocFramewhiteSegRefCounttraceFlipShiftTraceWorkFactorwasTotalSCANtshort intlostnotCondemnedtractStruct_addrmodeArenaExposeRemembershCacheIfillInternalSizestateFormatMoveMethodBufferDescribeMethodBufferSegMethodemptyInternalSizeisMutatorcoerceInstlastWorldCollectArenaRestoreProtectionsingleScanSizespareCommittedendSigMessageClassStructSegPrefMessageClassMessageFinalizationRefMethodspansSegClasspollThresholdmessageRingtracePostMessagechunkCacheliveSizetracesbufferSerialPoolFixEmergencyMethodunfixedSummaryfailBeginqueueRingArenaClasslong long intcopiedSizeAPStructarenaForgetProtectiontractListsplitisMovedisFinalPoolemergencySegBufferMethodfreetMessagechainRingwasMarkedFormatVarietyenabledMessageTypesshort unsigned intGenDescStructbasemessageTraceTopGenMortalityArenaStructsetSummaryTraceMessageNotCondemnedSizeBufferSetRankSetMethodSegDescribeMethodaccesstraceReturngcNotCondemnedSizegreySegCountmps_lib_FILEsegScanCounttraceSetUpdateCountsChunkArenaReservedMethodPoolScanMethodsingleCopiedSizeBootBlockinsidePollreservednextsFoundationPoolWalkMethodMessageGCLiveSizeMethodTraceIdCheckSegSetBufferMethodProtocolClassStructprevpageTableBaseFormatStructscannedSizeTraceDestroylockArenaFinishMethodTractGCC: (GNU) 3.4.6 [FreeBSD] 20060305.symtab.strtab.shstrtab.rel.text.rel.data.bss.debug_abbrev.rel.debug_info.rel.debug_line.debug_macinfo.rodata.str1.1.rodata.str1.4.rel.rodata.rodata.cst4.rodata.cst8.rel.debug_frame.rel.debug_pubnames.rel.debug_aranges.debug_str.comment4 ) P % 8/p4pF&?B  V\R @ baq2(%2P@ @ ` A D  D0 % <. *      + $>0S@mP `@N@AdYS'D5X8>HdYf t< { Dp 8L+:H Q cs   `s  ,9ER]jv (   TL-e;O jcs@HDp@-@8P$Ej[twe(T \K/trace.cFileSrcIdStructTraceMessageCheckTraceMessageDeleteTraceMessageLiveSizeTraceMessageCondemnedSizeTraceMessageNotCondemnedSizeTraceMessageClassStructTraceMessageInittraceUpdateCountstraceSetUpdateCountstraceSetSignalEmergencytraceSetWhiteUniontraceFlipBufferstraceScanRootRestraceScanRootrootFliptraceFliptracePostMessagetraceReclaimtraceFindGreytraceScanSegRestraceScanSegtraceScanSingleRefRestraceCondemnAllrootGreytraceQuantumtraceStartCollectAlltraceSrcIdMessageArenaControlFreeMessageNoFinalizationRefMessageInitScanStateCheckScanStateInitTraceFixTraceFixEmergencyScanStateFinishTraceIdCheckTraceSetCheckTraceCheckTraceAddWhitePoolWhitenZoneSetOfSegTraceCondemnZonesSegFirstSegNextBufferFlipRootScanRootRankShieldSuspendLDAgeRootsIterateShieldRaiseShieldResumeTraceCreateTraceDestroyChainEndGCControlAllocMessagePostPoolReclaimScanStateSetSummaryScanStateSummaryPoolBlackenShieldExposePoolScanShieldCoverSegSetSummarySegSetGreyTraceSegAccessChunkOfAddrPoolFixEmergencyTraceScanSingleRefTraceScanAreaTraceScanAreaTaggedTraceScanAreaMaskedChainCondemnAllChainStartGCTraceTopGenMortalityTraceWorkFactorRootSummaryRootGreyTraceStartSegSizePoolGreyArenaAvailTracePollArenaCommittedArenaSpareCommittedChainDeferralChainCondemnAutoArenaClampArenaReleasearenaForgetProtectionArenaParkrememberedSummaryBlockInitarenaRememberSummaryOneGlobalsRememberedSummaryRingArenaExposeRememberGCSegClassGetProtocolIsSubclassArenaRestoreProtectionSegOfAddrArenaStartCollectArenaCollect/'0my256x<==?==4;J@A4B7hCDEF>G|HD5KVKLM ?G NZ @i Q 4 R S TA PP Ud Po U} 7 Vv U X X)Y4RU(T@7]^_b.cY?vef@ FN%h&]Izg```dJ(i5jM`z%&ag$keIwl_adJ,J\okhJ2LDqMsisp?uvr-U>@bsxUsos70Gsipnnyp $ (,1048 ,!,%,*,1,8,?,M,X,_,f,m,t,{,,,,,,,,,,,,,(,3,9,Z,e,v,|,,,,,,,,,,,, ,,#,.,9,T,e,k,,,,,,,,,,,,-,<,K,Z,i,y,,,,,,,,,,,,,;,Z,i,q,,,,,,,,,,,%,4,C,R,a,p,,,,,,,,, ,,(,6,D,R,`,n,,,,,,,,,, ,,&,4,B,P,^,l,z,,,,,,,,,,,",0,>,L,Z,h,v,,,,,,, , ,) ,8 ,G ,V ,e ,t , , , , , , , , , , , ,( ,7 ,F ,U ,d ,s , , , , , , , , , , ,: ,I ,X ,g ,v , , , , , , , , , , , ,+ ,@ ,V ,d ,r , , , , , , , , , , ,0 ,> ,L ,Z ,h ,v , , , , , , , , ,,,!,0,@,U,,,,,,,,,,,>,Q,f,n,|,,,,,,,,,,,,$,2,O,d,{,,,,,,,,,, ,/,>,M,\,k,z,,,,,,,,,, ,0,@,P,`,p,,,,,,,,,,, ,0,@,P,`,p,,,,,,,,,,, ,0,@,P,`,p,,,,,,,, ,,),8,G,V,e,t,,,,,,,,,, ,,$,*,;,A,R,\,d,r,,,,,,,%,P,,,,,',2,G,],k,y,,,,,,,,,,,$,P,,,,,&,1,S,z,,,,,D,O,z,,,,,,7,Y,,,,,,S,,,,,-,c,,,,,,#,N,u,,,, ,+ ,H ,o , , , , , ,!,!,*!,L!,W!,l!,t!,!,!,!,!,!,!,!,!,!,",!",/",F",Q",]",n",",",",",",",",",/#,`#,k#,z#,#,#,#,#,#,#,#,#,#,$,$,%$,3$,B$,Q$,`$,o$,~$,$,$,$,$,$,$,$,$,$,%,Z%,i%,q%,%,%,%,%,%,%,%, &,&,/&,:&>&E&,X&,_&c&j&,w&,&,&,&&&,&,&,&&&,&,', ''',&',8',?'C'J',X',k',v'z'',',',''',',',(,'(,.(2(K(,V(Z(t(,(((,(((,(,(((,(,),))'),C),_),r),z)~)),),),))),*,*,"*,.*2*9*,c*,w*,***,*,*,***,*,*++,+,$+,2+6+;+,I+,W+,k+,w+{++,+,+,+,+,++ ,,,,),,J,,a,,p,,,,,,,,,,,,,,,,,, -,-,8-<-N-R-l-,x-|--,-,-,-,--,---,---, .,..!.,6.,>.B.I.,W.,r.,.,...,.,...,...,/,///,)/,7/,S/,b/,q/,/,///,///,/,//0, 0$090,H0,e0,u0,00000,0,0,001,1,C1,K1O1V1,r1,111,111,1,111,2,2,&2*2/2,=2,K2,l2p222222,222,2,3,33 3,.3,<3,]3a3u3y33,333,3,3,3,3,*4.434,A4,M4,[4,p4,x4|44,4,4,4,445,5,F5,M5Y5^5b5g5,v5,5,5,5,555,5,5,566,$6,36,h6,o6{6666,6,6,6,6,666,6, 7,7,'7,37,:7C7G7L7,[7_7d7,x7,777,7,7,777,7,7,7,8,5898>8,M8Q8V8,d8,x8,888,8,888,8,8,888,9,9,29,@9,G9R9,^9b9i9,x9,9,9,9,99,9999,9,9,:,:,:,*:.:3:,A:,O:,^:,r:v:{:,:,:::,:::,:,:::,:,;; ;,;,';+;2;,N;,\;,k;,;,;;;,;;;,;,;;;,;,;, <,<,&<*<<<,X<\<a<,o<,<,<<<,<,<,<<<,<<<,<==,&=*=1=,@=,N=,]=,k=o=t=,===,===,=,=,=,> >>,>>$>,8>,D>H>O>,]>,w>,>,>>,>>>,>,>`>,>a>,> ?,?.?,!?    )0)4P)Th)l))))))  )$8)<P)Th)l)))))8)<d)h)))))8)<\)`|)))))8)<\)`)))))8)<\)`|)))))0)4P)Tt)x))))$)(D)Hroot.o/ 1169001563 1001 1001 100644 61652 ` ELF h4(UÉUÉUÉUWVS } ]jjHWEP…UzEBEB4B8CBs0s,s(]UWVS u}V\F\9t ƉBWPU u ڋ9uȍe[^_ÉUVS]u t;)Qt Kv;jshsh*sh5CptPh@sShQV@…{4C4$$ js $ > : ; I I&I : ;  : ; I8 < : ; I  : ;I8 : ;I8  : ; I8  : ; I 8  : ;I 8  : ;I 8  : ; ' II' ' I: ;I : ;  : ;  : ; II!I/  : ;  : ; I.? : ; ' I@ : ; I !.: ; ' I@ "4: ; I #4: ; I $ % &4: ; I': ; I ( U).? : ;' I@ *: ;I +4: ;I ,4: ;I -: ;I ..? : ;' @ /4: ;I0.: ;' @ 1 : ;24: ; I?  P/x;int 8W< <qB _L6 |e7z]E6 ""S$#F%#&#'# "d 2 V' . Sigl ResEQ lz"ou u#Y$Y@%Y&Y'W (W Ref)d ,Y^ -Y4.W/Wl0W1{ 2W3W4W5W6W 7W8E BT:cY;tz <`< sigsC# /t# }u# v# w# d xl!# C y# <zo# {s#$ |s#, }d#4 N ~d#8 $#< d#T 8#X W#\S>o @> D"# gE# F# GH# Hs# I# J#$ KR#( segL#, iM#0 N#4 $O0#8 sigPC#< AWC ad# .bd# cd# dd# e# f#| Dg<D sigC# }#  C# # < l!# 8# $ # /O # p #$  #( Z  #, pad #0 / #4 {#8F 0 7GY XGsig`C#}a#/b#c# < dl!# el!#f# qgl!#$8h#,i#0fixj\#4:ks#8ls#@ms#H$ ns#PHH2"#g3# 4#X5#|68#7x# 8#$.9#(6:#,5;#0#< ?#@@#D A&#HfixB\#L C#PrD#T E#XF#\G#`H#dv IG#h@Jn#lK#pL#tM#xN #|O#sigPC# O O sigC# ti # # 1# # "# #  @ # {# y{#$ {#( {#, 6 #0 P#4 #8 #< {#@ %#D s#H F{#L #P #T {#X q#\ F #` L#d #h #l #p  #t k #x ] {#| } #  {# # # P  @ TP fix# Y# 1# # sigC# # !# # n# _ #$ q#( F #, L#0 #4 #8 k#< ]{#@ }#D {#H {#L {#P6 QK Q  Qsig>C#?# @l!#A#B#C@##f R   R #p#d#1# W# S% +  8SsigC#}##l!# u{# #d# d# "#$ #(Y#,!#0'#4U T sigC#  # d# d# U# 0U#5U`fUtheh!# SegVf V sigC# /f# - # d  l!#  d#|  W#pm -#sm -# #1# #i#XqwdLX"#g# ###ns#  #$#(##,E#0*#4L#8#<#@; =#DsigC#HIZouVZ sig0C# w1# 2# 03# 4# gen5#\ H\ &"# g'$# (# X)# *# +# ,#$ F-#( .#, ./F#0 60#4 v1#8 [2#< 3#@ sig4C#DS ^D(^ o$# }p#t /r#x <t#| u$# w$# l y{# z{# |{# }{# # 8#  # d#  # l!# # "$# 5## l!# _# l!# PY# # p # l!# # # $# {# 9{# e{# ,# # # _$# +s# S s# Y# $# # l!# # n# %# sigC#?_t_ sigBC# El!# F# 6Is# ZJ# K# :Ls# Ms#( Ns#0 Os#8 $ Ps#@ dS#H V#L d Yl!#P JZ#X K]l!#\ ^#d Val!#h  d#pa"zHasigC#}##< l!# # # #<# b#$_ d#(d#,pm -#0var!N#4the;1&#8 b  d e+1 AygBH #hh7F## #X{#\{#`sigC#d nN8M op{qr&,FNd{tQW{N{d{d yud{vN iw xN'(.CN CTZzdlddTNd{8p5;LW]s:~ NG =Nddd8 TSYsN8~Xddd{r ~l 7 0 ;ARz ]cxN N8NN{{>d{q#LN{{{BW]xddǃNd-  ȸN  & 17VNV ;gmN C g ҭ N74'-GN7RXn7 yIl ݪz  N   $  / 5 O N ddbZ ` p ddY {   ddZZ  { ~   d{A Z   !N   !!2!N =!C!l!^2!#l2!#^C! !g e#fE#!hGcw!kg!if!\!!-"\sig}C#~!# g"#"#  a8">"g" asigC#/!#mr"x"""-"!-"x""""!!!!5# $sigC##  {#M!s# x"s# #l!# $"5#Y o# t7F##{#X{#\{#`&Y#dz##hh  #lsigC#p # Q#$J `7F####X ##{#R {#n{#j {# {#l!#sigC#J #Ngz  e$$$%l!%w%%%:%Ni% ' $ #p%#s&#%+){# *{#% 0-{# .{# /Y#%6 2!#/ 3#p4#s5# 1& : 8$ #9d# 9d#u&m"fun':% +i%N0%reg6%fmt:%&D U UCN&WO U <N&4a"U `!'N$U 'P W P <P NP  'S" R#resNP#pp"V$'"v 2!S%"v 2!Q&2!1&!(NU 'P V  <S'varN dW d '$#resNP" p"2!R"2!S(" R)9)N)U*'* **<*{Q* {R+resNP,1&h))N,_U*'* **<*{Q* {R* YP,1&h)X*-,N`U*)'*) ***/ *P* +!P-p+P-s+P,-1&h)*,@NU*='*= *>*<>* >$ P*?dQ* ?dR,A1&h)i+" TNU*R'*R *R* S P-pSP-sSP,U1&h.+gEU* fS,hP$+!,2p2!Q%!//v q2!)+~HSU* }P)&,GT_U* P)Q,-`kU* P)|,lwU* P.,txU* R*_P0,U* P* R)7-m NU-ss V* S+resNW1e)-=U* 'P* S*l dV,2!R,2!Q% ,, R.-%@hU* $S*<$- )n.* 6NhU*5V-f5% -p5W+res7NQ,82!R,82!S%, ;P).eHN)U* GS* GV+resINP)0/ N,xU*V* W+resNQ,2!R,2!S%Pf, P", 2 d /usr/include/usr/include/sys/usr/include/machinempm.hconfig.hmpstd.hmisc.hstddef.hcdefs.h_null.h_types.h_types.hcheck.hmpslib.hevent.heventcom.hmpmtypes.hstdarg.heventgen.hlock.hth.hring.hss.htract.hbt.hmpmst.hprotocol.hchain.hroot.c> 949  :*;:dddrrdrrrtd:g;VV"::*V:rpqh::YzV :;Z ::e> cdddeVL d:;=kddeV1;e;d?;d?;d?;d?g/dVrH=[:Td+UXU;.s.s.s. Yd<, ;Vz Vw:[X;m,8;Y!ʭʔ__GNUCLIKE___OFFSETOF 1?__GNUCLIKE___SECTION 1A__GNUCLIKE_ATTRIBUTE_MODE_DI 1D__GNUCLIKE_CTOR_SECTION_HANDLING 1G__GNUCLIKE_BUILTIN_CONSTANT_P 1N__GNUCLIKE_BUILTIN_VARARGS 1O__GNUCLIKE_BUILTIN_STDARG 1P__GNUCLIKE_BUILTIN_VAALIST 1T__GNUC_VA_LIST_COMPATIBILITY 1X__GNUCLIKE_BUILTIN_NEXT_ARG 1Y__GNUCLIKE_MATH_BUILTIN_RELOPS \__GNUCLIKE_BUILTIN_MEMCPY 1___CC_SUPPORTS_INLINE 1`__CC_SUPPORTS___INLINE 1a__CC_SUPPORTS___INLINE__ 1c__CC_SUPPORTS___FUNC__ 1d__CC_SUPPORTS_WARNING 1f__CC_SUPPORTS_VARADIC_XXX 1h__CC_SUPPORTS_DYNAMIC_ARRAY_INIT 1k__CC_INT_IS_32BIT 1s__GNUC_PREREQ__(ma,mi) (__GNUC__ > (ma) || __GNUC__ == (ma) && __GNUC_MINOR__ >= (mi))__P(protos) protos__CONCAT1(x,y) x ## y__CONCAT(x,y) __CONCAT1(x,y)__STRING(x) #x__XSTRING(x) __STRING(x)__const const__signed signed__volatile volatile__dead2 __attribute__((__noreturn__))__pure2 __attribute__((__const__))__unused __attribute__((__unused__))__used __attribute__((__used__))__packed __attribute__((__packed__))__aligned(x) __attribute__((__aligned__(x)))__section(x) __attribute__((__section__(x)))__pure __attribute__((__pure__))__always_inline __attribute__((__always_inline__))__nonnull(x) __attribute__((__nonnull__(x)))__restrict __predict_true(exp) __builtin_expect((exp), 1)__predict_false(exp) __builtin_expect((exp), 0)__offsetof(type,field) ((size_t)(&((type *)0)->field))__rangeof(type,start,end) (__offsetof(type, end) - __offsetof(type, start))__printflike(fmtarg,firstvararg) __attribute__((__format__ (__printf__, fmtarg, firstvararg)))__scanflike(fmtarg,firstvararg) __attribute__((__format__ (__scanf__, fmtarg, firstvararg)))__format_arg(fmtarg) __attribute__((__format_arg__ (fmtarg)))__printf0like(fmtarg,firstvararg) __attribute__((__format__ (__printf0__, fmtarg, firstvararg)))__strong_reference(sym,aliassym) extern __typeof (sym) aliassym __attribute__ ((__alias__ (#sym)));__weak_reference(sym,alias) __asm__(".weak " #alias); __asm__(".equ " #alias ", " #sym)__warn_references(sym,msg) __asm__(".section .gnu.warning." #sym); __asm__(".asciz \"" msg "\""); __asm__(".previous")__IDSTRING(name,string) __asm__(".ident\t\"" string "\"")__FBSDID(s) __IDSTRING(__CONCAT(__rcsid_,__LINE__),s)__RCSID(s) __IDSTRING(__CONCAT(__rcsid_,__LINE__),s)__RCSID_SOURCE(s) __IDSTRING(__CONCAT(__rcsid_source_,__LINE__),s)__SCCSID(s) __IDSTRING(__CONCAT(__sccsid_,__LINE__),s)__COPYRIGHT(s) __IDSTRING(__CONCAT(__copyright_,__LINE__),s)__DECONST(type,var) ((type)(uintptr_t)(const void *)(var))__DEVOLATILE(type,var) ((type)(uintptr_t)(volatile void *)(var))__DEQUALIFY(type,var) ((type)(uintptr_t)(const volatile void *)(var))__POSIX_VISIBLE 200112__XSI_VISIBLE 600__BSD_VISIBLE 1__ISO_C_VISIBLE 1999* NULL ((void *)0)+_SYS__TYPES_H_ ! (_MACHINE__TYPES_H_ .__NO_STRICT_ALIGNMENT __GNUC_VA_LIST 2_RUNE_T_DECLARED 8_SIZE_T_DECLARED >_WCHAR_T_DECLARED Boffsetof(type,member) __offsetof(type, member)*SRCID(id,scmid) static SrcIdStruct FileSrcIdStruct = {__FILE__, (scmid), __DATE__, __TIME__}; SrcId id ## SrcId = &FileSrcIdStruct;BEGIN do {> (i)) & 1)BS_UNION(s1,s2) ((s1) | (s2))BS_ADD(ty,s,i) BS_UNION((s), BS_SINGLE(ty, (i)))BS_INTER(s1,s2) ((s1) & (s2))BS_DIFF(s1,s2) BS_INTER((s1), BS_COMP(s2))BS_DEL(ty,s,i) BS_DIFF((s), BS_SINGLE(ty, (i)))BS_SUPER(s1,s2) (BS_INTER((s1), (s2)) == (s2))BS_SUB(s1,s2) BS_SUPER((s2), (s1))BS_IS_SINGLE(s) (((s) & ((s)-1)) == 0)BS_SYM_DIFF(s1,s2) ((s1) ^ (s2)) check_h  mpslib_h mps_lib_EOF (mps_lib_get_EOF())mps_lib_stderr (mps_lib_get_stderr())mps_lib_stdout (mps_lib_get_stdout())0AVER(cond) DISCARD(cond)1AVERT(type,val) DISCARD(type ## Check(val))2AVER_CRITICAL(cond) DISCARD(cond)3AVERT_CRITICAL(type,val) DISCARD(type ## Check(val))MASSERT(cond,condstring) BEGIN if (cond) NOOP; else mps_lib_assert_fail(condstring "\n" __FILE__ "\n" STR(__LINE__)); END_NOTREACHED NOOPjCHECKT(type,val) ((val) != NULL && (val)->sig == type ## Sig)pCHECKS(type,val) DISCARD(CHECKT(type, val))qCHECKL(cond) DISCARD(cond)rCHECKD(type,val) DISCARD(CHECKT(type, val))sCHECKD_NOSIG(type,val) DISCARD((val) != NULL)tCHECKU(type,val) DISCARD(CHECKT(type, val))uCHECKU_NOSIG(type,val) DISCARD((val) != NULL)CHECKLVALUE(lv1,lv2) ((void)sizeof((lv1) = (lv2)), (void)sizeof((lv2) = (lv1)), TRUE)CHECKTYPE(t1,t2) (sizeof(t1) == sizeof(t2) && CHECKLVALUE(*((t1 *)0), *((t2 *)0)))CHECKFIELDAPPROX(s1,f1,s2,f2) (sizeof(((s1 *)0)->f1) == sizeof(((s2 *)0)->f2) && offsetof(s1, f1) == offsetof(s2, f2))CHECKFIELD(s1,f1,s2,f2) (CHECKFIELDAPPROX(s1, f1, s2, f2) && CHECKLVALUE(((s1 *)0)->f1, ((s2 *)0)->f2)) event_h   eventcom_h  mpmtypes_h '_MACHINE_STDARG_H_ -_VA_LIST_DECLARED 3va_start(ap,last) __builtin_stdarg_start((ap), (last))6va_arg(ap,type) __builtin_va_arg((ap), type):va_copy(dest,src) __builtin_va_copy((dest), (src))>va_end(ap) __builtin_va_end(ap)SigInvalid ((Sig)0x51915BAD)SizeMAX ((Size)-1)AccessSetEMPTY ((AccessSet)0)AccessREAD ((AccessSet)(1<<0))AccessWRITE ((AccessSet)(1<<1))AccessSetWIDTH (2)RefSetEMPTY BS_EMPTY(RefSet)RefSetUNIV BS_UNIV(RefSet)ZoneSetEMPTY BS_EMPTY(ZoneSet)ZoneSetUNIV BS_UNIV(ZoneSet)TraceSetEMPTY BS_EMPTY(TraceSet)TraceSetUNIV ((TraceSet)((1u << TraceLIMIT) - 1))RankSetEMPTY BS_EMPTY(RankSet)RankSetUNIV ((RankSet)((1u << RankLIMIT) - 1))AttrFMT ((Attr)(1<<0))AttrSCAN ((Attr)(1<<1))AttrPM_NO_READ ((Attr)(1<<2))AttrPM_NO_WRITE ((Attr)(1<<3))AttrALLOC ((Attr)(1<<4))AttrFREE ((Attr)(1<<5))AttrBUF ((Attr)(1<<6))AttrBUF_RESERVE ((Attr)(1<<7))AttrBUF_ALLOC ((Attr)(1<<8))AttrGC ((Attr)(1<<9))AttrINCR_RB ((Attr)(1<<10))AttrINCR_WB ((Attr)(1<<11))AttrMOVINGGC ((Attr)(1<<12))AttrMASK (AttrFMT | AttrSCAN | AttrPM_NO_READ | AttrPM_NO_WRITE | AttrALLOC | AttrFREE | AttrBUF | AttrBUF_RESERVE | AttrBUF_ALLOC | AttrGC | AttrINCR_RB | AttrINCR_WB | AttrMOVINGGC)BufferModeATTACHED ((BufferMode)(1<<0))BufferModeFLIPPED ((BufferMode)(1<<1))BufferModeLOGGED ((BufferMode)(1<<2))BufferModeTRANSITION ((BufferMode)(1<<3))RootModeCONSTANT ((RootMode)1<<0)RootModePROTECTABLE ((RootMode)1<<1)RootModePROTECTABLE_INNER ((RootMode)1<<2)STATISTIC_DECL(field) field!EventNameMAX ((size_t)19)"EventCodeMAX ((EventCode)0x0069)&EVENT_0(type) NOOPEVENT_A(type,p0) NOOPEVENT_AW(type,p0,p1) NOOPEVENT_P(type,p0) NOOPEVENT_PAA(type,p0,p1,p2) NOOPEVENT_PAW(type,p0,p1,p2) NOOPEVENT_PAWA(type,p0,p1,p2,p3) NOOPEVENT_PDDWWW(type,p0,p1,p2,p3,p4,p5) NOOPEVENT_PP(type,p0,p1) NOOPEVENT_PPAU(type,p0,p1,p2,p3) NOOPEVENT_PPAWP(type,p0,p1,p2,p3,p4) NOOPEVENT_PPP(type,p0,p1,p2) NOOPEVENT_PPPA(type,p0,p1,p2,p3) NOOPEVENT_PPPU(type,p0,p1,p2,p3) NOOPEVENT_PPPUU(type,p0,p1,p2,p3,p4) NOOPEVENT_PPU(type,p0,p1,p2) NOOPEVENT_PPUU(type,p0,p1,p2,p3) NOOPEVENT_PPUWWW(type,p0,p1,p2,p3,p4,p5) NOOPEVENT_PPWW(type,p0,p1,p2,p3) NOOPEVENT_PPWWW(type,p0,p1,p2,p3,p4) NOOPEVENT_PPWWWUUU(type,p0,p1,p2,p3,p4,p5,p6,p7) NOOPEVENT_PU(type,p0,p1) NOOPEVENT_PW(type,p0,p1) NOOPEVENT_PWA(type,p0,p1,p2) NOOPEVENT_PWAW(type,p0,p1,p2,p3) NOOPEVENT_PWP(type,p0,p1,p2) NOOPEVENT_PWU(type,p0,p1,p2) NOOPEVENT_PWW(type,p0,p1,p2) NOOPEVENT_PWWWWDD(type,p0,p1,p2,p3,p4,p5,p6) NOOPEVENT_PWWWWW(type,p0,p1,p2,p3,p4,p5) NOOPEVENT_PWWWWWWWWW(type,p0,p1,p2,p3,p4,p5,p6,p7,p8,p9) NOOPEVENT_PWWWWWWWWWWWW(type,p0,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11,p12) NOOPEVENT_UUPA(type,p0,p1,p2,p3) NOOPEVENT_UUPP(type,p0,p1,p2,p3) NOOPEVENT_UUPPP(type,p0,p1,p2,p3,p4) NOOPEVENT_WS(type,p0,p1,l1) NOOP:EventEventTime ((EventType)0xEF213E99);EventPoolInit ((EventType)0xEFB07141)EventPoolFree ((EventType)0xEFB07F6E)?EventArenaCreateVM ((EventType)0xEFA64CF3)@EventArenaCreateVMNZ ((EventType)0xEFA64CF2)AEventArenaCreateCL ((EventType)0xEFA64CC7)BEventArenaDestroy ((EventType)0xEFA64DE5)CEventArenaAlloc ((EventType)0xEFA64A77)DEventArenaFree ((EventType)0xEFA64F6E)EEventSegAlloc ((EventType)0xEF5E9A77)FEventSegFree ((EventType)0xEF5E9F6E)GEventSegMerge ((EventType)0xEF5E93E6)HEventSegSplit ((EventType)0xEF5E95B7)IEventAMCGenCreate ((EventType)0xEFA3C94C)JEventAMCGenDestroy ((EventType)0xEFA3C94D)KEventAMCInit ((EventType)0xEFA3C141)LEventAMCFinish ((EventType)0xEFA3CF14)MEventAMCTraceBegin ((EventType)0xEFA3C26B)NEventAMCScanBegin ((EventType)0xEFA3C5CB)OEventAMCScanEnd ((EventType)0xEFA3C5CE)PEventAMCFix ((EventType)0xEFA3CF18)QEventAMCFixInPlace ((EventType)0xEFA3CF8A)REventAMCFixForward ((EventType)0xEFA3CF8F)SEventAMCReclaim ((EventType)0xEFA3C6EC)TEventTraceStart ((EventType)0xEF26AC52)UEventTraceCreate ((EventType)0xEF26ACC6)VEventTraceDestroy ((EventType)0xEF26ACDE)WEventSegSetGrey ((EventType)0xEF59596A)XEventTraceFlipBegin ((EventType)0xEF26AF7B)YEventTraceFlipEnd ((EventType)0xEF26AF7E)ZEventTraceReclaim ((EventType)0xEF26A6EC)[EventTraceScanSeg ((EventType)0xEF26A559)\EventTraceScanSingleRef ((EventType)0xEF26A556)^EventTraceAccess ((EventType)0xEF26AACC)_EventTracePoll ((EventType)0xEF26AB01)`EventTraceStep ((EventType)0xEF26A52B)aEventTraceFix ((EventType)0xEF26AF18)bEventTraceFixSeg ((EventType)0xEF26AF85)cEventTraceFixWhite ((EventType)0xEF26AF83)dEventTraceScanArea ((EventType)0xEF26A5CA)eEventTraceScanAreaTagged ((EventType)0xEF26A5C2)fEventVMCreate ((EventType)0xEFF3C6EA)gEventVMDestroy ((EventType)0xEFF3DE52)hEventVMMap ((EventType)0xEFF33AB9)iEventVMUnmap ((EventType)0xEFF3043B)jEventIntern ((EventType)0xEF142E64)kEventArenaExtend ((EventType)0xEFA64E82)lEventArenaRetract ((EventType)0xEFA646E2)mEventRootScan ((EventType)0xEF625CA4)nEventLabel ((EventType)0xEF7ABE79)oEventTraceSegGreyen ((EventType)0xEF26A599)pEventBufferReserve ((EventType)0xEFB0FF6E)qEventBufferCommit ((EventType)0xEFB0FFC0)rEventBufferInit ((EventType)0xEFB0FF14)sEventBufferInitSeg ((EventType)0xEFB0F15E)tEventBufferInitRank ((EventType)0xEFB0F16A)uEventBufferInitEPVM ((EventType)0xEFB0F1EF)vEventBufferFinish ((EventType)0xEFB0FFF1)wEventBufferFill ((EventType)0xEFB0FFF7)xEventBufferEmpty ((EventType)0xEFB0FFE3)yEventArenaAllocFail ((EventType)0xEFA64A7F)zEventSegAllocFail ((EventType)0xEF5E9A7F){EventMeterInit ((EventType)0xEF3E2141)|EventMeterValues ((EventType)0xEF3E2FA7)}EventCBSInit ((EventType)0xEFCB5141)~EventTraceStatCondemn ((EventType)0xEF26A5C0)EventTraceStatScan ((EventType)0xEF26A55C)EventTraceStatFix ((EventType)0xEF26A5F8)EventTraceStatReclaim ((EventType)0xEF26A56E)EventArenaWriteFaults ((EventType)0xEFA6436F)EventPoolInitMV ((EventType)0xEFB0713F)EventPoolInitMVFF ((EventType)0xEFB071FF)EventPoolInitMFS ((EventType)0xEFB07135)EventPoolInitEPVM ((EventType)0xEFB071EF)EventPoolInitEPDL ((EventType)0xEFB071E7)EventPoolInitAMS ((EventType)0xEFB071A5)EventPoolInitAMC ((EventType)0xEFB071AC)EventPoolInitAMCZ ((EventType)0xEFB071A2)EventPoolInitAWL ((EventType)0xEFB071A3)EventPoolInitLO ((EventType)0xEFB07170)EventPoolInitSNC ((EventType)0xEFB07154)EventPoolInitMVT ((EventType)0xEFB07132)EventPoolPush ((EventType)0xEFB07B58)EventPoolPop ((EventType)0xEFB07B0B)EventReservoirLimitSet ((EventType)0xEF6E5713)EventCommitLimitSet ((EventType)0xEFC03713)EventSpareCommitLimitSet ((EventType)0xEF5BC713)hEventInit() NOOPiEventFinish() NOOPjEventControl(r,f) (UNUSED(r), UNUSED(f), (Word)0)kEventInternString(s) (UNUSED(s), (Word)0)lEventInternGenString(l,s) (UNUSED(l), UNUSED(s), (Word)0)mEventLabelAddr(a,i) BEGIN UNUSED(a); UNUSED(i); ENDPlock_h ULockSig ((Sig)0x51970CC9) th_h  ring_h RingNONE ((Ring)0)$RingInit(ring) BEGIN Ring _ring = (ring); AVER(_ring != NULL); _ring->next = _ring; _ring->prev = _ring; AVER(RingCheck(_ring)); END/RingFinish(ring) BEGIN Ring _ring = (ring); AVER(RingCheckSingle(_ring)); _ring->next = RingNONE; _ring->prev = RingNONE; END9RingAppend(ring,new) BEGIN Ring _ring = (ring), _new = (new); AVER(RingCheck(_ring)); AVER(RingCheckSingle(_new)); _new->prev = _ring->prev; _new->next = _ring; _ring->prev->next = _new; _ring->prev = _new; ENDFRingInsert(ring,new) BEGIN Ring _ring = (ring), _new = (new); AVER(RingCheck(_ring)); AVER(RingCheckSingle(_new)); _new->prev = _ring; _new->next = _ring->next; _ring->next->prev = _new; _ring->next = _new; ENDSRingRemove(old) BEGIN Ring _old = (old); AVER(RingCheck(_old)); AVER(!RingIsSingle(_old)); _old->next->prev = _old->prev; _old->prev->next = _old->next; _old->next = _old; _old->prev = _old; END`RingNext(ring) ((ring)->next)dRingPrev(ring) ((ring)->prev)gRING_ELT(type,field,node) ((type)(void *)((char *)(node) - (size_t)(&((type)0)->field)))kRING_FOR(node,ring,next) for(node = RingNext(ring), next = RingNext(node); node != (ring); node = (next), next = RingNext(node))ThreadSig ((Sig)0x519286ED) ss_h  tract_h   bt_h BTSize(n) (((n) + MPS_WORD_WIDTH-1) / MPS_WORD_WIDTH * sizeof(Word))BTGet(a,i) ((Bool)(((a)[((i) >> MPS_WORD_SHIFT)] >> ((i) & ~((Word)-1 << MPS_WORD_SHIFT))) & (Word)1))BTSet(a,i) BEGIN (a)[((i)>>MPS_WORD_SHIFT)] |= (Word)1<<((i)&~((Word)-1<>MPS_WORD_SHIFT)] &= ~((Word)1 << ((i) & ~((Word)-1<base)&TractPool(tract) ((tract)->pool)'TractP(tract) ((tract)->p)(TractSetP(tract,pp) ((void)((tract)->p = (pp))))TractHasSeg(tract) ((Bool)(tract)->hasSeg)*TractSetHasSeg(tract,b) ((void)((tract)->hasSeg = (b)))+TractWhite(tract) ((tract)->white),TractSetWhite(tract,w) ((void)((tract)->white = (w)))8TRACT_SEG(segReturn,tract) (TractHasSeg(tract) && ((*(segReturn) = (Seg)TractP(tract)), TRUE));TRACT_SET_SEG(tract,seg) (TractSetHasSeg(tract, TRUE), TractSetP(tract, seg))>TRACT_UNSET_SEG(tract) (TractSetHasSeg(tract, FALSE), TractSetP(tract, NULL))nPageTract(page) (&(page)->the.tractStruct)rPageOfTract(tract) PARENT(PageStruct, the.tractStruct, (tract))vPagePool(page) ((page)->the.rest.pool)}PageIsAllocated(page) ((page)->the.rest.pool != NULL)PageType(page) ((page)->the.rest.type)ChunkSig ((Sig)0x519C804C)ChunkArena(chunk) ((chunk)->arena)ChunkPageSize(chunk) ((chunk)->pageSize)ChunkPageShift(chunk) ((chunk)->pageShift)ChunkPagesToSize(chunk,pages) ((Size)(pages) << (chunk)->pageShift)ChunkSizeToPages(chunk,size) ((Count)((size) >> (chunk)->pageShift))CHUNK_OF_ADDR(chunkReturn,arena,addr) (((arena)->chunkCache.base <= (addr) && (addr) < (arena)->chunkCache.limit) ? (*(chunkReturn) = (arena)->chunkCache.chunk, TRUE) : ChunkOfAddr(chunkReturn, arena, addr))AddrPageBase(chunk,addr) AddrAlignDown((addr), ChunkPageSize(chunk))TRACT_OF_ADDR(tractReturn,arena,addr) BEGIN Arena _arena = (arena); Addr _addr = (addr); Chunk _chunk; Index _i; if (CHUNK_OF_ADDR(&_chunk, _arena, _addr)) { _i = INDEX_OF_ADDR(_chunk, _addr); if (BTGet(_chunk->allocTable, _i)) *(tractReturn) = PageTract(&_chunk->pageTable[_i]); else *(tractReturn) = NULL; } else *(tractReturn) = NULL; ENDINDEX_OF_ADDR(chunk,addr) ((Index)ChunkSizeToPages(chunk, AddrOffset((chunk)->base, addr)))PageIndexBase(chunk,i) AddrAdd((chunk)->base, ChunkPagesToSize(chunk, i))TractAverContiguousRange(arena,rangeBase,rangeLimit) BEGIN Chunk _ch = NULL; UNUSED(_ch); AVER(ChunkOfAddr(&_ch, arena, rangeBase) && (rangeLimit) <= _ch->limit); ENDTRACT_TRACT_FOR(tract,addr,arena,firstTract,limit) tract = (firstTract); addr = TractBase(tract); TractAverContiguousRange(arena, addr, limit); for(; tract != NULL; (addr = AddrAdd(addr, (arena)->alignment)), (addr < (limit) ? (tract = PageTract(PageOfTract(tract) + 1)) : (tract = NULL) ))TRACT_FOR(tract,addr,arena,base,limit) TRACT_TRACT_FOR(tract, addr, arena, TractOfBaseAddr(arena, base), limit)mpmst_h protocol_h DERIVE_LOCAL(name) protocol ## nameDERIVE_STRUCT(name) name ## StructDERIVE_ENSURE(name) name ## GetDERIVE_ENSURE_OLD(name) Ensure ## nameDERIVE_ENSURE_INTERNAL(name) protocolGet ## nameDERIVE_GUARDIAN(name) protocol ## name ## GuardianDERIVE_STATIC_STORAGE(name) protocol ## name ## StructProtocolClassSetSuperclassPoly(class,super) (((ProtocolClass)(class))->superclass) = (ProtocolClass)(super)$DEFINE_CLASS(className,var) static Bool DERIVE_GUARDIAN(className) = FALSE; static DERIVE_STRUCT(className) DERIVE_STATIC_STORAGE(className); static void DERIVE_ENSURE_INTERNAL(className)(className); extern className DERIVE_ENSURE(className)(void); className DERIVE_ENSURE(className)(void) { if (DERIVE_GUARDIAN(className) == FALSE) { LockClaimGlobalRecursive(); if (DERIVE_GUARDIAN(className) == FALSE) { DERIVE_ENSURE_INTERNAL(className) (&DERIVE_STATIC_STORAGE(className)); DERIVE_GUARDIAN(className) = TRUE; } LockReleaseGlobalRecursive(); } return &DERIVE_STATIC_STORAGE(className); } extern className DERIVE_ENSURE_OLD(className)(void); className DERIVE_ENSURE_OLD(className)(void) { return DERIVE_ENSURE(className)(); } static void DERIVE_ENSURE_INTERNAL(className) (className var)AINHERIT_CLASS(this,parentName) BEGIN parentName DERIVE_LOCAL(parentName) = DERIVE_ENSURE(parentName)(); *this = *(DERIVE_LOCAL(parentName)); ProtocolClassSetSuperclassPoly(this, DERIVE_LOCAL(parentName)); ENDODEFINE_ALIAS_CLASS(className,typeName,var) typedef typeName className; typedef DERIVE_STRUCT(typeName) DERIVE_STRUCT(className); DEFINE_CLASS(className, var)VProtocolClassSig ((Sig)0x519B60C7)WProtocolInstSig ((Sig)0x519B6014)ProtocolClassSuperclassPoly(class) (((ProtocolClass)(class))->superclass)ClassOfPoly(inst) ((ProtocolInst)(inst)->class)IsSubclassPoly(sub,super) ProtocolIsSubclass((ProtocolClass)(sub), (ProtocolClass)(super))SUPERCLASS(className) ProtocolClassSuperclassPoly(DERIVE_ENSURE(className)())chain_h GenDescSig ((Sig)0x5199E4DE)+PoolGenSig ((Sig)0x519B009E);ChainSig ((Sig)0x519C8A14)XPoolGenNr(gen) ((gen)->nr)/PoolClassSig ((Sig)0x519C7A55)]PoolSig ((Sig)0x519B0019)}MFSSig ((Sig)0x5193F599)MVSig ((Sig)0x5193B999)ReservoirSig ((Sig)0x5196e599)MessageClassSig ((Sig)0x519359c1)MessageSig ((Sig)0x5193e559)SegClassSig ((Sig)0x5195E9C7)SegSig ((Sig)0x5195E999)GCSegSig ((Sig)0x5199C5E9)SegPrefSig ((Sig)0x5195E9B6)BufferClassSig ((Sig)0x519B0FC7)BufferSig ((Sig)0x519B0FFE)SegBufSig ((Sig)0x51959B0F)FormatSig ((Sig)0x519F63A2)ScanStateSig ((Sig)0x5195CA45)TraceSig ((Sig)0x51924ACE)ChunkCacheEntrySig ((Sig)0x519C80CE)ArenaClassSig ((Sig)0x519A6C1A)GlobalsSig ((Sig)0x519970BA)ArenaSig ((Sig)0x519A6E4A)%BoolCheck(b) ((unsigned)(b) <= 1)(FUNCHECK(f) (FunCheck((Fun)f))4WordIsAligned(w,a) (((w) & ((a) - 1)) == 0)7WordAlignUp(w,a) (((w) + (a) - 1) & ~((Word)(a) - 1));WordRoundUp(w,r) (((w)+(r)-1) - ((w)+(r)-1)%(r))>WordAlignDown(w,a) ((w) & ~((Word)(a) - 1))@size_tAlignUp(s,a) ((size_t)WordAlignUp((Word)(s), a))BPointerAdd(p,s) ((void *)((char *)(p) + (s)))CPointerSub(p,s) ((void *)((char *)(p) - (s)))EPointerOffset(base,limit) ((size_t)((char *)(limit) - (char *)(base)))HPointerAlignUp(p,s) ((void *)WordAlignUp((Word)(p), (Align)(s)))KAddrAdd(p,s) ((Addr)PointerAdd((void *)(p), s))LAddrSub(p,s) ((Addr)PointerSub((void *)(p), s))NAddrOffset(b,l) ((Size)(PointerOffset((void *)(b), (void *)(l))))RAddrAlignDown(p,a) ((Addr)WordAlignDown((Word)(p), a))TAlignWord(s) ((Word)(s))VAddrIsAligned(p,a) WordIsAligned((Word)(p), a)WAddrAlignUp(p,a) ((Addr)WordAlignUp((Word)(p), a))YSizeIsAligned(s,a) WordIsAligned((Word)(s), a)ZSizeAlignUp(s,a) ((Size)WordAlignUp((Word)(s), a))[SizeAlignDown(s,a) ((Size)WordAlignDown((Word)(s), a))]SizeRoundUp(s,r) ((Size)WordRoundUp((Word)(s), (Size)(r)))_IndexIsAligned(s,a) WordIsAligned((Word)(s), a)`IndexAlignUp(s,a) ((Index)WordAlignUp((Word)(s), a))aIndexAlignDown(s,a) ((Index)WordAlignDown((Word)(s), a))cAlignIsAligned(a1,a2) WordIsAligned((Word)(a1), a2)iAddrSet(target,value,size) mps_lib_memset(target, (int)(value), size)mAddrCopy(target,source,size) mps_lib_memcpy(target, source, size)qAddrComp(a,b,size) mps_lib_memcmp(a, b, size)wADDR_PTR(type,addr) ((type *)(addr))PoolArena(pool) ((pool)->arena)PoolAlignment(pool) ((pool)->alignment)PoolSegRing(pool) (&(pool)->segRing)PoolFix(pool,ss,seg,refIO) ((*(pool)->fix)(pool, ss, seg, refIO))ClassOfPool(pool) ((pool)->class)SuperclassOfPool(pool) ((PoolClass)ProtocolClassSuperclassPoly((pool)->class))DEFINE_POOL_CLASS(className,var) DEFINE_ALIAS_CLASS(className, PoolClass, var)POOL_SUPERCLASS(className) ((PoolClass)SUPERCLASS(className))TraceSetSingle(trace) BS_SINGLE(TraceSet, (trace)->ti)TraceSetIsSingle(ts) BS_IS_SINGLE(ts)TraceSetIsMember(ts,trace) BS_IS_MEMBER(ts, (trace)->ti)TraceSetAdd(ts,trace) BS_ADD(TraceSet, ts, (trace)->ti)TraceSetDel(ts,trace) BS_DEL(TraceSet, ts, (trace)->ti)TraceSetUnion(ts1,ts2) BS_UNION(ts1, ts2)TraceSetInter(ts1,ts2) BS_INTER(ts1, ts2)TraceSetDiff(ts1,ts2) BS_DIFF(ts1, ts2)TraceSetSuper(ts1,ts2) BS_SUPER(ts1, ts2)TraceSetSub(ts1,ts2) BS_SUB(ts1, ts2)TraceSetComp(ts) BS_COMP(ts)TRACE_SET_ITER(ti,trace,ts,arena) for(ti = 0, trace = ArenaTrace(arena, ti); ti < TraceLIMIT; ++ti, trace = ArenaTrace(arena, ti)) BEGIN if (TraceSetIsMember(ts, trace)) {TRACE_SET_ITER_END(ti,trace,ts,arena) } ENDTRACE_SCAN_BEGIN(ss) BEGIN Shift SCANzoneShift = (ss)->zoneShift; ZoneSet SCANwhite = (ss)->white; RefSet SCANsummary = (ss)->unfixedSummary; Word SCANt; {TRACE_FIX1(ss,ref) (SCANt = (Word)1 << ((Word)(ref) >> SCANzoneShift & (MPS_WORD_WIDTH-1)), SCANsummary |= SCANt, SCANwhite & SCANt)TRACE_FIX2(ss,refIO) ((*(ss)->fix)(ss, refIO))TRACE_FIX(ss,refIO) (TRACE_FIX1(ss, *(refIO)) ? TRACE_FIX2(ss, refIO) : ResOK)TRACE_SCAN_END(ss) } (ss)->unfixedSummary = SCANsummary; ENDDEFINE_ARENA_CLASS(className,var) DEFINE_ALIAS_CLASS(className, ArenaClass, var)ARENA_SUPERCLASS(className) ((ArenaClass)SUPERCLASS(className))ArenaGlobals(arena) (&(arena)->globals)GlobalsArena(glob) PARENT(ArenaStruct, globals, glob)ArenaRootRing(arena) (&(arena)->rootRing)ArenaTraceRing(arena) (&(arena)->traceRing)ArenaThreadRing(arena) (&(arena)->threadRing)ArenaEpoch(arena) ((arena)->epoch)ArenaTrace(arena,ti) (&(arena)->trace[ti])ArenaZoneShift(arena) ((arena)->zoneShift)ArenaAlign(arena) ((arena)->alignment)ArenaGreyRing(arena,rank) (&(arena)->greyRing[rank])ArenaReservoir(arena) (&(arena)->reservoirStruct)DEFINE_SEG_CLASS(className,var) DEFINE_ALIAS_CLASS(className, SegClass, var)SEG_SUPERCLASS(className) ((SegClass)SUPERCLASS(className))ClassOfSeg(seg) ((seg)->class)SegBase(seg) (TractBase((seg)->firstTract))SegLimit(seg) ((seg)->limit)SegPool(seg) (TractPool((seg)->firstTract))SegRankSet(seg) ((RankSet)(seg)->rankSet)SegPM(seg) ((AccessSet)(seg)->pm)SegSM(seg) ((AccessSet)(seg)->sm)SegDepth(seg) ((unsigned)(seg)->depth)SegGrey(seg) ((TraceSet)(seg)->grey)SegWhite(seg) ((TraceSet)(seg)->white)SegNailed(seg) ((TraceSet)(seg)->nailed)SegOfPoolRing(node) (RING_ELT(Seg, poolRing, (node)))SegOfGreyRing(node) (&(RING_ELT(GCSeg, greyRing, (node)) ->segStruct))SegSummary(seg) (((GCSeg)(seg))->summary)SegSetPM(seg,mode) ((void)((seg)->pm = (mode)))SegSetSM(seg,mode) ((void)((seg)->sm = (mode)))SegSetDepth(seg,d) ((void)((seg)->depth = (d)))SegSetNailed(seg,ts) ((void)((seg)->nailed = (ts)))BUFFER_RESERVE(pReturn,buffer,size,withReservoirPermit) (AddrAdd(BufferAlloc(buffer), size) > BufferAlloc(buffer) && AddrAdd(BufferAlloc(buffer), size) <= BufferAP(buffer)->limit ? (*(pReturn) = BufferAlloc(buffer), BufferAP(buffer)->alloc = AddrAdd(BufferAlloc(buffer), size), ResOK) : BufferFill(pReturn, buffer, size, withReservoirPermit))BUFFER_COMMIT(buffer,p,size) (BufferAP(buffer)->init = BufferAlloc(buffer), BufferAP(buffer)->limit != 0 || BufferTrip(buffer, p, size))BufferAP(buffer) (&(buffer)->apStruct)BufferOfAP(ap) PARENT(BufferStruct, apStruct, ap)BufferArena(buffer) ((buffer)->arena)BufferPool(buffer) ((buffer)->pool)BufferBase(buffer) ((buffer)->base)BufferGetInit(buffer) (BufferAP(buffer)->init)BufferAlloc(buffer) (BufferAP(buffer)->alloc)BufferLimit(buffer) ((buffer)->poolLimit)DEFINE_BUFFER_CLASS(className,var) DEFINE_ALIAS_CLASS(className, BufferClass, var)BUFFER_SUPERCLASS(className) ((BufferClass)SUPERCLASS(className))RankSetIsMember(rs,r) BS_IS_MEMBER((rs), (r))RankSetSingle(r) BS_SINGLE(RankSet, (r))RankSetIsSingle(r) BS_IS_SINGLE(r)RankSetUnion(rs1,rs2) BS_UNION((rs1), (rs2))RankSetDel(rs,r) BS_DEL(RankSet, (rs), (r))AddrZone(arena,addr) (((Word)(addr) >> (arena)->zoneShift) & (MPS_WORD_WIDTH - 1))RefSetUnion(rs1,rs2) BS_UNION((rs1), (rs2))RefSetInter(rs1,rs2) BS_INTER((rs1), (rs2))RefSetDiff(rs1,rs2) BS_DIFF((rs1), (rs2))RefSetAdd(arena,rs,addr) BS_ADD(RefSet, rs, AddrZone(arena, addr))RefSetIsMember(arena,rs,addr) BS_IS_MEMBER(rs, AddrZone(arena, addr))RefSetSuper(rs1,rs2) BS_SUPER((rs1), (rs2))RefSetSub(rs1,rs2) BS_SUB((rs1), (rs2))ZoneSetUnion(zs1,zs2) BS_UNION(zs1, zs2)ZoneSetInter(zs1,zs2) BS_INTER(zs1, zs2)ZoneSetDiff(zs1,zs2) BS_DIFF(zs1, zs2)ZoneSetAdd(arena,zs,addr) BS_ADD(ZoneSet, zs, AddrZone(arena, addr))ZoneSetIsMember(arena,zs,addr) BS_IS_MEMBER(zs, AddrZone(arena, addr))ZoneSetSub(zs1,zs2) BS_SUB(zs1, zs2)ZoneSetSuper(zs1,zs2) BS_SUPER(zs1, zs2)ZoneSetComp(zs) BS_COMP(zs)STATISTIC(gather) BEGIN (gather); ENDSTATISTIC_STAT(gather) BEGIN gather; ENDSTATISTIC_WRITE(format,arg) (format), (arg),RootSig ((Sig)0x51960029)root.cJan 17 200703:39:22 summary $B grey $B rank $U arena $P ($U) Root $P ($U) { table base $A limit $A environment p $P s $W scan function $F environment p $P thread $P format base $A limit $A } Root $P ($U) $Id: //info.ravenbrook.com/project/mps/master/code/root.c#10 $ table base $A limit $A mask $B _<w>f|  AB  AB  AB  $AB FO.$AB FX. o.-AB c. ,3AB i. `6AB l. 3AB i. 0AB f. IAB BG.H AB T AB ` AB l AB xAB -AB (4AB Fh..Z.IAB B @(AB DF.Q. hJAB Fc. uAB B_.@w. ,LAB Fc.cT/u&RootVarCheck&RootModeCheck&RootCheck(RootCreateTable9)RootCreateTableMasked)RootCreateRegX*RootCreateFmt*RootCreateFuni+RootDestroy+RootArena+RootRank&,RootPMQ,RootSummary|,RootGrey,RootScan7-RootOfAddr-RootAccess-RootsIteraten.RootDescribe.RootsDescribeA/rootSrcIdxtallocTablePoolDescribeMethodcontrolPoolStructpageTableLimitGlobalsRootRankgreySegMaxchunkFinishnameRootModepageSizeFormatPadMethodrankrootSerialchunkRingArenaAllocMethodreservoirSizeactiveTracesformatfoundationLockPoolBufferClassMethodTraceFixMethodsuperclassthreadRingunitsPerExtentPagefillMutatorSizepoolSerialrootVarBoolprotectableprehistoryArenaFreeMethodunitSizesetRankSetunsigned intGNU C 3.4.6 [FreeBSD] 20060305BufferRankSetMethodextendArenaChunkFinishMethodfillInternalSizeBufferReassignSegMethodreassignSegisCollectedpoolReadyscmidwhiteSegRefCountforwardedSizeforwardedCountRootStructRootArenaArenaSpareCommitExceededMethodProtocolClassmergeRootScanMethodgreyRingfinishshort intAlignArenaDescribeMethodprotocoldescribefillSizemasksegScanCount_oldPoolmodePoolDebugMixinStructrememberedSummaryRingprevfixRefCountserialEpoch_newsetBufferapStructemptyMutatorSizeallocMutatorSizePoolFramePushMethodPoolFinishMethodrootSrcIdbusyTracesrootCreatelwPopPendingchunkspansallocBasesuspendedpollThresholdArenaStructenabledMessageTypesmpsVersionStringSizefreeListframePopprotLimitGlobalsStructreservoirStructrootCreateProtectableRootVarChainStructbaseArenaClassRootAccessAccessSetframeptrhistorySegSetRankSummaryMethodFileSrcIdStructlong long unsigned intfileoffsettraceshDepthRootUnionhighattrgenCountSegClassStructrateFreeBlockStepMethodThreadStructPoolClassStructglobalsprimaryArenaChunkInitMethodarenaBufferFinishMethodFormatVarietyRootPoolWalkMethodskipRootCheckPoolFreeMethodmortalityRootModeCheckfailScanwasMarkedproflowmessageRingsize_tmoveAPStructTractStructrampEndmayMoveBootBlockpoolLimitChunktheUnionclampedPoolReclaimMethodunroundedUnitSizetrialshCachereclaimCountpageTablePagesfreePoolFixMethodSegPrefWordmps_lib_stream_sFormatStructRootGreypreservedInPlaceCountfreewalkframePushFormattedObjectsStepMethodSegClassgensCountPageStructisMovedsetRankSummarySegDescribeMethodsummarybufferClassPoolDebugMixinRootCreateFmtSegSetSummaryMethodtableMaskedinsidePollRootDescribereclaimAddrreservoirLimitcharscannedSizenodereserveBufferStructrootReturnFormatScanMethodchunkSerialSegFinishMethodarenaGlobalsMFSHeaderStructThreadSerialtableRootCreateFunLockStructsplitFormatClassMethodArenaFormatMoveMethodspacefinalPoolBufferDescribeMethodBufferModelimitMFSStructArenaInitMethodlockrampCountPoolFixEmergencyMethodzoneShiftstreampagesisGennailedPoolFreeWalkMethodchaintheUnionPva_listthreadChainlong long intMVStructtracedTimeZoneSetTractBufferSegMethoddepthPoolRampEndMethodlocusRingfixEmergencyTracegreylastWorldCollectPoolDebugMixinMethodpageShiftChunkCacheEntryStructBufferClassStructArenaClassStructrememberedSummaryIndexgreySegCountisMutatorArenaFinishMethodfixedSummarycommittedframePopPendingscansingleCopiedSizeSegSetBufferMethodRootsDescribeProtocolInstStructAddrStructrampBeginbufferPoolRampBeginMethodsizeSegStructGenDescStructProtocolInstRootsIterateBufferSetRankSetMethodinitAtFlipPoolStructpoolRingRootScan_ringFormatdetachspareCommitLimittopGenPoolWhitenMethodspanPoolStructPoolInitMethodTraceIdpoolaccesschainRingPoolGreyMethodlastTractMutatorFaultContextvarietyemptyInternalSizeSrcIdarenaRingsegRefCountavgSizecopyprotBasetractListBufferDetachMethodPoolScanMethodFormatCopyMethodlostcapacitywhitenScanStatecondemnedrootbufferRingChunkStructflippedTracesrootScanCountenabledrootScanSizepointlessScanCountallocRankshCacheLimitsegCopiedSizeBufferInitMethodlong intsetSummarynotCondemnedextendByTraceStateTraceSetstatepreservedInPlaceSizenextSegBufferMethodbuild_timeRootVarCheckroot.cPoolClassProtocolCoerceInstMethodemergencyPoolBlackenMethodwhitepoolStruct__size_trootRingSegInitMethodFormatSkipMethodsegScanSizecopiedSizeArenaExtendMethodScanStateStructSegSetWhiteMethodunfixedSummarypageTableBaseRootCreateTableMaskedlastTractBaseRootIterateFnthreadSeriallabelledsetGreytracedSize__va_listwalksetWhitePoolAllocMethodRingStructrankSetlong unsigned intPoolFramePopPendingMethodSrcIdStructBootBlockStructRootPMwriteBarrierHitCountMutatorFaultContextStructArenaReservedMethodinitAttrbufferLoggingProtocolClassStructclassbufferFillIndexspareCommitExceededFormatIsMovedMethodmaxSizechunkInitPoolAccessMethodsnapCounttypeattachnailCountunsigned char__uint32_tspareCommittedinsideShieldRingSegSplitMethodblockPoolStructRootScanRegMethodRefSetAllocFrameStructPoolFramePopMethodtractStructBufferClassformatSerialaddrsegRingAllocFramehasSegcoerceClassRootCreateTableReservoirStructRootOfAddrbuild_datesingleScanSizeBufferreadBarrierHitCountpageTableheaderSizecoerceInstdebugMixinchunkCacheRootCreateRegsigned charSegMergeMethodSegPrefStructmps_lib_FILEPoolBufferFillMethodreclaimSizebufferSerialshort unsigned intzonesrootSetSummarybufferEmptyRootDestroyProtocolCoerceClassMethodreservedRankSetisFinalPooldoublesingleScanCountfirstTractalignmentPoolBufferEmptyMethodBufferAttachMethodrestSegSetRankSetMethodShiftemptySize/home/hannes/dylan/mps/codeTraceStructRootSummaryglobalRingformatRingcommitLimitrootCopiedSizeSegSetGreyMethodshCacheIepochblackentracesGCC: (GNU) 3.4.6 [FreeBSD] 20060305.symtab.strtab.shstrtab.rel.text.rel.data.bss.debug_abbrev.rel.debug_info.rel.debug_line.debug_macinfo.rodata.str1.1.rodata.str1.4.rel.rodata.rel.debug_frame.rel.debug_pubnames.rel.debug_aranges.debug_ranges.debug_str.comment4x )% /4Fu T/B 0V9R  bO<uq232(b8 pij Lpg    0#(K%p      $#9-HR _ m wI-,3`630H T ` l x4$,:N_Ij@(uhJu,Lroot.cFileSrcIdStructrootCreaterootCreateProtectablerootSetSummaryrootSrcIdRootVarCheckRootModeCheckRootCheckControlAllocRootDestroyRootCreateTableRootCreateTableMaskedRootCreateRegRootCreateFmtRootCreateFunRootArenaControlFreeRootRankRootPMRootSummaryRootGreyRootScanProtSetTraceScanAreaTraceScanAreaMaskedScanStateSummaryRootOfAddrRootAccessRootsIterateRootDescribeWriteFRootsDescribe=y !:"( )G*+(_(     0: J P0u {0  0  0  0 0Y/  !%*18?MX_fmt{(39Zev| #.9DOj{%4CRap3BQp,;JYhw"0>LZhv .<JXft*8FTbp~  ! 0 ? N ] l {            / > M \ k z          # 2 P _ n }           " 1 A V l z           0 F T b p ~          (7FVk0BTg|,:Hez '6ETcr '6FVfv&6FVfv&6FVfv!0?N]l{'=KYgu !28IS[iwGJ{ +Mt>It1SyMy']Ho % P q      !3!H!P!^!m!x!!!!!!!!"""."C"Y"h"""""" ##'#6#G#V#^#l#z#########$$$-$<$K$Z$i$$$$$$$%C%r%%%%%%%&&#&6&I&T&{&&&&&&&&&&&&&''''('5'B'O'\'''''''''''''( ((6(C(Q(l(z((((((((((())*)?)K)O)V)e)t)))))))))))**#*I*^*j*n*u**********+++%+4+Z+o+w+{+++++++++++++, ,,,,,8,<,C,W,c,g,n,,,,,,,,,,,,,,-+-2-=-I-M-T-b-p-~-------------.:.H.V.Z._.t........... ///!/1/=/ B/O/s     $(,0404HL`d 8<X\pt48X\|seg.o/ 1169001563 1001 1001 100644 74772 ` ELF (4(UWVS}uG EVWuuEPà VM quEPÃuQU EM HRVuuWuà uUE/E puuWuu؍e[^_ÉUWVS]C8W U@ESEs$O vSu Wuue[^_ÉUWVSuE @ EVU}}~fFFQuPPt-H p;UuFM\9suӍ^ ^ [uuuuu VURE uE $PSF PXYF FuuPt)v` @M\9su[QE萍e[^_UWVS ]{Cp CtPSV SWcCp KCPt&` @\9suۍS K BABC B[Qe[^_ÉUEPu PR,ÍvUEPu PR0ÍvUEPu PR4ÍvUEPu PR ÍvU EPuu PR8UEPPR$ÉUEPu PR(ÍvUVS]u t;Qt ntcSjpPhCpPh+srSh>V0…u,CVSP<…u jShThbV‰Ѝe[^ÍvUE@@ÉUE@ÐUEP@+BÍvU uu EPtUB t RE‰ÉUS ] SEPt3E@ tPEEpSEPuθ]US] E3E@ t#PB;Eu E'B+\E@PSEPu]UWVSE @EU BxrUZ@ EPE PuSVWuu UR@ …u$EpuuEU Ѝe[^_ÉUWVSEx@r @EE@EVuwVEPà uOEPuuuuuuWDà uEUUE wuV؍e[^_ÉUS]SH Bt\9Cvu[ÍvUÉUÍvUÍvUÍvUÍvUÍvUÍvUÉUÍvUÉUWVSu}FX ~uSPt$vH p\9suߋU E H BABE @ B[Qe[^_UÉUWVSM] uAEx qECQxC ЈCQ ЈCQ ЈCQ ЈCQ0C ЈCQ? ЈCQ ЈCCACQC C @VWPt)H X9uC\;Usu׋U$K BAS BJe[^_UVS]u t;Qt v jhdCPhwV …yCtjhV…VC tjhV…3jhV…C@tjhV…CtjhV…jhVCtjhV…CtjhV…u{C tjhV…u\C@tjhV…u= jCRhSRhPhhbV‰Ѝe[^ÍvUÉUS]@uuuuu SP …u#C$C(CC@C,řQЋ]ÐUVSuFtVNBABVRfC$C,[QCC @ VPe[^ÍvUWVSuFx UF ЈF} uR}tlƒvuAvL ύSBCP#v}uVNBABVRvE Ћu!ƻ<JtB0@B0;B4vB4C8<tӋu#u <JtJ0C8<t[^_ÉUWVS } UBp ZWSR8 ut-juVujuVve[^_UWVSEPx MqJt+] B ؈B \9suۊU MA ЈA[^_UWVS u] Fx Nڃȃ ЈFxut'jVWujVWe[^_USME QZ Q$A$tu'jQStjQS]ÍvUWVS MU ϋA@ EAxt y$tft}tA ЈAEG$tujQutujQuve[^_UE@(ÐUU EP(ÉUWVS uu] {(CE@u uuuuSVP@ …uwF$ C$9F$tPVFp juu 0C$C,[Q CC tEx(C(VWЍe[^_UWVS }u GE_(t E9CTw@u uuuuu uPD …uOG$F$F(FF@F,řQuju a t^(G(u SЍe[^_ÉUWVS ]} t;Qt ft[ޅt {,řQtE@WSP<ƒu,{(tWs(ƒujv$hWe[^_UÉU=u1=u h .v ÐUÍvUS]PSPSP S CCCCCC C$C(C,C0C4C8C@CDC<CHQ[ÐU=u1=u h.vÐUÍvUVS]ƃjLPSsC C0C C C C$C(C,x C0 C4H C8C@CD|C<0e[^ÉUE@@@DC% $ > $ > : ; I I&I : ;  : ; I8 < : ; I  : ;I8 : ;I8  : ; I8  : ; I 8  : ;I 8  : ;I 8  : ; ' II' ' I : ;  : ;  : ; I: ;II!I/ .? : ; ' I@ : ; I  4: ; I !4: ; I " : ; #.? : ; ' @ $: ; I %.: ; ' I@ &4: ; I' (4: ; I) *.: ; ' @ +.? : ;' @ ,: ;I -: ;I ..? : ;' I@ /4: ;I 04: ;I 14: ;I2 : ;34: ;I4.: ;' I@ 5.: ;' @ 6.? : ;' I@ 74: ; I?  ;k-int 8W$ g_" _L, |^ L7zE""$#%#&#'# " 2 : . Sigl ResE5 lJ "ou #Y$Y/%Y&Y'W (W Ref)d  ,YV -Y.W5/W1{ 2WE3W:4WW5W6W7W BT:MY;^d Y @> \D!# ~E# - F# G# &H# I# J#$ eK#( segL!#, _MB#0 Nc#4 pO#8 sigPC#<D AWeC ad# bd# Bcd# {dd# e# Qf#DK<D sigC# # 8# 9# d # # y# # S#$ #( #, pad#0  #4 {#8F ; |G XGsig`C#a#b#c9# dd #Oed #f# gd #$h#,i#0fixj#4xks#8ls#@Gms#Hns#PHH\2!#~3#- 4#5#56-#7# &8#$9#(:@#,$;g#0<#4.=#8*>#< ?-#@@T#D A{#HfixB#L C#PB D#T E#XzF#\wG@#`Hq#d I#h6J#lnK#pL#teM2#xUNX#|O#sigPC# O ,O sigC# ti# 9# # # Z# # * # E{# ${#$ {#( X{#, X #0 g#4 t#8 #< e{#@ #D ]#H {#L f#P #T {#X O #\ #` #d #h #l #p  #t  #x  {#| X # ` {# # #1P  * TP fixr# Y# # # sigC# 9#  # # ## #$ O #( #, #0 #4 #8 #< {#@ X#D `{#H i{#L c {#P Q5 ;  2Qsig>C#?9#5@d #A #:B#C8"#^ R   nR#p#Gd# # W# S   Z8SsigC##9#d # {# #Gd#Bd# #$ #(C#,4 #0 #4? T sigC# ^ # Gd# Bd# ?# N?#sUJPkUtheh # SegVv|P2 V sigC# # v #  d # B d#t  W#pm "#sm "#  # #  #_#W[at0W k ## d # #$   j#( sig!C#,XCLX\!#~#- ##&5##  #$ #(R#,;t#0#4#8e-#<S#@ #DsigC#H-Y-Z:Z sig0C# 01# 2# 3# 4# gen5#L\EK9% H\ \&!# ~'## - (# )# *# &+'# ,,D#$ 5-e#( .p#, /#0 0#4 e1#8 r2)#< e3F#@ sig4C#D ^DJ4(^ o## p#t r:#x t#| <u## w## y{# Yz{# |{# }{# # # N # d#  # d # # `## -"# Nd # m# @d # C# =# % # Yd # # # ## {# {# ({# # F # f # ## !s# s# Y# $# # 5d # # # $# sigC#^t_ sigBC# CEd # u F# Is# * J# K# xLs# Ms#( Ns#0 GOs#8 Ps#@ S#H V#L Yd #P Z#X +]d #\ ^#d ad #h A d#pwdio e g hh>"#o  #XO {#\{#`sigC#de n!N!:89o o28D9pOUe{9q2r{N9d{tN{d ud{v)N Sw4:F HxQWlN9l'?}N dlhdd> 5Nkd{8 @FRk]ctk ]kk kz jk -kj8>SNklw^dNkkddd8^Nj8jjddd{d ,2BkjMScju ntjXjk/ Njl N85D!@N{ KQgd{rxNj{ĬjddoNkd"^  -Nk?8>Tk_e{ k̆N kμN k м8 jz )/@j!KQkNkj"|Njy٧jkl !&,x$=CXNl ciyu N ddLdd ddI   d{  5 ; d T u * # * #T ; n  ge#fE# hUco gz iP \  %! \sig}C#N~ #*_!#!# J a0!6!_! asigC# #mj!p!!!%! %!x!!!!     -"< $sigC##! {#!s# 8"s# #d #< $!-" o"[ t>"#{#X1{#\{#`dY#d"#h #lsigC#p "[ I"#2 `>"#"#X "#1{#{#]{# {#{#d #sigC#2 "C2 |egd,  e4#k$#$d "$$z;NU9$P9 79- :{:Wt:V reskl!G?dp!@8R" f"Cd">bk#d%oU$segnkS!p9p!qW!Grdl!- s{h!tV%& N@U$segkV Gd- {t8!R P!dR!BdW&{!9p!l resNh">'Q&ad(_ch 'l&! * S'&! * P&* '&& * )(_ch *z' @U$segkS!9V!dR&Gd!BdQ!R֜ P!׹W'I'(_ch 'd'!w* R)& * +']  U,segkP-   +' !U,segkP-  +(%$9U,seg$kP-_$ +R(|/<QU,seg.kP-. +(<TlU,seg;kP-_; -;.( Ljl~U,segKkP+( UU,segTkP- Tj .M)`N-U,seg_kS- _lV/resaNP0bP.x)d0>U,segkP.)d@KU,segkP.)${L]U,segkP.&*]`U-$P-9 -d0R |.* U-$P-9S0R x)1segk.+7XU-$P-9S-d0R x0GdP) >/segkR.+NXU-$P-k -k-t0p0GdW/middV0BdS09l/resNP08P2.,'NzU-%$P-%$P,seg%k,at%d-t&0G(dl0B(dh0)W0*kp0+9V/res,NS0-8P2CUo2S].-g|U,segfkS0Rh R0i9Q0jP0kdP3l{4-NNU,segk- -Gd-- {- -83{395-5U,segk5.5 U,segk-   5=. U,segk-  5s.U,segk-_ 5.XU,segk- 5.AU,segk-_ -4/jU,segk5O/h U,seg k-  j 4/7NU,segk-k -Gd,midd-Bd-t-8 40 0NU,seg-kV--k -G.d,mid.d-B.dW-t/-/8 01P32{039S0R4 P05dR'0:=1_chW '0e|0wa* R)|3 b* 4l1oNU,seglk-lk -Gmd,midmd-Bmd-tn-n8 42XNU,segkQ-kS-Gd,middV-Bd-t-8 0R P0p0dR3{09W'N2NW0 * P'h2ad1_ch )0 * R0* Q42N U,segkS- lV/resNP. 3  U-P1segk43;"N U,seg k-  -G d--  {-t!-!80 #P0$PS3%93&/res'NP) 0 ;* P5Q4 F ] U,segEkV0 GP0HPS':4 ' 0wP* R)9 G 3 Z* 585k` v U,segjkV-|j  - j 0lPS0m9W0nQ'4 0 ~* P0~* R'5 0w* R) q /tiS0R0d V55x U,segk-  W3P0| S0f P09V536 H U,segk-  3P0R R09W0dQ0BdV)  3Ok56H U,segkV-_S3P36 09W56F   U,segkQ-P3!P0"R0#9S5e7W >U,seg=kQ-_=R-=0?PW05@V0@S0A9p47oajU,seg`kP3bP57pU,segokP- ojR3qP48N|U,segkV-k -Gd,midd-Bd-t-8 0 P0Pp0PS0  l0P/bufjW/resNP2r)>O3 * 498N|.U,segk-k -Gd,midd-Bd-t-8 0 P0PW0PV/bufjS0  p/resNP2$)0 * P4E:a N0U,seg kS-  lW/res NR0 P0PV.q: )U-(6 =U6=!U5: >$U-=S).L0I? P!T#6 VU6VU5Y;WU-VS)20 XV+;qU-pP! 7 0=0=# 0iV0.V:c /usr/include/usr/include/sys/usr/include/machinetract.hmpmtypes.hconfig.hmpstd.hmisc.hstddef.hcdefs.h_null.h_types.h_types.hmpslib.hstdarg.hring.hcheck.hbt.hmpm.hevent.heventcom.heventgen.hlock.hth.hss.hmpmst.hprotocol.hchain.hseg.c:h,Ht:Wut<,Wed;! gd=JHse1rWwGudtdH[=[=[=[>[=> U 9  V9:Zl dg 9 9:drddrIxUˬddddddd= 9 q>V:*JrrtV/ddIsvրr ,de~h('Zdu q rdrHIH=  cez VU :VI.I  ŀ:>VV-V 2He,;Ad? 9 G : 9;e9b+KdV.rrIdr[ :A:HZ9i+Kdrrr:rZH,__GNUCLIKE___OFFSETOF 1?__GNUCLIKE___SECTION 1A__GNUCLIKE_ATTRIBUTE_MODE_DI 1D__GNUCLIKE_CTOR_SECTION_HANDLING 1G__GNUCLIKE_BUILTIN_CONSTANT_P 1N__GNUCLIKE_BUILTIN_VARARGS 1O__GNUCLIKE_BUILTIN_STDARG 1P__GNUCLIKE_BUILTIN_VAALIST 1T__GNUC_VA_LIST_COMPATIBILITY 1X__GNUCLIKE_BUILTIN_NEXT_ARG 1Y__GNUCLIKE_MATH_BUILTIN_RELOPS \__GNUCLIKE_BUILTIN_MEMCPY 1___CC_SUPPORTS_INLINE 1`__CC_SUPPORTS___INLINE 1a__CC_SUPPORTS___INLINE__ 1c__CC_SUPPORTS___FUNC__ 1d__CC_SUPPORTS_WARNING 1f__CC_SUPPORTS_VARADIC_XXX 1h__CC_SUPPORTS_DYNAMIC_ARRAY_INIT 1k__CC_INT_IS_32BIT 1s__GNUC_PREREQ__(ma,mi) (__GNUC__ > (ma) || __GNUC__ == (ma) && __GNUC_MINOR__ >= (mi))__P(protos) protos__CONCAT1(x,y) x ## y__CONCAT(x,y) __CONCAT1(x,y)__STRING(x) #x__XSTRING(x) __STRING(x)__const const__signed signed__volatile volatile__dead2 __attribute__((__noreturn__))__pure2 __attribute__((__const__))__unused __attribute__((__unused__))__used __attribute__((__used__))__packed __attribute__((__packed__))__aligned(x) __attribute__((__aligned__(x)))__section(x) __attribute__((__section__(x)))__pure __attribute__((__pure__))__always_inline __attribute__((__always_inline__))__nonnull(x) __attribute__((__nonnull__(x)))__restrict __predict_true(exp) __builtin_expect((exp), 1)__predict_false(exp) __builtin_expect((exp), 0)__offsetof(type,field) ((size_t)(&((type *)0)->field))__rangeof(type,start,end) (__offsetof(type, end) - __offsetof(type, start))__printflike(fmtarg,firstvararg) __attribute__((__format__ (__printf__, fmtarg, firstvararg)))__scanflike(fmtarg,firstvararg) __attribute__((__format__ (__scanf__, fmtarg, firstvararg)))__format_arg(fmtarg) __attribute__((__format_arg__ (fmtarg)))__printf0like(fmtarg,firstvararg) __attribute__((__format__ (__printf0__, fmtarg, firstvararg)))__strong_reference(sym,aliassym) extern __typeof (sym) aliassym __attribute__ ((__alias__ (#sym)));__weak_reference(sym,alias) __asm__(".weak " #alias); __asm__(".equ " #alias ", " #sym)__warn_references(sym,msg) __asm__(".section .gnu.warning." #sym); __asm__(".asciz \"" msg "\""); __asm__(".previous")__IDSTRING(name,string) __asm__(".ident\t\"" string "\"")__FBSDID(s) __IDSTRING(__CONCAT(__rcsid_,__LINE__),s)__RCSID(s) __IDSTRING(__CONCAT(__rcsid_,__LINE__),s)__RCSID_SOURCE(s) __IDSTRING(__CONCAT(__rcsid_source_,__LINE__),s)__SCCSID(s) __IDSTRING(__CONCAT(__sccsid_,__LINE__),s)__COPYRIGHT(s) __IDSTRING(__CONCAT(__copyright_,__LINE__),s)__DECONST(type,var) ((type)(uintptr_t)(const void *)(var))__DEVOLATILE(type,var) ((type)(uintptr_t)(volatile void *)(var))__DEQUALIFY(type,var) ((type)(uintptr_t)(const volatile void *)(var))__POSIX_VISIBLE 200112__XSI_VISIBLE 600__BSD_VISIBLE 1__ISO_C_VISIBLE 1999* NULL ((void *)0)+ _SYS__TYPES_H_ ! (_MACHINE__TYPES_H_ .__NO_STRICT_ALIGNMENT __GNUC_VA_LIST 2_RUNE_T_DECLARED 8_SIZE_T_DECLARED >_WCHAR_T_DECLARED Boffsetof(type,member) __offsetof(type, member)*SRCID(id,scmid) static SrcIdStruct FileSrcIdStruct = {__FILE__, (scmid), __DATE__, __TIME__}; SrcId id ## SrcId = &FileSrcIdStruct;BEGIN do {> (i)) & 1)BS_UNION(s1,s2) ((s1) | (s2))BS_ADD(ty,s,i) BS_UNION((s), BS_SINGLE(ty, (i)))BS_INTER(s1,s2) ((s1) & (s2))BS_DIFF(s1,s2) BS_INTER((s1), BS_COMP(s2))BS_DEL(ty,s,i) BS_DIFF((s), BS_SINGLE(ty, (i)))BS_SUPER(s1,s2) (BS_INTER((s1), (s2)) == (s2))BS_SUB(s1,s2) BS_SUPER((s2), (s1))BS_IS_SINGLE(s) (((s) & ((s)-1)) == 0)BS_SYM_DIFF(s1,s2) ((s1) ^ (s2)) mpslib_h mps_lib_EOF (mps_lib_get_EOF())mps_lib_stderr (mps_lib_get_stderr())mps_lib_stdout (mps_lib_get_stdout()) '_MACHINE_STDARG_H_ -_VA_LIST_DECLARED 3va_start(ap,last) __builtin_stdarg_start((ap), (last))6va_arg(ap,type) __builtin_va_arg((ap), type):va_copy(dest,src) __builtin_va_copy((dest), (src))>va_end(ap) __builtin_va_end(ap)SigInvalid ((Sig)0x51915BAD)SizeMAX ((Size)-1)AccessSetEMPTY ((AccessSet)0)AccessREAD ((AccessSet)(1<<0))AccessWRITE ((AccessSet)(1<<1))AccessSetWIDTH (2)RefSetEMPTY BS_EMPTY(RefSet)RefSetUNIV BS_UNIV(RefSet)ZoneSetEMPTY BS_EMPTY(ZoneSet)ZoneSetUNIV BS_UNIV(ZoneSet)TraceSetEMPTY BS_EMPTY(TraceSet)TraceSetUNIV ((TraceSet)((1u << TraceLIMIT) - 1))RankSetEMPTY BS_EMPTY(RankSet)RankSetUNIV ((RankSet)((1u << RankLIMIT) - 1))AttrFMT ((Attr)(1<<0))AttrSCAN ((Attr)(1<<1))AttrPM_NO_READ ((Attr)(1<<2))AttrPM_NO_WRITE ((Attr)(1<<3))AttrALLOC ((Attr)(1<<4))AttrFREE ((Attr)(1<<5))AttrBUF ((Attr)(1<<6))AttrBUF_RESERVE ((Attr)(1<<7))AttrBUF_ALLOC ((Attr)(1<<8))AttrGC ((Attr)(1<<9))AttrINCR_RB ((Attr)(1<<10))AttrINCR_WB ((Attr)(1<<11))AttrMOVINGGC ((Attr)(1<<12))AttrMASK (AttrFMT | AttrSCAN | AttrPM_NO_READ | AttrPM_NO_WRITE | AttrALLOC | AttrFREE | AttrBUF | AttrBUF_RESERVE | AttrBUF_ALLOC | AttrGC | AttrINCR_RB | AttrINCR_WB | AttrMOVINGGC)BufferModeATTACHED ((BufferMode)(1<<0))BufferModeFLIPPED ((BufferMode)(1<<1))BufferModeLOGGED ((BufferMode)(1<<2))BufferModeTRANSITION ((BufferMode)(1<<3))RootModeCONSTANT ((RootMode)1<<0)RootModePROTECTABLE ((RootMode)1<<1)RootModePROTECTABLE_INNER ((RootMode)1<<2)STATISTIC_DECL(field) field  ring_h  check_h 0AVER(cond) DISCARD(cond)1AVERT(type,val) DISCARD(type ## Check(val))2AVER_CRITICAL(cond) DISCARD(cond)3AVERT_CRITICAL(type,val) DISCARD(type ## Check(val))MASSERT(cond,condstring) BEGIN if (cond) NOOP; else mps_lib_assert_fail(condstring "\n" __FILE__ "\n" STR(__LINE__)); END_NOTREACHED NOOPjCHECKT(type,val) ((val) != NULL && (val)->sig == type ## Sig)pCHECKS(type,val) DISCARD(CHECKT(type, val))qCHECKL(cond) DISCARD(cond)rCHECKD(type,val) DISCARD(CHECKT(type, val))sCHECKD_NOSIG(type,val) DISCARD((val) != NULL)tCHECKU(type,val) DISCARD(CHECKT(type, val))uCHECKU_NOSIG(type,val) DISCARD((val) != NULL)CHECKLVALUE(lv1,lv2) ((void)sizeof((lv1) = (lv2)), (void)sizeof((lv2) = (lv1)), TRUE)CHECKTYPE(t1,t2) (sizeof(t1) == sizeof(t2) && CHECKLVALUE(*((t1 *)0), *((t2 *)0)))CHECKFIELDAPPROX(s1,f1,s2,f2) (sizeof(((s1 *)0)->f1) == sizeof(((s2 *)0)->f2) && offsetof(s1, f1) == offsetof(s2, f2))CHECKFIELD(s1,f1,s2,f2) (CHECKFIELDAPPROX(s1, f1, s2, f2) && CHECKLVALUE(((s1 *)0)->f1, ((s2 *)0)->f2))RingNONE ((Ring)0)$RingInit(ring) BEGIN Ring _ring = (ring); AVER(_ring != NULL); _ring->next = _ring; _ring->prev = _ring; AVER(RingCheck(_ring)); END/RingFinish(ring) BEGIN Ring _ring = (ring); AVER(RingCheckSingle(_ring)); _ring->next = RingNONE; _ring->prev = RingNONE; END9RingAppend(ring,new) BEGIN Ring _ring = (ring), _new = (new); AVER(RingCheck(_ring)); AVER(RingCheckSingle(_new)); _new->prev = _ring->prev; _new->next = _ring; _ring->prev->next = _new; _ring->prev = _new; ENDFRingInsert(ring,new) BEGIN Ring _ring = (ring), _new = (new); AVER(RingCheck(_ring)); AVER(RingCheckSingle(_new)); _new->prev = _ring; _new->next = _ring->next; _ring->next->prev = _new; _ring->next = _new; ENDSRingRemove(old) BEGIN Ring _old = (old); AVER(RingCheck(_old)); AVER(!RingIsSingle(_old)); _old->next->prev = _old->prev; _old->prev->next = _old->next; _old->next = _old; _old->prev = _old; END`RingNext(ring) ((ring)->next)dRingPrev(ring) ((ring)->prev)gRING_ELT(type,field,node) ((type)(void *)((char *)(node) - (size_t)(&((type)0)->field)))kRING_FOR(node,ring,next) for(node = RingNext(ring), next = RingNext(node); node != (ring); node = (next), next = RingNext(node))  bt_h BTSize(n) (((n) + MPS_WORD_WIDTH-1) / MPS_WORD_WIDTH * sizeof(Word))BTGet(a,i) ((Bool)(((a)[((i) >> MPS_WORD_SHIFT)] >> ((i) & ~((Word)-1 << MPS_WORD_SHIFT))) & (Word)1))BTSet(a,i) BEGIN (a)[((i)>>MPS_WORD_SHIFT)] |= (Word)1<<((i)&~((Word)-1<>MPS_WORD_SHIFT)] &= ~((Word)1 << ((i) & ~((Word)-1<base)&TractPool(tract) ((tract)->pool)'TractP(tract) ((tract)->p)(TractSetP(tract,pp) ((void)((tract)->p = (pp))))TractHasSeg(tract) ((Bool)(tract)->hasSeg)*TractSetHasSeg(tract,b) ((void)((tract)->hasSeg = (b)))+TractWhite(tract) ((tract)->white),TractSetWhite(tract,w) ((void)((tract)->white = (w)))8TRACT_SEG(segReturn,tract) (TractHasSeg(tract) && ((*(segReturn) = (Seg)TractP(tract)), TRUE));TRACT_SET_SEG(tract,seg) (TractSetHasSeg(tract, TRUE), TractSetP(tract, seg))>TRACT_UNSET_SEG(tract) (TractSetHasSeg(tract, FALSE), TractSetP(tract, NULL))nPageTract(page) (&(page)->the.tractStruct)rPageOfTract(tract) PARENT(PageStruct, the.tractStruct, (tract))vPagePool(page) ((page)->the.rest.pool)}PageIsAllocated(page) ((page)->the.rest.pool != NULL)PageType(page) ((page)->the.rest.type)ChunkSig ((Sig)0x519C804C)ChunkArena(chunk) ((chunk)->arena)ChunkPageSize(chunk) ((chunk)->pageSize)ChunkPageShift(chunk) ((chunk)->pageShift)ChunkPagesToSize(chunk,pages) ((Size)(pages) << (chunk)->pageShift)ChunkSizeToPages(chunk,size) ((Count)((size) >> (chunk)->pageShift))CHUNK_OF_ADDR(chunkReturn,arena,addr) (((arena)->chunkCache.base <= (addr) && (addr) < (arena)->chunkCache.limit) ? (*(chunkReturn) = (arena)->chunkCache.chunk, TRUE) : ChunkOfAddr(chunkReturn, arena, addr))AddrPageBase(chunk,addr) AddrAlignDown((addr), ChunkPageSize(chunk))TRACT_OF_ADDR(tractReturn,arena,addr) BEGIN Arena _arena = (arena); Addr _addr = (addr); Chunk _chunk; Index _i; if (CHUNK_OF_ADDR(&_chunk, _arena, _addr)) { _i = INDEX_OF_ADDR(_chunk, _addr); if (BTGet(_chunk->allocTable, _i)) *(tractReturn) = PageTract(&_chunk->pageTable[_i]); else *(tractReturn) = NULL; } else *(tractReturn) = NULL; ENDINDEX_OF_ADDR(chunk,addr) ((Index)ChunkSizeToPages(chunk, AddrOffset((chunk)->base, addr)))PageIndexBase(chunk,i) AddrAdd((chunk)->base, ChunkPagesToSize(chunk, i))TractAverContiguousRange(arena,rangeBase,rangeLimit) BEGIN Chunk _ch = NULL; UNUSED(_ch); AVER(ChunkOfAddr(&_ch, arena, rangeBase) && (rangeLimit) <= _ch->limit); ENDTRACT_TRACT_FOR(tract,addr,arena,firstTract,limit) tract = (firstTract); addr = TractBase(tract); TractAverContiguousRange(arena, addr, limit); for(; tract != NULL; (addr = AddrAdd(addr, (arena)->alignment)), (addr < (limit) ? (tract = PageTract(PageOfTract(tract) + 1)) : (tract = NULL) ))TRACT_FOR(tract,addr,arena,base,limit) TRACT_TRACT_FOR(tract, addr, arena, TractOfBaseAddr(arena, base), limit) mpm_h event_h  eventcom_h !EventNameMAX ((size_t)19)"EventCodeMAX ((EventCode)0x0069)&EVENT_0(type) NOOPEVENT_A(type,p0) NOOPEVENT_AW(type,p0,p1) NOOPEVENT_P(type,p0) NOOPEVENT_PAA(type,p0,p1,p2) NOOPEVENT_PAW(type,p0,p1,p2) NOOPEVENT_PAWA(type,p0,p1,p2,p3) NOOPEVENT_PDDWWW(type,p0,p1,p2,p3,p4,p5) NOOPEVENT_PP(type,p0,p1) NOOPEVENT_PPAU(type,p0,p1,p2,p3) NOOPEVENT_PPAWP(type,p0,p1,p2,p3,p4) NOOPEVENT_PPP(type,p0,p1,p2) NOOPEVENT_PPPA(type,p0,p1,p2,p3) NOOPEVENT_PPPU(type,p0,p1,p2,p3) NOOPEVENT_PPPUU(type,p0,p1,p2,p3,p4) NOOPEVENT_PPU(type,p0,p1,p2) NOOPEVENT_PPUU(type,p0,p1,p2,p3) NOOPEVENT_PPUWWW(type,p0,p1,p2,p3,p4,p5) NOOPEVENT_PPWW(type,p0,p1,p2,p3) NOOPEVENT_PPWWW(type,p0,p1,p2,p3,p4) NOOPEVENT_PPWWWUUU(type,p0,p1,p2,p3,p4,p5,p6,p7) NOOPEVENT_PU(type,p0,p1) NOOPEVENT_PW(type,p0,p1) NOOPEVENT_PWA(type,p0,p1,p2) NOOPEVENT_PWAW(type,p0,p1,p2,p3) NOOPEVENT_PWP(type,p0,p1,p2) NOOPEVENT_PWU(type,p0,p1,p2) NOOPEVENT_PWW(type,p0,p1,p2) NOOPEVENT_PWWWWDD(type,p0,p1,p2,p3,p4,p5,p6) NOOPEVENT_PWWWWW(type,p0,p1,p2,p3,p4,p5) NOOPEVENT_PWWWWWWWWW(type,p0,p1,p2,p3,p4,p5,p6,p7,p8,p9) NOOPEVENT_PWWWWWWWWWWWW(type,p0,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11,p12) NOOPEVENT_UUPA(type,p0,p1,p2,p3) NOOPEVENT_UUPP(type,p0,p1,p2,p3) NOOPEVENT_UUPPP(type,p0,p1,p2,p3,p4) NOOPEVENT_WS(type,p0,p1,l1) NOOP:EventEventTime ((EventType)0xEF213E99);EventPoolInit ((EventType)0xEFB07141)EventPoolFree ((EventType)0xEFB07F6E)?EventArenaCreateVM ((EventType)0xEFA64CF3)@EventArenaCreateVMNZ ((EventType)0xEFA64CF2)AEventArenaCreateCL ((EventType)0xEFA64CC7)BEventArenaDestroy ((EventType)0xEFA64DE5)CEventArenaAlloc ((EventType)0xEFA64A77)DEventArenaFree ((EventType)0xEFA64F6E)EEventSegAlloc ((EventType)0xEF5E9A77)FEventSegFree ((EventType)0xEF5E9F6E)GEventSegMerge ((EventType)0xEF5E93E6)HEventSegSplit ((EventType)0xEF5E95B7)IEventAMCGenCreate ((EventType)0xEFA3C94C)JEventAMCGenDestroy ((EventType)0xEFA3C94D)KEventAMCInit ((EventType)0xEFA3C141)LEventAMCFinish ((EventType)0xEFA3CF14)MEventAMCTraceBegin ((EventType)0xEFA3C26B)NEventAMCScanBegin ((EventType)0xEFA3C5CB)OEventAMCScanEnd ((EventType)0xEFA3C5CE)PEventAMCFix ((EventType)0xEFA3CF18)QEventAMCFixInPlace ((EventType)0xEFA3CF8A)REventAMCFixForward ((EventType)0xEFA3CF8F)SEventAMCReclaim ((EventType)0xEFA3C6EC)TEventTraceStart ((EventType)0xEF26AC52)UEventTraceCreate ((EventType)0xEF26ACC6)VEventTraceDestroy ((EventType)0xEF26ACDE)WEventSegSetGrey ((EventType)0xEF59596A)XEventTraceFlipBegin ((EventType)0xEF26AF7B)YEventTraceFlipEnd ((EventType)0xEF26AF7E)ZEventTraceReclaim ((EventType)0xEF26A6EC)[EventTraceScanSeg ((EventType)0xEF26A559)\EventTraceScanSingleRef ((EventType)0xEF26A556)^EventTraceAccess ((EventType)0xEF26AACC)_EventTracePoll ((EventType)0xEF26AB01)`EventTraceStep ((EventType)0xEF26A52B)aEventTraceFix ((EventType)0xEF26AF18)bEventTraceFixSeg ((EventType)0xEF26AF85)cEventTraceFixWhite ((EventType)0xEF26AF83)dEventTraceScanArea ((EventType)0xEF26A5CA)eEventTraceScanAreaTagged ((EventType)0xEF26A5C2)fEventVMCreate ((EventType)0xEFF3C6EA)gEventVMDestroy ((EventType)0xEFF3DE52)hEventVMMap ((EventType)0xEFF33AB9)iEventVMUnmap ((EventType)0xEFF3043B)jEventIntern ((EventType)0xEF142E64)kEventArenaExtend ((EventType)0xEFA64E82)lEventArenaRetract ((EventType)0xEFA646E2)mEventRootScan ((EventType)0xEF625CA4)nEventLabel ((EventType)0xEF7ABE79)oEventTraceSegGreyen ((EventType)0xEF26A599)pEventBufferReserve ((EventType)0xEFB0FF6E)qEventBufferCommit ((EventType)0xEFB0FFC0)rEventBufferInit ((EventType)0xEFB0FF14)sEventBufferInitSeg ((EventType)0xEFB0F15E)tEventBufferInitRank ((EventType)0xEFB0F16A)uEventBufferInitEPVM ((EventType)0xEFB0F1EF)vEventBufferFinish ((EventType)0xEFB0FFF1)wEventBufferFill ((EventType)0xEFB0FFF7)xEventBufferEmpty ((EventType)0xEFB0FFE3)yEventArenaAllocFail ((EventType)0xEFA64A7F)zEventSegAllocFail ((EventType)0xEF5E9A7F){EventMeterInit ((EventType)0xEF3E2141)|EventMeterValues ((EventType)0xEF3E2FA7)}EventCBSInit ((EventType)0xEFCB5141)~EventTraceStatCondemn ((EventType)0xEF26A5C0)EventTraceStatScan ((EventType)0xEF26A55C)EventTraceStatFix ((EventType)0xEF26A5F8)EventTraceStatReclaim ((EventType)0xEF26A56E)EventArenaWriteFaults ((EventType)0xEFA6436F)EventPoolInitMV ((EventType)0xEFB0713F)EventPoolInitMVFF ((EventType)0xEFB071FF)EventPoolInitMFS ((EventType)0xEFB07135)EventPoolInitEPVM ((EventType)0xEFB071EF)EventPoolInitEPDL ((EventType)0xEFB071E7)EventPoolInitAMS ((EventType)0xEFB071A5)EventPoolInitAMC ((EventType)0xEFB071AC)EventPoolInitAMCZ ((EventType)0xEFB071A2)EventPoolInitAWL ((EventType)0xEFB071A3)EventPoolInitLO ((EventType)0xEFB07170)EventPoolInitSNC ((EventType)0xEFB07154)EventPoolInitMVT ((EventType)0xEFB07132)EventPoolPush ((EventType)0xEFB07B58)EventPoolPop ((EventType)0xEFB07B0B)EventReservoirLimitSet ((EventType)0xEF6E5713)EventCommitLimitSet ((EventType)0xEFC03713)EventSpareCommitLimitSet ((EventType)0xEF5BC713)hEventInit() NOOPiEventFinish() NOOPjEventControl(r,f) (UNUSED(r), UNUSED(f), (Word)0)kEventInternString(s) (UNUSED(s), (Word)0)lEventInternGenString(l,s) (UNUSED(l), UNUSED(s), (Word)0)mEventLabelAddr(a,i) BEGIN UNUSED(a); UNUSED(i); ENDPlock_h ULockSig ((Sig)0x51970CC9) th_h ThreadSig ((Sig)0x519286ED) ss_h mpmst_h protocol_h DERIVE_LOCAL(name) protocol ## nameDERIVE_STRUCT(name) name ## StructDERIVE_ENSURE(name) name ## GetDERIVE_ENSURE_OLD(name) Ensure ## nameDERIVE_ENSURE_INTERNAL(name) protocolGet ## nameDERIVE_GUARDIAN(name) protocol ## name ## GuardianDERIVE_STATIC_STORAGE(name) protocol ## name ## StructProtocolClassSetSuperclassPoly(class,super) (((ProtocolClass)(class))->superclass) = (ProtocolClass)(super)$DEFINE_CLASS(className,var) static Bool DERIVE_GUARDIAN(className) = FALSE; static DERIVE_STRUCT(className) DERIVE_STATIC_STORAGE(className); static void DERIVE_ENSURE_INTERNAL(className)(className); extern className DERIVE_ENSURE(className)(void); className DERIVE_ENSURE(className)(void) { if (DERIVE_GUARDIAN(className) == FALSE) { LockClaimGlobalRecursive(); if (DERIVE_GUARDIAN(className) == FALSE) { DERIVE_ENSURE_INTERNAL(className) (&DERIVE_STATIC_STORAGE(className)); DERIVE_GUARDIAN(className) = TRUE; } LockReleaseGlobalRecursive(); } return &DERIVE_STATIC_STORAGE(className); } extern className DERIVE_ENSURE_OLD(className)(void); className DERIVE_ENSURE_OLD(className)(void) { return DERIVE_ENSURE(className)(); } static void DERIVE_ENSURE_INTERNAL(className) (className var)AINHERIT_CLASS(this,parentName) BEGIN parentName DERIVE_LOCAL(parentName) = DERIVE_ENSURE(parentName)(); *this = *(DERIVE_LOCAL(parentName)); ProtocolClassSetSuperclassPoly(this, DERIVE_LOCAL(parentName)); ENDODEFINE_ALIAS_CLASS(className,typeName,var) typedef typeName className; typedef DERIVE_STRUCT(typeName) DERIVE_STRUCT(className); DEFINE_CLASS(className, var)VProtocolClassSig ((Sig)0x519B60C7)WProtocolInstSig ((Sig)0x519B6014)ProtocolClassSuperclassPoly(class) (((ProtocolClass)(class))->superclass)ClassOfPoly(inst) ((ProtocolInst)(inst)->class)IsSubclassPoly(sub,super) ProtocolIsSubclass((ProtocolClass)(sub), (ProtocolClass)(super))SUPERCLASS(className) ProtocolClassSuperclassPoly(DERIVE_ENSURE(className)())chain_h GenDescSig ((Sig)0x5199E4DE)+PoolGenSig ((Sig)0x519B009E);ChainSig ((Sig)0x519C8A14)XPoolGenNr(gen) ((gen)->nr)/PoolClassSig ((Sig)0x519C7A55)]PoolSig ((Sig)0x519B0019)}MFSSig ((Sig)0x5193F599)MVSig ((Sig)0x5193B999)ReservoirSig ((Sig)0x5196e599)MessageClassSig ((Sig)0x519359c1)MessageSig ((Sig)0x5193e559)SegClassSig ((Sig)0x5195E9C7)SegSig ((Sig)0x5195E999)GCSegSig ((Sig)0x5199C5E9)SegPrefSig ((Sig)0x5195E9B6)BufferClassSig ((Sig)0x519B0FC7)BufferSig ((Sig)0x519B0FFE)SegBufSig ((Sig)0x51959B0F)FormatSig ((Sig)0x519F63A2)ScanStateSig ((Sig)0x5195CA45)TraceSig ((Sig)0x51924ACE)ChunkCacheEntrySig ((Sig)0x519C80CE)ArenaClassSig ((Sig)0x519A6C1A)GlobalsSig ((Sig)0x519970BA)ArenaSig ((Sig)0x519A6E4A)%BoolCheck(b) ((unsigned)(b) <= 1)(FUNCHECK(f) (FunCheck((Fun)f))4WordIsAligned(w,a) (((w) & ((a) - 1)) == 0)7WordAlignUp(w,a) (((w) + (a) - 1) & ~((Word)(a) - 1));WordRoundUp(w,r) (((w)+(r)-1) - ((w)+(r)-1)%(r))>WordAlignDown(w,a) ((w) & ~((Word)(a) - 1))@size_tAlignUp(s,a) ((size_t)WordAlignUp((Word)(s), a))BPointerAdd(p,s) ((void *)((char *)(p) + (s)))CPointerSub(p,s) ((void *)((char *)(p) - (s)))EPointerOffset(base,limit) ((size_t)((char *)(limit) - (char *)(base)))HPointerAlignUp(p,s) ((void *)WordAlignUp((Word)(p), (Align)(s)))KAddrAdd(p,s) ((Addr)PointerAdd((void *)(p), s))LAddrSub(p,s) ((Addr)PointerSub((void *)(p), s))NAddrOffset(b,l) ((Size)(PointerOffset((void *)(b), (void *)(l))))RAddrAlignDown(p,a) ((Addr)WordAlignDown((Word)(p), a))TAlignWord(s) ((Word)(s))VAddrIsAligned(p,a) WordIsAligned((Word)(p), a)WAddrAlignUp(p,a) ((Addr)WordAlignUp((Word)(p), a))YSizeIsAligned(s,a) WordIsAligned((Word)(s), a)ZSizeAlignUp(s,a) ((Size)WordAlignUp((Word)(s), a))[SizeAlignDown(s,a) ((Size)WordAlignDown((Word)(s), a))]SizeRoundUp(s,r) ((Size)WordRoundUp((Word)(s), (Size)(r)))_IndexIsAligned(s,a) WordIsAligned((Word)(s), a)`IndexAlignUp(s,a) ((Index)WordAlignUp((Word)(s), a))aIndexAlignDown(s,a) ((Index)WordAlignDown((Word)(s), a))cAlignIsAligned(a1,a2) WordIsAligned((Word)(a1), a2)iAddrSet(target,value,size) mps_lib_memset(target, (int)(value), size)mAddrCopy(target,source,size) mps_lib_memcpy(target, source, size)qAddrComp(a,b,size) mps_lib_memcmp(a, b, size)wADDR_PTR(type,addr) ((type *)(addr))PoolArena(pool) ((pool)->arena)PoolAlignment(pool) ((pool)->alignment)PoolSegRing(pool) (&(pool)->segRing)PoolFix(pool,ss,seg,refIO) ((*(pool)->fix)(pool, ss, seg, refIO))ClassOfPool(pool) ((pool)->class)SuperclassOfPool(pool) ((PoolClass)ProtocolClassSuperclassPoly((pool)->class))DEFINE_POOL_CLASS(className,var) DEFINE_ALIAS_CLASS(className, PoolClass, var)POOL_SUPERCLASS(className) ((PoolClass)SUPERCLASS(className))TraceSetSingle(trace) BS_SINGLE(TraceSet, (trace)->ti)TraceSetIsSingle(ts) BS_IS_SINGLE(ts)TraceSetIsMember(ts,trace) BS_IS_MEMBER(ts, (trace)->ti)TraceSetAdd(ts,trace) BS_ADD(TraceSet, ts, (trace)->ti)TraceSetDel(ts,trace) BS_DEL(TraceSet, ts, (trace)->ti)TraceSetUnion(ts1,ts2) BS_UNION(ts1, ts2)TraceSetInter(ts1,ts2) BS_INTER(ts1, ts2)TraceSetDiff(ts1,ts2) BS_DIFF(ts1, ts2)TraceSetSuper(ts1,ts2) BS_SUPER(ts1, ts2)TraceSetSub(ts1,ts2) BS_SUB(ts1, ts2)TraceSetComp(ts) BS_COMP(ts)TRACE_SET_ITER(ti,trace,ts,arena) for(ti = 0, trace = ArenaTrace(arena, ti); ti < TraceLIMIT; ++ti, trace = ArenaTrace(arena, ti)) BEGIN if (TraceSetIsMember(ts, trace)) {TRACE_SET_ITER_END(ti,trace,ts,arena) } ENDTRACE_SCAN_BEGIN(ss) BEGIN Shift SCANzoneShift = (ss)->zoneShift; ZoneSet SCANwhite = (ss)->white; RefSet SCANsummary = (ss)->unfixedSummary; Word SCANt; {TRACE_FIX1(ss,ref) (SCANt = (Word)1 << ((Word)(ref) >> SCANzoneShift & (MPS_WORD_WIDTH-1)), SCANsummary |= SCANt, SCANwhite & SCANt)TRACE_FIX2(ss,refIO) ((*(ss)->fix)(ss, refIO))TRACE_FIX(ss,refIO) (TRACE_FIX1(ss, *(refIO)) ? TRACE_FIX2(ss, refIO) : ResOK)TRACE_SCAN_END(ss) } (ss)->unfixedSummary = SCANsummary; ENDDEFINE_ARENA_CLASS(className,var) DEFINE_ALIAS_CLASS(className, ArenaClass, var)ARENA_SUPERCLASS(className) ((ArenaClass)SUPERCLASS(className))ArenaGlobals(arena) (&(arena)->globals)GlobalsArena(glob) PARENT(ArenaStruct, globals, glob)ArenaRootRing(arena) (&(arena)->rootRing)ArenaTraceRing(arena) (&(arena)->traceRing)ArenaThreadRing(arena) (&(arena)->threadRing)ArenaEpoch(arena) ((arena)->epoch)ArenaTrace(arena,ti) (&(arena)->trace[ti])ArenaZoneShift(arena) ((arena)->zoneShift)ArenaAlign(arena) ((arena)->alignment)ArenaGreyRing(arena,rank) (&(arena)->greyRing[rank])ArenaReservoir(arena) (&(arena)->reservoirStruct)DEFINE_SEG_CLASS(className,var) DEFINE_ALIAS_CLASS(className, SegClass, var)SEG_SUPERCLASS(className) ((SegClass)SUPERCLASS(className))ClassOfSeg(seg) ((seg)->class)SegBase(seg) (TractBase((seg)->firstTract))SegLimit(seg) ((seg)->limit)SegPool(seg) (TractPool((seg)->firstTract))SegRankSet(seg) ((RankSet)(seg)->rankSet)SegPM(seg) ((AccessSet)(seg)->pm)SegSM(seg) ((AccessSet)(seg)->sm)SegDepth(seg) ((unsigned)(seg)->depth)SegGrey(seg) ((TraceSet)(seg)->grey)SegWhite(seg) ((TraceSet)(seg)->white)SegNailed(seg) ((TraceSet)(seg)->nailed)SegOfPoolRing(node) (RING_ELT(Seg, poolRing, (node)))SegOfGreyRing(node) (&(RING_ELT(GCSeg, greyRing, (node)) ->segStruct))SegSummary(seg) (((GCSeg)(seg))->summary)SegSetPM(seg,mode) ((void)((seg)->pm = (mode)))SegSetSM(seg,mode) ((void)((seg)->sm = (mode)))SegSetDepth(seg,d) ((void)((seg)->depth = (d)))SegSetNailed(seg,ts) ((void)((seg)->nailed = (ts)))BUFFER_RESERVE(pReturn,buffer,size,withReservoirPermit) (AddrAdd(BufferAlloc(buffer), size) > BufferAlloc(buffer) && AddrAdd(BufferAlloc(buffer), size) <= BufferAP(buffer)->limit ? (*(pReturn) = BufferAlloc(buffer), BufferAP(buffer)->alloc = AddrAdd(BufferAlloc(buffer), size), ResOK) : BufferFill(pReturn, buffer, size, withReservoirPermit))BUFFER_COMMIT(buffer,p,size) (BufferAP(buffer)->init = BufferAlloc(buffer), BufferAP(buffer)->limit != 0 || BufferTrip(buffer, p, size))BufferAP(buffer) (&(buffer)->apStruct)BufferOfAP(ap) PARENT(BufferStruct, apStruct, ap)BufferArena(buffer) ((buffer)->arena)BufferPool(buffer) ((buffer)->pool)BufferBase(buffer) ((buffer)->base)BufferGetInit(buffer) (BufferAP(buffer)->init)BufferAlloc(buffer) (BufferAP(buffer)->alloc)BufferLimit(buffer) ((buffer)->poolLimit)DEFINE_BUFFER_CLASS(className,var) DEFINE_ALIAS_CLASS(className, BufferClass, var)BUFFER_SUPERCLASS(className) ((BufferClass)SUPERCLASS(className))RankSetIsMember(rs,r) BS_IS_MEMBER((rs), (r))RankSetSingle(r) BS_SINGLE(RankSet, (r))RankSetIsSingle(r) BS_IS_SINGLE(r)RankSetUnion(rs1,rs2) BS_UNION((rs1), (rs2))RankSetDel(rs,r) BS_DEL(RankSet, (rs), (r))AddrZone(arena,addr) (((Word)(addr) >> (arena)->zoneShift) & (MPS_WORD_WIDTH - 1))RefSetUnion(rs1,rs2) BS_UNION((rs1), (rs2))RefSetInter(rs1,rs2) BS_INTER((rs1), (rs2))RefSetDiff(rs1,rs2) BS_DIFF((rs1), (rs2))RefSetAdd(arena,rs,addr) BS_ADD(RefSet, rs, AddrZone(arena, addr))RefSetIsMember(arena,rs,addr) BS_IS_MEMBER(rs, AddrZone(arena, addr))RefSetSuper(rs1,rs2) BS_SUPER((rs1), (rs2))RefSetSub(rs1,rs2) BS_SUB((rs1), (rs2))ZoneSetUnion(zs1,zs2) BS_UNION(zs1, zs2)ZoneSetInter(zs1,zs2) BS_INTER(zs1, zs2)ZoneSetDiff(zs1,zs2) BS_DIFF(zs1, zs2)ZoneSetAdd(arena,zs,addr) BS_ADD(ZoneSet, zs, AddrZone(arena, addr))ZoneSetIsMember(arena,zs,addr) BS_IS_MEMBER(zs, AddrZone(arena, addr))ZoneSetSub(zs1,zs2) BS_SUB(zs1, zs2)ZoneSetSuper(zs1,zs2) BS_SUPER(zs1, zs2)ZoneSetComp(zs) BS_COMP(zs)STATISTIC(gather) BEGIN (gather); ENDSTATISTIC_STAT(gather) BEGIN gather; ENDSTATISTIC_WRITE(format,arg) (format), (arg),%SegGCSeg(seg) ((GCSeg)(seg)))SegPoolRing(seg) (&(seg)->poolRing)seg.cJan 17 200703:39:23 pool $P ($U) class $P ("$S") Segment $P [$A,$A) { } Segment $P protection mode: shield depth $U read write shield mode: ranks: ambiguous exact final weak nailed $B grey $B white $B summary $W SEGGCSEG$Id: //info.ravenbrook.com/project/mps/master/code/seg.c#9 $| (AB FX. `.i. l. ZAB FU.($AB Ft.[. B. @AB Fa.AB M. AB M.$AB M.<AB M.TAB P.lAB J.AB M.$AB BM.0V.]. 0AB @ AB LAB `BAB M.XAB DH.\AB DD.$XAB Fd.[. [.$AB F^.w. m.|9AB A AB AB AB AB AB AB AB  AB AB  AB  AB FU. AB   AB F.(AB BD. c._.0 AB  [AB D^. ]AB BN.` AB C$x lAB FX. _. dAB C H dAB Fs. QAB De. AB Fa. AB AB (AB Fr. \.`. z.(|AB FD. q. ]. 0AB FG. AB GAB b.S. AB $AB DGAB b.S. AB AB BQ.AB ;"$SegAlloc$SegFreez'SegSetGrey'SegSetWhite'SegSetRankSet(SegSetSummaryR(SegSetRankAndSummary(SegBuffer(SegSetBuffer(SegDescribeM)SegBasex)SegLimit)SegSize)SegOfAddr&*SegFirst*SegNext+SegMerge+SegSplit,SegCheck2GCSegCheckE:SegClassCheckq:SegClassGet:EnsureSegClass:GCSegClassGet;EnsureGCSegClassY;SegClassMixInNoSplitMerge;segSrcIdallocTablereservoirPermitSegCheckPoolDescribeMethodprefcontrolPoolStructpageTableLimitSegOfAddrgreySegMaxchunkFinishnamesegTrivDescribepageSizeFormatPadMethodrankrootSerialSegSetRankSetchunkRingArenaAllocMethodreservoirSizeactiveTracesformatfoundationfailSplitLockPoolBufferClassMethodSegNextTraceFixMethodsuperclassthreadRingunitsPerExtentPagefillMutatorSizepoolSerialBoolprehistoryArenaFreeMethodunitSizesetRankSetunsigned intGNU C 3.4.6 [FreeBSD] 20060305BufferRankSetMethodSegMergeextendArenaChunkFinishMethodprotocolGCSegClassStructfillInternalSizeBufferReassignSegMethodreassignSegSegSetSummaryisCollectedpoolReadyscmidwhiteSegRefCountforwardedSizeforwardedCountArenaSpareCommitExceededMethodProtocolClassseg.cmergegreyRinggcSegSetRankSetfinishshort intsegNoMergelimitArenaDescribeMethodprotocoldescribefillSize_oldPoolmodePoolDebugMixinStructrememberedSummaryRingprevsegNoSplitserialprotocolSegClassGuardianEpoch_newsetBufferapStructemptyMutatorSizeallocMutatorSizePoolFramePushMethodPoolFinishMethodbusyTraceslwPopPendingchunkdiffprotocolGCSegClassGuardianspansallocBasesuspendedgcSegSetBufferpollThresholdArenaStructenabledMessageTypesmpsVersionStringSizefreeListframePopGlobalsStructreservoirStructGCSegClassStructChainStructfailInitbaseArenaClassAccessSetgcSegDescribegcSegBufferframeptrhistorysegNoBufferSegSetRankSummaryMethodgcSegSetGreyFileSrcIdStructlong long unsigned intfileoffsetfailSuper/home/hannes/dylan/mps/codetracesegLoReturnshDepthhighattrgenCountSegClassStructtractrateSegSetGreyFreeBlockStepMethodoldGreyPoolClassStructmergedSegReturnglobalsprimaryArenaChunkInitMethodAlignarenaBufferFinishMethodFormatVarietyPoolWalkMethodskipPoolFreeMethodmortalitywasMarkedGCSegClassproflowmessageRingsize_tmovesegTrivSplitAPStructTractStructrampEndmayMoveBootBlockpoolLimitChunkclampedPoolReclaimMethodunroundedUnitSizesegHiReturnEnsureSegClassshCachetracedTimereclaimCountpageTablePagesfreePoolFixMethodSegPrefWordmps_lib_stream_sFormatStructpreservedInPlaceCountfreewalkframePushFormattedObjectsStepMethodargsSegClassgensCountPageStructisMovedsetRankSummarySegDescribeMethodsummarybufferClassPoolDebugMixinSegSetSummaryMethodfailArenainsidePollsegNoSetGreyreclaimAddrreservoirLimitcharscannedSizereserveBufferStructFormatScanMethodchunkSerialSegFinishMethodSegInitsuperMFSHeaderStructSerialSegClassGetsplitsegNoSetWhiteFormatClassMethodArenaFormatMoveMethodspacefinalPoolBufferDescribeMethodBufferModefixRefCountMFSStructArenaInitMethodlockrampCountPoolFixEmergencyMethodzoneShiftstreampagesisGennailedSegBufferSegFirstprotocolGetSegClassPoolFreeWalkMethodchainva_listsegTrivMergeSegFinishChainlong long intMVStructLockStructgcSegSetSummaryZoneSetTractBufferSegMethoddepthPoolRampEndMethodlocusRingprotocolSegClassfixEmergencyTracegreylastWorldCollectPoolDebugMixinMethodpageShiftGCSegClassGetChunkCacheEntryStructBufferClassStructArenaClassStructoldRankSetrememberedSummaryIndexgreySegCountisMutatorArenaFinishMethodGCSegCheckfixedSummarycommittedframePopPendingSegClassCheckscansingleCopiedSizeSegSetBufferMethodProtocolInstStructAddrStructrampBeginbufferPoolRampBeginMethodsizeSegStructGenDescStructProtocolInstgcSegSetRankSummarysegStructBufferSetRankSetMethodinitAtFlipPoolStructpoolRing_ringdetachspareCommitLimittopGenPoolWhitenMethodspanPoolStructPoolInitMethodTraceIdpoolSegSetBufferSegSetRankAndSummaryaccesschainRingPoolGreyMethodlastTractsegNoSetSummarysegNoSetBufferMutatorFaultContextvarietySegLimitemptyInternalSizeSrcIdarenaRingsegRefCountavgSizecopytractListSegFreeFormatPoolScanMethodFormatCopyMethodSegDescribelostcapacitywhitenScanStategcSegInitcondemnedbufferRingChunkStructflippedTracesrootScanCountenabledrootScanSizepointlessScanCountallocRankshCacheLimitGCSegfailMergesegCopiedSizeSegSetWhiteBufferInitMethodlong intsetSummaryBufferDetachMethodnotCondemnedextendByTraceStateTraceSetsegTrivInitstatepreservedInPlaceSizenextSegBufferMethodbuild_timeSegBasesegHiSegClassMixInNoSplitMergePoolClassProtocolCoerceInstMethodgcSegSetGreyInternalemergencyPoolBlackenMethodwhitepoolStruct__size_trootRingpageTableSegInitMethodFormatSkipMethodsegScanSizecopiedSizewithReservoirPermitArenaExtendMethodaddrScanStateStructSegSetWhiteMethodunfixedSummarypageTableBasewillbeShieldedgcsegHilastTractBasethreadSeriallabelledsetGreytracedSize__va_listwalksetWhitePoolAllocMethodRingStructrankSetlong unsigned intPoolFramePopPendingMethodSrcIdStructBootBlockStructwriteBarrierHitCountMutatorFaultContextStructArenaReservedMethodinitAttrbufferLoggingProtocolClassStructclassbufferFillIndexspareCommitExceededFormatIsMovedMethodmaxSizechunkInitPoolAccessMethodsnapCounttypeattachnailCountunsigned chargcSegMerge__uint32_tspareCommittedinsideShieldRingSegSplitMethodsegLoblockPoolStructRefSetAllocFrameStructPoolFramePopMethodsegTrivFinishfailControltrsegtractStructBufferClassformatSerialSegAllocprotocolGetGCSegClasssegRingAllocFramehasSegcoerceClassgcSegSetWhiteReservoirStructbuild_datesingleScanSizeBufferreadBarrierHitCountsegScanCountheaderSizecoerceInstwasShieldedsegNoSetRankSummarydebugMixinchunkCachesigned charSegMergeMethodSegPrefStructmps_lib_FILEPoolBufferFillMethodreclaimSizebufferSerialshort unsigned intzonessegNewoldSummarybufferEmptyProtocolCoerceClassMethodgcSegFinishreservedRankSetisFinalPoolprotocolProtocolClassdoublesingleScanCountfirstTractEnsureGCSegClassalignmentPoolBufferEmptyMethodBufferAttachMethodrestSegSetRankSetMethodShiftemptySizegcsegsegSrcIdprotocolSegClassStructsegReturnalignSegSizeTraceStructgcSegSplitglobalRingformatRingcommitLimitrootCopiedSizeGCSegStructSegSetGreyMethodsegNoSetRankSetshCacheIepochblackenSegSplittracesGCC: (GNU) 3.4.6 [FreeBSD] 20060305.symtab.strtab.shstrtab.rel.text.rel.data.bss.debug_abbrev.rel.debug_info.rel.debug_line.debug_macinfo.rodata.str1.1.rodata.str1.4.rel.rodata.rel.debug_frame.rel.debug_pubnames.rel.debug_aranges.debug_str.comment4 )% / 4(F(;B xVRR D  b'V vq242D= L   l t #3  $0S%@` 5 l    $@) 5CP^n~     [ ]` x l% d3H dC QSg s|0 L$L4=FQ^jtZ|L $<Tl 0&@ /`B9EXNYc\kXt}|9 G G ): KRseg.cFileSrcIdStructSegInitSegFinishsegTrivInitsegTrivFinishsegNoSetGreysegNoSetWhitesegNoSetRankSetsegNoSetSummarysegNoSetRankSummarysegNoBuffersegNoSetBuffersegNoMergesegTrivMergesegNoSplitsegTrivSplitsegTrivDescribegcSegInitgcSegFinishgcSegSetGreyInternalgcSegSetGreygcSegSetWhitegcSegSetRankSetgcSegSetSummarygcSegSetRankSummarygcSegBuffergcSegSetBuffergcSegMergegcSegSplitgcSegDescribeprotocolSegClassGuardianprotocolSegClassStructprotocolGetSegClassprotocolGCSegClassGuardianprotocolGCSegClassStructprotocolGetGCSegClasssegSrcIdSegAllocArenaAllocControlAllocControlFreeArenaFreeSegFreeSegSizeTractOfBaseAddrShieldLowerShieldFlushSegSetGreySegSetWhiteSegSetRankSetSegSetSummarySegSetRankAndSummarySegBufferSegSetBufferSegDescribeWriteFSegBaseSegLimitSegOfAddrTractOfAddrSegFirstTractFirstTractNextSegNextSegMergeSegSplitSegCheckGCSegCheckGCSegClassGetShieldRaiseBufferReassignSegBufferDescribeSegClassCheckSegClassGetLockClaimGlobalRecursiveLockReleaseGlobalRecursiveEnsureSegClassProtocolClassGetEnsureGCSegClassmemcpySegClassMixInNoSplitMerge"7B89:<9 :Z==k>?   H  HqLNOHO?9?8h93=Z=   H  % HB  H H_  e H  H  H  H  H   H  # H<  B Ha  n  y  ~  H UH U V > V > V >kV>U?fWUWtUX H[\ Z/^O ]dkry[\ UZ+`8 FMT[bipw~  3!3%3*31383?3M3X3_3f3m3t3{3333333333333(33393Z3e3v3|333333333333 33#3.393T3e3k333333333333-3<3K3Z3i3y33333333333,3;3Z3i3q33333333333%343C3R3a3p333333333 33(363D3R3`3n3333333333 33&343B3P3^3l3z33333333333"303>3L3Z3h3v3333333 3 3) 38 3G 3V 3e 3t 3 3 3 3 3 3 3 3 3 3 3 3( 37 3F 3U 3d 3s 3 3 3 3 3 3 3 3 3 3 3: 3I 3X 3g 3v 3 3 3 3 3 3 3 3 3 3 3 3+ 3@ 3V 3d 3r 3 3 3 3 3 3 3 3 3 3 30 3> 3L 3Z 3h 3v 3 3 3 3 3 3 3 3 333!303@3U333333333,3>3Q3f3n3}33333333333+393G3U3c3q333333333 33;3P3X3g3v3333333333 33:3O3X3g3v33333333333$343D3T3d3t33333333333$343D3T3d3t3333333333393P3_3n3}33333333333"313@3O3_3p3v3333333333(3E3f3q3333*3G3s333363S3u33333 3.3T333333"3C3d333333A3h3333.3U3|333333A3r3333333Y3z333333 3+ 3@ 3H 3V 3e 3p 3 3 3 3 3 3 3 3 3 !3!3&!3;!3Q!3`!3!3!3!3!3!3"3"3"3."3?"3N"3V"3d"3r"3"3"3"3"3"3"3"3"3"3#3#3%#34#3C#3R#3a#3#3#3#3#3#3#3#3#3($33$7$>$3K$3Y$3g$3u$3$3$3$3$3$3$$3$$3$%3% % %3.%3;%3I%3W%3i%3t%x%%3%3%3%3%3%3%3%3%3&3&3.&34&=&A&V&Z&_&3q&u&z&3&3&&&3&&&3&&&3&3&3 '3'3$'35'9'N'R'W'3e'i'n'3'3'''3'3'''3'3'' (3"(3*(.(C(3X(3`(d(y(3(3(3(((3(((3(3 ))#)3?)3S)3_)c)~)3)))3)))3)))3)3*3*3,*38*<*C*3Q*3_*3n*r**3***3*3*3*3*3**+3+++3,+3;+3J+3Z+3i+3+3+3+3+3++3+++3+3 ,30,3?,3N,3\,3k,3,3,3,,3,,3,,,3,3,3-3-3!-3--1-G-3V-3e-3t-3-3-3-3-3---3---3 .3....3B.3J.N.d.3x.3...3.3...3.3.3.//3&/*/@/3T/3`/d/z/3/3/3/3/3/3///3 03+03903H03W03e03q0303030000030003030013!13?13N13]13q13}1113131313131313 2323%2372;2@23S2W2i2m2r2323232223232223333"3833G33V33e33t3333333333333333334343#4'4,43;4?4D43V43^4b4w434343434344434344435 553)53=53E5I5_53m53y53535353555353535363636!6&63863@6D6Y63g63s636363666363636363667373,73:73H73V73j73v7z7737377737373778383283A83P83_83m83|838383838888383889393=93L93[93j93x93939393999939399 :3):37:3K:3W:[:b:3s:3:::3:::3:::3:::3:3:3::;3;; ;3(;,;3;3A;E;J;3_;3g;k;r;3;3; ;3;5;3;;3;;3;;3;r    0D0Hh0l0000 0(0,D0H`0d|000000 (0,H0Lp0t000000,00D0H\0`t0x00000004H0Lh0l0000080<\0`t0x0000  0$@0DX0\t0x000format.o/ 1169001563 1001 1001 100644 53484 ` ELF  4(UÉUEÉUWVS u }0jj $ > : ; I I&I : ;  : ; I8 < : ; I  : ;I8 : ;I8  : ; I8  : ; I 8  : ;I 8  : ;I 8  : ; ' II' ' I : ;  : ;  : ; I: ;II!I/ .? : ; ' I@ : ; I .: ; ' I@ : ; I !4: ; I "4: ; I # $ %.? : ; ' @ &4: ; I'4: ; I?  %=intK 8W \ _L | 7zTE "#"$#1%#%&#w '# " 2 . Sigl ResE l"ou .#Y$Y%Y&Y'W(W Ref)d ,Y& -Y .WH/WR1{ 2W> 3W3 4W5W6W|7W BT:MY;^d /?Y @> DM!# VE# F# G)# HT# ,Iq# 5 J#$ K3#( segL#, M#0 }N#4 O#8 sigPC#<hAWC ad# bd# scd# dd# e# f#. D<D sigC# K# 8# c# # ~# \ # 0# Q#$ s#( ~#, pad#0 #4 d{#8F G XGsig`C#Ka#b#cc#  d#w e#f# g#$~h#,i#0fixj=#49ks#8pls#@ms#H ns#P H.H2M!#V3# 4#5#6-#7Y# 8#$ 9#(p:#,;#0 <-#4 =Y#8\ >#<y ?#@S@#D\ A#HfixB=#Lf Cm#PDx#T E#XF#\G#`<H#d> I(#hJO#lK#pIL#tM#xzN#|O#sigPC#s O O sigC# ti# c# # # G # # * # m {#  {#$ {#( {#, #0 ?#4 #8 #< ${#@ #D #H {#L c#P 0#T a {#X ?#\ #` 7#d 3#h #l F#p  #t V #x H {#|  # M  {# T# #c P  * ,TP fix# Y# # N# sigC# c# [ # t# # ' #$ ?#( #, 7#0 3#4 #8 V#< H{#@ #D M {#H {#L {#PQ5 ;  cQsig>C#c?# @#A #B# C!#. R   R #p#od#  # W# S   8SsigC#K#c## [{# #od#sd# #$#(C#,ZU #0a#4? T sigC#  # od# sd# ]?# 0?#4UJPkUtheh+ # SegVv|P V sigC# P# s #   # s d#D  W#pm "#sm "#y  #  # ##X[aNLXM!#V# ### T#  v#$]#(#,#0} #4(-#8#<#@#DsigC#HZY_Z sig0C# 1# 2# 3# 4# gen5#t\ H\ &M!# V'E## (# )# *# +# ?,#$ -#( .#, /'#0 p0h#4 1#8 J2#< 3#@ sig4C#D,^(^ >oK## Kp#t r#x 't#| u ## Sw## 4 y{# z{# V|{# < }{# # ~#  # ~d# F # # # 9## M !# # # # C# P# I# # # e# LW## D{# {# {# #  #  # g## s#  s# ~ Y# w## ?# # M# Y# ## sigC#Et_ sigBC# E# F# Is# xJ# K# 9Ls# pMs#( Ns#0 Os#8 Ps#@ S#H V#L  Y#P IZ#X ]#\ y^#d $a#h d#p d TUe  g#) hh !# #X{#\{#`sigC#dnN8 onp{qqr 'Nd{t28\N\bN{d dusyd{NvN Sw xN' $N $5;[dlfldd Nkd{8k3k <-k8>Tkd_evkg jkr kj7NkNkkddd8w 4:TNj8i_eqj|jddd{ _4 kjj j"3jkS>DYNjt djN8N\{d{-N\\j{8>Yjdd djNkd"T șNk k  k. 7N7 kuHNmN k$H( ҎjJ ӵjNj(Nj 39OjZ`k*l݋[޲x N 0N dd ;AQdd2\bsdd;= \dd{;rb #:# + g e#'fE#J hcg iPJ \f l  \sig}C#~[ #o # !#  a   asigC#[ # m  !! [  x'!-!G!G![ [ [ l ! $sigC##S  {#!s# "s#\ ## $X!! oR"yt !#:{#X* {#\t{#`%Y#d3X"#h  #lsigC#p R"y! # ` !#^"#Xe ^"#* {# {#{#C{#N {##sigC# i"/gd  Eeg#kw#-####3 U#k,d U+dP%@NU5%Pc5V~6P 78P\ 8P90P:QP ;sP <~P pad=P>Wd?{P!AS"resBNP"pCp#$HQ!( NP$!( jR!XjQ%a%N tUsR#K%!wQ$ &( {%e'UP%N(UP "resNP!'f /usr/include/usr/include/sys/usr/include/machinempm.hconfig.hmpstd.hmisc.hstddef.hcdefs.h_null.h_types.h_types.hcheck.hmpslib.hevent.heventcom.hmpmtypes.hstdarg.heventgen.hlock.hth.hring.hss.htract.hbt.hmpmst.hprotocol.hchain.hformat.c9__GNUCLIKE___OFFSETOF 1?__GNUCLIKE___SECTION 1A__GNUCLIKE_ATTRIBUTE_MODE_DI 1D__GNUCLIKE_CTOR_SECTION_HANDLING 1G__GNUCLIKE_BUILTIN_CONSTANT_P 1N__GNUCLIKE_BUILTIN_VARARGS 1O__GNUCLIKE_BUILTIN_STDARG 1P__GNUCLIKE_BUILTIN_VAALIST 1T__GNUC_VA_LIST_COMPATIBILITY 1X__GNUCLIKE_BUILTIN_NEXT_ARG 1Y__GNUCLIKE_MATH_BUILTIN_RELOPS \__GNUCLIKE_BUILTIN_MEMCPY 1___CC_SUPPORTS_INLINE 1`__CC_SUPPORTS___INLINE 1a__CC_SUPPORTS___INLINE__ 1c__CC_SUPPORTS___FUNC__ 1d__CC_SUPPORTS_WARNING 1f__CC_SUPPORTS_VARADIC_XXX 1h__CC_SUPPORTS_DYNAMIC_ARRAY_INIT 1k__CC_INT_IS_32BIT 1s__GNUC_PREREQ__(ma,mi) (__GNUC__ > (ma) || __GNUC__ == (ma) && __GNUC_MINOR__ >= (mi))__P(protos) protos__CONCAT1(x,y) x ## y__CONCAT(x,y) __CONCAT1(x,y)__STRING(x) #x__XSTRING(x) __STRING(x)__const const__signed signed__volatile volatile__dead2 __attribute__((__noreturn__))__pure2 __attribute__((__const__))__unused __attribute__((__unused__))__used __attribute__((__used__))__packed __attribute__((__packed__))__aligned(x) __attribute__((__aligned__(x)))__section(x) __attribute__((__section__(x)))__pure __attribute__((__pure__))__always_inline __attribute__((__always_inline__))__nonnull(x) __attribute__((__nonnull__(x)))__restrict __predict_true(exp) __builtin_expect((exp), 1)__predict_false(exp) __builtin_expect((exp), 0)__offsetof(type,field) ((size_t)(&((type *)0)->field))__rangeof(type,start,end) (__offsetof(type, end) - __offsetof(type, start))__printflike(fmtarg,firstvararg) __attribute__((__format__ (__printf__, fmtarg, firstvararg)))__scanflike(fmtarg,firstvararg) __attribute__((__format__ (__scanf__, fmtarg, firstvararg)))__format_arg(fmtarg) __attribute__((__format_arg__ (fmtarg)))__printf0like(fmtarg,firstvararg) __attribute__((__format__ (__printf0__, fmtarg, firstvararg)))__strong_reference(sym,aliassym) extern __typeof (sym) aliassym __attribute__ ((__alias__ (#sym)));__weak_reference(sym,alias) __asm__(".weak " #alias); __asm__(".equ " #alias ", " #sym)__warn_references(sym,msg) __asm__(".section .gnu.warning." #sym); __asm__(".asciz \"" msg "\""); __asm__(".previous")__IDSTRING(name,string) __asm__(".ident\t\"" string "\"")__FBSDID(s) __IDSTRING(__CONCAT(__rcsid_,__LINE__),s)__RCSID(s) __IDSTRING(__CONCAT(__rcsid_,__LINE__),s)__RCSID_SOURCE(s) __IDSTRING(__CONCAT(__rcsid_source_,__LINE__),s)__SCCSID(s) __IDSTRING(__CONCAT(__sccsid_,__LINE__),s)__COPYRIGHT(s) __IDSTRING(__CONCAT(__copyright_,__LINE__),s)__DECONST(type,var) ((type)(uintptr_t)(const void *)(var))__DEVOLATILE(type,var) ((type)(uintptr_t)(volatile void *)(var))__DEQUALIFY(type,var) ((type)(uintptr_t)(const volatile void *)(var))__POSIX_VISIBLE 200112__XSI_VISIBLE 600__BSD_VISIBLE 1__ISO_C_VISIBLE 1999* NULL ((void *)0)+_SYS__TYPES_H_ ! (_MACHINE__TYPES_H_ .__NO_STRICT_ALIGNMENT __GNUC_VA_LIST 2_RUNE_T_DECLARED 8_SIZE_T_DECLARED >_WCHAR_T_DECLARED Boffsetof(type,member) __offsetof(type, member)*SRCID(id,scmid) static SrcIdStruct FileSrcIdStruct = {__FILE__, (scmid), __DATE__, __TIME__}; SrcId id ## SrcId = &FileSrcIdStruct;BEGIN do {> (i)) & 1)BS_UNION(s1,s2) ((s1) | (s2))BS_ADD(ty,s,i) BS_UNION((s), BS_SINGLE(ty, (i)))BS_INTER(s1,s2) ((s1) & (s2))BS_DIFF(s1,s2) BS_INTER((s1), BS_COMP(s2))BS_DEL(ty,s,i) BS_DIFF((s), BS_SINGLE(ty, (i)))BS_SUPER(s1,s2) (BS_INTER((s1), (s2)) == (s2))BS_SUB(s1,s2) BS_SUPER((s2), (s1))BS_IS_SINGLE(s) (((s) & ((s)-1)) == 0)BS_SYM_DIFF(s1,s2) ((s1) ^ (s2)) check_h  mpslib_h mps_lib_EOF (mps_lib_get_EOF())mps_lib_stderr (mps_lib_get_stderr())mps_lib_stdout (mps_lib_get_stdout())0AVER(cond) DISCARD(cond)1AVERT(type,val) DISCARD(type ## Check(val))2AVER_CRITICAL(cond) DISCARD(cond)3AVERT_CRITICAL(type,val) DISCARD(type ## Check(val))MASSERT(cond,condstring) BEGIN if (cond) NOOP; else mps_lib_assert_fail(condstring "\n" __FILE__ "\n" STR(__LINE__)); END_NOTREACHED NOOPjCHECKT(type,val) ((val) != NULL && (val)->sig == type ## Sig)pCHECKS(type,val) DISCARD(CHECKT(type, val))qCHECKL(cond) DISCARD(cond)rCHECKD(type,val) DISCARD(CHECKT(type, val))sCHECKD_NOSIG(type,val) DISCARD((val) != NULL)tCHECKU(type,val) DISCARD(CHECKT(type, val))uCHECKU_NOSIG(type,val) DISCARD((val) != NULL)CHECKLVALUE(lv1,lv2) ((void)sizeof((lv1) = (lv2)), (void)sizeof((lv2) = (lv1)), TRUE)CHECKTYPE(t1,t2) (sizeof(t1) == sizeof(t2) && CHECKLVALUE(*((t1 *)0), *((t2 *)0)))CHECKFIELDAPPROX(s1,f1,s2,f2) (sizeof(((s1 *)0)->f1) == sizeof(((s2 *)0)->f2) && offsetof(s1, f1) == offsetof(s2, f2))CHECKFIELD(s1,f1,s2,f2) (CHECKFIELDAPPROX(s1, f1, s2, f2) && CHECKLVALUE(((s1 *)0)->f1, ((s2 *)0)->f2)) event_h   eventcom_h  mpmtypes_h '_MACHINE_STDARG_H_ -_VA_LIST_DECLARED 3va_start(ap,last) __builtin_stdarg_start((ap), (last))6va_arg(ap,type) __builtin_va_arg((ap), type):va_copy(dest,src) __builtin_va_copy((dest), (src))>va_end(ap) __builtin_va_end(ap)SigInvalid ((Sig)0x51915BAD)SizeMAX ((Size)-1)AccessSetEMPTY ((AccessSet)0)AccessREAD ((AccessSet)(1<<0))AccessWRITE ((AccessSet)(1<<1))AccessSetWIDTH (2)RefSetEMPTY BS_EMPTY(RefSet)RefSetUNIV BS_UNIV(RefSet)ZoneSetEMPTY BS_EMPTY(ZoneSet)ZoneSetUNIV BS_UNIV(ZoneSet)TraceSetEMPTY BS_EMPTY(TraceSet)TraceSetUNIV ((TraceSet)((1u << TraceLIMIT) - 1))RankSetEMPTY BS_EMPTY(RankSet)RankSetUNIV ((RankSet)((1u << RankLIMIT) - 1))AttrFMT ((Attr)(1<<0))AttrSCAN ((Attr)(1<<1))AttrPM_NO_READ ((Attr)(1<<2))AttrPM_NO_WRITE ((Attr)(1<<3))AttrALLOC ((Attr)(1<<4))AttrFREE ((Attr)(1<<5))AttrBUF ((Attr)(1<<6))AttrBUF_RESERVE ((Attr)(1<<7))AttrBUF_ALLOC ((Attr)(1<<8))AttrGC ((Attr)(1<<9))AttrINCR_RB ((Attr)(1<<10))AttrINCR_WB ((Attr)(1<<11))AttrMOVINGGC ((Attr)(1<<12))AttrMASK (AttrFMT | AttrSCAN | AttrPM_NO_READ | AttrPM_NO_WRITE | AttrALLOC | AttrFREE | AttrBUF | AttrBUF_RESERVE | AttrBUF_ALLOC | AttrGC | AttrINCR_RB | AttrINCR_WB | AttrMOVINGGC)BufferModeATTACHED ((BufferMode)(1<<0))BufferModeFLIPPED ((BufferMode)(1<<1))BufferModeLOGGED ((BufferMode)(1<<2))BufferModeTRANSITION ((BufferMode)(1<<3))RootModeCONSTANT ((RootMode)1<<0)RootModePROTECTABLE ((RootMode)1<<1)RootModePROTECTABLE_INNER ((RootMode)1<<2)STATISTIC_DECL(field) field!EventNameMAX ((size_t)19)"EventCodeMAX ((EventCode)0x0069)&EVENT_0(type) NOOPEVENT_A(type,p0) NOOPEVENT_AW(type,p0,p1) NOOPEVENT_P(type,p0) NOOPEVENT_PAA(type,p0,p1,p2) NOOPEVENT_PAW(type,p0,p1,p2) NOOPEVENT_PAWA(type,p0,p1,p2,p3) NOOPEVENT_PDDWWW(type,p0,p1,p2,p3,p4,p5) NOOPEVENT_PP(type,p0,p1) NOOPEVENT_PPAU(type,p0,p1,p2,p3) NOOPEVENT_PPAWP(type,p0,p1,p2,p3,p4) NOOPEVENT_PPP(type,p0,p1,p2) NOOPEVENT_PPPA(type,p0,p1,p2,p3) NOOPEVENT_PPPU(type,p0,p1,p2,p3) NOOPEVENT_PPPUU(type,p0,p1,p2,p3,p4) NOOPEVENT_PPU(type,p0,p1,p2) NOOPEVENT_PPUU(type,p0,p1,p2,p3) NOOPEVENT_PPUWWW(type,p0,p1,p2,p3,p4,p5) NOOPEVENT_PPWW(type,p0,p1,p2,p3) NOOPEVENT_PPWWW(type,p0,p1,p2,p3,p4) NOOPEVENT_PPWWWUUU(type,p0,p1,p2,p3,p4,p5,p6,p7) NOOPEVENT_PU(type,p0,p1) NOOPEVENT_PW(type,p0,p1) NOOPEVENT_PWA(type,p0,p1,p2) NOOPEVENT_PWAW(type,p0,p1,p2,p3) NOOPEVENT_PWP(type,p0,p1,p2) NOOPEVENT_PWU(type,p0,p1,p2) NOOPEVENT_PWW(type,p0,p1,p2) NOOPEVENT_PWWWWDD(type,p0,p1,p2,p3,p4,p5,p6) NOOPEVENT_PWWWWW(type,p0,p1,p2,p3,p4,p5) NOOPEVENT_PWWWWWWWWW(type,p0,p1,p2,p3,p4,p5,p6,p7,p8,p9) NOOPEVENT_PWWWWWWWWWWWW(type,p0,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11,p12) NOOPEVENT_UUPA(type,p0,p1,p2,p3) NOOPEVENT_UUPP(type,p0,p1,p2,p3) NOOPEVENT_UUPPP(type,p0,p1,p2,p3,p4) NOOPEVENT_WS(type,p0,p1,l1) NOOP:EventEventTime ((EventType)0xEF213E99);EventPoolInit ((EventType)0xEFB07141)EventPoolFree ((EventType)0xEFB07F6E)?EventArenaCreateVM ((EventType)0xEFA64CF3)@EventArenaCreateVMNZ ((EventType)0xEFA64CF2)AEventArenaCreateCL ((EventType)0xEFA64CC7)BEventArenaDestroy ((EventType)0xEFA64DE5)CEventArenaAlloc ((EventType)0xEFA64A77)DEventArenaFree ((EventType)0xEFA64F6E)EEventSegAlloc ((EventType)0xEF5E9A77)FEventSegFree ((EventType)0xEF5E9F6E)GEventSegMerge ((EventType)0xEF5E93E6)HEventSegSplit ((EventType)0xEF5E95B7)IEventAMCGenCreate ((EventType)0xEFA3C94C)JEventAMCGenDestroy ((EventType)0xEFA3C94D)KEventAMCInit ((EventType)0xEFA3C141)LEventAMCFinish ((EventType)0xEFA3CF14)MEventAMCTraceBegin ((EventType)0xEFA3C26B)NEventAMCScanBegin ((EventType)0xEFA3C5CB)OEventAMCScanEnd ((EventType)0xEFA3C5CE)PEventAMCFix ((EventType)0xEFA3CF18)QEventAMCFixInPlace ((EventType)0xEFA3CF8A)REventAMCFixForward ((EventType)0xEFA3CF8F)SEventAMCReclaim ((EventType)0xEFA3C6EC)TEventTraceStart ((EventType)0xEF26AC52)UEventTraceCreate ((EventType)0xEF26ACC6)VEventTraceDestroy ((EventType)0xEF26ACDE)WEventSegSetGrey ((EventType)0xEF59596A)XEventTraceFlipBegin ((EventType)0xEF26AF7B)YEventTraceFlipEnd ((EventType)0xEF26AF7E)ZEventTraceReclaim ((EventType)0xEF26A6EC)[EventTraceScanSeg ((EventType)0xEF26A559)\EventTraceScanSingleRef ((EventType)0xEF26A556)^EventTraceAccess ((EventType)0xEF26AACC)_EventTracePoll ((EventType)0xEF26AB01)`EventTraceStep ((EventType)0xEF26A52B)aEventTraceFix ((EventType)0xEF26AF18)bEventTraceFixSeg ((EventType)0xEF26AF85)cEventTraceFixWhite ((EventType)0xEF26AF83)dEventTraceScanArea ((EventType)0xEF26A5CA)eEventTraceScanAreaTagged ((EventType)0xEF26A5C2)fEventVMCreate ((EventType)0xEFF3C6EA)gEventVMDestroy ((EventType)0xEFF3DE52)hEventVMMap ((EventType)0xEFF33AB9)iEventVMUnmap ((EventType)0xEFF3043B)jEventIntern ((EventType)0xEF142E64)kEventArenaExtend ((EventType)0xEFA64E82)lEventArenaRetract ((EventType)0xEFA646E2)mEventRootScan ((EventType)0xEF625CA4)nEventLabel ((EventType)0xEF7ABE79)oEventTraceSegGreyen ((EventType)0xEF26A599)pEventBufferReserve ((EventType)0xEFB0FF6E)qEventBufferCommit ((EventType)0xEFB0FFC0)rEventBufferInit ((EventType)0xEFB0FF14)sEventBufferInitSeg ((EventType)0xEFB0F15E)tEventBufferInitRank ((EventType)0xEFB0F16A)uEventBufferInitEPVM ((EventType)0xEFB0F1EF)vEventBufferFinish ((EventType)0xEFB0FFF1)wEventBufferFill ((EventType)0xEFB0FFF7)xEventBufferEmpty ((EventType)0xEFB0FFE3)yEventArenaAllocFail ((EventType)0xEFA64A7F)zEventSegAllocFail ((EventType)0xEF5E9A7F){EventMeterInit ((EventType)0xEF3E2141)|EventMeterValues ((EventType)0xEF3E2FA7)}EventCBSInit ((EventType)0xEFCB5141)~EventTraceStatCondemn ((EventType)0xEF26A5C0)EventTraceStatScan ((EventType)0xEF26A55C)EventTraceStatFix ((EventType)0xEF26A5F8)EventTraceStatReclaim ((EventType)0xEF26A56E)EventArenaWriteFaults ((EventType)0xEFA6436F)EventPoolInitMV ((EventType)0xEFB0713F)EventPoolInitMVFF ((EventType)0xEFB071FF)EventPoolInitMFS ((EventType)0xEFB07135)EventPoolInitEPVM ((EventType)0xEFB071EF)EventPoolInitEPDL ((EventType)0xEFB071E7)EventPoolInitAMS ((EventType)0xEFB071A5)EventPoolInitAMC ((EventType)0xEFB071AC)EventPoolInitAMCZ ((EventType)0xEFB071A2)EventPoolInitAWL ((EventType)0xEFB071A3)EventPoolInitLO ((EventType)0xEFB07170)EventPoolInitSNC ((EventType)0xEFB07154)EventPoolInitMVT ((EventType)0xEFB07132)EventPoolPush ((EventType)0xEFB07B58)EventPoolPop ((EventType)0xEFB07B0B)EventReservoirLimitSet ((EventType)0xEF6E5713)EventCommitLimitSet ((EventType)0xEFC03713)EventSpareCommitLimitSet ((EventType)0xEF5BC713)hEventInit() NOOPiEventFinish() NOOPjEventControl(r,f) (UNUSED(r), UNUSED(f), (Word)0)kEventInternString(s) (UNUSED(s), (Word)0)lEventInternGenString(l,s) (UNUSED(l), UNUSED(s), (Word)0)mEventLabelAddr(a,i) BEGIN UNUSED(a); UNUSED(i); ENDPlock_h ULockSig ((Sig)0x51970CC9) th_h  ring_h RingNONE ((Ring)0)$RingInit(ring) BEGIN Ring _ring = (ring); AVER(_ring != NULL); _ring->next = _ring; _ring->prev = _ring; AVER(RingCheck(_ring)); END/RingFinish(ring) BEGIN Ring _ring = (ring); AVER(RingCheckSingle(_ring)); _ring->next = RingNONE; _ring->prev = RingNONE; END9RingAppend(ring,new) BEGIN Ring _ring = (ring), _new = (new); AVER(RingCheck(_ring)); AVER(RingCheckSingle(_new)); _new->prev = _ring->prev; _new->next = _ring; _ring->prev->next = _new; _ring->prev = _new; ENDFRingInsert(ring,new) BEGIN Ring _ring = (ring), _new = (new); AVER(RingCheck(_ring)); AVER(RingCheckSingle(_new)); _new->prev = _ring; _new->next = _ring->next; _ring->next->prev = _new; _ring->next = _new; ENDSRingRemove(old) BEGIN Ring _old = (old); AVER(RingCheck(_old)); AVER(!RingIsSingle(_old)); _old->next->prev = _old->prev; _old->prev->next = _old->next; _old->next = _old; _old->prev = _old; END`RingNext(ring) ((ring)->next)dRingPrev(ring) ((ring)->prev)gRING_ELT(type,field,node) ((type)(void *)((char *)(node) - (size_t)(&((type)0)->field)))kRING_FOR(node,ring,next) for(node = RingNext(ring), next = RingNext(node); node != (ring); node = (next), next = RingNext(node))ThreadSig ((Sig)0x519286ED) ss_h  tract_h   bt_h BTSize(n) (((n) + MPS_WORD_WIDTH-1) / MPS_WORD_WIDTH * sizeof(Word))BTGet(a,i) ((Bool)(((a)[((i) >> MPS_WORD_SHIFT)] >> ((i) & ~((Word)-1 << MPS_WORD_SHIFT))) & (Word)1))BTSet(a,i) BEGIN (a)[((i)>>MPS_WORD_SHIFT)] |= (Word)1<<((i)&~((Word)-1<>MPS_WORD_SHIFT)] &= ~((Word)1 << ((i) & ~((Word)-1<base)&TractPool(tract) ((tract)->pool)'TractP(tract) ((tract)->p)(TractSetP(tract,pp) ((void)((tract)->p = (pp))))TractHasSeg(tract) ((Bool)(tract)->hasSeg)*TractSetHasSeg(tract,b) ((void)((tract)->hasSeg = (b)))+TractWhite(tract) ((tract)->white),TractSetWhite(tract,w) ((void)((tract)->white = (w)))8TRACT_SEG(segReturn,tract) (TractHasSeg(tract) && ((*(segReturn) = (Seg)TractP(tract)), TRUE));TRACT_SET_SEG(tract,seg) (TractSetHasSeg(tract, TRUE), TractSetP(tract, seg))>TRACT_UNSET_SEG(tract) (TractSetHasSeg(tract, FALSE), TractSetP(tract, NULL))nPageTract(page) (&(page)->the.tractStruct)rPageOfTract(tract) PARENT(PageStruct, the.tractStruct, (tract))vPagePool(page) ((page)->the.rest.pool)}PageIsAllocated(page) ((page)->the.rest.pool != NULL)PageType(page) ((page)->the.rest.type)ChunkSig ((Sig)0x519C804C)ChunkArena(chunk) ((chunk)->arena)ChunkPageSize(chunk) ((chunk)->pageSize)ChunkPageShift(chunk) ((chunk)->pageShift)ChunkPagesToSize(chunk,pages) ((Size)(pages) << (chunk)->pageShift)ChunkSizeToPages(chunk,size) ((Count)((size) >> (chunk)->pageShift))CHUNK_OF_ADDR(chunkReturn,arena,addr) (((arena)->chunkCache.base <= (addr) && (addr) < (arena)->chunkCache.limit) ? (*(chunkReturn) = (arena)->chunkCache.chunk, TRUE) : ChunkOfAddr(chunkReturn, arena, addr))AddrPageBase(chunk,addr) AddrAlignDown((addr), ChunkPageSize(chunk))TRACT_OF_ADDR(tractReturn,arena,addr) BEGIN Arena _arena = (arena); Addr _addr = (addr); Chunk _chunk; Index _i; if (CHUNK_OF_ADDR(&_chunk, _arena, _addr)) { _i = INDEX_OF_ADDR(_chunk, _addr); if (BTGet(_chunk->allocTable, _i)) *(tractReturn) = PageTract(&_chunk->pageTable[_i]); else *(tractReturn) = NULL; } else *(tractReturn) = NULL; ENDINDEX_OF_ADDR(chunk,addr) ((Index)ChunkSizeToPages(chunk, AddrOffset((chunk)->base, addr)))PageIndexBase(chunk,i) AddrAdd((chunk)->base, ChunkPagesToSize(chunk, i))TractAverContiguousRange(arena,rangeBase,rangeLimit) BEGIN Chunk _ch = NULL; UNUSED(_ch); AVER(ChunkOfAddr(&_ch, arena, rangeBase) && (rangeLimit) <= _ch->limit); ENDTRACT_TRACT_FOR(tract,addr,arena,firstTract,limit) tract = (firstTract); addr = TractBase(tract); TractAverContiguousRange(arena, addr, limit); for(; tract != NULL; (addr = AddrAdd(addr, (arena)->alignment)), (addr < (limit) ? (tract = PageTract(PageOfTract(tract) + 1)) : (tract = NULL) ))TRACT_FOR(tract,addr,arena,base,limit) TRACT_TRACT_FOR(tract, addr, arena, TractOfBaseAddr(arena, base), limit)mpmst_h protocol_h DERIVE_LOCAL(name) protocol ## nameDERIVE_STRUCT(name) name ## StructDERIVE_ENSURE(name) name ## GetDERIVE_ENSURE_OLD(name) Ensure ## nameDERIVE_ENSURE_INTERNAL(name) protocolGet ## nameDERIVE_GUARDIAN(name) protocol ## name ## GuardianDERIVE_STATIC_STORAGE(name) protocol ## name ## StructProtocolClassSetSuperclassPoly(class,super) (((ProtocolClass)(class))->superclass) = (ProtocolClass)(super)$DEFINE_CLASS(className,var) static Bool DERIVE_GUARDIAN(className) = FALSE; static DERIVE_STRUCT(className) DERIVE_STATIC_STORAGE(className); static void DERIVE_ENSURE_INTERNAL(className)(className); extern className DERIVE_ENSURE(className)(void); className DERIVE_ENSURE(className)(void) { if (DERIVE_GUARDIAN(className) == FALSE) { LockClaimGlobalRecursive(); if (DERIVE_GUARDIAN(className) == FALSE) { DERIVE_ENSURE_INTERNAL(className) (&DERIVE_STATIC_STORAGE(className)); DERIVE_GUARDIAN(className) = TRUE; } LockReleaseGlobalRecursive(); } return &DERIVE_STATIC_STORAGE(className); } extern className DERIVE_ENSURE_OLD(className)(void); className DERIVE_ENSURE_OLD(className)(void) { return DERIVE_ENSURE(className)(); } static void DERIVE_ENSURE_INTERNAL(className) (className var)AINHERIT_CLASS(this,parentName) BEGIN parentName DERIVE_LOCAL(parentName) = DERIVE_ENSURE(parentName)(); *this = *(DERIVE_LOCAL(parentName)); ProtocolClassSetSuperclassPoly(this, DERIVE_LOCAL(parentName)); ENDODEFINE_ALIAS_CLASS(className,typeName,var) typedef typeName className; typedef DERIVE_STRUCT(typeName) DERIVE_STRUCT(className); DEFINE_CLASS(className, var)VProtocolClassSig ((Sig)0x519B60C7)WProtocolInstSig ((Sig)0x519B6014)ProtocolClassSuperclassPoly(class) (((ProtocolClass)(class))->superclass)ClassOfPoly(inst) ((ProtocolInst)(inst)->class)IsSubclassPoly(sub,super) ProtocolIsSubclass((ProtocolClass)(sub), (ProtocolClass)(super))SUPERCLASS(className) ProtocolClassSuperclassPoly(DERIVE_ENSURE(className)())chain_h GenDescSig ((Sig)0x5199E4DE)+PoolGenSig ((Sig)0x519B009E);ChainSig ((Sig)0x519C8A14)XPoolGenNr(gen) ((gen)->nr)/PoolClassSig ((Sig)0x519C7A55)]PoolSig ((Sig)0x519B0019)}MFSSig ((Sig)0x5193F599)MVSig ((Sig)0x5193B999)ReservoirSig ((Sig)0x5196e599)MessageClassSig ((Sig)0x519359c1)MessageSig ((Sig)0x5193e559)SegClassSig ((Sig)0x5195E9C7)SegSig ((Sig)0x5195E999)GCSegSig ((Sig)0x5199C5E9)SegPrefSig ((Sig)0x5195E9B6)BufferClassSig ((Sig)0x519B0FC7)BufferSig ((Sig)0x519B0FFE)SegBufSig ((Sig)0x51959B0F)FormatSig ((Sig)0x519F63A2)ScanStateSig ((Sig)0x5195CA45)TraceSig ((Sig)0x51924ACE)ChunkCacheEntrySig ((Sig)0x519C80CE)ArenaClassSig ((Sig)0x519A6C1A)GlobalsSig ((Sig)0x519970BA)ArenaSig ((Sig)0x519A6E4A)%BoolCheck(b) ((unsigned)(b) <= 1)(FUNCHECK(f) (FunCheck((Fun)f))4WordIsAligned(w,a) (((w) & ((a) - 1)) == 0)7WordAlignUp(w,a) (((w) + (a) - 1) & ~((Word)(a) - 1));WordRoundUp(w,r) (((w)+(r)-1) - ((w)+(r)-1)%(r))>WordAlignDown(w,a) ((w) & ~((Word)(a) - 1))@size_tAlignUp(s,a) ((size_t)WordAlignUp((Word)(s), a))BPointerAdd(p,s) ((void *)((char *)(p) + (s)))CPointerSub(p,s) ((void *)((char *)(p) - (s)))EPointerOffset(base,limit) ((size_t)((char *)(limit) - (char *)(base)))HPointerAlignUp(p,s) ((void *)WordAlignUp((Word)(p), (Align)(s)))KAddrAdd(p,s) ((Addr)PointerAdd((void *)(p), s))LAddrSub(p,s) ((Addr)PointerSub((void *)(p), s))NAddrOffset(b,l) ((Size)(PointerOffset((void *)(b), (void *)(l))))RAddrAlignDown(p,a) ((Addr)WordAlignDown((Word)(p), a))TAlignWord(s) ((Word)(s))VAddrIsAligned(p,a) WordIsAligned((Word)(p), a)WAddrAlignUp(p,a) ((Addr)WordAlignUp((Word)(p), a))YSizeIsAligned(s,a) WordIsAligned((Word)(s), a)ZSizeAlignUp(s,a) ((Size)WordAlignUp((Word)(s), a))[SizeAlignDown(s,a) ((Size)WordAlignDown((Word)(s), a))]SizeRoundUp(s,r) ((Size)WordRoundUp((Word)(s), (Size)(r)))_IndexIsAligned(s,a) WordIsAligned((Word)(s), a)`IndexAlignUp(s,a) ((Index)WordAlignUp((Word)(s), a))aIndexAlignDown(s,a) ((Index)WordAlignDown((Word)(s), a))cAlignIsAligned(a1,a2) WordIsAligned((Word)(a1), a2)iAddrSet(target,value,size) mps_lib_memset(target, (int)(value), size)mAddrCopy(target,source,size) mps_lib_memcpy(target, source, size)qAddrComp(a,b,size) mps_lib_memcmp(a, b, size)wADDR_PTR(type,addr) ((type *)(addr))PoolArena(pool) ((pool)->arena)PoolAlignment(pool) ((pool)->alignment)PoolSegRing(pool) (&(pool)->segRing)PoolFix(pool,ss,seg,refIO) ((*(pool)->fix)(pool, ss, seg, refIO))ClassOfPool(pool) ((pool)->class)SuperclassOfPool(pool) ((PoolClass)ProtocolClassSuperclassPoly((pool)->class))DEFINE_POOL_CLASS(className,var) DEFINE_ALIAS_CLASS(className, PoolClass, var)POOL_SUPERCLASS(className) ((PoolClass)SUPERCLASS(className))TraceSetSingle(trace) BS_SINGLE(TraceSet, (trace)->ti)TraceSetIsSingle(ts) BS_IS_SINGLE(ts)TraceSetIsMember(ts,trace) BS_IS_MEMBER(ts, (trace)->ti)TraceSetAdd(ts,trace) BS_ADD(TraceSet, ts, (trace)->ti)TraceSetDel(ts,trace) BS_DEL(TraceSet, ts, (trace)->ti)TraceSetUnion(ts1,ts2) BS_UNION(ts1, ts2)TraceSetInter(ts1,ts2) BS_INTER(ts1, ts2)TraceSetDiff(ts1,ts2) BS_DIFF(ts1, ts2)TraceSetSuper(ts1,ts2) BS_SUPER(ts1, ts2)TraceSetSub(ts1,ts2) BS_SUB(ts1, ts2)TraceSetComp(ts) BS_COMP(ts)TRACE_SET_ITER(ti,trace,ts,arena) for(ti = 0, trace = ArenaTrace(arena, ti); ti < TraceLIMIT; ++ti, trace = ArenaTrace(arena, ti)) BEGIN if (TraceSetIsMember(ts, trace)) {TRACE_SET_ITER_END(ti,trace,ts,arena) } ENDTRACE_SCAN_BEGIN(ss) BEGIN Shift SCANzoneShift = (ss)->zoneShift; ZoneSet SCANwhite = (ss)->white; RefSet SCANsummary = (ss)->unfixedSummary; Word SCANt; {TRACE_FIX1(ss,ref) (SCANt = (Word)1 << ((Word)(ref) >> SCANzoneShift & (MPS_WORD_WIDTH-1)), SCANsummary |= SCANt, SCANwhite & SCANt)TRACE_FIX2(ss,refIO) ((*(ss)->fix)(ss, refIO))TRACE_FIX(ss,refIO) (TRACE_FIX1(ss, *(refIO)) ? TRACE_FIX2(ss, refIO) : ResOK)TRACE_SCAN_END(ss) } (ss)->unfixedSummary = SCANsummary; ENDDEFINE_ARENA_CLASS(className,var) DEFINE_ALIAS_CLASS(className, ArenaClass, var)ARENA_SUPERCLASS(className) ((ArenaClass)SUPERCLASS(className))ArenaGlobals(arena) (&(arena)->globals)GlobalsArena(glob) PARENT(ArenaStruct, globals, glob)ArenaRootRing(arena) (&(arena)->rootRing)ArenaTraceRing(arena) (&(arena)->traceRing)ArenaThreadRing(arena) (&(arena)->threadRing)ArenaEpoch(arena) ((arena)->epoch)ArenaTrace(arena,ti) (&(arena)->trace[ti])ArenaZoneShift(arena) ((arena)->zoneShift)ArenaAlign(arena) ((arena)->alignment)ArenaGreyRing(arena,rank) (&(arena)->greyRing[rank])ArenaReservoir(arena) (&(arena)->reservoirStruct)DEFINE_SEG_CLASS(className,var) DEFINE_ALIAS_CLASS(className, SegClass, var)SEG_SUPERCLASS(className) ((SegClass)SUPERCLASS(className))ClassOfSeg(seg) ((seg)->class)SegBase(seg) (TractBase((seg)->firstTract))SegLimit(seg) ((seg)->limit)SegPool(seg) (TractPool((seg)->firstTract))SegRankSet(seg) ((RankSet)(seg)->rankSet)SegPM(seg) ((AccessSet)(seg)->pm)SegSM(seg) ((AccessSet)(seg)->sm)SegDepth(seg) ((unsigned)(seg)->depth)SegGrey(seg) ((TraceSet)(seg)->grey)SegWhite(seg) ((TraceSet)(seg)->white)SegNailed(seg) ((TraceSet)(seg)->nailed)SegOfPoolRing(node) (RING_ELT(Seg, poolRing, (node)))SegOfGreyRing(node) (&(RING_ELT(GCSeg, greyRing, (node)) ->segStruct))SegSummary(seg) (((GCSeg)(seg))->summary)SegSetPM(seg,mode) ((void)((seg)->pm = (mode)))SegSetSM(seg,mode) ((void)((seg)->sm = (mode)))SegSetDepth(seg,d) ((void)((seg)->depth = (d)))SegSetNailed(seg,ts) ((void)((seg)->nailed = (ts)))BUFFER_RESERVE(pReturn,buffer,size,withReservoirPermit) (AddrAdd(BufferAlloc(buffer), size) > BufferAlloc(buffer) && AddrAdd(BufferAlloc(buffer), size) <= BufferAP(buffer)->limit ? (*(pReturn) = BufferAlloc(buffer), BufferAP(buffer)->alloc = AddrAdd(BufferAlloc(buffer), size), ResOK) : BufferFill(pReturn, buffer, size, withReservoirPermit))BUFFER_COMMIT(buffer,p,size) (BufferAP(buffer)->init = BufferAlloc(buffer), BufferAP(buffer)->limit != 0 || BufferTrip(buffer, p, size))BufferAP(buffer) (&(buffer)->apStruct)BufferOfAP(ap) PARENT(BufferStruct, apStruct, ap)BufferArena(buffer) ((buffer)->arena)BufferPool(buffer) ((buffer)->pool)BufferBase(buffer) ((buffer)->base)BufferGetInit(buffer) (BufferAP(buffer)->init)BufferAlloc(buffer) (BufferAP(buffer)->alloc)BufferLimit(buffer) ((buffer)->poolLimit)DEFINE_BUFFER_CLASS(className,var) DEFINE_ALIAS_CLASS(className, BufferClass, var)BUFFER_SUPERCLASS(className) ((BufferClass)SUPERCLASS(className))RankSetIsMember(rs,r) BS_IS_MEMBER((rs), (r))RankSetSingle(r) BS_SINGLE(RankSet, (r))RankSetIsSingle(r) BS_IS_SINGLE(r)RankSetUnion(rs1,rs2) BS_UNION((rs1), (rs2))RankSetDel(rs,r) BS_DEL(RankSet, (rs), (r))AddrZone(arena,addr) (((Word)(addr) >> (arena)->zoneShift) & (MPS_WORD_WIDTH - 1))RefSetUnion(rs1,rs2) BS_UNION((rs1), (rs2))RefSetInter(rs1,rs2) BS_INTER((rs1), (rs2))RefSetDiff(rs1,rs2) BS_DIFF((rs1), (rs2))RefSetAdd(arena,rs,addr) BS_ADD(RefSet, rs, AddrZone(arena, addr))RefSetIsMember(arena,rs,addr) BS_IS_MEMBER(rs, AddrZone(arena, addr))RefSetSuper(rs1,rs2) BS_SUPER((rs1), (rs2))RefSetSub(rs1,rs2) BS_SUB((rs1), (rs2))ZoneSetUnion(zs1,zs2) BS_UNION(zs1, zs2)ZoneSetInter(zs1,zs2) BS_INTER(zs1, zs2)ZoneSetDiff(zs1,zs2) BS_DIFF(zs1, zs2)ZoneSetAdd(arena,zs,addr) BS_ADD(ZoneSet, zs, AddrZone(arena, addr))ZoneSetIsMember(arena,zs,addr) BS_IS_MEMBER(zs, AddrZone(arena, addr))ZoneSetSub(zs1,zs2) BS_SUB(zs1, zs2)ZoneSetSuper(zs1,zs2) BS_SUPER(zs1, zs2)ZoneSetComp(zs) BS_COMP(zs)STATISTIC(gather) BEGIN (gather); ENDSTATISTIC_STAT(gather) BEGIN gather; ENDSTATISTIC_WRITE(format,arg) (format), (arg),format.cJan 17 200703:39:23} Format $P ($U) pad $F copy $F isMoved $F move $F skip $F scan $F alignment $W arena $P ($U) Format $P ($U) { $Id: //info.ravenbrook.com/project/mps/master/code/format.c#10 $ |  AB  AB  AB FO.?AB Dn. AB (nAB a.pt%#FormatCheck#FormatCreate %FormatDestroya%FormatArena%FormatDescribe%formatSrcIdallocTablePoolDescribeMethodcontrolPoolStructpageTableLimitgreySegMaxchunkFinishnamepageSizeFormatPadMethodrankrootSerialchunkRingArenaAllocMethodreservoirSizeactiveTracesformatfoundationformatSrcIdLockPoolBufferClassMethodFormatCreateTraceFixMethodsuperclassthreadRingunitsPerExtentPagefillMutatorSizepoolSerialBoolprehistoryArenaFreeMethodunitSizesetRankSetunsigned intGNU C 3.4.6 [FreeBSD] 20060305BufferRankSetMethodextendArenaChunkFinishMethodfillInternalSizeBufferReassignSegMethodreassignSegisCollectedpoolReadyscmidwhiteSegRefCountforwardedSizeforwardedCountFormatArenaArenaSpareCommitExceededMethodProtocolClassmergegreyRingfinishshort intAlignArenaDescribeMethodprotocoldescribefillSizesegScanCount_oldPoolmodePoolDebugMixinStructrememberedSummaryRingprevfixRefCountserialEpoch_newsetBufferapStructemptyMutatorSizeallocMutatorSizePoolFramePushMethodPoolFinishMethodbusyTraceslwPopPendingchunkspansallocBasesuspendedpollThresholdArenaStructenabledMessageTypesmpsVersionStringSizefreeListframePopGlobalsStructreservoirStructChainStructbaseArenaClassAccessSetframeptrhistorySegSetRankSummaryMethodFileSrcIdStructlong long unsigned intfileoffsettraceshDepthhighattrgenCountSegClassStructrateFreeBlockStepMethodPoolClassStructglobalsprimaryArenaChunkInitMethodarenaBufferFinishMethodFormatVarietyPoolWalkMethodskipPoolFreeMethodmortalitywasMarkedproflowmessageRingsize_tmoveAPStructTractStructrampEndmayMoveBootBlockpoolLimitChunkclampedPoolReclaimMethodunroundedUnitSizeshCachereclaimCountpageTablePagesfreePoolFixMethodFormatDescribeSegPrefWordmps_lib_stream_sFormatStructpreservedInPlaceCountfreewalkframePushFormattedObjectsStepMethodSegClassgensCountPageStructisMovedsetRankSummarySegDescribeMethodbufferClassPoolDebugMixinSegSetSummaryMethodinsidePollreclaimAddrreservoirLimitcharscannedSizereserveBufferStructFormatScanMethodchunkSerialSegFinishMethodMFSHeaderStructSerialLockStructsplitFormatClassMethodArenaFormatMoveMethodspacefinalPoolBufferDescribeMethodBufferModelimitMFSStructArenaInitMethodlockrampCountPoolFixEmergencyMethodzoneShiftstreampagesisGennailedPoolFreeWalkMethodchainva_listChainlong long intMVStructtracedTimeZoneSetTractBufferSegMethoddepthPoolRampEndMethodlocusRingfixEmergencyTracegreylastWorldCollectPoolDebugMixinMethodpageShiftChunkCacheEntryStructBufferClassStructArenaClassStructrememberedSummaryIndexgreySegCountisMutatorArenaFinishMethodfixedSummarycommittedframePopPendingFormatDestroyscansingleCopiedSizeSegSetBufferMethodProtocolInstStructAddrStructrampBeginbufferPoolRampBeginMethodsizeSegStructGenDescStructProtocolInstBufferSetRankSetMethodinitAtFlipPoolStructpoolRing_ringFormatdetachspareCommitLimittopGenPoolWhitenMethodspanPoolStructPoolInitMethodTraceIdpoolaccesschainRingPoolGreyMethodlastTractMutatorFaultContextvarietyemptyInternalSizeSrcIdarenaRingsegRefCountavgSizecopytractListBufferDetachMethodPoolScanMethodFormatCopyMethodlostcapacitywhitenScanStatecondemnedbufferRingChunkStructflippedTracesrootScanCountenabledrootScanSizepointlessScanCountallocRankshCacheLimitsegCopiedSizeBufferInitMethodlong intsetSummarynotCondemnedextendByTraceStateTraceSetstatepreservedInPlaceSizenextSegBufferMethodbuild_timePoolClassProtocolCoerceInstMethodemergencyPoolBlackenMethodwhitepoolStruct__size_trootRingSegInitMethodFormatSkipMethodsegScanSizecopiedSizeArenaExtendMethodScanStateStructSegSetWhiteMethodunfixedSummarypageTableBaseFormatDefaultClasslastTractBasethreadSeriallabelledsetGreytracedSize__va_listwalksetWhitePoolAllocMethodRingStructobjectrankSetlong unsigned intPoolFramePopPendingMethodSrcIdStructBootBlockStructwriteBarrierHitCountMutatorFaultContextStructArenaReservedMethodinitformatReturnAttrbufferLoggingProtocolClassStructclassbufferFillIndexspareCommitExceededFormatIsMovedMethodmaxSizechunkInitPoolAccessMethodsnapCounttypeattachnailCountunsigned char__uint32_tspareCommittedinsideShieldRingSegSplitMethodblockPoolStructRefSetAllocFrameStructPoolFramePopMethodtractStructBufferClassformatSerialformat.csegRingAllocFramehasSegcoerceClassReservoirStructbuild_datesingleScanSizeBufferreadBarrierHitCountpageTableheaderSizecoerceInstdebugMixinchunkCachesigned charSegMergeMethodSegPrefStructmps_lib_FILEPoolBufferFillMethodreclaimSizebufferSerialshort unsigned intzonesbufferEmptyProtocolCoerceClassMethodFormatCheckreservedRankSetisFinalPooldoublesingleScanCountfirstTractalignmentPoolBufferEmptyMethodBufferAttachMethodrestSegSetRankSetMethodShiftemptySize/home/hannes/dylan/mps/codeTraceStructglobalRingformatRingcommitLimitrootCopiedSizeSegSetGreyMethodshCacheIepochblackentracesGCC: (GNU) 3.4.6 [FreeBSD] 20060305.symtab.strtab.shstrtab.rel.text.rel.data.bss.debug_abbrev.rel.debug_info.rel.debug_line.debug_macinfo.rodata.str1.1.rodata.str1.4.rel.rodata.rel.debug_frame.rel.debug_pubnames.rel.debug_aranges.debug_str.comment4 p)% $/4F%B , V)R L b+uq2^2AL T \ t`x   0b%7X       -9 ER_?my (nformat.cFileSrcIdStructFormatDefaultClassformatSrcIdFormatCheckFormatCreateControlAllocFormatDestroyControlFreeFormatArenaFormatDescribeWriteF18 @ H P X ` h p |    !%*18?MX_fmt{(39Zev| #.9Tek-<KZiy,;Ziq%4CRap (6DR`n &4BP^lz"0>LZhv  ) 8 G V e t            ( 7 F U d s           : I X g v            + @ V d r           0 > L Z h v         !0@U,>Qfn|$2Od{ />M\kz 0@P`p 0@P`p 0@P`p '6ETcr*4<JXf(i+\ .Uw*Ur4Z.Z>ny)P1Rt  4 ? K \ q        !N!]!s!!!!!!!!!!! ""("6"S"_"n"w""""""""" ##"#.#:#L############$$$,$9$F$S$`$m$$$$$$$$$$$%%%$%5%9%>%L%P%U%g%r%v%}%%%%%%%% %%u    04HLlpbuffer.o/ 1169001563 1001 1001 100644 73512 ` ELF 4(UUB u<t8z4t2z<t,z@t&zTt BDzLt tzLu RÐUVS]u t;Qt  jsThsDh.s@h:s $ > : ; I I&I : ;  : ; I8 < : ; I  : ;I8 : ;I8  : ; I8  : ; I 8  : ;I 8  : ;I 8  : ; ' II' ' I : ;  : ;  : ; I: ;II!I/ .? : ; ' I@ : ; I   4: ; I !4: ; I ".: ; ' I@ # : ; $ %4: ; I&.? : ;' I@ ': ;I ()4: ;I *4: ;I + : ;,.? : ;' @ -4: ;I..: ;' @ /: ;I 0.? : ;' I@ 1.: ;' I@ 24: ;I34: ; I?  44: ;I?  6 7intT 8Wv 3 v _Lv |T >7zE""P$#%#&#'# "D 2 . . Sigl ResE  l "ou  #Y~ $Y%Y&Y'W (W Ref)d ,Y -Y.W/W1{D2W3Wh4W5Wg6WP7W BT:MY>;^d D @> 5D!# oE# FF# OG# H# &I# JJ#$ >K#( segLU#, Mv#0 N#4 ^O#8 sigPC#<?@] AWBWFC Oad# bd# h cd# dd# e# f#DQW6 <D sigC# # 8# 7@#  # B# # ~# #$  #( & #, pad1 #0 S #4 {#8FAG GX^=XGsig`C#a#b=#7c@# d #e #rf# 7g #$Bh#,iF#0fixj#4nks#8 ls#@5ms#Hns#PHHN H52!#o3#F4#U5#6-#O7#  8'#$9D#(:t#,;#0<#4\=#8l>6#< ?a#@h@#D A#HfixB#L C#P D #T!E+#X.FR#\F Gt#`;H#d I#hJ#l= K(#p LO#t>Mf#xN#|ZO#sigPC# O  L O sigC# ti# 7@# e# 6# # I# (  # }{# R{#$ {#( {#, ~ #0 X#4 #8 #< {#@ P#D #H {#L '#P #T {#X #\ #` #d -#h #l #p  #t  #x  {#| '  #  {# # f#sPW ]  TP fix# Y# e# # sigC# 7@# p # # # #$ #( #, #0 -#4 #8 #< {#@ ' #D {#H {#L Y {#Pp Q   Qsig>C#7?@#c@ #A #B#y Cl"# R" (  "RLM#p#d#e # JW# RS  S8SsigC##7@# # t{#$ #d#h d# #$ #(C#, #0#4. T sigC#  # d# h d# # 9#iU Utheh # SegVKV sigC# # 7 #   # h  d#  W#pm "#sm "#  #e #  ##p XLX5!#o#F#O/# i#G# +#$?#(c#,#0#4 #8>a#<#@ #DsigC#HZA6Z sig0C# 1# 2# q3# 4# gen5#\LR@V H\ 5&!# o'$# F(# U)# O**# +[# ,x#$ -#( .#, /#0 0#4 17#8 c2]#< >3z#@ sig4C#D! ^KQ;(^ o $# p#t rA#x }t#| 'u## fw## y{# z{# _|{# }{# # B# | # 1d#  #  # # ## a"#  # %#  # C# # > M# O # ?# n# $# Y{# {# b{# #  #  # \'$# ks# s# Y# 7$# # c # b# # G$# sigC#eXt_ sigBC# E # F6# Is# J# hK# nLs# Ms#( Ns#0 5Os#8 Ps#@ S#H {V#L Y #P ~Z#X ] #\ ^#d a #h g d#pdpv  e %ff #?g *whhkr"#e  #X {#\{#`sigC#d n5;UNUA8@ oflx@5p{@qfrN@d{tN {Md u!7d{M"vBH]N Swhnz !xN@'5NL P dFMl/ddM:@iNMd{8 tz9    )/?j JPaj lrN'Nddd8-NjM8= jb$*Jjddd{ `fvjjxjFjH Nj( 'NM8x28DMOUtNM{Md{Q¦NMj{LMjdd 6NMd"eAGaNM mlrM SʓM %̺NL MNML  pl26<RMj ]ctMjRNMjװNMjMjo(Ml 39OMZ`qwNM |Mz NL dddd'    dd4 }< B S d{ i o  ^ #^ #o "(  gLeM#!fE# h c g  i \!!Y!\sig}C#D~!#!#Q!# cad!j!!asigC#!#m!!!!Y!!Y!x!!!!!!!!a"U$sigC##c {#!s# "s# # #U$"a"o^"z tkr"#{#X_{#\{#`ZY#d2##h #lsigC#p "z }"# `kr"###X##_{#{#{#8 {#^{# #sigC# #wD Qgm { . SXe;'$7$#G$ W$$ )SU+(jR,L pSdP$JNTU+jS V!resNP"%]NsU+jSQLMV Pk 8 7@R!resNP#X$% ^ P$%8O ^ R ^ QXf%^ &6& NtU'6&' 'LM' ()resNP*k 8Pj&&N U'6&P'W'LM' 'k 8)resNS*+jV*7@l)pp+ 1+/,\'9 U'+8jV'L8M )*O>dW*h >dS*?{S,' n-U'+mjS*7o@W*pV,(~0U'+}jS*LMV$'k*^ R-^ &1(LU'+jP&\(U'+jR&(U'+jP.(/U'+jS&(8U'+jR,)?U'+jR' ,C)T@QU'+jR'2dP.)TU'+jS*V*LMP&)6 /NU'.'+.jS*L0MP&*KNU'+JjP'J *LLMR&y*'\NTU'{ZS'+ZjR'FZ{Q'[*]dP,+u|T5U'+zjS'zd 'h zd'O{dW'F{{*}{V* {P&+zN8U'{'+jV'F{W')resNS*LMS*dl*h dp*dP&+2U'+jR/pd 'F{&j, "4U'+!jR/p!dS'F!{-L#Mb)bVP*WFx-Xd,,QyU'+xjS&,XdU'+jP&,  U'+jP&-# & U'+jP,H-j( = U'+jP'  ,~-@ U U'+jP/seg &-HX U'+jS&-E U'+jP0v U0 U1/.' U'{,s.B U'+jR'{ *LMQ&.  N  U'+ jQ*LMP,.  J U'+jS*L!MV1*/ 7NL V U'+6j'L6M 'k 68.Q/DX ] U'+Cj./iP` e U'+Nj'Nd 'h Nd'OOd'FO{./^_h m U'+^j10lp z U'+kj110w| U'+vj.g0 U'+j'  .0D U'+j/seg 10N U'+jP'  &1  U'0l  U0f % U.p1 ( U'S2 P *!P&1 U'jx-+j12N  U'+j'LM 'k 8*JP*jxS)resNP.[2 ) U'+jS*JP-jx.27+, _ U'+)jS')d 'h )d'O*d'F*{-j,x)seg-x-7.@-I/..3sJ` U'+IjS-jKx2segL1d3\ U'+[jP-j]x13F i U'+hjP-jjx.3 v U'+ujP' uR-jwx.4 U'+jP/segR-jx1|4N : U'+jS' W*jxV*JP)resNP#0E< U0 U.4 U' *t1i5N fU'+jW'LM 'k 8S*V*JP)resNP #0hU0U.5U'*t #3n 4W$43 W$**# *T *]|4`* *i5f /usr/include/usr/include/sys/usr/include/machinempm.hconfig.hmpstd.hmisc.hstddef.hcdefs.h_null.h_types.h_types.hcheck.hmpslib.hevent.heventcom.hmpmtypes.hstdarg.heventgen.hlock.hth.hring.hss.htract.hbt.hmpmst.hprotocol.hchain.hbuffer.c(s( 9V <:::eV:drrrrrrrrrvdd>uee g:  U s<HtVt;,H:<ʏ,rrrrrrIׇ:;dƯ@ȟ:f < Uf3 <;WiTe;;rMffe @>\ 9[= U== = U=[dVM9cBcrrrrrrrrrrrr9x<:*JrruV tr @e:i r[?d??d?@ G 9MH< cBcrrrrrrrrrrr  q:*JY cBcrr__STDC_HOSTED__ 1__GNUC__ 3__GNUC_MINOR__ 4__GNUC_PATCHLEVEL__ 6__SIZE_TYPE__ unsigned int__PTRDIFF_TYPE__ int__WCHAR_TYPE__ int__WINT_TYPE__ unsigned int __GXX_ABI_VERSION 1002 __SCHAR_MAX__ 127 __SHRT_MAX__ 32767 __INT_MAX__ 2147483647 __LONG_MAX__ 2147483647L__LONG_LONG_MAX__ 9223372036854775807LL__WCHAR_MAX__ 2147483647__CHAR_BIT__ 8__FLT_EVAL_METHOD__ 2__FLT_RADIX__ 2__FLT_MANT_DIG__ 24__FLT_DIG__ 6__FLT_MIN_EXP__ (-125)__FLT_MIN_10_EXP__ (-37)__FLT_MAX_EXP__ 128__FLT_MAX_10_EXP__ 38__FLT_MAX__ 3.40282347e+38F__FLT_MIN__ 1.17549435e-38F__FLT_EPSILON__ 1.19209290e-7F__FLT_DENORM_MIN__ 1.40129846e-45F__FLT_HAS_INFINITY__ 1__FLT_HAS_QUIET_NAN__ 1__DBL_MANT_DIG__ 53 __DBL_DIG__ 15!__DBL_MIN_EXP__ (-1021)"__DBL_MIN_10_EXP__ (-307)#__DBL_MAX_EXP__ 1024$__DBL_MAX_10_EXP__ 308%__DBL_MAX__ 1.7976931348623157e+308&__DBL_MIN__ 2.2250738585072014e-308'__DBL_EPSILON__ 2.2204460492503131e-16(__DBL_DENORM_MIN__ 4.9406564584124654e-324)__DBL_HAS_INFINITY__ 1*__DBL_HAS_QUIET_NAN__ 1+__LDBL_MANT_DIG__ 53,__LDBL_DIG__ 15-__LDBL_MIN_EXP__ (-16381).__LDBL_MIN_10_EXP__ (-4931)/__LDBL_MAX_EXP__ 163840__LDBL_MAX_10_EXP__ 49321__DECIMAL_DIG__ 172__LDBL_MAX__ 1.1897314953572316e+4932L3__LDBL_MIN__ 3.3621031431120935e-4932L4__LDBL_EPSILON__ 2.2204460492503131e-16L5__LDBL_DENORM_MIN__ 7.4653686412953080e-4948L6__LDBL_HAS_INFINITY__ 17__LDBL_HAS_QUIET_NAN__ 18__REGISTER_PREFIX__ 9__USER_LABEL_PREFIX__ :__VERSION__ "3.4.6 [FreeBSD] 20060305";__OPTIMIZE__ 1<__FINITE_MATH_ONLY__ 0=__STRICT_ANSI__ 1@__i386 1A__i386__ 1B__tune_i386__ 1C__FreeBSD__ 6D__unix 1E__unix__ 1F__KPRINTF_ATTRIBUTE__ 1J__FreeBSD_cc_version 602001K__ELF__ 1_REENTRANT 1CONFIG_PROD_DYLAN 1CONFIG_VAR_HI 1NDEBUG 1 mpm_h config_h !CONFIG_DEBUG "CHECK_DEFAULT CheckNONE6CHECK_NONE 7MPS_ASSERT_STRING "nonasserted"?EVENT_NONE @MPS_LOG_STRING "nonlogging"EDIAGNOSTICS FMPS_DEBUG_STRING "debug"LMPS_VARIETY_STRING MPS_ASSERT_STRING "." MPS_LOG_STRING "." MPS_DEBUG_STRINGRmpstd_h MPS_PF_FRI4GC MPS_PF_STRING "fri4gc"MPS_OS_FR MPS_ARCH_I4 MPS_BUILD_GC MPS_T_WORD unsigned longMPS_WORD_WIDTH 32MPS_WORD_SHIFT 5MPS_PF_ALIGN 4EPVMDefaultSubsequentSegSIZE (64ul * 1024)ARENA_CONTROL_EXTENDBY ((Size)4096)ARENA_CONTROL_AVGSIZE ((Size)32)ARENA_CONTROL_MAXSIZE ((Size)65536)ArenaPollALLOCTIME (65536.0)ARENA_ZONESHIFT ((Shift)20)ARENA_CLIENT_PAGE_SIZE ((Size)8192)ArenaDefaultZONESET (ZoneSetUNIV << (MPS_WORD_WIDTH / 2))SegPrefDEFAULT { SegPrefSig, TRUE, ArenaDefaultZONESET, FALSE, FALSE, (Serial)0, }LDHistoryLENGTH ((Size)4)StackProbeDEPTH ((Size)0)ShieldCacheSIZE ((size_t)16)ShieldDepthWIDTH (4)VMANPageALIGNMENT ((Align)4096)VMJunkBYTE ((unsigned char)0xA9)TraceLIMIT ((size_t)1)TraceCopyScanRATIO (1.5)RememberedSummaryBLOCK 15EventBufferSIZE ((size_t)4096)EventStringLengthMAX ((size_t)255)ASSERT_BUFFER_SIZE ((Size)512)MPS_PROD_STRING "dylan"MPS_PROD_DYLAN ARENA_INIT_SPARE_COMMIT_LIMIT ((Size)10uL*1024uL*1024uL)THREAD_MULTI PROTECTION DONGLE_NONE PROD_CHECK_DEFAULT CheckSHALLOWARENA_SIZE ((Size)1<<30)misc_h '_STDDEF_H_ )%_SYS_CDEFS_H_ +__BEGIN_DECLS ,__END_DECLS 8__GNUCLIKE_ASM 39__GNUCLIKE_MATH_BUILTIN_CONSTANTS =__GNUCLIKE___TYPEOF 1>__GNUCLIKE___OFFSETOF 1?__GNUCLIKE___SECTION 1A__GNUCLIKE_ATTRIBUTE_MODE_DI 1D__GNUCLIKE_CTOR_SECTION_HANDLING 1G__GNUCLIKE_BUILTIN_CONSTANT_P 1N__GNUCLIKE_BUILTIN_VARARGS 1O__GNUCLIKE_BUILTIN_STDARG 1P__GNUCLIKE_BUILTIN_VAALIST 1T__GNUC_VA_LIST_COMPATIBILITY 1X__GNUCLIKE_BUILTIN_NEXT_ARG 1Y__GNUCLIKE_MATH_BUILTIN_RELOPS \__GNUCLIKE_BUILTIN_MEMCPY 1___CC_SUPPORTS_INLINE 1`__CC_SUPPORTS___INLINE 1a__CC_SUPPORTS___INLINE__ 1c__CC_SUPPORTS___FUNC__ 1d__CC_SUPPORTS_WARNING 1f__CC_SUPPORTS_VARADIC_XXX 1h__CC_SUPPORTS_DYNAMIC_ARRAY_INIT 1k__CC_INT_IS_32BIT 1s__GNUC_PREREQ__(ma,mi) (__GNUC__ > (ma) || __GNUC__ == (ma) && __GNUC_MINOR__ >= (mi))__P(protos) protos__CONCAT1(x,y) x ## y__CONCAT(x,y) __CONCAT1(x,y)__STRING(x) #x__XSTRING(x) __STRING(x)__const const__signed signed__volatile volatile__dead2 __attribute__((__noreturn__))__pure2 __attribute__((__const__))__unused __attribute__((__unused__))__used __attribute__((__used__))__packed __attribute__((__packed__))__aligned(x) __attribute__((__aligned__(x)))__section(x) __attribute__((__section__(x)))__pure __attribute__((__pure__))__always_inline __attribute__((__always_inline__))__nonnull(x) __attribute__((__nonnull__(x)))__restrict __predict_true(exp) __builtin_expect((exp), 1)__predict_false(exp) __builtin_expect((exp), 0)__offsetof(type,field) ((size_t)(&((type *)0)->field))__rangeof(type,start,end) (__offsetof(type, end) - __offsetof(type, start))__printflike(fmtarg,firstvararg) __attribute__((__format__ (__printf__, fmtarg, firstvararg)))__scanflike(fmtarg,firstvararg) __attribute__((__format__ (__scanf__, fmtarg, firstvararg)))__format_arg(fmtarg) __attribute__((__format_arg__ (fmtarg)))__printf0like(fmtarg,firstvararg) __attribute__((__format__ (__printf0__, fmtarg, firstvararg)))__strong_reference(sym,aliassym) extern __typeof (sym) aliassym __attribute__ ((__alias__ (#sym)));__weak_reference(sym,alias) __asm__(".weak " #alias); __asm__(".equ " #alias ", " #sym)__warn_references(sym,msg) __asm__(".section .gnu.warning." #sym); __asm__(".asciz \"" msg "\""); __asm__(".previous")__IDSTRING(name,string) __asm__(".ident\t\"" string "\"")__FBSDID(s) __IDSTRING(__CONCAT(__rcsid_,__LINE__),s)__RCSID(s) __IDSTRING(__CONCAT(__rcsid_,__LINE__),s)__RCSID_SOURCE(s) __IDSTRING(__CONCAT(__rcsid_source_,__LINE__),s)__SCCSID(s) __IDSTRING(__CONCAT(__sccsid_,__LINE__),s)__COPYRIGHT(s) __IDSTRING(__CONCAT(__copyright_,__LINE__),s)__DECONST(type,var) ((type)(uintptr_t)(const void *)(var))__DEVOLATILE(type,var) ((type)(uintptr_t)(volatile void *)(var))__DEQUALIFY(type,var) ((type)(uintptr_t)(const volatile void *)(var))__POSIX_VISIBLE 200112__XSI_VISIBLE 600__BSD_VISIBLE 1__ISO_C_VISIBLE 1999* NULL ((void *)0)+_SYS__TYPES_H_ ! (_MACHINE__TYPES_H_ .__NO_STRICT_ALIGNMENT __GNUC_VA_LIST 2_RUNE_T_DECLARED 8_SIZE_T_DECLARED >_WCHAR_T_DECLARED Boffsetof(type,member) __offsetof(type, member)*SRCID(id,scmid) static SrcIdStruct FileSrcIdStruct = {__FILE__, (scmid), __DATE__, __TIME__}; SrcId id ## SrcId = &FileSrcIdStruct;BEGIN do {> (i)) & 1)BS_UNION(s1,s2) ((s1) | (s2))BS_ADD(ty,s,i) BS_UNION((s), BS_SINGLE(ty, (i)))BS_INTER(s1,s2) ((s1) & (s2))BS_DIFF(s1,s2) BS_INTER((s1), BS_COMP(s2))BS_DEL(ty,s,i) BS_DIFF((s), BS_SINGLE(ty, (i)))BS_SUPER(s1,s2) (BS_INTER((s1), (s2)) == (s2))BS_SUB(s1,s2) BS_SUPER((s2), (s1))BS_IS_SINGLE(s) (((s) & ((s)-1)) == 0)BS_SYM_DIFF(s1,s2) ((s1) ^ (s2)) check_h  mpslib_h mps_lib_EOF (mps_lib_get_EOF())mps_lib_stderr (mps_lib_get_stderr())mps_lib_stdout (mps_lib_get_stdout())0AVER(cond) DISCARD(cond)1AVERT(type,val) DISCARD(type ## Check(val))2AVER_CRITICAL(cond) DISCARD(cond)3AVERT_CRITICAL(type,val) DISCARD(type ## Check(val))MASSERT(cond,condstring) BEGIN if (cond) NOOP; else mps_lib_assert_fail(condstring "\n" __FILE__ "\n" STR(__LINE__)); END_NOTREACHED NOOPjCHECKT(type,val) ((val) != NULL && (val)->sig == type ## Sig)pCHECKS(type,val) DISCARD(CHECKT(type, val))qCHECKL(cond) DISCARD(cond)rCHECKD(type,val) DISCARD(CHECKT(type, val))sCHECKD_NOSIG(type,val) DISCARD((val) != NULL)tCHECKU(type,val) DISCARD(CHECKT(type, val))uCHECKU_NOSIG(type,val) DISCARD((val) != NULL)CHECKLVALUE(lv1,lv2) ((void)sizeof((lv1) = (lv2)), (void)sizeof((lv2) = (lv1)), TRUE)CHECKTYPE(t1,t2) (sizeof(t1) == sizeof(t2) && CHECKLVALUE(*((t1 *)0), *((t2 *)0)))CHECKFIELDAPPROX(s1,f1,s2,f2) (sizeof(((s1 *)0)->f1) == sizeof(((s2 *)0)->f2) && offsetof(s1, f1) == offsetof(s2, f2))CHECKFIELD(s1,f1,s2,f2) (CHECKFIELDAPPROX(s1, f1, s2, f2) && CHECKLVALUE(((s1 *)0)->f1, ((s2 *)0)->f2)) event_h   eventcom_h  mpmtypes_h '_MACHINE_STDARG_H_ -_VA_LIST_DECLARED 3va_start(ap,last) __builtin_stdarg_start((ap), (last))6va_arg(ap,type) __builtin_va_arg((ap), type):va_copy(dest,src) __builtin_va_copy((dest), (src))>va_end(ap) __builtin_va_end(ap)SigInvalid ((Sig)0x51915BAD)SizeMAX ((Size)-1)AccessSetEMPTY ((AccessSet)0)AccessREAD ((AccessSet)(1<<0))AccessWRITE ((AccessSet)(1<<1))AccessSetWIDTH (2)RefSetEMPTY BS_EMPTY(RefSet)RefSetUNIV BS_UNIV(RefSet)ZoneSetEMPTY BS_EMPTY(ZoneSet)ZoneSetUNIV BS_UNIV(ZoneSet)TraceSetEMPTY BS_EMPTY(TraceSet)TraceSetUNIV ((TraceSet)((1u << TraceLIMIT) - 1))RankSetEMPTY BS_EMPTY(RankSet)RankSetUNIV ((RankSet)((1u << RankLIMIT) - 1))AttrFMT ((Attr)(1<<0))AttrSCAN ((Attr)(1<<1))AttrPM_NO_READ ((Attr)(1<<2))AttrPM_NO_WRITE ((Attr)(1<<3))AttrALLOC ((Attr)(1<<4))AttrFREE ((Attr)(1<<5))AttrBUF ((Attr)(1<<6))AttrBUF_RESERVE ((Attr)(1<<7))AttrBUF_ALLOC ((Attr)(1<<8))AttrGC ((Attr)(1<<9))AttrINCR_RB ((Attr)(1<<10))AttrINCR_WB ((Attr)(1<<11))AttrMOVINGGC ((Attr)(1<<12))AttrMASK (AttrFMT | AttrSCAN | AttrPM_NO_READ | AttrPM_NO_WRITE | AttrALLOC | AttrFREE | AttrBUF | AttrBUF_RESERVE | AttrBUF_ALLOC | AttrGC | AttrINCR_RB | AttrINCR_WB | AttrMOVINGGC)BufferModeATTACHED ((BufferMode)(1<<0))BufferModeFLIPPED ((BufferMode)(1<<1))BufferModeLOGGED ((BufferMode)(1<<2))BufferModeTRANSITION ((BufferMode)(1<<3))RootModeCONSTANT ((RootMode)1<<0)RootModePROTECTABLE ((RootMode)1<<1)RootModePROTECTABLE_INNER ((RootMode)1<<2)STATISTIC_DECL(field) field!EventNameMAX ((size_t)19)"EventCodeMAX ((EventCode)0x0069)&EVENT_0(type) NOOPEVENT_A(type,p0) NOOPEVENT_AW(type,p0,p1) NOOPEVENT_P(type,p0) NOOPEVENT_PAA(type,p0,p1,p2) NOOPEVENT_PAW(type,p0,p1,p2) NOOPEVENT_PAWA(type,p0,p1,p2,p3) NOOPEVENT_PDDWWW(type,p0,p1,p2,p3,p4,p5) NOOPEVENT_PP(type,p0,p1) NOOPEVENT_PPAU(type,p0,p1,p2,p3) NOOPEVENT_PPAWP(type,p0,p1,p2,p3,p4) NOOPEVENT_PPP(type,p0,p1,p2) NOOPEVENT_PPPA(type,p0,p1,p2,p3) NOOPEVENT_PPPU(type,p0,p1,p2,p3) NOOPEVENT_PPPUU(type,p0,p1,p2,p3,p4) NOOPEVENT_PPU(type,p0,p1,p2) NOOPEVENT_PPUU(type,p0,p1,p2,p3) NOOPEVENT_PPUWWW(type,p0,p1,p2,p3,p4,p5) NOOPEVENT_PPWW(type,p0,p1,p2,p3) NOOPEVENT_PPWWW(type,p0,p1,p2,p3,p4) NOOPEVENT_PPWWWUUU(type,p0,p1,p2,p3,p4,p5,p6,p7) NOOPEVENT_PU(type,p0,p1) NOOPEVENT_PW(type,p0,p1) NOOPEVENT_PWA(type,p0,p1,p2) NOOPEVENT_PWAW(type,p0,p1,p2,p3) NOOPEVENT_PWP(type,p0,p1,p2) NOOPEVENT_PWU(type,p0,p1,p2) NOOPEVENT_PWW(type,p0,p1,p2) NOOPEVENT_PWWWWDD(type,p0,p1,p2,p3,p4,p5,p6) NOOPEVENT_PWWWWW(type,p0,p1,p2,p3,p4,p5) NOOPEVENT_PWWWWWWWWW(type,p0,p1,p2,p3,p4,p5,p6,p7,p8,p9) NOOPEVENT_PWWWWWWWWWWWW(type,p0,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11,p12) NOOPEVENT_UUPA(type,p0,p1,p2,p3) NOOPEVENT_UUPP(type,p0,p1,p2,p3) NOOPEVENT_UUPPP(type,p0,p1,p2,p3,p4) NOOPEVENT_WS(type,p0,p1,l1) NOOP:EventEventTime ((EventType)0xEF213E99);EventPoolInit ((EventType)0xEFB07141)EventPoolFree ((EventType)0xEFB07F6E)?EventArenaCreateVM ((EventType)0xEFA64CF3)@EventArenaCreateVMNZ ((EventType)0xEFA64CF2)AEventArenaCreateCL ((EventType)0xEFA64CC7)BEventArenaDestroy ((EventType)0xEFA64DE5)CEventArenaAlloc ((EventType)0xEFA64A77)DEventArenaFree ((EventType)0xEFA64F6E)EEventSegAlloc ((EventType)0xEF5E9A77)FEventSegFree ((EventType)0xEF5E9F6E)GEventSegMerge ((EventType)0xEF5E93E6)HEventSegSplit ((EventType)0xEF5E95B7)IEventAMCGenCreate ((EventType)0xEFA3C94C)JEventAMCGenDestroy ((EventType)0xEFA3C94D)KEventAMCInit ((EventType)0xEFA3C141)LEventAMCFinish ((EventType)0xEFA3CF14)MEventAMCTraceBegin ((EventType)0xEFA3C26B)NEventAMCScanBegin ((EventType)0xEFA3C5CB)OEventAMCScanEnd ((EventType)0xEFA3C5CE)PEventAMCFix ((EventType)0xEFA3CF18)QEventAMCFixInPlace ((EventType)0xEFA3CF8A)REventAMCFixForward ((EventType)0xEFA3CF8F)SEventAMCReclaim ((EventType)0xEFA3C6EC)TEventTraceStart ((EventType)0xEF26AC52)UEventTraceCreate ((EventType)0xEF26ACC6)VEventTraceDestroy ((EventType)0xEF26ACDE)WEventSegSetGrey ((EventType)0xEF59596A)XEventTraceFlipBegin ((EventType)0xEF26AF7B)YEventTraceFlipEnd ((EventType)0xEF26AF7E)ZEventTraceReclaim ((EventType)0xEF26A6EC)[EventTraceScanSeg ((EventType)0xEF26A559)\EventTraceScanSingleRef ((EventType)0xEF26A556)^EventTraceAccess ((EventType)0xEF26AACC)_EventTracePoll ((EventType)0xEF26AB01)`EventTraceStep ((EventType)0xEF26A52B)aEventTraceFix ((EventType)0xEF26AF18)bEventTraceFixSeg ((EventType)0xEF26AF85)cEventTraceFixWhite ((EventType)0xEF26AF83)dEventTraceScanArea ((EventType)0xEF26A5CA)eEventTraceScanAreaTagged ((EventType)0xEF26A5C2)fEventVMCreate ((EventType)0xEFF3C6EA)gEventVMDestroy ((EventType)0xEFF3DE52)hEventVMMap ((EventType)0xEFF33AB9)iEventVMUnmap ((EventType)0xEFF3043B)jEventIntern ((EventType)0xEF142E64)kEventArenaExtend ((EventType)0xEFA64E82)lEventArenaRetract ((EventType)0xEFA646E2)mEventRootScan ((EventType)0xEF625CA4)nEventLabel ((EventType)0xEF7ABE79)oEventTraceSegGreyen ((EventType)0xEF26A599)pEventBufferReserve ((EventType)0xEFB0FF6E)qEventBufferCommit ((EventType)0xEFB0FFC0)rEventBufferInit ((EventType)0xEFB0FF14)sEventBufferInitSeg ((EventType)0xEFB0F15E)tEventBufferInitRank ((EventType)0xEFB0F16A)uEventBufferInitEPVM ((EventType)0xEFB0F1EF)vEventBufferFinish ((EventType)0xEFB0FFF1)wEventBufferFill ((EventType)0xEFB0FFF7)xEventBufferEmpty ((EventType)0xEFB0FFE3)yEventArenaAllocFail ((EventType)0xEFA64A7F)zEventSegAllocFail ((EventType)0xEF5E9A7F){EventMeterInit ((EventType)0xEF3E2141)|EventMeterValues ((EventType)0xEF3E2FA7)}EventCBSInit ((EventType)0xEFCB5141)~EventTraceStatCondemn ((EventType)0xEF26A5C0)EventTraceStatScan ((EventType)0xEF26A55C)EventTraceStatFix ((EventType)0xEF26A5F8)EventTraceStatReclaim ((EventType)0xEF26A56E)EventArenaWriteFaults ((EventType)0xEFA6436F)EventPoolInitMV ((EventType)0xEFB0713F)EventPoolInitMVFF ((EventType)0xEFB071FF)EventPoolInitMFS ((EventType)0xEFB07135)EventPoolInitEPVM ((EventType)0xEFB071EF)EventPoolInitEPDL ((EventType)0xEFB071E7)EventPoolInitAMS ((EventType)0xEFB071A5)EventPoolInitAMC ((EventType)0xEFB071AC)EventPoolInitAMCZ ((EventType)0xEFB071A2)EventPoolInitAWL ((EventType)0xEFB071A3)EventPoolInitLO ((EventType)0xEFB07170)EventPoolInitSNC ((EventType)0xEFB07154)EventPoolInitMVT ((EventType)0xEFB07132)EventPoolPush ((EventType)0xEFB07B58)EventPoolPop ((EventType)0xEFB07B0B)EventReservoirLimitSet ((EventType)0xEF6E5713)EventCommitLimitSet ((EventType)0xEFC03713)EventSpareCommitLimitSet ((EventType)0xEF5BC713)hEventInit() NOOPiEventFinish() NOOPjEventControl(r,f) (UNUSED(r), UNUSED(f), (Word)0)kEventInternString(s) (UNUSED(s), (Word)0)lEventInternGenString(l,s) (UNUSED(l), UNUSED(s), (Word)0)mEventLabelAddr(a,i) BEGIN UNUSED(a); UNUSED(i); ENDPlock_h ULockSig ((Sig)0x51970CC9) th_h  ring_h RingNONE ((Ring)0)$RingInit(ring) BEGIN Ring _ring = (ring); AVER(_ring != NULL); _ring->next = _ring; _ring->prev = _ring; AVER(RingCheck(_ring)); END/RingFinish(ring) BEGIN Ring _ring = (ring); AVER(RingCheckSingle(_ring)); _ring->next = RingNONE; _ring->prev = RingNONE; END9RingAppend(ring,new) BEGIN Ring _ring = (ring), _new = (new); AVER(RingCheck(_ring)); AVER(RingCheckSingle(_new)); _new->prev = _ring->prev; _new->next = _ring; _ring->prev->next = _new; _ring->prev = _new; ENDFRingInsert(ring,new) BEGIN Ring _ring = (ring), _new = (new); AVER(RingCheck(_ring)); AVER(RingCheckSingle(_new)); _new->prev = _ring; _new->next = _ring->next; _ring->next->prev = _new; _ring->next = _new; ENDSRingRemove(old) BEGIN Ring _old = (old); AVER(RingCheck(_old)); AVER(!RingIsSingle(_old)); _old->next->prev = _old->prev; _old->prev->next = _old->next; _old->next = _old; _old->prev = _old; END`RingNext(ring) ((ring)->next)dRingPrev(ring) ((ring)->prev)gRING_ELT(type,field,node) ((type)(void *)((char *)(node) - (size_t)(&((type)0)->field)))kRING_FOR(node,ring,next) for(node = RingNext(ring), next = RingNext(node); node != (ring); node = (next), next = RingNext(node))ThreadSig ((Sig)0x519286ED) ss_h  tract_h   bt_h BTSize(n) (((n) + MPS_WORD_WIDTH-1) / MPS_WORD_WIDTH * sizeof(Word))BTGet(a,i) ((Bool)(((a)[((i) >> MPS_WORD_SHIFT)] >> ((i) & ~((Word)-1 << MPS_WORD_SHIFT))) & (Word)1))BTSet(a,i) BEGIN (a)[((i)>>MPS_WORD_SHIFT)] |= (Word)1<<((i)&~((Word)-1<>MPS_WORD_SHIFT)] &= ~((Word)1 << ((i) & ~((Word)-1<base)&TractPool(tract) ((tract)->pool)'TractP(tract) ((tract)->p)(TractSetP(tract,pp) ((void)((tract)->p = (pp))))TractHasSeg(tract) ((Bool)(tract)->hasSeg)*TractSetHasSeg(tract,b) ((void)((tract)->hasSeg = (b)))+TractWhite(tract) ((tract)->white),TractSetWhite(tract,w) ((void)((tract)->white = (w)))8TRACT_SEG(segReturn,tract) (TractHasSeg(tract) && ((*(segReturn) = (Seg)TractP(tract)), TRUE));TRACT_SET_SEG(tract,seg) (TractSetHasSeg(tract, TRUE), TractSetP(tract, seg))>TRACT_UNSET_SEG(tract) (TractSetHasSeg(tract, FALSE), TractSetP(tract, NULL))nPageTract(page) (&(page)->the.tractStruct)rPageOfTract(tract) PARENT(PageStruct, the.tractStruct, (tract))vPagePool(page) ((page)->the.rest.pool)}PageIsAllocated(page) ((page)->the.rest.pool != NULL)PageType(page) ((page)->the.rest.type)ChunkSig ((Sig)0x519C804C)ChunkArena(chunk) ((chunk)->arena)ChunkPageSize(chunk) ((chunk)->pageSize)ChunkPageShift(chunk) ((chunk)->pageShift)ChunkPagesToSize(chunk,pages) ((Size)(pages) << (chunk)->pageShift)ChunkSizeToPages(chunk,size) ((Count)((size) >> (chunk)->pageShift))CHUNK_OF_ADDR(chunkReturn,arena,addr) (((arena)->chunkCache.base <= (addr) && (addr) < (arena)->chunkCache.limit) ? (*(chunkReturn) = (arena)->chunkCache.chunk, TRUE) : ChunkOfAddr(chunkReturn, arena, addr))AddrPageBase(chunk,addr) AddrAlignDown((addr), ChunkPageSize(chunk))TRACT_OF_ADDR(tractReturn,arena,addr) BEGIN Arena _arena = (arena); Addr _addr = (addr); Chunk _chunk; Index _i; if (CHUNK_OF_ADDR(&_chunk, _arena, _addr)) { _i = INDEX_OF_ADDR(_chunk, _addr); if (BTGet(_chunk->allocTable, _i)) *(tractReturn) = PageTract(&_chunk->pageTable[_i]); else *(tractReturn) = NULL; } else *(tractReturn) = NULL; ENDINDEX_OF_ADDR(chunk,addr) ((Index)ChunkSizeToPages(chunk, AddrOffset((chunk)->base, addr)))PageIndexBase(chunk,i) AddrAdd((chunk)->base, ChunkPagesToSize(chunk, i))TractAverContiguousRange(arena,rangeBase,rangeLimit) BEGIN Chunk _ch = NULL; UNUSED(_ch); AVER(ChunkOfAddr(&_ch, arena, rangeBase) && (rangeLimit) <= _ch->limit); ENDTRACT_TRACT_FOR(tract,addr,arena,firstTract,limit) tract = (firstTract); addr = TractBase(tract); TractAverContiguousRange(arena, addr, limit); for(; tract != NULL; (addr = AddrAdd(addr, (arena)->alignment)), (addr < (limit) ? (tract = PageTract(PageOfTract(tract) + 1)) : (tract = NULL) ))TRACT_FOR(tract,addr,arena,base,limit) TRACT_TRACT_FOR(tract, addr, arena, TractOfBaseAddr(arena, base), limit)mpmst_h protocol_h DERIVE_LOCAL(name) protocol ## nameDERIVE_STRUCT(name) name ## StructDERIVE_ENSURE(name) name ## GetDERIVE_ENSURE_OLD(name) Ensure ## nameDERIVE_ENSURE_INTERNAL(name) protocolGet ## nameDERIVE_GUARDIAN(name) protocol ## name ## GuardianDERIVE_STATIC_STORAGE(name) protocol ## name ## StructProtocolClassSetSuperclassPoly(class,super) (((ProtocolClass)(class))->superclass) = (ProtocolClass)(super)$DEFINE_CLASS(className,var) static Bool DERIVE_GUARDIAN(className) = FALSE; static DERIVE_STRUCT(className) DERIVE_STATIC_STORAGE(className); static void DERIVE_ENSURE_INTERNAL(className)(className); extern className DERIVE_ENSURE(className)(void); className DERIVE_ENSURE(className)(void) { if (DERIVE_GUARDIAN(className) == FALSE) { LockClaimGlobalRecursive(); if (DERIVE_GUARDIAN(className) == FALSE) { DERIVE_ENSURE_INTERNAL(className) (&DERIVE_STATIC_STORAGE(className)); DERIVE_GUARDIAN(className) = TRUE; } LockReleaseGlobalRecursive(); } return &DERIVE_STATIC_STORAGE(className); } extern className DERIVE_ENSURE_OLD(className)(void); className DERIVE_ENSURE_OLD(className)(void) { return DERIVE_ENSURE(className)(); } static void DERIVE_ENSURE_INTERNAL(className) (className var)AINHERIT_CLASS(this,parentName) BEGIN parentName DERIVE_LOCAL(parentName) = DERIVE_ENSURE(parentName)(); *this = *(DERIVE_LOCAL(parentName)); ProtocolClassSetSuperclassPoly(this, DERIVE_LOCAL(parentName)); ENDODEFINE_ALIAS_CLASS(className,typeName,var) typedef typeName className; typedef DERIVE_STRUCT(typeName) DERIVE_STRUCT(className); DEFINE_CLASS(className, var)VProtocolClassSig ((Sig)0x519B60C7)WProtocolInstSig ((Sig)0x519B6014)ProtocolClassSuperclassPoly(class) (((ProtocolClass)(class))->superclass)ClassOfPoly(inst) ((ProtocolInst)(inst)->class)IsSubclassPoly(sub,super) ProtocolIsSubclass((ProtocolClass)(sub), (ProtocolClass)(super))SUPERCLASS(className) ProtocolClassSuperclassPoly(DERIVE_ENSURE(className)())chain_h GenDescSig ((Sig)0x5199E4DE)+PoolGenSig ((Sig)0x519B009E);ChainSig ((Sig)0x519C8A14)XPoolGenNr(gen) ((gen)->nr)/PoolClassSig ((Sig)0x519C7A55)]PoolSig ((Sig)0x519B0019)}MFSSig ((Sig)0x5193F599)MVSig ((Sig)0x5193B999)ReservoirSig ((Sig)0x5196e599)MessageClassSig ((Sig)0x519359c1)MessageSig ((Sig)0x5193e559)SegClassSig ((Sig)0x5195E9C7)SegSig ((Sig)0x5195E999)GCSegSig ((Sig)0x5199C5E9)SegPrefSig ((Sig)0x5195E9B6)BufferClassSig ((Sig)0x519B0FC7)BufferSig ((Sig)0x519B0FFE)SegBufSig ((Sig)0x51959B0F)FormatSig ((Sig)0x519F63A2)ScanStateSig ((Sig)0x5195CA45)TraceSig ((Sig)0x51924ACE)ChunkCacheEntrySig ((Sig)0x519C80CE)ArenaClassSig ((Sig)0x519A6C1A)GlobalsSig ((Sig)0x519970BA)ArenaSig ((Sig)0x519A6E4A)%BoolCheck(b) ((unsigned)(b) <= 1)(FUNCHECK(f) (FunCheck((Fun)f))4WordIsAligned(w,a) (((w) & ((a) - 1)) == 0)7WordAlignUp(w,a) (((w) + (a) - 1) & ~((Word)(a) - 1));WordRoundUp(w,r) (((w)+(r)-1) - ((w)+(r)-1)%(r))>WordAlignDown(w,a) ((w) & ~((Word)(a) - 1))@size_tAlignUp(s,a) ((size_t)WordAlignUp((Word)(s), a))BPointerAdd(p,s) ((void *)((char *)(p) + (s)))CPointerSub(p,s) ((void *)((char *)(p) - (s)))EPointerOffset(base,limit) ((size_t)((char *)(limit) - (char *)(base)))HPointerAlignUp(p,s) ((void *)WordAlignUp((Word)(p), (Align)(s)))KAddrAdd(p,s) ((Addr)PointerAdd((void *)(p), s))LAddrSub(p,s) ((Addr)PointerSub((void *)(p), s))NAddrOffset(b,l) ((Size)(PointerOffset((void *)(b), (void *)(l))))RAddrAlignDown(p,a) ((Addr)WordAlignDown((Word)(p), a))TAlignWord(s) ((Word)(s))VAddrIsAligned(p,a) WordIsAligned((Word)(p), a)WAddrAlignUp(p,a) ((Addr)WordAlignUp((Word)(p), a))YSizeIsAligned(s,a) WordIsAligned((Word)(s), a)ZSizeAlignUp(s,a) ((Size)WordAlignUp((Word)(s), a))[SizeAlignDown(s,a) ((Size)WordAlignDown((Word)(s), a))]SizeRoundUp(s,r) ((Size)WordRoundUp((Word)(s), (Size)(r)))_IndexIsAligned(s,a) WordIsAligned((Word)(s), a)`IndexAlignUp(s,a) ((Index)WordAlignUp((Word)(s), a))aIndexAlignDown(s,a) ((Index)WordAlignDown((Word)(s), a))cAlignIsAligned(a1,a2) WordIsAligned((Word)(a1), a2)iAddrSet(target,value,size) mps_lib_memset(target, (int)(value), size)mAddrCopy(target,source,size) mps_lib_memcpy(target, source, size)qAddrComp(a,b,size) mps_lib_memcmp(a, b, size)wADDR_PTR(type,addr) ((type *)(addr))PoolArena(pool) ((pool)->arena)PoolAlignment(pool) ((pool)->alignment)PoolSegRing(pool) (&(pool)->segRing)PoolFix(pool,ss,seg,refIO) ((*(pool)->fix)(pool, ss, seg, refIO))ClassOfPool(pool) ((pool)->class)SuperclassOfPool(pool) ((PoolClass)ProtocolClassSuperclassPoly((pool)->class))DEFINE_POOL_CLASS(className,var) DEFINE_ALIAS_CLASS(className, PoolClass, var)POOL_SUPERCLASS(className) ((PoolClass)SUPERCLASS(className))TraceSetSingle(trace) BS_SINGLE(TraceSet, (trace)->ti)TraceSetIsSingle(ts) BS_IS_SINGLE(ts)TraceSetIsMember(ts,trace) BS_IS_MEMBER(ts, (trace)->ti)TraceSetAdd(ts,trace) BS_ADD(TraceSet, ts, (trace)->ti)TraceSetDel(ts,trace) BS_DEL(TraceSet, ts, (trace)->ti)TraceSetUnion(ts1,ts2) BS_UNION(ts1, ts2)TraceSetInter(ts1,ts2) BS_INTER(ts1, ts2)TraceSetDiff(ts1,ts2) BS_DIFF(ts1, ts2)TraceSetSuper(ts1,ts2) BS_SUPER(ts1, ts2)TraceSetSub(ts1,ts2) BS_SUB(ts1, ts2)TraceSetComp(ts) BS_COMP(ts)TRACE_SET_ITER(ti,trace,ts,arena) for(ti = 0, trace = ArenaTrace(arena, ti); ti < TraceLIMIT; ++ti, trace = ArenaTrace(arena, ti)) BEGIN if (TraceSetIsMember(ts, trace)) {TRACE_SET_ITER_END(ti,trace,ts,arena) } ENDTRACE_SCAN_BEGIN(ss) BEGIN Shift SCANzoneShift = (ss)->zoneShift; ZoneSet SCANwhite = (ss)->white; RefSet SCANsummary = (ss)->unfixedSummary; Word SCANt; {TRACE_FIX1(ss,ref) (SCANt = (Word)1 << ((Word)(ref) >> SCANzoneShift & (MPS_WORD_WIDTH-1)), SCANsummary |= SCANt, SCANwhite & SCANt)TRACE_FIX2(ss,refIO) ((*(ss)->fix)(ss, refIO))TRACE_FIX(ss,refIO) (TRACE_FIX1(ss, *(refIO)) ? TRACE_FIX2(ss, refIO) : ResOK)TRACE_SCAN_END(ss) } (ss)->unfixedSummary = SCANsummary; ENDDEFINE_ARENA_CLASS(className,var) DEFINE_ALIAS_CLASS(className, ArenaClass, var)ARENA_SUPERCLASS(className) ((ArenaClass)SUPERCLASS(className))ArenaGlobals(arena) (&(arena)->globals)GlobalsArena(glob) PARENT(ArenaStruct, globals, glob)ArenaRootRing(arena) (&(arena)->rootRing)ArenaTraceRing(arena) (&(arena)->traceRing)ArenaThreadRing(arena) (&(arena)->threadRing)ArenaEpoch(arena) ((arena)->epoch)ArenaTrace(arena,ti) (&(arena)->trace[ti])ArenaZoneShift(arena) ((arena)->zoneShift)ArenaAlign(arena) ((arena)->alignment)ArenaGreyRing(arena,rank) (&(arena)->greyRing[rank])ArenaReservoir(arena) (&(arena)->reservoirStruct)DEFINE_SEG_CLASS(className,var) DEFINE_ALIAS_CLASS(className, SegClass, var)SEG_SUPERCLASS(className) ((SegClass)SUPERCLASS(className))ClassOfSeg(seg) ((seg)->class)SegBase(seg) (TractBase((seg)->firstTract))SegLimit(seg) ((seg)->limit)SegPool(seg) (TractPool((seg)->firstTract))SegRankSet(seg) ((RankSet)(seg)->rankSet)SegPM(seg) ((AccessSet)(seg)->pm)SegSM(seg) ((AccessSet)(seg)->sm)SegDepth(seg) ((unsigned)(seg)->depth)SegGrey(seg) ((TraceSet)(seg)->grey)SegWhite(seg) ((TraceSet)(seg)->white)SegNailed(seg) ((TraceSet)(seg)->nailed)SegOfPoolRing(node) (RING_ELT(Seg, poolRing, (node)))SegOfGreyRing(node) (&(RING_ELT(GCSeg, greyRing, (node)) ->segStruct))SegSummary(seg) (((GCSeg)(seg))->summary)SegSetPM(seg,mode) ((void)((seg)->pm = (mode)))SegSetSM(seg,mode) ((void)((seg)->sm = (mode)))SegSetDepth(seg,d) ((void)((seg)->depth = (d)))SegSetNailed(seg,ts) ((void)((seg)->nailed = (ts)))BUFFER_RESERVE(pReturn,buffer,size,withReservoirPermit) (AddrAdd(BufferAlloc(buffer), size) > BufferAlloc(buffer) && AddrAdd(BufferAlloc(buffer), size) <= BufferAP(buffer)->limit ? (*(pReturn) = BufferAlloc(buffer), BufferAP(buffer)->alloc = AddrAdd(BufferAlloc(buffer), size), ResOK) : BufferFill(pReturn, buffer, size, withReservoirPermit))BUFFER_COMMIT(buffer,p,size) (BufferAP(buffer)->init = BufferAlloc(buffer), BufferAP(buffer)->limit != 0 || BufferTrip(buffer, p, size))BufferAP(buffer) (&(buffer)->apStruct)BufferOfAP(ap) PARENT(BufferStruct, apStruct, ap)BufferArena(buffer) ((buffer)->arena)BufferPool(buffer) ((buffer)->pool)BufferBase(buffer) ((buffer)->base)BufferGetInit(buffer) (BufferAP(buffer)->init)BufferAlloc(buffer) (BufferAP(buffer)->alloc)BufferLimit(buffer) ((buffer)->poolLimit)DEFINE_BUFFER_CLASS(className,var) DEFINE_ALIAS_CLASS(className, BufferClass, var)BUFFER_SUPERCLASS(className) ((BufferClass)SUPERCLASS(className))RankSetIsMember(rs,r) BS_IS_MEMBER((rs), (r))RankSetSingle(r) BS_SINGLE(RankSet, (r))RankSetIsSingle(r) BS_IS_SINGLE(r)RankSetUnion(rs1,rs2) BS_UNION((rs1), (rs2))RankSetDel(rs,r) BS_DEL(RankSet, (rs), (r))AddrZone(arena,addr) (((Word)(addr) >> (arena)->zoneShift) & (MPS_WORD_WIDTH - 1))RefSetUnion(rs1,rs2) BS_UNION((rs1), (rs2))RefSetInter(rs1,rs2) BS_INTER((rs1), (rs2))RefSetDiff(rs1,rs2) BS_DIFF((rs1), (rs2))RefSetAdd(arena,rs,addr) BS_ADD(RefSet, rs, AddrZone(arena, addr))RefSetIsMember(arena,rs,addr) BS_IS_MEMBER(rs, AddrZone(arena, addr))RefSetSuper(rs1,rs2) BS_SUPER((rs1), (rs2))RefSetSub(rs1,rs2) BS_SUB((rs1), (rs2))ZoneSetUnion(zs1,zs2) BS_UNION(zs1, zs2)ZoneSetInter(zs1,zs2) BS_INTER(zs1, zs2)ZoneSetDiff(zs1,zs2) BS_DIFF(zs1, zs2)ZoneSetAdd(arena,zs,addr) BS_ADD(ZoneSet, zs, AddrZone(arena, addr))ZoneSetIsMember(arena,zs,addr) BS_IS_MEMBER(zs, AddrZone(arena, addr))ZoneSetSub(zs1,zs2) BS_SUB(zs1, zs2)ZoneSetSuper(zs1,zs2) BS_SUPER(zs1, zs2)ZoneSetComp(zs) BS_COMP(zs)STATISTIC(gather) BEGIN (gather); ENDSTATISTIC_STAT(gather) BEGIN gather; ENDSTATISTIC_WRITE(format,arg) (format), (arg), BufferSegBuf(buffer) ((SegBuf)(buffer))buffer.cJan 17 200703:39:23 poolLimit $A limit $A alloc $A init $A initAtFlip $A base $A alignment $W emptySize $UKb fillSize $UKb Mode $B Mutator Buffer Internal Buffer Pool $P Arena $P class $P ("$S") Buffer $P ($U) { } Buffer $P ($U) BUFFER rankSet $U Seg $P SEGBUFRANKBUF$Id: //info.ravenbrook.com/project/mps/master/code/buffer.c#9 $ :| SAB @.$T5AB E.Y.[. AB B.tAB S. $vAB FV._. d. AB FD. -AB FJ.0jAB BJ.AB AB  AB -AB DH.AB #AB @AB  T?AB BI.I. bAB DD.\.AB Q.@AB Do. TAB F. (8AB FJ.\.g. .AB a.4^AB Dq. OAB BG.X.AB  AB J. AB J.( AB M.@ AB M.X 1AB BL. AB  AB  AB  AB  +AB D\. .AB _. 2AB BW.L AB X AB ` AB h AB p AB | AB  AB  AB  *AB  AB  GAB b.S. AB ( AB D AB  IAB DU. %AB DV., 3AB DM.` AB DH. AB  AB  AB  AB $ AB FE.b. < GAB b.S. AB  wAB E ZAB F].hGAB b.S. AB 8AB E|6c$BufferCheck$BufferDescribe%BufferCreate<&BufferCreateV&BufferDetach\'BufferDestroy'BufferFinish(BufferIsReset1(BufferIsReady\(BufferIsMutator(BufferFrameState(BufferFrameSetState)BufferSetAllocAddr)BufferFramePush)BufferFramePop*BufferReservey*BufferAttach+BufferFill+BufferCommit+BufferTripj,BufferFlip,BufferScanLimit,BufferSeg,BufferRankSet-BufferSetRankSetH-BufferReassignSeg~-BufferIsTrapped-BufferIsTrappedByMutator-AllocPatternRamp-AllocPatternRampCollectAll/.BufferRampBegins.BufferRampEnd.BufferRampReset0BufferClassCheck1BufferClassGet1EnsureBufferClassp1SegBufCheck4SegBufClassGet4EnsureSegBufClassu5RankBufClassGet5EnsureRankBufClass5bufferSrcId6AllocPatternRampStruct6AllocPatternRampCollectAllStructallocTablepreallocPoolDescribeMethodcontrolPoolStructpageTableLimitBufferIsTrappedgreySegMaxchunkFinishnamepageSizeFormatPadMethodrankrootSerialchunkRingArenaAllocMethodsegBufReassignSegreservoirSizeactiveTracesprotocolProtocolClassformatRankBufClassfoundationLockPoolBufferClassMethodTraceFixMethodsuperclassthreadRingunitsPerExtentPagefillMutatorSizepoolSerialBoolprehistoryArenaFreeMethodunitSizesetRankSetunsigned intGNU C 3.4.6 [FreeBSD] 20060305BufferRankSetMethodextendSegBufClassArenaChunkFinishMethodBufferReservefillInternalSizeBufferReassignSegMethodreassignSegsegbufisCollectedpoolReadyscmidwhiteSegRefCountforwardedSizeforwardedCountArenaSpareCommitExceededMethodProtocolClassmergegreyRingEnsureRankBufClassfinishshort intAlignArenaDescribeMethodprotocoldescribefillSizesegScanCountBufferInitVbufferTrivAttachBufferFillPoolmodePoolDebugMixinStructrememberedSummaryRingprevfixRefCountserialEpoch_newsetBufferapStructprotocolRankBufClassGuardianemptyMutatorSizeallocMutatorSizeBufferSetUnflippedBufferRampBeginPoolFramePushMethodEnsureBufferClassPoolFinishMethodbufferNoSegbusyTraceslwPopPendingchunkspansBufferFrameSetStateallocBasesuspendedpollThresholdArenaStructenabledMessageTypesmpsVersionStringSizeAllocPatternfreeListframePopbufferNoReassignSegGlobalsStructreservoirStructAllocPatternRampBufferCommitChainStructfailInitbaseArenaClassprotocolBufferClassGuardianAccessSetAllocPatternRampCollectAllframeptrhistorySegSetRankSummaryMethodFileSrcIdStructlong long unsigned intsuperfileoffsettraceshDepthBufferSetRankSetpReturnhighattrgenCountSegClassStructBufferSegrateframeReturnFreeBlockStepMethodBufferCreateVRankBufClassGetPoolClassStructBufferRampResetglobalsprimaryArenaChunkInitMethodarenaBufferFinishMethodFormatVarietybufferTrivDetachPoolWalkMethodskipsegBufInitrankBufInitPoolFreeMethodmortalitybufferTrivDescribebufferReturnwasMarkedproflowmessageRingsize_tmoveBufferFrameNotifyPopPendingAPStructTractStructrampEndmayMoveBootBlockpoolLimitChunkBufferScanLimitclampedPoolReclaimMethodunroundedUnitSizeBufferFinishsegBufSegshCachereclaimCountpageTablePagesfreefilledPoolFixMethodbufferNoSetRankSetSegPrefWordmps_lib_stream_sFormatStructpreservedInPlaceCountfreewalkframePushFormattedObjectsStepMethodargsSegClassgensCountPageStructisMovedfailAllocsetRankSummarySegDescribeMethodbufferClassPoolDebugMixinBufferRampEndSegSetSummaryMethodinsidePollreclaimAddrreservoirLimitSegBufStructAllocPatternRampCollectAllStructcharscannedSizereserveBufferStructFormatScanMethodchunkSerialSegFinishMethodbufferTrivInitMFSHeaderStructbuffer.cSerialsegBufSetRankSetprotocolGetBufferClassLockStructsplitFormatClassMethodArenaFormatMoveMethodspacefinalPoolBufferDescribeMethodBufferModelimitbufferSrcIdMFSStructArenaInitMethodlockrampCountBufferCreateBufferClassCheckPoolFixEmergencyMethodzoneShiftranksetstreamdummypagesisGennailedBufferTripPoolFreeWalkMethodchainva_listBufferFramePushsegBufRankSetprotocolSegBufClassGuardianChainlong long intMVStructtracedTimeZoneSetTractBufferSegMethoddepthBufferDestroyPoolRampEndMethodlocusRingfixEmergencyTracegreylastWorldCollectPoolDebugMixinMethodpageShiftChunkCacheEntryStructBufferClassStructArenaClassStructrememberedSummaryIndexgreySegCountisMutatorArenaFinishMethodfixedSummarycommittedframePopPendingBufferCheckscansingleCopiedSizeSegSetBufferMethodProtocolInstStructAddrStructrampBeginbufferPoolRampBeginMethodsizeSegStructGenDescStructProtocolInstaplimitBufferSetRankSetMethodsegBufDescribeinitAtFlipPoolStructBufferReassignSegpoolRing_ringFormatdetachspareCommitLimitbufferStructtopGenPoolWhitenMethodspanPoolStructPoolInitMethodsegBufAttachTraceIdpoolBufferFlipaccesschainRingPoolGreyMethodlastTractAllocPatternRampStructMutatorFaultContextvarietyemptyInternalSizeSrcIdarenaRingsegRefCountavgSizecopytractListBufferDetachMethodprotocolBufferClassPoolScanMethodFormatCopyMethodBufferIsTrappedByMutatorlostcapacitywhitenScanStatecondemnedEnsureSegBufClassbufferRingChunkStructflippedTracesrootScanCountenabledrootScanSizepointlessScanCountallocRankshCacheLimitRankBufClassStructsegCopiedSizeBufferInitMethodlong intsetSummarynotCondemnedextendByTraceStatesegBufDetachTraceSetstatepreservedInPlaceSizeSegBufnextSegBufferMethodbuild_timeBufferIsMutatorbufferTrivFinishSegBufClassStructprotocolGetSegBufClassPoolClassProtocolCoerceInstMethodBufferFrameStateemergencyPoolBlackenMethodwhitepoolStruct__size_trootRingSegInitMethodFormatSkipMethodsegScanSizecopiedSizewithReservoirPermitArenaExtendMethodScanStateStructSegSetWhiteMethodunfixedSummarypageTableBaseBufferRankSetlastTractBasethreadSerialBufferIsResetlabelledsetGreytracedSize__va_listwalksetWhitePoolAllocMethodRingStructrankSetlong unsigned intPoolFramePopPendingMethodSrcIdStructBootBlockStructBufferDetachwriteBarrierHitCountMutatorFaultContextStructArenaReservedMethodfoundinitBufferSetAllocAddrAttrBufferClassGetbufferLoggingProtocolClassStructclassbufferFillIndexspareCommitExceededspareFormatIsMovedMethodmaxSizechunkInitPoolAccessMethodbufferTrivRankSetsnapCounttypeattachnailCountunsigned charSegBufClassGet__uint32_tspareCommittedinsideShieldpatternRingSegSplitMethodblockPoolStructprotocolRankBufClassStructSegBufCheckRefSetAllocFrameStructPoolFramePopMethodprotocolSegBufClasstractStructBufferClassformatSerialaddrsegRingAllocFramehasSegcoerceClassprotocolSegBufClassStructReservoirStructBufferFramePopbuild_datesingleScanSizeBufferreadBarrierHitCountpageTableheaderSizecoerceInstdebugMixinprotocolBufferClassStructchunkCachesigned charSegMergeMethodSegPrefStructmps_lib_FILEPoolBufferFillMethodreclaimSizebufferSerialshort unsigned intzonesclientClassBufferIsReadybufferEmptyProtocolCoerceClassMethodreservedRankSetAllocPatternStructisFinalPoolsegBufFinishFrameStatedoublesingleScanCountfirstTractalignmentPoolBufferEmptyMethodBufferAttachMethodBufferAttachrestframeSegSetRankSetMethodShiftemptySize/home/hannes/dylan/mps/codeprotocolGetRankBufClass_oldTraceStructglobalRingformatRingcommitLimitrootCopiedSizeAllocPatternCheckSegSetGreyMethodBufferDescribeshCacheIepochblackentracesGCC: (GNU) 3.4.6 [FreeBSD] 20060305.symtab.strtab.shstrtab.rel.text.rel.data.bss.debug_abbrev.rel.debug_info.rel.debug_line.debug_macinfo.rodata.str1.1.rodata.str1.4.rel.rodata.rodata.cst4.rel.debug_frame.rel.debug_pubnames.rel.debug_aranges.debug_str.comment4 x`),% /@ 4@F16B VHR  bsLuq2fL2@   0 0  0Pw%@3      &T?B-U gL vX ` h p |    * @7( N IY %f, 3s`      `@ w Z# @@[8sSX 1T5tv #-"0j/ HV fw@b@8T.4^O   %( 6@ H_ p  + . 2  G. @Q ]< Glv hG buffer.cFileSrcIdStructBufferInitVBufferFrameNotifyPopPendingBufferSetUnflippedAllocPatternCheckbufferTrivInitbufferTrivFinishbufferTrivAttachbufferTrivDetachbufferNoSegbufferTrivRankSetbufferNoSetRankSetbufferNoReassignSegbufferTrivDescribeprotocolBufferClassGuardianprotocolBufferClassStructprotocolGetBufferClasssegBufInitsegBufFinishsegBufAttachsegBufDetachsegBufSegsegBufRankSetsegBufSetRankSetsegBufReassignSegsegBufDescribeprotocolSegBufClassGuardianprotocolSegBufClassStructprotocolGetSegBufClassrankBufInitprotocolRankBufClassGuardianprotocolRankBufClassStructprotocolGetRankBufClassbufferSrcIdBufferCheckBufferIsTrappedBufferDescribeWriteFBufferCreateBufferCreateVControlAllocControlFreeBufferDetachBufferIsResetBufferFrameSetStateBufferDestroyBufferFinishBufferIsTrappedByMutatorBufferIsReadyBufferIsMutatorBufferFrameStateBufferSetAllocAddrBufferFramePushBufferFramePopBufferReserveBufferFillBufferAttachBufferCommitBufferTripPoolFormatBufferFlipBufferRankSetBufferScanLimitBufferSegBufferSetRankSetBufferReassignSegAllocPatternRampStructAllocPatternRampAllocPatternRampCollectAllStructAllocPatternRampCollectAllBufferRampBeginBufferRampEndBufferRampResetBufferClassCheckBufferClassGetLockClaimGlobalRecursiveLockReleaseGlobalRecursiveEnsureBufferClassProtocolClassGetSegBufCheckSegBufClassGetSegOfAddrSegSetBufferEnsureSegBufClassRankBufClassGetEnsureRankBufClassD5              ( 4 = C7q w79:;=>@!;@A^<5c>l5=AKIL=uA<J)LmMO=j A T V V  ]    ^  \3 `S  a h o v }      b bA cM dp d b  #  ) 7D L ]R ] h u ^}  b \         #fMRpx]~^fb   1!1%1*11181?1M1X1_1f1m1t1{1111111111111(13191Z1e1v1|111111111111 11#1.191T1e1k111111111111-1<1K1Z1i1y1111111111,1;1J1Y1w1111111111 11(171G1\1s11111111111'171H1N1c1y11111111111!1/1>1S1[1i1w1111111111111-1I1W1e1s1111111111 1% 1J 1Y 1h 1w 1 1 1 1 1 1 1 1 1 1 1 1+ 1: 1I 1X 1g 1v 1 1 1 1 1 1 1 1 1 1 1 1, 1< 1M 1b 1y 1 1 1 1 1 1 1 1 1 1 1- 1< 1K 1Z 1i 1x 1 1 1 1 1 1 1 1 1 1 1- 15 1O 1] 1n 1 1 1 1 1 1 1 1 1 1 11)171E1X1o1~11111111"111@1O11111111111!1/1=1K1Y1g1u1111111111#1B1W1_1n1}11111111111"1A1V1_1n1}111111111 11+1;1K1[1k1{111111111 11+1;1K1[1k1{111111111 11@1W1f1u1111111111 11)181G1V1f1w1}111111111111+1\1y1111181^1{111101j1111111@1b111111K1V1w11111(1E1u111171b11111!1,1S1u1111)1P1g11111 1' 12 1T 1_ 1t 1| 1 1 1 1 1 1 1 1 1!1!1/!1=!1K!1Z!1o!1!1!1!1!1"1"1)"17"1E"1S"1b"1s"1"1"1"1"1"1"1"1"1"1#1#1#1-#1;#1J#1Y#1h#1w#1#1#1#1#1#1#1#1#1#1 $1X$1i$1t$x$$1$$$1$1$$$1$1$1$$%1%1%1(%15%1C%1]%1c%l%p%u%1%%%1%1%%%1%1%%%1%1%1 &1(&1B&1N&R&Y&1g&1u&1&1&1&1&1&1&&1&&1'' '1'1(','1'1?'1M'1b'1j'n'u'1'1'1'1'''1'1'''1'''1 (1((#(17(1C(G(N(1b(1n(r(y(1(1(((1(1(((1(1(((1(1)1) )')15)1H)1P)T)[)1i)1w)1)1)))1)1)1)1)))1)1*1*1'*+*2*1@*1N*1\*1k*1*1***1*1*1*1*1*1***1+1+++1-+1;+1I+1f+1t+1+1+1+1+++1+1+1++,1,1-,19,=,N,1],1p,1x,|,,1,1,,,1,1,,,1,1,,-1-1 -$-+-19-1N-1V-Z-a-1-1---1-1---1-1---1-- .1.. .15.1=.A.H.1V.1e.1y.1...1.1.1...1.1.1...1 /1/1//17/;/B/1V/1^/b/i/1x/1/1/1/1/1///1/1///1 0100"01601>0B0I01X01l01t0x00101000101010001111111(1,1711?1C1J11X1\1a11v1111111111111111111111 21(2,2321A21O21`21h2l2s212121212121212121233131331?3C3J31X31i31u3y3313131333131313133314141+4/4641D41R41`41}4141444144414441444141 5 551"51151?51M51j51w515551555155515551515 5163 616T61*6V/61<6A61N6S61`6e61r6w616616u    .4.8\.`.... .,.0D.H\.`t.x.....$.(@.D`.d.....(.,D.H`.d|.......8.<T.Xt.x....... 4.8L.Pd.h......0.4P.Th.l......0.4T.Xt.x.ref.o/ 1169001563 1001 1001 100644 51952 ` ELF ,4(UÉUÉUVSEXE ]KC)w19sˆ)‰)҉[^ÍvUE Ppru C% $ > $ > : ; I I&I : ;  : ; I8 < : ; I  : ;I8 : ;I8  : ; I8  : ; I 8  : ;I 8  : ;I 8  : ; ' II' ' I : ;  : ;  : ; I: ;II!I/ .? : ; ' I@ : ; I 4: ; I : ; I !4: ; I?  $|8Iint 8Wo  _L| |z o7z;E ""$#%#&#Q '# "r 2 z. Sigl ResEu lf"ou k #Y$Y%Y&Yw'W(W Ref)d I,Y -Y .W/W(1{V 2W 3W 4WP5WG6WW7W BT:MY;^d v# ^ w# x# y# zY# {s#$ }|s#, @}d#4 ~d#8 8!##< d#T +#X W#\>Y @> DM!# VE# F# BG)# HT# Iq#  J#$ K3#( segL#, M#0 dN#4 O#8 sigPC#<PAWC Bad# bd# [cd# Zdd# e# f# D<D sigC# !# 8# ># # +# / # t0# Q#$ s#( ~#, pad#0 n#4 {#8F G XGsig`C#!a#nb#>c#  d#Q e#f# g#$+h#,i#0fixj=#4 ks#8Als#@ms#H ns#P\ H H2M!#V3# 4#5#6-#B7Y# 8#$ 9#(Z:#,t;#0<-#4c =Y#86 >#<Z ?#@ @#D/ A#HfixB=#LG Cm#P^Dx#Tv E#XF#\G#` H#d I(#hJO#lK#p$L#tM#x-N#|`O#sigPC#T O O sigC# ti# ># # # ! #  # * # G {# {#$ {#( {#, #0 ?#4 v #8 #< {#@ #D #H {#L #P #T 4 {#X #\ #` #d #h #l #p  #t = #x / {#|  # '  {# ># #= P  * TP fix# Y# # (# sigC# >#  # t# #  #$ #( #, #0 #4 #8 =#< /{#@ #D ' {#H {#L {#PQ5 ;  4Qsig>C#>?#j @#A #B#C!# R   R^ #p#@d#  # W# S   \ 8SsigC#!#>## [{# #@d#[d# #$#(C#,U #0K#4? T sigC#  # @d# [d# 7?# 0?#UJPkUtheh+ # SegVv|P V sigC# nP#  #  # [ d#%  W#pm "#sm "#Z  #  # ##X[aNLXM!#V# #B## T#  v#$.#(i#,#0d #4-#8#<y#@#DsigC#HmZY_dZ sig0C# 1# 2# 3# 4# gen5#E\ H\ &M!# V'E## (# )# B*# +# ,#$ -#( .#, /'#0 Z0h#4 1#8 J2#< 3#@ sig4C#D^(^ oK## !p#t nr#x t#| u ## $w##  y{# z{# |{# }{# # +#  # Ed# ! # # # >9##  !# # # # C# # 1# # S# # 6W## {# {# {# #  # h  # g## qs# s# _ Y# w## # j # # @# c## sigC#t_ sigBC# E# {F# Is# SJ# K# Ls# AMs#( RNs#0 Os#8 Ps#@ S#H LV#L Y#P 0Z#X ]#\ y^#d a#h d#p d 0e  g#) Phh !# #Xk{#\{#`sigC#dknN8 o.p{Lq r 'Nd{t28\N\bN{d Kusyd{)vN Sw xN' $N $5;[dlfldd Nkd{8kk c-kk8>Tk?_evkA jkE kjNkUNkkddd8* 4:TNj8D_eqjK|jddd{ _ kjj j"3jk;>DYNjA djN8wN\{yd{-N\\j{58>YjdddjNkd"! șNkt k  k 7N7 k_HNmN k$H Ҏj+ ӵjcNja(Nj39OjeZ`k*l݋[޲x Np 0N dd ;AQdd\bsdd; \dd{;%< ## + g^ e#fE#J htc^g iPJ k\f l  Z\sig}C#~[ # #!#  a   X asigC#n[ #f m  !! [  x'!-!G!G![ [ [ Zl ! $sigC##-  {#!s# "s#= ## $X!! oR"at !#${#X {#\[{#` Y#dX"#h  #lsigC#p R"a! #` !#9^"#X2 ^"# {# {#{#+{#( {##sigC#i"/gd  eg#kw#-#### Ut# UI$'lyU>&P@&dP[&dP (YV (YS$L|U>K segKkP !$ c /usr/include/usr/include/sys/usr/include/machinempm.hconfig.hmpstd.hmisc.hstddef.hcdefs.h_null.h_types.h_types.hcheck.hmpslib.hevent.heventcom.hmpmtypes.hstdarg.heventgen.hlock.hth.hring.hss.htract.hbt.hmpmst.hprotocol.hchain.href.c== UvHTX:=H;, g:__STDC_HOSTED__ 1__GNUC__ 3__GNUC_MINOR__ 4__GNUC_PATCHLEVEL__ 6__SIZE_TYPE__ unsigned int__PTRDIFF_TYPE__ int__WCHAR_TYPE__ int__WINT_TYPE__ unsigned int __GXX_ABI_VERSION 1002 __SCHAR_MAX__ 127 __SHRT_MAX__ 32767 __INT_MAX__ 2147483647 __LONG_MAX__ 2147483647L__LONG_LONG_MAX__ 9223372036854775807LL__WCHAR_MAX__ 2147483647__CHAR_BIT__ 8__FLT_EVAL_METHOD__ 2__FLT_RADIX__ 2__FLT_MANT_DIG__ 24__FLT_DIG__ 6__FLT_MIN_EXP__ (-125)__FLT_MIN_10_EXP__ (-37)__FLT_MAX_EXP__ 128__FLT_MAX_10_EXP__ 38__FLT_MAX__ 3.40282347e+38F__FLT_MIN__ 1.17549435e-38F__FLT_EPSILON__ 1.19209290e-7F__FLT_DENORM_MIN__ 1.40129846e-45F__FLT_HAS_INFINITY__ 1__FLT_HAS_QUIET_NAN__ 1__DBL_MANT_DIG__ 53 __DBL_DIG__ 15!__DBL_MIN_EXP__ (-1021)"__DBL_MIN_10_EXP__ (-307)#__DBL_MAX_EXP__ 1024$__DBL_MAX_10_EXP__ 308%__DBL_MAX__ 1.7976931348623157e+308&__DBL_MIN__ 2.2250738585072014e-308'__DBL_EPSILON__ 2.2204460492503131e-16(__DBL_DENORM_MIN__ 4.9406564584124654e-324)__DBL_HAS_INFINITY__ 1*__DBL_HAS_QUIET_NAN__ 1+__LDBL_MANT_DIG__ 53,__LDBL_DIG__ 15-__LDBL_MIN_EXP__ (-16381).__LDBL_MIN_10_EXP__ (-4931)/__LDBL_MAX_EXP__ 163840__LDBL_MAX_10_EXP__ 49321__DECIMAL_DIG__ 172__LDBL_MAX__ 1.1897314953572316e+4932L3__LDBL_MIN__ 3.3621031431120935e-4932L4__LDBL_EPSILON__ 2.2204460492503131e-16L5__LDBL_DENORM_MIN__ 7.4653686412953080e-4948L6__LDBL_HAS_INFINITY__ 17__LDBL_HAS_QUIET_NAN__ 18__REGISTER_PREFIX__ 9__USER_LABEL_PREFIX__ :__VERSION__ "3.4.6 [FreeBSD] 20060305";__OPTIMIZE__ 1<__FINITE_MATH_ONLY__ 0=__STRICT_ANSI__ 1@__i386 1A__i386__ 1B__tune_i386__ 1C__FreeBSD__ 6D__unix 1E__unix__ 1F__KPRINTF_ATTRIBUTE__ 1J__FreeBSD_cc_version 602001K__ELF__ 1_REENTRANT 1CONFIG_PROD_DYLAN 1CONFIG_VAR_HI 1NDEBUG 1  mpm_h config_h !CONFIG_DEBUG "CHECK_DEFAULT CheckNONE6CHECK_NONE 7MPS_ASSERT_STRING "nonasserted"?EVENT_NONE @MPS_LOG_STRING "nonlogging"EDIAGNOSTICS FMPS_DEBUG_STRING "debug"LMPS_VARIETY_STRING MPS_ASSERT_STRING "." MPS_LOG_STRING "." MPS_DEBUG_STRINGRmpstd_h MPS_PF_FRI4GC MPS_PF_STRING "fri4gc"MPS_OS_FR MPS_ARCH_I4 MPS_BUILD_GC MPS_T_WORD unsigned longMPS_WORD_WIDTH 32MPS_WORD_SHIFT 5MPS_PF_ALIGN 4EPVMDefaultSubsequentSegSIZE (64ul * 1024)ARENA_CONTROL_EXTENDBY ((Size)4096)ARENA_CONTROL_AVGSIZE ((Size)32)ARENA_CONTROL_MAXSIZE ((Size)65536)ArenaPollALLOCTIME (65536.0)ARENA_ZONESHIFT ((Shift)20)ARENA_CLIENT_PAGE_SIZE ((Size)8192)ArenaDefaultZONESET (ZoneSetUNIV << (MPS_WORD_WIDTH / 2))SegPrefDEFAULT { SegPrefSig, TRUE, ArenaDefaultZONESET, FALSE, FALSE, (Serial)0, }LDHistoryLENGTH ((Size)4)StackProbeDEPTH ((Size)0)ShieldCacheSIZE ((size_t)16)ShieldDepthWIDTH (4)VMANPageALIGNMENT ((Align)4096)VMJunkBYTE ((unsigned char)0xA9)TraceLIMIT ((size_t)1)TraceCopyScanRATIO (1.5)RememberedSummaryBLOCK 15EventBufferSIZE ((size_t)4096)EventStringLengthMAX ((size_t)255)ASSERT_BUFFER_SIZE ((Size)512)MPS_PROD_STRING "dylan"MPS_PROD_DYLAN ARENA_INIT_SPARE_COMMIT_LIMIT ((Size)10uL*1024uL*1024uL)THREAD_MULTI PROTECTION DONGLE_NONE PROD_CHECK_DEFAULT CheckSHALLOWARENA_SIZE ((Size)1<<30)misc_h '_STDDEF_H_ )%_SYS_CDEFS_H_ +__BEGIN_DECLS ,__END_DECLS 8__GNUCLIKE_ASM 39__GNUCLIKE_MATH_BUILTIN_CONSTANTS =__GNUCLIKE___TYPEOF 1>__GNUCLIKE___OFFSETOF 1?__GNUCLIKE___SECTION 1A__GNUCLIKE_ATTRIBUTE_MODE_DI 1D__GNUCLIKE_CTOR_SECTION_HANDLING 1G__GNUCLIKE_BUILTIN_CONSTANT_P 1N__GNUCLIKE_BUILTIN_VARARGS 1O__GNUCLIKE_BUILTIN_STDARG 1P__GNUCLIKE_BUILTIN_VAALIST 1T__GNUC_VA_LIST_COMPATIBILITY 1X__GNUCLIKE_BUILTIN_NEXT_ARG 1Y__GNUCLIKE_MATH_BUILTIN_RELOPS \__GNUCLIKE_BUILTIN_MEMCPY 1___CC_SUPPORTS_INLINE 1`__CC_SUPPORTS___INLINE 1a__CC_SUPPORTS___INLINE__ 1c__CC_SUPPORTS___FUNC__ 1d__CC_SUPPORTS_WARNING 1f__CC_SUPPORTS_VARADIC_XXX 1h__CC_SUPPORTS_DYNAMIC_ARRAY_INIT 1k__CC_INT_IS_32BIT 1s__GNUC_PREREQ__(ma,mi) (__GNUC__ > (ma) || __GNUC__ == (ma) && __GNUC_MINOR__ >= (mi))__P(protos) protos__CONCAT1(x,y) x ## y__CONCAT(x,y) __CONCAT1(x,y)__STRING(x) #x__XSTRING(x) __STRING(x)__const const__signed signed__volatile volatile__dead2 __attribute__((__noreturn__))__pure2 __attribute__((__const__))__unused __attribute__((__unused__))__used __attribute__((__used__))__packed __attribute__((__packed__))__aligned(x) __attribute__((__aligned__(x)))__section(x) __attribute__((__section__(x)))__pure __attribute__((__pure__))__always_inline __attribute__((__always_inline__))__nonnull(x) __attribute__((__nonnull__(x)))__restrict __predict_true(exp) __builtin_expect((exp), 1)__predict_false(exp) __builtin_expect((exp), 0)__offsetof(type,field) ((size_t)(&((type *)0)->field))__rangeof(type,start,end) (__offsetof(type, end) - __offsetof(type, start))__printflike(fmtarg,firstvararg) __attribute__((__format__ (__printf__, fmtarg, firstvararg)))__scanflike(fmtarg,firstvararg) __attribute__((__format__ (__scanf__, fmtarg, firstvararg)))__format_arg(fmtarg) __attribute__((__format_arg__ (fmtarg)))__printf0like(fmtarg,firstvararg) __attribute__((__format__ (__printf0__, fmtarg, firstvararg)))__strong_reference(sym,aliassym) extern __typeof (sym) aliassym __attribute__ ((__alias__ (#sym)));__weak_reference(sym,alias) __asm__(".weak " #alias); __asm__(".equ " #alias ", " #sym)__warn_references(sym,msg) __asm__(".section .gnu.warning." #sym); __asm__(".asciz \"" msg "\""); __asm__(".previous")__IDSTRING(name,string) __asm__(".ident\t\"" string "\"")__FBSDID(s) __IDSTRING(__CONCAT(__rcsid_,__LINE__),s)__RCSID(s) __IDSTRING(__CONCAT(__rcsid_,__LINE__),s)__RCSID_SOURCE(s) __IDSTRING(__CONCAT(__rcsid_source_,__LINE__),s)__SCCSID(s) __IDSTRING(__CONCAT(__sccsid_,__LINE__),s)__COPYRIGHT(s) __IDSTRING(__CONCAT(__copyright_,__LINE__),s)__DECONST(type,var) ((type)(uintptr_t)(const void *)(var))__DEVOLATILE(type,var) ((type)(uintptr_t)(volatile void *)(var))__DEQUALIFY(type,var) ((type)(uintptr_t)(const volatile void *)(var))__POSIX_VISIBLE 200112__XSI_VISIBLE 600__BSD_VISIBLE 1__ISO_C_VISIBLE 1999* NULL ((void *)0)+_SYS__TYPES_H_ ! (_MACHINE__TYPES_H_ .__NO_STRICT_ALIGNMENT __GNUC_VA_LIST 2_RUNE_T_DECLARED 8_SIZE_T_DECLARED >_WCHAR_T_DECLARED Boffsetof(type,member) __offsetof(type, member)*SRCID(id,scmid) static SrcIdStruct FileSrcIdStruct = {__FILE__, (scmid), __DATE__, __TIME__}; SrcId id ## SrcId = &FileSrcIdStruct;BEGIN do {> (i)) & 1)BS_UNION(s1,s2) ((s1) | (s2))BS_ADD(ty,s,i) BS_UNION((s), BS_SINGLE(ty, (i)))BS_INTER(s1,s2) ((s1) & (s2))BS_DIFF(s1,s2) BS_INTER((s1), BS_COMP(s2))BS_DEL(ty,s,i) BS_DIFF((s), BS_SINGLE(ty, (i)))BS_SUPER(s1,s2) (BS_INTER((s1), (s2)) == (s2))BS_SUB(s1,s2) BS_SUPER((s2), (s1))BS_IS_SINGLE(s) (((s) & ((s)-1)) == 0)BS_SYM_DIFF(s1,s2) ((s1) ^ (s2)) check_h  mpslib_h mps_lib_EOF (mps_lib_get_EOF())mps_lib_stderr (mps_lib_get_stderr())mps_lib_stdout (mps_lib_get_stdout())0AVER(cond) DISCARD(cond)1AVERT(type,val) DISCARD(type ## Check(val))2AVER_CRITICAL(cond) DISCARD(cond)3AVERT_CRITICAL(type,val) DISCARD(type ## Check(val))MASSERT(cond,condstring) BEGIN if (cond) NOOP; else mps_lib_assert_fail(condstring "\n" __FILE__ "\n" STR(__LINE__)); END_NOTREACHED NOOPjCHECKT(type,val) ((val) != NULL && (val)->sig == type ## Sig)pCHECKS(type,val) DISCARD(CHECKT(type, val))qCHECKL(cond) DISCARD(cond)rCHECKD(type,val) DISCARD(CHECKT(type, val))sCHECKD_NOSIG(type,val) DISCARD((val) != NULL)tCHECKU(type,val) DISCARD(CHECKT(type, val))uCHECKU_NOSIG(type,val) DISCARD((val) != NULL)CHECKLVALUE(lv1,lv2) ((void)sizeof((lv1) = (lv2)), (void)sizeof((lv2) = (lv1)), TRUE)CHECKTYPE(t1,t2) (sizeof(t1) == sizeof(t2) && CHECKLVALUE(*((t1 *)0), *((t2 *)0)))CHECKFIELDAPPROX(s1,f1,s2,f2) (sizeof(((s1 *)0)->f1) == sizeof(((s2 *)0)->f2) && offsetof(s1, f1) == offsetof(s2, f2))CHECKFIELD(s1,f1,s2,f2) (CHECKFIELDAPPROX(s1, f1, s2, f2) && CHECKLVALUE(((s1 *)0)->f1, ((s2 *)0)->f2)) event_h   eventcom_h  mpmtypes_h '_MACHINE_STDARG_H_ -_VA_LIST_DECLARED 3va_start(ap,last) __builtin_stdarg_start((ap), (last))6va_arg(ap,type) __builtin_va_arg((ap), type):va_copy(dest,src) __builtin_va_copy((dest), (src))>va_end(ap) __builtin_va_end(ap)SigInvalid ((Sig)0x51915BAD)SizeMAX ((Size)-1)AccessSetEMPTY ((AccessSet)0)AccessREAD ((AccessSet)(1<<0))AccessWRITE ((AccessSet)(1<<1))AccessSetWIDTH (2)RefSetEMPTY BS_EMPTY(RefSet)RefSetUNIV BS_UNIV(RefSet)ZoneSetEMPTY BS_EMPTY(ZoneSet)ZoneSetUNIV BS_UNIV(ZoneSet)TraceSetEMPTY BS_EMPTY(TraceSet)TraceSetUNIV ((TraceSet)((1u << TraceLIMIT) - 1))RankSetEMPTY BS_EMPTY(RankSet)RankSetUNIV ((RankSet)((1u << RankLIMIT) - 1))AttrFMT ((Attr)(1<<0))AttrSCAN ((Attr)(1<<1))AttrPM_NO_READ ((Attr)(1<<2))AttrPM_NO_WRITE ((Attr)(1<<3))AttrALLOC ((Attr)(1<<4))AttrFREE ((Attr)(1<<5))AttrBUF ((Attr)(1<<6))AttrBUF_RESERVE ((Attr)(1<<7))AttrBUF_ALLOC ((Attr)(1<<8))AttrGC ((Attr)(1<<9))AttrINCR_RB ((Attr)(1<<10))AttrINCR_WB ((Attr)(1<<11))AttrMOVINGGC ((Attr)(1<<12))AttrMASK (AttrFMT | AttrSCAN | AttrPM_NO_READ | AttrPM_NO_WRITE | AttrALLOC | AttrFREE | AttrBUF | AttrBUF_RESERVE | AttrBUF_ALLOC | AttrGC | AttrINCR_RB | AttrINCR_WB | AttrMOVINGGC)BufferModeATTACHED ((BufferMode)(1<<0))BufferModeFLIPPED ((BufferMode)(1<<1))BufferModeLOGGED ((BufferMode)(1<<2))BufferModeTRANSITION ((BufferMode)(1<<3))RootModeCONSTANT ((RootMode)1<<0)RootModePROTECTABLE ((RootMode)1<<1)RootModePROTECTABLE_INNER ((RootMode)1<<2)STATISTIC_DECL(field) field!EventNameMAX ((size_t)19)"EventCodeMAX ((EventCode)0x0069)&EVENT_0(type) NOOPEVENT_A(type,p0) NOOPEVENT_AW(type,p0,p1) NOOPEVENT_P(type,p0) NOOPEVENT_PAA(type,p0,p1,p2) NOOPEVENT_PAW(type,p0,p1,p2) NOOPEVENT_PAWA(type,p0,p1,p2,p3) NOOPEVENT_PDDWWW(type,p0,p1,p2,p3,p4,p5) NOOPEVENT_PP(type,p0,p1) NOOPEVENT_PPAU(type,p0,p1,p2,p3) NOOPEVENT_PPAWP(type,p0,p1,p2,p3,p4) NOOPEVENT_PPP(type,p0,p1,p2) NOOPEVENT_PPPA(type,p0,p1,p2,p3) NOOPEVENT_PPPU(type,p0,p1,p2,p3) NOOPEVENT_PPPUU(type,p0,p1,p2,p3,p4) NOOPEVENT_PPU(type,p0,p1,p2) NOOPEVENT_PPUU(type,p0,p1,p2,p3) NOOPEVENT_PPUWWW(type,p0,p1,p2,p3,p4,p5) NOOPEVENT_PPWW(type,p0,p1,p2,p3) NOOPEVENT_PPWWW(type,p0,p1,p2,p3,p4) NOOPEVENT_PPWWWUUU(type,p0,p1,p2,p3,p4,p5,p6,p7) NOOPEVENT_PU(type,p0,p1) NOOPEVENT_PW(type,p0,p1) NOOPEVENT_PWA(type,p0,p1,p2) NOOPEVENT_PWAW(type,p0,p1,p2,p3) NOOPEVENT_PWP(type,p0,p1,p2) NOOPEVENT_PWU(type,p0,p1,p2) NOOPEVENT_PWW(type,p0,p1,p2) NOOPEVENT_PWWWWDD(type,p0,p1,p2,p3,p4,p5,p6) NOOPEVENT_PWWWWW(type,p0,p1,p2,p3,p4,p5) NOOPEVENT_PWWWWWWWWW(type,p0,p1,p2,p3,p4,p5,p6,p7,p8,p9) NOOPEVENT_PWWWWWWWWWWWW(type,p0,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11,p12) NOOPEVENT_UUPA(type,p0,p1,p2,p3) NOOPEVENT_UUPP(type,p0,p1,p2,p3) NOOPEVENT_UUPPP(type,p0,p1,p2,p3,p4) NOOPEVENT_WS(type,p0,p1,l1) NOOP:EventEventTime ((EventType)0xEF213E99);EventPoolInit ((EventType)0xEFB07141)EventPoolFree ((EventType)0xEFB07F6E)?EventArenaCreateVM ((EventType)0xEFA64CF3)@EventArenaCreateVMNZ ((EventType)0xEFA64CF2)AEventArenaCreateCL ((EventType)0xEFA64CC7)BEventArenaDestroy ((EventType)0xEFA64DE5)CEventArenaAlloc ((EventType)0xEFA64A77)DEventArenaFree ((EventType)0xEFA64F6E)EEventSegAlloc ((EventType)0xEF5E9A77)FEventSegFree ((EventType)0xEF5E9F6E)GEventSegMerge ((EventType)0xEF5E93E6)HEventSegSplit ((EventType)0xEF5E95B7)IEventAMCGenCreate ((EventType)0xEFA3C94C)JEventAMCGenDestroy ((EventType)0xEFA3C94D)KEventAMCInit ((EventType)0xEFA3C141)LEventAMCFinish ((EventType)0xEFA3CF14)MEventAMCTraceBegin ((EventType)0xEFA3C26B)NEventAMCScanBegin ((EventType)0xEFA3C5CB)OEventAMCScanEnd ((EventType)0xEFA3C5CE)PEventAMCFix ((EventType)0xEFA3CF18)QEventAMCFixInPlace ((EventType)0xEFA3CF8A)REventAMCFixForward ((EventType)0xEFA3CF8F)SEventAMCReclaim ((EventType)0xEFA3C6EC)TEventTraceStart ((EventType)0xEF26AC52)UEventTraceCreate ((EventType)0xEF26ACC6)VEventTraceDestroy ((EventType)0xEF26ACDE)WEventSegSetGrey ((EventType)0xEF59596A)XEventTraceFlipBegin ((EventType)0xEF26AF7B)YEventTraceFlipEnd ((EventType)0xEF26AF7E)ZEventTraceReclaim ((EventType)0xEF26A6EC)[EventTraceScanSeg ((EventType)0xEF26A559)\EventTraceScanSingleRef ((EventType)0xEF26A556)^EventTraceAccess ((EventType)0xEF26AACC)_EventTracePoll ((EventType)0xEF26AB01)`EventTraceStep ((EventType)0xEF26A52B)aEventTraceFix ((EventType)0xEF26AF18)bEventTraceFixSeg ((EventType)0xEF26AF85)cEventTraceFixWhite ((EventType)0xEF26AF83)dEventTraceScanArea ((EventType)0xEF26A5CA)eEventTraceScanAreaTagged ((EventType)0xEF26A5C2)fEventVMCreate ((EventType)0xEFF3C6EA)gEventVMDestroy ((EventType)0xEFF3DE52)hEventVMMap ((EventType)0xEFF33AB9)iEventVMUnmap ((EventType)0xEFF3043B)jEventIntern ((EventType)0xEF142E64)kEventArenaExtend ((EventType)0xEFA64E82)lEventArenaRetract ((EventType)0xEFA646E2)mEventRootScan ((EventType)0xEF625CA4)nEventLabel ((EventType)0xEF7ABE79)oEventTraceSegGreyen ((EventType)0xEF26A599)pEventBufferReserve ((EventType)0xEFB0FF6E)qEventBufferCommit ((EventType)0xEFB0FFC0)rEventBufferInit ((EventType)0xEFB0FF14)sEventBufferInitSeg ((EventType)0xEFB0F15E)tEventBufferInitRank ((EventType)0xEFB0F16A)uEventBufferInitEPVM ((EventType)0xEFB0F1EF)vEventBufferFinish ((EventType)0xEFB0FFF1)wEventBufferFill ((EventType)0xEFB0FFF7)xEventBufferEmpty ((EventType)0xEFB0FFE3)yEventArenaAllocFail ((EventType)0xEFA64A7F)zEventSegAllocFail ((EventType)0xEF5E9A7F){EventMeterInit ((EventType)0xEF3E2141)|EventMeterValues ((EventType)0xEF3E2FA7)}EventCBSInit ((EventType)0xEFCB5141)~EventTraceStatCondemn ((EventType)0xEF26A5C0)EventTraceStatScan ((EventType)0xEF26A55C)EventTraceStatFix ((EventType)0xEF26A5F8)EventTraceStatReclaim ((EventType)0xEF26A56E)EventArenaWriteFaults ((EventType)0xEFA6436F)EventPoolInitMV ((EventType)0xEFB0713F)EventPoolInitMVFF ((EventType)0xEFB071FF)EventPoolInitMFS ((EventType)0xEFB07135)EventPoolInitEPVM ((EventType)0xEFB071EF)EventPoolInitEPDL ((EventType)0xEFB071E7)EventPoolInitAMS ((EventType)0xEFB071A5)EventPoolInitAMC ((EventType)0xEFB071AC)EventPoolInitAMCZ ((EventType)0xEFB071A2)EventPoolInitAWL ((EventType)0xEFB071A3)EventPoolInitLO ((EventType)0xEFB07170)EventPoolInitSNC ((EventType)0xEFB07154)EventPoolInitMVT ((EventType)0xEFB07132)EventPoolPush ((EventType)0xEFB07B58)EventPoolPop ((EventType)0xEFB07B0B)EventReservoirLimitSet ((EventType)0xEF6E5713)EventCommitLimitSet ((EventType)0xEFC03713)EventSpareCommitLimitSet ((EventType)0xEF5BC713)hEventInit() NOOPiEventFinish() NOOPjEventControl(r,f) (UNUSED(r), UNUSED(f), (Word)0)kEventInternString(s) (UNUSED(s), (Word)0)lEventInternGenString(l,s) (UNUSED(l), UNUSED(s), (Word)0)mEventLabelAddr(a,i) BEGIN UNUSED(a); UNUSED(i); ENDPlock_h ULockSig ((Sig)0x51970CC9) th_h  ring_h RingNONE ((Ring)0)$RingInit(ring) BEGIN Ring _ring = (ring); AVER(_ring != NULL); _ring->next = _ring; _ring->prev = _ring; AVER(RingCheck(_ring)); END/RingFinish(ring) BEGIN Ring _ring = (ring); AVER(RingCheckSingle(_ring)); _ring->next = RingNONE; _ring->prev = RingNONE; END9RingAppend(ring,new) BEGIN Ring _ring = (ring), _new = (new); AVER(RingCheck(_ring)); AVER(RingCheckSingle(_new)); _new->prev = _ring->prev; _new->next = _ring; _ring->prev->next = _new; _ring->prev = _new; ENDFRingInsert(ring,new) BEGIN Ring _ring = (ring), _new = (new); AVER(RingCheck(_ring)); AVER(RingCheckSingle(_new)); _new->prev = _ring; _new->next = _ring->next; _ring->next->prev = _new; _ring->next = _new; ENDSRingRemove(old) BEGIN Ring _old = (old); AVER(RingCheck(_old)); AVER(!RingIsSingle(_old)); _old->next->prev = _old->prev; _old->prev->next = _old->next; _old->next = _old; _old->prev = _old; END`RingNext(ring) ((ring)->next)dRingPrev(ring) ((ring)->prev)gRING_ELT(type,field,node) ((type)(void *)((char *)(node) - (size_t)(&((type)0)->field)))kRING_FOR(node,ring,next) for(node = RingNext(ring), next = RingNext(node); node != (ring); node = (next), next = RingNext(node))ThreadSig ((Sig)0x519286ED) ss_h  tract_h   bt_h BTSize(n) (((n) + MPS_WORD_WIDTH-1) / MPS_WORD_WIDTH * sizeof(Word))BTGet(a,i) ((Bool)(((a)[((i) >> MPS_WORD_SHIFT)] >> ((i) & ~((Word)-1 << MPS_WORD_SHIFT))) & (Word)1))BTSet(a,i) BEGIN (a)[((i)>>MPS_WORD_SHIFT)] |= (Word)1<<((i)&~((Word)-1<>MPS_WORD_SHIFT)] &= ~((Word)1 << ((i) & ~((Word)-1<base)&TractPool(tract) ((tract)->pool)'TractP(tract) ((tract)->p)(TractSetP(tract,pp) ((void)((tract)->p = (pp))))TractHasSeg(tract) ((Bool)(tract)->hasSeg)*TractSetHasSeg(tract,b) ((void)((tract)->hasSeg = (b)))+TractWhite(tract) ((tract)->white),TractSetWhite(tract,w) ((void)((tract)->white = (w)))8TRACT_SEG(segReturn,tract) (TractHasSeg(tract) && ((*(segReturn) = (Seg)TractP(tract)), TRUE));TRACT_SET_SEG(tract,seg) (TractSetHasSeg(tract, TRUE), TractSetP(tract, seg))>TRACT_UNSET_SEG(tract) (TractSetHasSeg(tract, FALSE), TractSetP(tract, NULL))nPageTract(page) (&(page)->the.tractStruct)rPageOfTract(tract) PARENT(PageStruct, the.tractStruct, (tract))vPagePool(page) ((page)->the.rest.pool)}PageIsAllocated(page) ((page)->the.rest.pool != NULL)PageType(page) ((page)->the.rest.type)ChunkSig ((Sig)0x519C804C)ChunkArena(chunk) ((chunk)->arena)ChunkPageSize(chunk) ((chunk)->pageSize)ChunkPageShift(chunk) ((chunk)->pageShift)ChunkPagesToSize(chunk,pages) ((Size)(pages) << (chunk)->pageShift)ChunkSizeToPages(chunk,size) ((Count)((size) >> (chunk)->pageShift))CHUNK_OF_ADDR(chunkReturn,arena,addr) (((arena)->chunkCache.base <= (addr) && (addr) < (arena)->chunkCache.limit) ? (*(chunkReturn) = (arena)->chunkCache.chunk, TRUE) : ChunkOfAddr(chunkReturn, arena, addr))AddrPageBase(chunk,addr) AddrAlignDown((addr), ChunkPageSize(chunk))TRACT_OF_ADDR(tractReturn,arena,addr) BEGIN Arena _arena = (arena); Addr _addr = (addr); Chunk _chunk; Index _i; if (CHUNK_OF_ADDR(&_chunk, _arena, _addr)) { _i = INDEX_OF_ADDR(_chunk, _addr); if (BTGet(_chunk->allocTable, _i)) *(tractReturn) = PageTract(&_chunk->pageTable[_i]); else *(tractReturn) = NULL; } else *(tractReturn) = NULL; ENDINDEX_OF_ADDR(chunk,addr) ((Index)ChunkSizeToPages(chunk, AddrOffset((chunk)->base, addr)))PageIndexBase(chunk,i) AddrAdd((chunk)->base, ChunkPagesToSize(chunk, i))TractAverContiguousRange(arena,rangeBase,rangeLimit) BEGIN Chunk _ch = NULL; UNUSED(_ch); AVER(ChunkOfAddr(&_ch, arena, rangeBase) && (rangeLimit) <= _ch->limit); ENDTRACT_TRACT_FOR(tract,addr,arena,firstTract,limit) tract = (firstTract); addr = TractBase(tract); TractAverContiguousRange(arena, addr, limit); for(; tract != NULL; (addr = AddrAdd(addr, (arena)->alignment)), (addr < (limit) ? (tract = PageTract(PageOfTract(tract) + 1)) : (tract = NULL) ))TRACT_FOR(tract,addr,arena,base,limit) TRACT_TRACT_FOR(tract, addr, arena, TractOfBaseAddr(arena, base), limit)mpmst_h protocol_h DERIVE_LOCAL(name) protocol ## nameDERIVE_STRUCT(name) name ## StructDERIVE_ENSURE(name) name ## GetDERIVE_ENSURE_OLD(name) Ensure ## nameDERIVE_ENSURE_INTERNAL(name) protocolGet ## nameDERIVE_GUARDIAN(name) protocol ## name ## GuardianDERIVE_STATIC_STORAGE(name) protocol ## name ## StructProtocolClassSetSuperclassPoly(class,super) (((ProtocolClass)(class))->superclass) = (ProtocolClass)(super)$DEFINE_CLASS(className,var) static Bool DERIVE_GUARDIAN(className) = FALSE; static DERIVE_STRUCT(className) DERIVE_STATIC_STORAGE(className); static void DERIVE_ENSURE_INTERNAL(className)(className); extern className DERIVE_ENSURE(className)(void); className DERIVE_ENSURE(className)(void) { if (DERIVE_GUARDIAN(className) == FALSE) { LockClaimGlobalRecursive(); if (DERIVE_GUARDIAN(className) == FALSE) { DERIVE_ENSURE_INTERNAL(className) (&DERIVE_STATIC_STORAGE(className)); DERIVE_GUARDIAN(className) = TRUE; } LockReleaseGlobalRecursive(); } return &DERIVE_STATIC_STORAGE(className); } extern className DERIVE_ENSURE_OLD(className)(void); className DERIVE_ENSURE_OLD(className)(void) { return DERIVE_ENSURE(className)(); } static void DERIVE_ENSURE_INTERNAL(className) (className var)AINHERIT_CLASS(this,parentName) BEGIN parentName DERIVE_LOCAL(parentName) = DERIVE_ENSURE(parentName)(); *this = *(DERIVE_LOCAL(parentName)); ProtocolClassSetSuperclassPoly(this, DERIVE_LOCAL(parentName)); ENDODEFINE_ALIAS_CLASS(className,typeName,var) typedef typeName className; typedef DERIVE_STRUCT(typeName) DERIVE_STRUCT(className); DEFINE_CLASS(className, var)VProtocolClassSig ((Sig)0x519B60C7)WProtocolInstSig ((Sig)0x519B6014)ProtocolClassSuperclassPoly(class) (((ProtocolClass)(class))->superclass)ClassOfPoly(inst) ((ProtocolInst)(inst)->class)IsSubclassPoly(sub,super) ProtocolIsSubclass((ProtocolClass)(sub), (ProtocolClass)(super))SUPERCLASS(className) ProtocolClassSuperclassPoly(DERIVE_ENSURE(className)())chain_h GenDescSig ((Sig)0x5199E4DE)+PoolGenSig ((Sig)0x519B009E);ChainSig ((Sig)0x519C8A14)XPoolGenNr(gen) ((gen)->nr)/PoolClassSig ((Sig)0x519C7A55)]PoolSig ((Sig)0x519B0019)}MFSSig ((Sig)0x5193F599)MVSig ((Sig)0x5193B999)ReservoirSig ((Sig)0x5196e599)MessageClassSig ((Sig)0x519359c1)MessageSig ((Sig)0x5193e559)SegClassSig ((Sig)0x5195E9C7)SegSig ((Sig)0x5195E999)GCSegSig ((Sig)0x5199C5E9)SegPrefSig ((Sig)0x5195E9B6)BufferClassSig ((Sig)0x519B0FC7)BufferSig ((Sig)0x519B0FFE)SegBufSig ((Sig)0x51959B0F)FormatSig ((Sig)0x519F63A2)ScanStateSig ((Sig)0x5195CA45)TraceSig ((Sig)0x51924ACE)ChunkCacheEntrySig ((Sig)0x519C80CE)ArenaClassSig ((Sig)0x519A6C1A)GlobalsSig ((Sig)0x519970BA)ArenaSig ((Sig)0x519A6E4A)%BoolCheck(b) ((unsigned)(b) <= 1)(FUNCHECK(f) (FunCheck((Fun)f))4WordIsAligned(w,a) (((w) & ((a) - 1)) == 0)7WordAlignUp(w,a) (((w) + (a) - 1) & ~((Word)(a) - 1));WordRoundUp(w,r) (((w)+(r)-1) - ((w)+(r)-1)%(r))>WordAlignDown(w,a) ((w) & ~((Word)(a) - 1))@size_tAlignUp(s,a) ((size_t)WordAlignUp((Word)(s), a))BPointerAdd(p,s) ((void *)((char *)(p) + (s)))CPointerSub(p,s) ((void *)((char *)(p) - (s)))EPointerOffset(base,limit) ((size_t)((char *)(limit) - (char *)(base)))HPointerAlignUp(p,s) ((void *)WordAlignUp((Word)(p), (Align)(s)))KAddrAdd(p,s) ((Addr)PointerAdd((void *)(p), s))LAddrSub(p,s) ((Addr)PointerSub((void *)(p), s))NAddrOffset(b,l) ((Size)(PointerOffset((void *)(b), (void *)(l))))RAddrAlignDown(p,a) ((Addr)WordAlignDown((Word)(p), a))TAlignWord(s) ((Word)(s))VAddrIsAligned(p,a) WordIsAligned((Word)(p), a)WAddrAlignUp(p,a) ((Addr)WordAlignUp((Word)(p), a))YSizeIsAligned(s,a) WordIsAligned((Word)(s), a)ZSizeAlignUp(s,a) ((Size)WordAlignUp((Word)(s), a))[SizeAlignDown(s,a) ((Size)WordAlignDown((Word)(s), a))]SizeRoundUp(s,r) ((Size)WordRoundUp((Word)(s), (Size)(r)))_IndexIsAligned(s,a) WordIsAligned((Word)(s), a)`IndexAlignUp(s,a) ((Index)WordAlignUp((Word)(s), a))aIndexAlignDown(s,a) ((Index)WordAlignDown((Word)(s), a))cAlignIsAligned(a1,a2) WordIsAligned((Word)(a1), a2)iAddrSet(target,value,size) mps_lib_memset(target, (int)(value), size)mAddrCopy(target,source,size) mps_lib_memcpy(target, source, size)qAddrComp(a,b,size) mps_lib_memcmp(a, b, size)wADDR_PTR(type,addr) ((type *)(addr))PoolArena(pool) ((pool)->arena)PoolAlignment(pool) ((pool)->alignment)PoolSegRing(pool) (&(pool)->segRing)PoolFix(pool,ss,seg,refIO) ((*(pool)->fix)(pool, ss, seg, refIO))ClassOfPool(pool) ((pool)->class)SuperclassOfPool(pool) ((PoolClass)ProtocolClassSuperclassPoly((pool)->class))DEFINE_POOL_CLASS(className,var) DEFINE_ALIAS_CLASS(className, PoolClass, var)POOL_SUPERCLASS(className) ((PoolClass)SUPERCLASS(className))TraceSetSingle(trace) BS_SINGLE(TraceSet, (trace)->ti)TraceSetIsSingle(ts) BS_IS_SINGLE(ts)TraceSetIsMember(ts,trace) BS_IS_MEMBER(ts, (trace)->ti)TraceSetAdd(ts,trace) BS_ADD(TraceSet, ts, (trace)->ti)TraceSetDel(ts,trace) BS_DEL(TraceSet, ts, (trace)->ti)TraceSetUnion(ts1,ts2) BS_UNION(ts1, ts2)TraceSetInter(ts1,ts2) BS_INTER(ts1, ts2)TraceSetDiff(ts1,ts2) BS_DIFF(ts1, ts2)TraceSetSuper(ts1,ts2) BS_SUPER(ts1, ts2)TraceSetSub(ts1,ts2) BS_SUB(ts1, ts2)TraceSetComp(ts) BS_COMP(ts)TRACE_SET_ITER(ti,trace,ts,arena) for(ti = 0, trace = ArenaTrace(arena, ti); ti < TraceLIMIT; ++ti, trace = ArenaTrace(arena, ti)) BEGIN if (TraceSetIsMember(ts, trace)) {TRACE_SET_ITER_END(ti,trace,ts,arena) } ENDTRACE_SCAN_BEGIN(ss) BEGIN Shift SCANzoneShift = (ss)->zoneShift; ZoneSet SCANwhite = (ss)->white; RefSet SCANsummary = (ss)->unfixedSummary; Word SCANt; {TRACE_FIX1(ss,ref) (SCANt = (Word)1 << ((Word)(ref) >> SCANzoneShift & (MPS_WORD_WIDTH-1)), SCANsummary |= SCANt, SCANwhite & SCANt)TRACE_FIX2(ss,refIO) ((*(ss)->fix)(ss, refIO))TRACE_FIX(ss,refIO) (TRACE_FIX1(ss, *(refIO)) ? TRACE_FIX2(ss, refIO) : ResOK)TRACE_SCAN_END(ss) } (ss)->unfixedSummary = SCANsummary; ENDDEFINE_ARENA_CLASS(className,var) DEFINE_ALIAS_CLASS(className, ArenaClass, var)ARENA_SUPERCLASS(className) ((ArenaClass)SUPERCLASS(className))ArenaGlobals(arena) (&(arena)->globals)GlobalsArena(glob) PARENT(ArenaStruct, globals, glob)ArenaRootRing(arena) (&(arena)->rootRing)ArenaTraceRing(arena) (&(arena)->traceRing)ArenaThreadRing(arena) (&(arena)->threadRing)ArenaEpoch(arena) ((arena)->epoch)ArenaTrace(arena,ti) (&(arena)->trace[ti])ArenaZoneShift(arena) ((arena)->zoneShift)ArenaAlign(arena) ((arena)->alignment)ArenaGreyRing(arena,rank) (&(arena)->greyRing[rank])ArenaReservoir(arena) (&(arena)->reservoirStruct)DEFINE_SEG_CLASS(className,var) DEFINE_ALIAS_CLASS(className, SegClass, var)SEG_SUPERCLASS(className) ((SegClass)SUPERCLASS(className))ClassOfSeg(seg) ((seg)->class)SegBase(seg) (TractBase((seg)->firstTract))SegLimit(seg) ((seg)->limit)SegPool(seg) (TractPool((seg)->firstTract))SegRankSet(seg) ((RankSet)(seg)->rankSet)SegPM(seg) ((AccessSet)(seg)->pm)SegSM(seg) ((AccessSet)(seg)->sm)SegDepth(seg) ((unsigned)(seg)->depth)SegGrey(seg) ((TraceSet)(seg)->grey)SegWhite(seg) ((TraceSet)(seg)->white)SegNailed(seg) ((TraceSet)(seg)->nailed)SegOfPoolRing(node) (RING_ELT(Seg, poolRing, (node)))SegOfGreyRing(node) (&(RING_ELT(GCSeg, greyRing, (node)) ->segStruct))SegSummary(seg) (((GCSeg)(seg))->summary)SegSetPM(seg,mode) ((void)((seg)->pm = (mode)))SegSetSM(seg,mode) ((void)((seg)->sm = (mode)))SegSetDepth(seg,d) ((void)((seg)->depth = (d)))SegSetNailed(seg,ts) ((void)((seg)->nailed = (ts)))BUFFER_RESERVE(pReturn,buffer,size,withReservoirPermit) (AddrAdd(BufferAlloc(buffer), size) > BufferAlloc(buffer) && AddrAdd(BufferAlloc(buffer), size) <= BufferAP(buffer)->limit ? (*(pReturn) = BufferAlloc(buffer), BufferAP(buffer)->alloc = AddrAdd(BufferAlloc(buffer), size), ResOK) : BufferFill(pReturn, buffer, size, withReservoirPermit))BUFFER_COMMIT(buffer,p,size) (BufferAP(buffer)->init = BufferAlloc(buffer), BufferAP(buffer)->limit != 0 || BufferTrip(buffer, p, size))BufferAP(buffer) (&(buffer)->apStruct)BufferOfAP(ap) PARENT(BufferStruct, apStruct, ap)BufferArena(buffer) ((buffer)->arena)BufferPool(buffer) ((buffer)->pool)BufferBase(buffer) ((buffer)->base)BufferGetInit(buffer) (BufferAP(buffer)->init)BufferAlloc(buffer) (BufferAP(buffer)->alloc)BufferLimit(buffer) ((buffer)->poolLimit)DEFINE_BUFFER_CLASS(className,var) DEFINE_ALIAS_CLASS(className, BufferClass, var)BUFFER_SUPERCLASS(className) ((BufferClass)SUPERCLASS(className))RankSetIsMember(rs,r) BS_IS_MEMBER((rs), (r))RankSetSingle(r) BS_SINGLE(RankSet, (r))RankSetIsSingle(r) BS_IS_SINGLE(r)RankSetUnion(rs1,rs2) BS_UNION((rs1), (rs2))RankSetDel(rs,r) BS_DEL(RankSet, (rs), (r))AddrZone(arena,addr) (((Word)(addr) >> (arena)->zoneShift) & (MPS_WORD_WIDTH - 1))RefSetUnion(rs1,rs2) BS_UNION((rs1), (rs2))RefSetInter(rs1,rs2) BS_INTER((rs1), (rs2))RefSetDiff(rs1,rs2) BS_DIFF((rs1), (rs2))RefSetAdd(arena,rs,addr) BS_ADD(RefSet, rs, AddrZone(arena, addr))RefSetIsMember(arena,rs,addr) BS_IS_MEMBER(rs, AddrZone(arena, addr))RefSetSuper(rs1,rs2) BS_SUPER((rs1), (rs2))RefSetSub(rs1,rs2) BS_SUB((rs1), (rs2))ZoneSetUnion(zs1,zs2) BS_UNION(zs1, zs2)ZoneSetInter(zs1,zs2) BS_INTER(zs1, zs2)ZoneSetDiff(zs1,zs2) BS_DIFF(zs1, zs2)ZoneSetAdd(arena,zs,addr) BS_ADD(ZoneSet, zs, AddrZone(arena, addr))ZoneSetIsMember(arena,zs,addr) BS_IS_MEMBER(zs, AddrZone(arena, addr))ZoneSetSub(zs1,zs2) BS_SUB(zs1, zs2)ZoneSetSuper(zs1,zs2) BS_SUPER(zs1, zs2)ZoneSetComp(zs) BS_COMP(zs)STATISTIC(gather) BEGIN (gather); ENDSTATISTIC_STAT(gather) BEGIN gather; ENDSTATISTIC_WRITE(format,arg) (format), (arg),ref.cJan 17 200703:39:23$Id: //info.ravenbrook.com/project/mps/master/code/ref.c#8 $|  AB  AB aAB B|AB O. ^$#RankCheck#RankSetCheck#ZoneSetOfRangeI$ZoneSetOfSeg$refSrcIdallocTablePoolDescribeMethodcontrolPoolStructpageTableLimitgreySegMaxchunkFinishnamepageSizeFormatPadMethodrankrootSerialchunkRingArenaAllocMethodreservoirSizeactiveTracesformatfoundationLockPoolBufferClassMethodTraceFixMethodsuperclassthreadRingunitsPerExtentPagefillMutatorSizepoolSerialBoolprehistoryArenaFreeMethodunitSizesetRankSetunsigned intGNU C 3.4.6 [FreeBSD] 20060305BufferRankSetMethodextendArenaChunkFinishMethodfillInternalSizeBufferReassignSegMethodreassignSegisCollectedpoolReadyscmidwhiteSegRefCountforwardedSizeforwardedCountArenaSpareCommitExceededMethodProtocolClassmergegreyRingfinishshort intAlignArenaDescribeMethodprotocoldescribefillSizesegScanCountPoolmodePoolDebugMixinStructrememberedSummaryRingprevfixRefCountserialEpochsetBufferapStructemptyMutatorSizeallocMutatorSizePoolFramePushMethodPoolFinishMethodbusyTraceslwPopPendingchunkspansallocBasesuspendedpollThresholdArenaStructenabledMessageTypesmpsVersionStringSizefreeListframePopGlobalsStructreservoirStructChainStructbaseArenaClassAccessSetframeptrhistorySegSetRankSummaryMethodFileSrcIdStructlong long unsigned intfileoffsettraceshDepthhighattrgenCountSegClassStructRankCheckrateFreeBlockStepMethodPoolClassStructglobalsprimaryArenaChunkInitMethodarenaBufferFinishMethodFormatVarietyPoolWalkMethodskipPoolFreeMethodmortalitywasMarkedproflowZoneSetOfRangemessageRingsize_tmoveAPStructTractStructrampEndmayMoveBootBlockpoolLimitChunkclampedPoolReclaimMethodunroundedUnitSizeshCachereclaimCountpageTablePagesfreePoolFixMethodSegPrefWordmps_lib_stream_sFormatStructpreservedInPlaceCountfreewalkframePushFormattedObjectsStepMethodSegClassgensCountPageStructisMovedsetRankSummarySegDescribeMethodbufferClassPoolDebugMixinSegSetSummaryMethodinsidePollreclaimAddrreservoirLimitcharscannedSizereserveBufferStructFormatScanMethodchunkSerialSegFinishMethodMFSHeaderStructSerialLockStructsplitZoneSetOfSegFormatClassMethodArenaFormatMoveMethodspacefinalPoolBufferDescribeMethodBufferModelimitMFSStructArenaInitMethodlockrampCountPoolFixEmergencyMethodzoneShiftpagesisGennailedPoolFreeWalkMethodchainva_listChainlong long intMVStructtracedTimeZoneSetTractBufferSegMethoddepthPoolRampEndMethodlocusRingfixEmergencyTracegreylastWorldCollectPoolDebugMixinMethodpageShiftChunkCacheEntryStructBufferClassStructArenaClassStructrememberedSummaryIndexgreySegCountisMutatorArenaFinishMethodfixedSummarycommittedframePopPendingscansingleCopiedSizeSegSetBufferMethodProtocolInstStructAddrStructrampBeginbufferPoolRampBeginMethodsizeSegStructGenDescStructProtocolInstBufferSetRankSetMethodinitAtFlipPoolStructpoolRingFormatdetachspareCommitLimittopGenPoolWhitenMethodspanPoolStructPoolInitMethodzbaseTraceIdpoolaccesschainRingPoolGreyMethodlastTractzlimitMutatorFaultContextvarietyemptyInternalSizeSrcIdarenaRingsegRefCountavgSizecopytractListBufferDetachMethodPoolScanMethodFormatCopyMethodlostcapacitywhitenScanStatecondemnedbufferRingChunkStructflippedTracesrootScanCountenabledrootScanSizepointlessScanCountallocRankshCacheLimitsegCopiedSizeBufferInitMethodlong intsetSummarynotCondemnedextendByTraceStateTraceSetstatepreservedInPlaceSizenextSegBufferMethodbuild_timePoolClassProtocolCoerceInstMethodemergencyPoolBlackenMethodwhitepoolStruct__size_trootRingSegInitMethodFormatSkipMethodsegScanSizecopiedSizeArenaExtendMethodScanStateStructSegSetWhiteMethodunfixedSummarypageTableBaselastTractBasethreadSeriallabelledsetGreytracedSize__va_listwalksetWhitePoolAllocMethodRingStructrankSetlong unsigned intPoolFramePopPendingMethodSrcIdStructBootBlockStructwriteBarrierHitCountMutatorFaultContextStructArenaReservedMethodinitAttrbufferLoggingProtocolClassStructclassbufferFillIndexspareCommitExceededFormatIsMovedMethodmaxSizechunkInitPoolAccessMethodsnapCounttypeattachnailCountunsigned char__uint32_tspareCommittedinsideShieldRingSegSplitMethodblockPoolStructRefSetAllocFrameStructPoolFramePopMethodtractStructBufferClassformatSerialsegRingAllocFramehasSegcoerceClassReservoirStructbuild_datesingleScanSizeBufferreadBarrierHitCountpageTableheaderSizecoerceInstrefSrcIddebugMixinref.cchunkCachesigned charSegMergeMethodSegPrefStructmps_lib_FILEPoolBufferFillMethodreclaimSizebufferSerialshort unsigned intzonesbufferEmptyProtocolCoerceClassMethodreservedRankSetisFinalPooldoublesingleScanCountfirstTractalignmentPoolBufferEmptyMethodBufferAttachMethodrestSegSetRankSetMethodShiftemptySize/home/hannes/dylan/mps/codeTraceStructRankSetCheckglobalRingformatRingcommitLimitrootCopiedSizeSegSetGreyMethodshCacheIepochblackentracesGCC: (GNU) 3.4.6 [FreeBSD] 20060305.symtab.strtab.shstrtab.rel.text.rel.data.bss.debug_abbrev.rel.debug_info.rel.debug_line.debug_macinfo.rodata.str1.1.rodata.str1.4.rel.rodata.rel.debug_frame.rel.debug_pubnames.rel.debug_aranges.debug_str.comment4 ()% 0/4F$B 88V4'R p b(uq22= x  @b   0%Cdp ԹS     * 7aF|ref.cFileSrcIdStructrefSrcIdRankCheckRankSetCheckZoneSetOfRangeZoneSetOfSeg  !%*18?MX_fmt{(39Zev| #.9Tek-<KZiy,;Ziq%4CRap (6DR`n &4BP^lz"0>LZhv  ) 8 G V e t            ( 7 F U d s           : I X g v            + @ V d r           0 > L Z h v         !0@U,>Qfn|$2Od{ />M\kz 0@P`p 0@P`p 0@P`p '6ETcr*4<JXf(i+\ .Uw*Ur4Z.Z>ny)P1Rt  4 ? K \ q        !N!]!s!!!!!!!!!!! ""("6"S"_"n"w""""""""" ##"#.#:#L###########$$$!$/$<$O$Z$^$e$$$ $$r     0 4H Lh lbt.o/ 1169001564 1001 1001 100644 81548 ` ELF 44(UjEPu EP…u UEÐU EPuu UÉUEÍvUM EÐUS]M  [ÐUS]M ![ÐUWVS ]u }F9r+9у 4B9rF9v.E )!‹M \UM9su DE9sv@9r;}v )  [^_UWVSu }F9r.9у]B9rF9v2 )!¹uuxU9suDuO9sM<u3@9r;}v1 )]u ȃ[^_ÐUWVS] uC9r.9у]B9rC9v> )ك!‰M!й9UM9s!ك‹]M#T9uWE9sv]9$كuu 9C9rF9vF )!‰ЋM#u #9vUMU9s&K‹u#M #9ueU;Us]u ;uAB;Ur;}v? )‹M]#u #9uȃ [^_ÐUWVS }G;Er\;}=EӃ}tЋ]} !у} B;UrG;EvEE )!ÉҋE #M! ‹] UUM9s/K׈ҋE #M! ‹} U9sMЋ] B9r}9}v1E )ҋE #M! ‹]  [^_UWVS u}F9rb9,EӃut]u vуыu ! B9rvF9v= )!‰ЋM #u# ЉUM9s-IMЋuM #M# ЋU U9sMu B9r;}v* )ЋM #u# Љ [^_UWVSu U];UsKу}tك <ك! BC;Ur[^_UWVS}uU 9sуB9r[^_C% $ > $ > : ; I I&I : ;  : ; I8 < : ; I  : ;I8 : ;I8  : ; I8  : ; I 8  : ;I 8  : ;I 8  : ; ' II' ' I : ;  : ;  : ; I: ;II!I/ .? : ; ' I@ : ; I 4: ; I .? : ; ' @ !: ; I ".: ; ' I@ #.? : ;' @ $: ;I %: ;I & '4: ;I ( ).? : ;' I@ * U+ U,.: ;' I@ - : ;.4: ;I/4: ;I 04: ; I 14: ; I?  ?L$+int 8W l6+ _L |7zE "b"$#%#&#'# "M 2  . Sigl ResE l"ou R #YT$Y%Y5&Y~'Wh (W Ref)d  ,Y -Y.W/W1{@ 2WT3WB4W#5W6Wi7W BT:MY;^d nY @> ODM!# E# F# G)# $HT# Iq# J#$ XK3#( segL#, .M#0 N#4 zO#8 sigPC#< AWC ad# bd# cd# 4dd# e# [f# D<D sigC# # 8# P# # 2#  # 0# Q#$ es#( ~#, pad#0 #4 {#8F wG XGsig`C#a# b#Pc#  d#e#{f# kg#$2h#,i#0fixj=#4rks#8ls#@Qms#H ns#PH HO2M!#3# 4#5#6-#7Y# $8#$9#(:#,;#0<-#4` =Y#86>#<A ?#@ @#D A#HfixB=#L. Cm#PDx#T] E#XF#\ G#`H#d I(#hJO#lK#pL#tXM#xN#|O#sigPC#; O O sigC# ti# P# # # ]# # * # [{# ,{#$ {#( {#, #0 r#4 #8 #< {#@ j#D \#H {#L #P #T  {#X #\ #` #d #h |#l #p  #t  #x  {#|  # c {# h# o#=P  * TP fix# / Y# # # sigC# P# ( # # # #$ #( #, #0 #4 |#8 #< {#@ #D c{#H h{#L {#P Q5 ;  Qsig>C#P?#g @#A #B#OC!# R   RH #p#d# # ~W# #S   8SsigC##P## {#l #d# d# t#$9 #(C#,U #0#4?v T sigC# h # d# d# ?# F?#mUJPkZUtheh+ # SegVv|P V sigC# P# ' #  #  d#  W#pm "#sm "#A  # #S  #.#@X[aNLXOM!## ##$#!T# g v#$#(#, #0 #4m-#8X#<#@o #DsigC#HZY_?Z sig0C# 1# 2# 3# M 4# gen5#\ H\ O&M!# 'E## (# )# *# $+# ,#$ $-#( %.#, /'#0 0h#4 T1#8 }2#< X3#@ sig4C#D ^(^ oK## p#t r#x t#| 4u ## w## y{# z{# |{# }{# / # 2#  # d# % # # < # 9## !# # ^# # C# # # S# # # UW## {# {# {# ~# P #  # g## s# ]s# F Y# w## # g # # # =## sigC#t_ sigBC# E# F# Is# J# )K# rLs# Ms#( Ns#0 QOs#8 Ps#@ S#H V#L Y#P Z#X 4]#\ ^#d a#h d#p d e  sg#) hh !#  #X{#\{#`sigC#d nN8 op{qsr 'Nd{t28\N\bN{d usyd{-vN S,w ;xN'9 $N $5;[dlfldd=Nkd{8H kk j-kE8>Tk_evk}jk, kj|Nk0Nkkddd84:TNj8V_eqjR|jddd{ _ kj j jb"3jk >DYNj1 djN84N\{d{Z-N\\j{<8>Yjdd^djNkd" șNkq k k7N7 kHNmN k$ H1n Ҏj ӵj Nj#(NjH39OjwZ`k*l{ ݋[#޲x!NW + 0N ddK;AQdd \bsdd8;\d{ ;#x### + gH e#fE#J hFceg ZiPJ \f l  \sig}C#H~[ # #!#  a   ? asigC# [ #m  !! [  x'!-!G!G![ [ [ l ! $sigC##- {#!s# "s# ## $X!! oR" t !#C{#X9{#\{#`^Y#dX"#h  #lsigC#p X R" ! # ` !#^"#X" ^"#9{# {#L{# {#({#n#sigC# i"/gdv  eg#kw#-###$N;U$PP MresNPbtCRp|C H$<\U!btCP Mʆ"p$\fU!btC$hyU!nl$|U!tCP!iQ#$U$tCS$iQ#,%U$tCS$iQ#%~#U$t"CS%"V% "W&%'.R('.P(T'? .l'u.P'.h' .R)&9U$bt8C%8V% 8W*C&'ER+'EP+0'? Ep'uEP'ES' ER)'QU$btPC%PS% PV*&H'aR+`'aP&$'L'aYR+x'? ap'uaP'al' aW&'e'aYP('aYP#S(mU$tlCS%lV% lW&')'wR(0'wP(j'? wl'uwP'wh' wR,?0u m U%i?0P% i?0P$btjC%EkP%k%ll%hllP'np'Bol' pV' q`'r\--9 - Q ($ 'd'h&+5']7X'Z ?0T'ICW*)'R(|'P&.*'P(' S'YP'Q'YR('? H'uR'D' @&*B'(B' S'YP'Q'YR&2+L'-(O' V'YP'Q'YS('V(' S'YP'Q'YR&-9 ']7'Z ?0'IC*+'S(l 'W&g,w'W(|'R' S'YP'Q'YR( '? P'uP'' S&-d'(d'Q' 'YP'Q'YR&-l'-(r.' 'YR'Q'YS( 'P( .' W'YR'S'YV(C t 'Q'S(e Q .]7.Z ?0'IC*_.'R( > 'P&. 'W( ' V'YP'Q'YR( > '? 'uR'W' &y/ j '(& j ' R'YP'Q'YV&/q '-P(s ' 'Y~'V'YW( > '~( > ' W'YP'Q'Y~,8e U%?0P% ?0P$btC%E%%l%hl 'p'`'l'V'x\'BX-U%- Q-( 'd'h&3 %']7T'Z ?0P'ICW*1'S(` 'L&@2m 'H(m 'R' S'YP'Q'YR( '? P'uR'D' S&2 R '@( R 'Q' V'YP'Q'YR&[3\ '-V(_ .' 'YP'Q'YS( '( .' V'YP'R'YS&5IQ']7'Z ?0'ICW*4'R(5'P&4'(' S'YP'Q'YR(5'? 'uR'' &75#p'('p' S'YP'Q'YR&5x'-({' 'Y~'S'YP(5'S(5' 'YP'Q'YR(['V'R'R(']7'Z ?0'ICW*|6'S('&7?'(?'R' S'YP'Q'YR(?'? P'uP'~' S&7Y'~(_'Q' ~'YP'Q'YR&$8('-~((.' ~'YR'Q'YS(6'P(=.' ~'YR'S'Y~)9M !;U%?0% ?0 $btC%EQ%R%M l)|93<_U%/?0% /?0 $bt0C%E1Q%1R%M2l)9GE`~U%A?0% A?0 $btBC%EC%C%MDlP)f:XU%T?0% T?0 $btUC%EV%V%MWlP);gU%$ fC%fC %fV% fW*: '~S+8'~P&;D'~S'~YR+P'? ~p'u~R'~l' ~h&{;^'~S'~YP*;h.J~(.~'~YP#=.XU%CC%wC %W% &'<^'R(dP'P&h<o'V'YS(P'? p'uR'l' V&<'S'YW&<.J(P.'YS#t>XU%CC%wC %V% W&=n'R('P&='S'YR('? p'uR'l' S&3>0]'h'YR&M>dp.J(z.'YR#?i U%CC%wCV%% %J%o'R' S)c?LU$btCW% % V/cS/bitR061b /usr/include/usr/include/sys/usr/include/machinebt.hmpmtypes.hconfig.hmpstd.hmisc.hstddef.hcdefs.h_null.h_types.h_types.hmpslib.hstdarg.hcheck.hmpm.hevent.heventcom.heventgen.hlock.hth.hring.hss.htract.hmpmst.hprotocol.hchain.hbt.c c:*KV Uhr += = Uh, 9 G G   V V  rr:,/U'tedgr:V:d=:rI?Vrrd,5Oteǎ,gr:d8Xd(dMV:dI?V u 9u 9eY GeY GV   VWzqy[[rpX__STDC_HOSTED__ 1__GNUC__ 3__GNUC_MINOR__ 4__GNUC_PATCHLEVEL__ 6__SIZE_TYPE__ unsigned int__PTRDIFF_TYPE__ int__WCHAR_TYPE__ int__WINT_TYPE__ unsigned int __GXX_ABI_VERSION 1002 __SCHAR_MAX__ 127 __SHRT_MAX__ 32767 __INT_MAX__ 2147483647 __LONG_MAX__ 2147483647L__LONG_LONG_MAX__ 9223372036854775807LL__WCHAR_MAX__ 2147483647__CHAR_BIT__ 8__FLT_EVAL_METHOD__ 2__FLT_RADIX__ 2__FLT_MANT_DIG__ 24__FLT_DIG__ 6__FLT_MIN_EXP__ (-125)__FLT_MIN_10_EXP__ (-37)__FLT_MAX_EXP__ 128__FLT_MAX_10_EXP__ 38__FLT_MAX__ 3.40282347e+38F__FLT_MIN__ 1.17549435e-38F__FLT_EPSILON__ 1.19209290e-7F__FLT_DENORM_MIN__ 1.40129846e-45F__FLT_HAS_INFINITY__ 1__FLT_HAS_QUIET_NAN__ 1__DBL_MANT_DIG__ 53 __DBL_DIG__ 15!__DBL_MIN_EXP__ (-1021)"__DBL_MIN_10_EXP__ (-307)#__DBL_MAX_EXP__ 1024$__DBL_MAX_10_EXP__ 308%__DBL_MAX__ 1.7976931348623157e+308&__DBL_MIN__ 2.2250738585072014e-308'__DBL_EPSILON__ 2.2204460492503131e-16(__DBL_DENORM_MIN__ 4.9406564584124654e-324)__DBL_HAS_INFINITY__ 1*__DBL_HAS_QUIET_NAN__ 1+__LDBL_MANT_DIG__ 53,__LDBL_DIG__ 15-__LDBL_MIN_EXP__ (-16381).__LDBL_MIN_10_EXP__ (-4931)/__LDBL_MAX_EXP__ 163840__LDBL_MAX_10_EXP__ 49321__DECIMAL_DIG__ 172__LDBL_MAX__ 1.1897314953572316e+4932L3__LDBL_MIN__ 3.3621031431120935e-4932L4__LDBL_EPSILON__ 2.2204460492503131e-16L5__LDBL_DENORM_MIN__ 7.4653686412953080e-4948L6__LDBL_HAS_INFINITY__ 17__LDBL_HAS_QUIET_NAN__ 18__REGISTER_PREFIX__ 9__USER_LABEL_PREFIX__ :__VERSION__ "3.4.6 [FreeBSD] 20060305";__OPTIMIZE__ 1<__FINITE_MATH_ONLY__ 0=__STRICT_ANSI__ 1@__i386 1A__i386__ 1B__tune_i386__ 1C__FreeBSD__ 6D__unix 1E__unix__ 1F__KPRINTF_ATTRIBUTE__ 1J__FreeBSD_cc_version 602001K__ELF__ 1_REENTRANT 1CONFIG_PROD_DYLAN 1CONFIG_VAR_HI 1NDEBUG 1 bt_h  mpmtypes_h config_h !CONFIG_DEBUG "CHECK_DEFAULT CheckNONE6CHECK_NONE 7MPS_ASSERT_STRING "nonasserted"?EVENT_NONE @MPS_LOG_STRING "nonlogging"EDIAGNOSTICS FMPS_DEBUG_STRING "debug"LMPS_VARIETY_STRING MPS_ASSERT_STRING "." MPS_LOG_STRING "." MPS_DEBUG_STRINGRmpstd_h MPS_PF_FRI4GC MPS_PF_STRING "fri4gc"MPS_OS_FR MPS_ARCH_I4 MPS_BUILD_GC MPS_T_WORD unsigned longMPS_WORD_WIDTH 32MPS_WORD_SHIFT 5MPS_PF_ALIGN 4EPVMDefaultSubsequentSegSIZE (64ul * 1024)ARENA_CONTROL_EXTENDBY ((Size)4096)ARENA_CONTROL_AVGSIZE ((Size)32)ARENA_CONTROL_MAXSIZE ((Size)65536)ArenaPollALLOCTIME (65536.0)ARENA_ZONESHIFT ((Shift)20)ARENA_CLIENT_PAGE_SIZE ((Size)8192)ArenaDefaultZONESET (ZoneSetUNIV << (MPS_WORD_WIDTH / 2))SegPrefDEFAULT { SegPrefSig, TRUE, ArenaDefaultZONESET, FALSE, FALSE, (Serial)0, }LDHistoryLENGTH ((Size)4)StackProbeDEPTH ((Size)0)ShieldCacheSIZE ((size_t)16)ShieldDepthWIDTH (4)VMANPageALIGNMENT ((Align)4096)VMJunkBYTE ((unsigned char)0xA9)TraceLIMIT ((size_t)1)TraceCopyScanRATIO (1.5)RememberedSummaryBLOCK 15EventBufferSIZE ((size_t)4096)EventStringLengthMAX ((size_t)255)ASSERT_BUFFER_SIZE ((Size)512)MPS_PROD_STRING "dylan"MPS_PROD_DYLAN ARENA_INIT_SPARE_COMMIT_LIMIT ((Size)10uL*1024uL*1024uL)THREAD_MULTI PROTECTION DONGLE_NONE PROD_CHECK_DEFAULT CheckSHALLOWARENA_SIZE ((Size)1<<30)misc_h '_STDDEF_H_ )%_SYS_CDEFS_H_ +__BEGIN_DECLS ,__END_DECLS 8__GNUCLIKE_ASM 39__GNUCLIKE_MATH_BUILTIN_CONSTANTS =__GNUCLIKE___TYPEOF 1>__GNUCLIKE___OFFSETOF 1?__GNUCLIKE___SECTION 1A__GNUCLIKE_ATTRIBUTE_MODE_DI 1D__GNUCLIKE_CTOR_SECTION_HANDLING 1G__GNUCLIKE_BUILTIN_CONSTANT_P 1N__GNUCLIKE_BUILTIN_VARARGS 1O__GNUCLIKE_BUILTIN_STDARG 1P__GNUCLIKE_BUILTIN_VAALIST 1T__GNUC_VA_LIST_COMPATIBILITY 1X__GNUCLIKE_BUILTIN_NEXT_ARG 1Y__GNUCLIKE_MATH_BUILTIN_RELOPS \__GNUCLIKE_BUILTIN_MEMCPY 1___CC_SUPPORTS_INLINE 1`__CC_SUPPORTS___INLINE 1a__CC_SUPPORTS___INLINE__ 1c__CC_SUPPORTS___FUNC__ 1d__CC_SUPPORTS_WARNING 1f__CC_SUPPORTS_VARADIC_XXX 1h__CC_SUPPORTS_DYNAMIC_ARRAY_INIT 1k__CC_INT_IS_32BIT 1s__GNUC_PREREQ__(ma,mi) (__GNUC__ > (ma) || __GNUC__ == (ma) && __GNUC_MINOR__ >= (mi))__P(protos) protos__CONCAT1(x,y) x ## y__CONCAT(x,y) __CONCAT1(x,y)__STRING(x) #x__XSTRING(x) __STRING(x)__const const__signed signed__volatile volatile__dead2 __attribute__((__noreturn__))__pure2 __attribute__((__const__))__unused __attribute__((__unused__))__used __attribute__((__used__))__packed __attribute__((__packed__))__aligned(x) __attribute__((__aligned__(x)))__section(x) __attribute__((__section__(x)))__pure __attribute__((__pure__))__always_inline __attribute__((__always_inline__))__nonnull(x) __attribute__((__nonnull__(x)))__restrict __predict_true(exp) __builtin_expect((exp), 1)__predict_false(exp) __builtin_expect((exp), 0)__offsetof(type,field) ((size_t)(&((type *)0)->field))__rangeof(type,start,end) (__offsetof(type, end) - __offsetof(type, start))__printflike(fmtarg,firstvararg) __attribute__((__format__ (__printf__, fmtarg, firstvararg)))__scanflike(fmtarg,firstvararg) __attribute__((__format__ (__scanf__, fmtarg, firstvararg)))__format_arg(fmtarg) __attribute__((__format_arg__ (fmtarg)))__printf0like(fmtarg,firstvararg) __attribute__((__format__ (__printf0__, fmtarg, firstvararg)))__strong_reference(sym,aliassym) extern __typeof (sym) aliassym __attribute__ ((__alias__ (#sym)));__weak_reference(sym,alias) __asm__(".weak " #alias); __asm__(".equ " #alias ", " #sym)__warn_references(sym,msg) __asm__(".section .gnu.warning." #sym); __asm__(".asciz \"" msg "\""); __asm__(".previous")__IDSTRING(name,string) __asm__(".ident\t\"" string "\"")__FBSDID(s) __IDSTRING(__CONCAT(__rcsid_,__LINE__),s)__RCSID(s) __IDSTRING(__CONCAT(__rcsid_,__LINE__),s)__RCSID_SOURCE(s) __IDSTRING(__CONCAT(__rcsid_source_,__LINE__),s)__SCCSID(s) __IDSTRING(__CONCAT(__sccsid_,__LINE__),s)__COPYRIGHT(s) __IDSTRING(__CONCAT(__copyright_,__LINE__),s)__DECONST(type,var) ((type)(uintptr_t)(const void *)(var))__DEVOLATILE(type,var) ((type)(uintptr_t)(volatile void *)(var))__DEQUALIFY(type,var) ((type)(uintptr_t)(const volatile void *)(var))__POSIX_VISIBLE 200112__XSI_VISIBLE 600__BSD_VISIBLE 1__ISO_C_VISIBLE 1999* NULL ((void *)0)+ _SYS__TYPES_H_ ! (_MACHINE__TYPES_H_ .__NO_STRICT_ALIGNMENT __GNUC_VA_LIST 2_RUNE_T_DECLARED 8_SIZE_T_DECLARED >_WCHAR_T_DECLARED Boffsetof(type,member) __offsetof(type, member)*SRCID(id,scmid) static SrcIdStruct FileSrcIdStruct = {__FILE__, (scmid), __DATE__, __TIME__}; SrcId id ## SrcId = &FileSrcIdStruct;BEGIN do {> (i)) & 1)BS_UNION(s1,s2) ((s1) | (s2))BS_ADD(ty,s,i) BS_UNION((s), BS_SINGLE(ty, (i)))BS_INTER(s1,s2) ((s1) & (s2))BS_DIFF(s1,s2) BS_INTER((s1), BS_COMP(s2))BS_DEL(ty,s,i) BS_DIFF((s), BS_SINGLE(ty, (i)))BS_SUPER(s1,s2) (BS_INTER((s1), (s2)) == (s2))BS_SUB(s1,s2) BS_SUPER((s2), (s1))BS_IS_SINGLE(s) (((s) & ((s)-1)) == 0)BS_SYM_DIFF(s1,s2) ((s1) ^ (s2)) mpslib_h mps_lib_EOF (mps_lib_get_EOF())mps_lib_stderr (mps_lib_get_stderr())mps_lib_stdout (mps_lib_get_stdout()) '_MACHINE_STDARG_H_ -_VA_LIST_DECLARED 3va_start(ap,last) __builtin_stdarg_start((ap), (last))6va_arg(ap,type) __builtin_va_arg((ap), type):va_copy(dest,src) __builtin_va_copy((dest), (src))>va_end(ap) __builtin_va_end(ap)SigInvalid ((Sig)0x51915BAD)SizeMAX ((Size)-1)AccessSetEMPTY ((AccessSet)0)AccessREAD ((AccessSet)(1<<0))AccessWRITE ((AccessSet)(1<<1))AccessSetWIDTH (2)RefSetEMPTY BS_EMPTY(RefSet)RefSetUNIV BS_UNIV(RefSet)ZoneSetEMPTY BS_EMPTY(ZoneSet)ZoneSetUNIV BS_UNIV(ZoneSet)TraceSetEMPTY BS_EMPTY(TraceSet)TraceSetUNIV ((TraceSet)((1u << TraceLIMIT) - 1))RankSetEMPTY BS_EMPTY(RankSet)RankSetUNIV ((RankSet)((1u << RankLIMIT) - 1))AttrFMT ((Attr)(1<<0))AttrSCAN ((Attr)(1<<1))AttrPM_NO_READ ((Attr)(1<<2))AttrPM_NO_WRITE ((Attr)(1<<3))AttrALLOC ((Attr)(1<<4))AttrFREE ((Attr)(1<<5))AttrBUF ((Attr)(1<<6))AttrBUF_RESERVE ((Attr)(1<<7))AttrBUF_ALLOC ((Attr)(1<<8))AttrGC ((Attr)(1<<9))AttrINCR_RB ((Attr)(1<<10))AttrINCR_WB ((Attr)(1<<11))AttrMOVINGGC ((Attr)(1<<12))AttrMASK (AttrFMT | AttrSCAN | AttrPM_NO_READ | AttrPM_NO_WRITE | AttrALLOC | AttrFREE | AttrBUF | AttrBUF_RESERVE | AttrBUF_ALLOC | AttrGC | AttrINCR_RB | AttrINCR_WB | AttrMOVINGGC)BufferModeATTACHED ((BufferMode)(1<<0))BufferModeFLIPPED ((BufferMode)(1<<1))BufferModeLOGGED ((BufferMode)(1<<2))BufferModeTRANSITION ((BufferMode)(1<<3))RootModeCONSTANT ((RootMode)1<<0)RootModePROTECTABLE ((RootMode)1<<1)RootModePROTECTABLE_INNER ((RootMode)1<<2)STATISTIC_DECL(field) fieldBTSize(n) (((n) + MPS_WORD_WIDTH-1) / MPS_WORD_WIDTH * sizeof(Word))BTGet(a,i) ((Bool)(((a)[((i) >> MPS_WORD_SHIFT)] >> ((i) & ~((Word)-1 << MPS_WORD_SHIFT))) & (Word)1))BTSet(a,i) BEGIN (a)[((i)>>MPS_WORD_SHIFT)] |= (Word)1<<((i)&~((Word)-1<>MPS_WORD_SHIFT)] &= ~((Word)1 << ((i) & ~((Word)-1<sig == type ## Sig)pCHECKS(type,val) DISCARD(CHECKT(type, val))qCHECKL(cond) DISCARD(cond)rCHECKD(type,val) DISCARD(CHECKT(type, val))sCHECKD_NOSIG(type,val) DISCARD((val) != NULL)tCHECKU(type,val) DISCARD(CHECKT(type, val))uCHECKU_NOSIG(type,val) DISCARD((val) != NULL)CHECKLVALUE(lv1,lv2) ((void)sizeof((lv1) = (lv2)), (void)sizeof((lv2) = (lv1)), TRUE)CHECKTYPE(t1,t2) (sizeof(t1) == sizeof(t2) && CHECKLVALUE(*((t1 *)0), *((t2 *)0)))CHECKFIELDAPPROX(s1,f1,s2,f2) (sizeof(((s1 *)0)->f1) == sizeof(((s2 *)0)->f2) && offsetof(s1, f1) == offsetof(s2, f2))CHECKFIELD(s1,f1,s2,f2) (CHECKFIELDAPPROX(s1, f1, s2, f2) && CHECKLVALUE(((s1 *)0)->f1, ((s2 *)0)->f2)) mpm_h event_h  eventcom_h !EventNameMAX ((size_t)19)"EventCodeMAX ((EventCode)0x0069)&EVENT_0(type) NOOPEVENT_A(type,p0) NOOPEVENT_AW(type,p0,p1) NOOPEVENT_P(type,p0) NOOPEVENT_PAA(type,p0,p1,p2) NOOPEVENT_PAW(type,p0,p1,p2) NOOPEVENT_PAWA(type,p0,p1,p2,p3) NOOPEVENT_PDDWWW(type,p0,p1,p2,p3,p4,p5) NOOPEVENT_PP(type,p0,p1) NOOPEVENT_PPAU(type,p0,p1,p2,p3) NOOPEVENT_PPAWP(type,p0,p1,p2,p3,p4) NOOPEVENT_PPP(type,p0,p1,p2) NOOPEVENT_PPPA(type,p0,p1,p2,p3) NOOPEVENT_PPPU(type,p0,p1,p2,p3) NOOPEVENT_PPPUU(type,p0,p1,p2,p3,p4) NOOPEVENT_PPU(type,p0,p1,p2) NOOPEVENT_PPUU(type,p0,p1,p2,p3) NOOPEVENT_PPUWWW(type,p0,p1,p2,p3,p4,p5) NOOPEVENT_PPWW(type,p0,p1,p2,p3) NOOPEVENT_PPWWW(type,p0,p1,p2,p3,p4) NOOPEVENT_PPWWWUUU(type,p0,p1,p2,p3,p4,p5,p6,p7) NOOPEVENT_PU(type,p0,p1) NOOPEVENT_PW(type,p0,p1) NOOPEVENT_PWA(type,p0,p1,p2) NOOPEVENT_PWAW(type,p0,p1,p2,p3) NOOPEVENT_PWP(type,p0,p1,p2) NOOPEVENT_PWU(type,p0,p1,p2) NOOPEVENT_PWW(type,p0,p1,p2) NOOPEVENT_PWWWWDD(type,p0,p1,p2,p3,p4,p5,p6) NOOPEVENT_PWWWWW(type,p0,p1,p2,p3,p4,p5) NOOPEVENT_PWWWWWWWWW(type,p0,p1,p2,p3,p4,p5,p6,p7,p8,p9) NOOPEVENT_PWWWWWWWWWWWW(type,p0,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11,p12) NOOPEVENT_UUPA(type,p0,p1,p2,p3) NOOPEVENT_UUPP(type,p0,p1,p2,p3) NOOPEVENT_UUPPP(type,p0,p1,p2,p3,p4) NOOPEVENT_WS(type,p0,p1,l1) NOOP:EventEventTime ((EventType)0xEF213E99);EventPoolInit ((EventType)0xEFB07141)EventPoolFree ((EventType)0xEFB07F6E)?EventArenaCreateVM ((EventType)0xEFA64CF3)@EventArenaCreateVMNZ ((EventType)0xEFA64CF2)AEventArenaCreateCL ((EventType)0xEFA64CC7)BEventArenaDestroy ((EventType)0xEFA64DE5)CEventArenaAlloc ((EventType)0xEFA64A77)DEventArenaFree ((EventType)0xEFA64F6E)EEventSegAlloc ((EventType)0xEF5E9A77)FEventSegFree ((EventType)0xEF5E9F6E)GEventSegMerge ((EventType)0xEF5E93E6)HEventSegSplit ((EventType)0xEF5E95B7)IEventAMCGenCreate ((EventType)0xEFA3C94C)JEventAMCGenDestroy ((EventType)0xEFA3C94D)KEventAMCInit ((EventType)0xEFA3C141)LEventAMCFinish ((EventType)0xEFA3CF14)MEventAMCTraceBegin ((EventType)0xEFA3C26B)NEventAMCScanBegin ((EventType)0xEFA3C5CB)OEventAMCScanEnd ((EventType)0xEFA3C5CE)PEventAMCFix ((EventType)0xEFA3CF18)QEventAMCFixInPlace ((EventType)0xEFA3CF8A)REventAMCFixForward ((EventType)0xEFA3CF8F)SEventAMCReclaim ((EventType)0xEFA3C6EC)TEventTraceStart ((EventType)0xEF26AC52)UEventTraceCreate ((EventType)0xEF26ACC6)VEventTraceDestroy ((EventType)0xEF26ACDE)WEventSegSetGrey ((EventType)0xEF59596A)XEventTraceFlipBegin ((EventType)0xEF26AF7B)YEventTraceFlipEnd ((EventType)0xEF26AF7E)ZEventTraceReclaim ((EventType)0xEF26A6EC)[EventTraceScanSeg ((EventType)0xEF26A559)\EventTraceScanSingleRef ((EventType)0xEF26A556)^EventTraceAccess ((EventType)0xEF26AACC)_EventTracePoll ((EventType)0xEF26AB01)`EventTraceStep ((EventType)0xEF26A52B)aEventTraceFix ((EventType)0xEF26AF18)bEventTraceFixSeg ((EventType)0xEF26AF85)cEventTraceFixWhite ((EventType)0xEF26AF83)dEventTraceScanArea ((EventType)0xEF26A5CA)eEventTraceScanAreaTagged ((EventType)0xEF26A5C2)fEventVMCreate ((EventType)0xEFF3C6EA)gEventVMDestroy ((EventType)0xEFF3DE52)hEventVMMap ((EventType)0xEFF33AB9)iEventVMUnmap ((EventType)0xEFF3043B)jEventIntern ((EventType)0xEF142E64)kEventArenaExtend ((EventType)0xEFA64E82)lEventArenaRetract ((EventType)0xEFA646E2)mEventRootScan ((EventType)0xEF625CA4)nEventLabel ((EventType)0xEF7ABE79)oEventTraceSegGreyen ((EventType)0xEF26A599)pEventBufferReserve ((EventType)0xEFB0FF6E)qEventBufferCommit ((EventType)0xEFB0FFC0)rEventBufferInit ((EventType)0xEFB0FF14)sEventBufferInitSeg ((EventType)0xEFB0F15E)tEventBufferInitRank ((EventType)0xEFB0F16A)uEventBufferInitEPVM ((EventType)0xEFB0F1EF)vEventBufferFinish ((EventType)0xEFB0FFF1)wEventBufferFill ((EventType)0xEFB0FFF7)xEventBufferEmpty ((EventType)0xEFB0FFE3)yEventArenaAllocFail ((EventType)0xEFA64A7F)zEventSegAllocFail ((EventType)0xEF5E9A7F){EventMeterInit ((EventType)0xEF3E2141)|EventMeterValues ((EventType)0xEF3E2FA7)}EventCBSInit ((EventType)0xEFCB5141)~EventTraceStatCondemn ((EventType)0xEF26A5C0)EventTraceStatScan ((EventType)0xEF26A55C)EventTraceStatFix ((EventType)0xEF26A5F8)EventTraceStatReclaim ((EventType)0xEF26A56E)EventArenaWriteFaults ((EventType)0xEFA6436F)EventPoolInitMV ((EventType)0xEFB0713F)EventPoolInitMVFF ((EventType)0xEFB071FF)EventPoolInitMFS ((EventType)0xEFB07135)EventPoolInitEPVM ((EventType)0xEFB071EF)EventPoolInitEPDL ((EventType)0xEFB071E7)EventPoolInitAMS ((EventType)0xEFB071A5)EventPoolInitAMC ((EventType)0xEFB071AC)EventPoolInitAMCZ ((EventType)0xEFB071A2)EventPoolInitAWL ((EventType)0xEFB071A3)EventPoolInitLO ((EventType)0xEFB07170)EventPoolInitSNC ((EventType)0xEFB07154)EventPoolInitMVT ((EventType)0xEFB07132)EventPoolPush ((EventType)0xEFB07B58)EventPoolPop ((EventType)0xEFB07B0B)EventReservoirLimitSet ((EventType)0xEF6E5713)EventCommitLimitSet ((EventType)0xEFC03713)EventSpareCommitLimitSet ((EventType)0xEF5BC713)hEventInit() NOOPiEventFinish() NOOPjEventControl(r,f) (UNUSED(r), UNUSED(f), (Word)0)kEventInternString(s) (UNUSED(s), (Word)0)lEventInternGenString(l,s) (UNUSED(l), UNUSED(s), (Word)0)mEventLabelAddr(a,i) BEGIN UNUSED(a); UNUSED(i); ENDPlock_h ULockSig ((Sig)0x51970CC9) th_h  ring_h RingNONE ((Ring)0)$RingInit(ring) BEGIN Ring _ring = (ring); AVER(_ring != NULL); _ring->next = _ring; _ring->prev = _ring; AVER(RingCheck(_ring)); END/RingFinish(ring) BEGIN Ring _ring = (ring); AVER(RingCheckSingle(_ring)); _ring->next = RingNONE; _ring->prev = RingNONE; END9RingAppend(ring,new) BEGIN Ring _ring = (ring), _new = (new); AVER(RingCheck(_ring)); AVER(RingCheckSingle(_new)); _new->prev = _ring->prev; _new->next = _ring; _ring->prev->next = _new; _ring->prev = _new; ENDFRingInsert(ring,new) BEGIN Ring _ring = (ring), _new = (new); AVER(RingCheck(_ring)); AVER(RingCheckSingle(_new)); _new->prev = _ring; _new->next = _ring->next; _ring->next->prev = _new; _ring->next = _new; ENDSRingRemove(old) BEGIN Ring _old = (old); AVER(RingCheck(_old)); AVER(!RingIsSingle(_old)); _old->next->prev = _old->prev; _old->prev->next = _old->next; _old->next = _old; _old->prev = _old; END`RingNext(ring) ((ring)->next)dRingPrev(ring) ((ring)->prev)gRING_ELT(type,field,node) ((type)(void *)((char *)(node) - (size_t)(&((type)0)->field)))kRING_FOR(node,ring,next) for(node = RingNext(ring), next = RingNext(node); node != (ring); node = (next), next = RingNext(node))ThreadSig ((Sig)0x519286ED) ss_h  tract_h #TractBase(tract) ((tract)->base)&TractPool(tract) ((tract)->pool)'TractP(tract) ((tract)->p)(TractSetP(tract,pp) ((void)((tract)->p = (pp))))TractHasSeg(tract) ((Bool)(tract)->hasSeg)*TractSetHasSeg(tract,b) ((void)((tract)->hasSeg = (b)))+TractWhite(tract) ((tract)->white),TractSetWhite(tract,w) ((void)((tract)->white = (w)))8TRACT_SEG(segReturn,tract) (TractHasSeg(tract) && ((*(segReturn) = (Seg)TractP(tract)), TRUE));TRACT_SET_SEG(tract,seg) (TractSetHasSeg(tract, TRUE), TractSetP(tract, seg))>TRACT_UNSET_SEG(tract) (TractSetHasSeg(tract, FALSE), TractSetP(tract, NULL))nPageTract(page) (&(page)->the.tractStruct)rPageOfTract(tract) PARENT(PageStruct, the.tractStruct, (tract))vPagePool(page) ((page)->the.rest.pool)}PageIsAllocated(page) ((page)->the.rest.pool != NULL)PageType(page) ((page)->the.rest.type)ChunkSig ((Sig)0x519C804C)ChunkArena(chunk) ((chunk)->arena)ChunkPageSize(chunk) ((chunk)->pageSize)ChunkPageShift(chunk) ((chunk)->pageShift)ChunkPagesToSize(chunk,pages) ((Size)(pages) << (chunk)->pageShift)ChunkSizeToPages(chunk,size) ((Count)((size) >> (chunk)->pageShift))CHUNK_OF_ADDR(chunkReturn,arena,addr) (((arena)->chunkCache.base <= (addr) && (addr) < (arena)->chunkCache.limit) ? (*(chunkReturn) = (arena)->chunkCache.chunk, TRUE) : ChunkOfAddr(chunkReturn, arena, addr))AddrPageBase(chunk,addr) AddrAlignDown((addr), ChunkPageSize(chunk))TRACT_OF_ADDR(tractReturn,arena,addr) BEGIN Arena _arena = (arena); Addr _addr = (addr); Chunk _chunk; Index _i; if (CHUNK_OF_ADDR(&_chunk, _arena, _addr)) { _i = INDEX_OF_ADDR(_chunk, _addr); if (BTGet(_chunk->allocTable, _i)) *(tractReturn) = PageTract(&_chunk->pageTable[_i]); else *(tractReturn) = NULL; } else *(tractReturn) = NULL; ENDINDEX_OF_ADDR(chunk,addr) ((Index)ChunkSizeToPages(chunk, AddrOffset((chunk)->base, addr)))PageIndexBase(chunk,i) AddrAdd((chunk)->base, ChunkPagesToSize(chunk, i))TractAverContiguousRange(arena,rangeBase,rangeLimit) BEGIN Chunk _ch = NULL; UNUSED(_ch); AVER(ChunkOfAddr(&_ch, arena, rangeBase) && (rangeLimit) <= _ch->limit); ENDTRACT_TRACT_FOR(tract,addr,arena,firstTract,limit) tract = (firstTract); addr = TractBase(tract); TractAverContiguousRange(arena, addr, limit); for(; tract != NULL; (addr = AddrAdd(addr, (arena)->alignment)), (addr < (limit) ? (tract = PageTract(PageOfTract(tract) + 1)) : (tract = NULL) ))TRACT_FOR(tract,addr,arena,base,limit) TRACT_TRACT_FOR(tract, addr, arena, TractOfBaseAddr(arena, base), limit)mpmst_h protocol_h DERIVE_LOCAL(name) protocol ## nameDERIVE_STRUCT(name) name ## StructDERIVE_ENSURE(name) name ## GetDERIVE_ENSURE_OLD(name) Ensure ## nameDERIVE_ENSURE_INTERNAL(name) protocolGet ## nameDERIVE_GUARDIAN(name) protocol ## name ## GuardianDERIVE_STATIC_STORAGE(name) protocol ## name ## StructProtocolClassSetSuperclassPoly(class,super) (((ProtocolClass)(class))->superclass) = (ProtocolClass)(super)$DEFINE_CLASS(className,var) static Bool DERIVE_GUARDIAN(className) = FALSE; static DERIVE_STRUCT(className) DERIVE_STATIC_STORAGE(className); static void DERIVE_ENSURE_INTERNAL(className)(className); extern className DERIVE_ENSURE(className)(void); className DERIVE_ENSURE(className)(void) { if (DERIVE_GUARDIAN(className) == FALSE) { LockClaimGlobalRecursive(); if (DERIVE_GUARDIAN(className) == FALSE) { DERIVE_ENSURE_INTERNAL(className) (&DERIVE_STATIC_STORAGE(className)); DERIVE_GUARDIAN(className) = TRUE; } LockReleaseGlobalRecursive(); } return &DERIVE_STATIC_STORAGE(className); } extern className DERIVE_ENSURE_OLD(className)(void); className DERIVE_ENSURE_OLD(className)(void) { return DERIVE_ENSURE(className)(); } static void DERIVE_ENSURE_INTERNAL(className) (className var)AINHERIT_CLASS(this,parentName) BEGIN parentName DERIVE_LOCAL(parentName) = DERIVE_ENSURE(parentName)(); *this = *(DERIVE_LOCAL(parentName)); ProtocolClassSetSuperclassPoly(this, DERIVE_LOCAL(parentName)); ENDODEFINE_ALIAS_CLASS(className,typeName,var) typedef typeName className; typedef DERIVE_STRUCT(typeName) DERIVE_STRUCT(className); DEFINE_CLASS(className, var)VProtocolClassSig ((Sig)0x519B60C7)WProtocolInstSig ((Sig)0x519B6014)ProtocolClassSuperclassPoly(class) (((ProtocolClass)(class))->superclass)ClassOfPoly(inst) ((ProtocolInst)(inst)->class)IsSubclassPoly(sub,super) ProtocolIsSubclass((ProtocolClass)(sub), (ProtocolClass)(super))SUPERCLASS(className) ProtocolClassSuperclassPoly(DERIVE_ENSURE(className)())chain_h GenDescSig ((Sig)0x5199E4DE)+PoolGenSig ((Sig)0x519B009E);ChainSig ((Sig)0x519C8A14)XPoolGenNr(gen) ((gen)->nr)/PoolClassSig ((Sig)0x519C7A55)]PoolSig ((Sig)0x519B0019)}MFSSig ((Sig)0x5193F599)MVSig ((Sig)0x5193B999)ReservoirSig ((Sig)0x5196e599)MessageClassSig ((Sig)0x519359c1)MessageSig ((Sig)0x5193e559)SegClassSig ((Sig)0x5195E9C7)SegSig ((Sig)0x5195E999)GCSegSig ((Sig)0x5199C5E9)SegPrefSig ((Sig)0x5195E9B6)BufferClassSig ((Sig)0x519B0FC7)BufferSig ((Sig)0x519B0FFE)SegBufSig ((Sig)0x51959B0F)FormatSig ((Sig)0x519F63A2)ScanStateSig ((Sig)0x5195CA45)TraceSig ((Sig)0x51924ACE)ChunkCacheEntrySig ((Sig)0x519C80CE)ArenaClassSig ((Sig)0x519A6C1A)GlobalsSig ((Sig)0x519970BA)ArenaSig ((Sig)0x519A6E4A)%BoolCheck(b) ((unsigned)(b) <= 1)(FUNCHECK(f) (FunCheck((Fun)f))4WordIsAligned(w,a) (((w) & ((a) - 1)) == 0)7WordAlignUp(w,a) (((w) + (a) - 1) & ~((Word)(a) - 1));WordRoundUp(w,r) (((w)+(r)-1) - ((w)+(r)-1)%(r))>WordAlignDown(w,a) ((w) & ~((Word)(a) - 1))@size_tAlignUp(s,a) ((size_t)WordAlignUp((Word)(s), a))BPointerAdd(p,s) ((void *)((char *)(p) + (s)))CPointerSub(p,s) ((void *)((char *)(p) - (s)))EPointerOffset(base,limit) ((size_t)((char *)(limit) - (char *)(base)))HPointerAlignUp(p,s) ((void *)WordAlignUp((Word)(p), (Align)(s)))KAddrAdd(p,s) ((Addr)PointerAdd((void *)(p), s))LAddrSub(p,s) ((Addr)PointerSub((void *)(p), s))NAddrOffset(b,l) ((Size)(PointerOffset((void *)(b), (void *)(l))))RAddrAlignDown(p,a) ((Addr)WordAlignDown((Word)(p), a))TAlignWord(s) ((Word)(s))VAddrIsAligned(p,a) WordIsAligned((Word)(p), a)WAddrAlignUp(p,a) ((Addr)WordAlignUp((Word)(p), a))YSizeIsAligned(s,a) WordIsAligned((Word)(s), a)ZSizeAlignUp(s,a) ((Size)WordAlignUp((Word)(s), a))[SizeAlignDown(s,a) ((Size)WordAlignDown((Word)(s), a))]SizeRoundUp(s,r) ((Size)WordRoundUp((Word)(s), (Size)(r)))_IndexIsAligned(s,a) WordIsAligned((Word)(s), a)`IndexAlignUp(s,a) ((Index)WordAlignUp((Word)(s), a))aIndexAlignDown(s,a) ((Index)WordAlignDown((Word)(s), a))cAlignIsAligned(a1,a2) WordIsAligned((Word)(a1), a2)iAddrSet(target,value,size) mps_lib_memset(target, (int)(value), size)mAddrCopy(target,source,size) mps_lib_memcpy(target, source, size)qAddrComp(a,b,size) mps_lib_memcmp(a, b, size)wADDR_PTR(type,addr) ((type *)(addr))PoolArena(pool) ((pool)->arena)PoolAlignment(pool) ((pool)->alignment)PoolSegRing(pool) (&(pool)->segRing)PoolFix(pool,ss,seg,refIO) ((*(pool)->fix)(pool, ss, seg, refIO))ClassOfPool(pool) ((pool)->class)SuperclassOfPool(pool) ((PoolClass)ProtocolClassSuperclassPoly((pool)->class))DEFINE_POOL_CLASS(className,var) DEFINE_ALIAS_CLASS(className, PoolClass, var)POOL_SUPERCLASS(className) ((PoolClass)SUPERCLASS(className))TraceSetSingle(trace) BS_SINGLE(TraceSet, (trace)->ti)TraceSetIsSingle(ts) BS_IS_SINGLE(ts)TraceSetIsMember(ts,trace) BS_IS_MEMBER(ts, (trace)->ti)TraceSetAdd(ts,trace) BS_ADD(TraceSet, ts, (trace)->ti)TraceSetDel(ts,trace) BS_DEL(TraceSet, ts, (trace)->ti)TraceSetUnion(ts1,ts2) BS_UNION(ts1, ts2)TraceSetInter(ts1,ts2) BS_INTER(ts1, ts2)TraceSetDiff(ts1,ts2) BS_DIFF(ts1, ts2)TraceSetSuper(ts1,ts2) BS_SUPER(ts1, ts2)TraceSetSub(ts1,ts2) BS_SUB(ts1, ts2)TraceSetComp(ts) BS_COMP(ts)TRACE_SET_ITER(ti,trace,ts,arena) for(ti = 0, trace = ArenaTrace(arena, ti); ti < TraceLIMIT; ++ti, trace = ArenaTrace(arena, ti)) BEGIN if (TraceSetIsMember(ts, trace)) {TRACE_SET_ITER_END(ti,trace,ts,arena) } ENDTRACE_SCAN_BEGIN(ss) BEGIN Shift SCANzoneShift = (ss)->zoneShift; ZoneSet SCANwhite = (ss)->white; RefSet SCANsummary = (ss)->unfixedSummary; Word SCANt; {TRACE_FIX1(ss,ref) (SCANt = (Word)1 << ((Word)(ref) >> SCANzoneShift & (MPS_WORD_WIDTH-1)), SCANsummary |= SCANt, SCANwhite & SCANt)TRACE_FIX2(ss,refIO) ((*(ss)->fix)(ss, refIO))TRACE_FIX(ss,refIO) (TRACE_FIX1(ss, *(refIO)) ? TRACE_FIX2(ss, refIO) : ResOK)TRACE_SCAN_END(ss) } (ss)->unfixedSummary = SCANsummary; ENDDEFINE_ARENA_CLASS(className,var) DEFINE_ALIAS_CLASS(className, ArenaClass, var)ARENA_SUPERCLASS(className) ((ArenaClass)SUPERCLASS(className))ArenaGlobals(arena) (&(arena)->globals)GlobalsArena(glob) PARENT(ArenaStruct, globals, glob)ArenaRootRing(arena) (&(arena)->rootRing)ArenaTraceRing(arena) (&(arena)->traceRing)ArenaThreadRing(arena) (&(arena)->threadRing)ArenaEpoch(arena) ((arena)->epoch)ArenaTrace(arena,ti) (&(arena)->trace[ti])ArenaZoneShift(arena) ((arena)->zoneShift)ArenaAlign(arena) ((arena)->alignment)ArenaGreyRing(arena,rank) (&(arena)->greyRing[rank])ArenaReservoir(arena) (&(arena)->reservoirStruct)DEFINE_SEG_CLASS(className,var) DEFINE_ALIAS_CLASS(className, SegClass, var)SEG_SUPERCLASS(className) ((SegClass)SUPERCLASS(className))ClassOfSeg(seg) ((seg)->class)SegBase(seg) (TractBase((seg)->firstTract))SegLimit(seg) ((seg)->limit)SegPool(seg) (TractPool((seg)->firstTract))SegRankSet(seg) ((RankSet)(seg)->rankSet)SegPM(seg) ((AccessSet)(seg)->pm)SegSM(seg) ((AccessSet)(seg)->sm)SegDepth(seg) ((unsigned)(seg)->depth)SegGrey(seg) ((TraceSet)(seg)->grey)SegWhite(seg) ((TraceSet)(seg)->white)SegNailed(seg) ((TraceSet)(seg)->nailed)SegOfPoolRing(node) (RING_ELT(Seg, poolRing, (node)))SegOfGreyRing(node) (&(RING_ELT(GCSeg, greyRing, (node)) ->segStruct))SegSummary(seg) (((GCSeg)(seg))->summary)SegSetPM(seg,mode) ((void)((seg)->pm = (mode)))SegSetSM(seg,mode) ((void)((seg)->sm = (mode)))SegSetDepth(seg,d) ((void)((seg)->depth = (d)))SegSetNailed(seg,ts) ((void)((seg)->nailed = (ts)))BUFFER_RESERVE(pReturn,buffer,size,withReservoirPermit) (AddrAdd(BufferAlloc(buffer), size) > BufferAlloc(buffer) && AddrAdd(BufferAlloc(buffer), size) <= BufferAP(buffer)->limit ? (*(pReturn) = BufferAlloc(buffer), BufferAP(buffer)->alloc = AddrAdd(BufferAlloc(buffer), size), ResOK) : BufferFill(pReturn, buffer, size, withReservoirPermit))BUFFER_COMMIT(buffer,p,size) (BufferAP(buffer)->init = BufferAlloc(buffer), BufferAP(buffer)->limit != 0 || BufferTrip(buffer, p, size))BufferAP(buffer) (&(buffer)->apStruct)BufferOfAP(ap) PARENT(BufferStruct, apStruct, ap)BufferArena(buffer) ((buffer)->arena)BufferPool(buffer) ((buffer)->pool)BufferBase(buffer) ((buffer)->base)BufferGetInit(buffer) (BufferAP(buffer)->init)BufferAlloc(buffer) (BufferAP(buffer)->alloc)BufferLimit(buffer) ((buffer)->poolLimit)DEFINE_BUFFER_CLASS(className,var) DEFINE_ALIAS_CLASS(className, BufferClass, var)BUFFER_SUPERCLASS(className) ((BufferClass)SUPERCLASS(className))RankSetIsMember(rs,r) BS_IS_MEMBER((rs), (r))RankSetSingle(r) BS_SINGLE(RankSet, (r))RankSetIsSingle(r) BS_IS_SINGLE(r)RankSetUnion(rs1,rs2) BS_UNION((rs1), (rs2))RankSetDel(rs,r) BS_DEL(RankSet, (rs), (r))AddrZone(arena,addr) (((Word)(addr) >> (arena)->zoneShift) & (MPS_WORD_WIDTH - 1))RefSetUnion(rs1,rs2) BS_UNION((rs1), (rs2))RefSetInter(rs1,rs2) BS_INTER((rs1), (rs2))RefSetDiff(rs1,rs2) BS_DIFF((rs1), (rs2))RefSetAdd(arena,rs,addr) BS_ADD(RefSet, rs, AddrZone(arena, addr))RefSetIsMember(arena,rs,addr) BS_IS_MEMBER(rs, AddrZone(arena, addr))RefSetSuper(rs1,rs2) BS_SUPER((rs1), (rs2))RefSetSub(rs1,rs2) BS_SUB((rs1), (rs2))ZoneSetUnion(zs1,zs2) BS_UNION(zs1, zs2)ZoneSetInter(zs1,zs2) BS_INTER(zs1, zs2)ZoneSetDiff(zs1,zs2) BS_DIFF(zs1, zs2)ZoneSetAdd(arena,zs,addr) BS_ADD(ZoneSet, zs, AddrZone(arena, addr))ZoneSetIsMember(arena,zs,addr) BS_IS_MEMBER(zs, AddrZone(arena, addr))ZoneSetSub(zs1,zs2) BS_SUB(zs1, zs2)ZoneSetSuper(zs1,zs2) BS_SUPER(zs1, zs2)ZoneSetComp(zs) BS_COMP(zs)STATISTIC(gather) BEGIN (gather); ENDSTATISTIC_STAT(gather) BEGIN gather; ENDSTATISTIC_WRITE(format,arg) (format), (arg),BTIndexAlignUp(index) (IndexAlignUp((index), MPS_WORD_WIDTH))BTIndexAlignDown(index) (IndexAlignDown((index), MPS_WORD_WIDTH))&BTMaskLow(base) (~(Word)0 << (base)))BTMaskHigh(limit) (~(Word)0 >> (MPS_WORD_WIDTH - (limit))),BTMask(base,limit) (BTMaskHigh((limit)) & BTMaskLow((base)))4BTWordIndex(index) ((index) >> MPS_WORD_SHIFT)5BTBitIndex(index) ((index) & (MPS_WORD_WIDTH - 1))ABTIsSmallRange(base,limit) ((base) + 6 >= (limit))QACT_ON_RANGE(base,limit,single_action,bits_action,word_action) BEGIN if (BTIsSmallRange((base), (limit))) { Index actBit; for (actBit = (base); actBit < (limit); ++actBit) { single_action(actBit); } } else { Index actInnerBase = BTIndexAlignUp((base)); if (actInnerBase > (limit)) { AVER((base) < (limit)); bits_action(BTWordIndex((base)), BTBitIndex((base)), BTBitIndex((limit))); } else { Index actInnerLimit = BTIndexAlignDown((limit)); Index actWordIndex, actWordBase, actWordLimit; actWordBase = BTWordIndex(actInnerBase); actWordLimit = BTWordIndex(actInnerLimit); if ((base) < actInnerBase) { bits_action(actWordBase-1, BTBitIndex((base)), MPS_WORD_WIDTH); } for (actWordIndex = actWordBase; actWordIndex < actWordLimit; ++actWordIndex) { word_action(actWordIndex); } if ((limit) > actInnerLimit) { bits_action(actWordLimit, 0, BTBitIndex((limit))); } } } ENDACT_ON_RANGE_HIGH(base,limit,single_action,bits_action,word_action) BEGIN if (BTIsSmallRange((base), (limit))) { Index actBit; for (actBit = (limit); actBit > (base); --actBit) { single_action(actBit - 1); } } else { Index actInnerBase = BTIndexAlignUp((base)); if (actInnerBase > (limit)) { AVER((base) < (limit)); bits_action(BTWordIndex((base)), BTBitIndex((base)), BTBitIndex((limit))); } else { Index actInnerLimit = BTIndexAlignDown((limit)); Index actWordIndex, actWordBase, actWordLimit; actWordBase = BTWordIndex(actInnerBase); actWordLimit = BTWordIndex(actInnerLimit); if ((limit) > actInnerLimit) { bits_action(actWordLimit, 0, BTBitIndex((limit))); } for (actWordIndex = actWordLimit; actWordIndex > actWordBase; --actWordIndex) { word_action(actWordIndex-1); } if ((base) < actInnerBase) { bits_action(actWordBase-1, BTBitIndex((base)), MPS_WORD_WIDTH); } } } ENDSINGLE_SET_RANGE(i) BTSet(t, (i))BITS_SET_RANGE(i,base,limit) t[(i)] |= BTMask((base),(limit))WORD_SET_RANGE(i) t[(i)] = ~(Word)(0)SINGLE_IS_RES_RANGE(i) if (BTGet(bt, (i))) return FALSEBITS_IS_RES_RANGE(i,base,limit) if ((bt[(i)] & BTMask((base),(limit))) != (Word)0) return FALSEWORD_IS_RES_RANGE(i) if (bt[(i)] != (Word)0) return FALSESINGLE_IS_SET_RANGE(i) if (!BTGet(bt, (i))) return FALSEBITS_IS_SET_RANGE(i,base,limit) BEGIN Word bactMask = BTMask((base),(limit)); if ((bt[(i)] & bactMask) != bactMask) return FALSE; ENDWORD_IS_SET_RANGE(i) if (bt[(i)] != ~(Word)0) return FALSESINGLE_RES_RANGE(i) BTRes(t, (i))BITS_RES_RANGE(i,base,limit) t[(i)] &= ~(BTMask((base),(limit)))WORD_RES_RANGE(i) t[(i)] = (Word)(0)BTFindSet(foundReturn,indexReturn,bt,base,limit) BEGIN Bool *bfsFoundReturn = (foundReturn); Index *bfsIndexReturn = (indexReturn); BT bfsBt = (bt); ACT_ON_RANGE((base), (limit), SINGLE_FIND_SET, BITS_FIND_SET, WORD_FIND_SET); *bfsFoundReturn = FALSE; btFindSetLabel:; ENDSINGLE_FIND_SET(i) if (BTGet(bfsBt, (i))) { *bfsIndexReturn = (i); *bfsFoundReturn = TRUE; goto btFindSetLabel; }BITS_FIND_SET(wi,base,limit) BEGIN Index bactWi = (wi); ACTION_FIND_SET(bactWi, bfsBt[bactWi], (base), (limit)); ENDWORD_FIND_SET(wi) BEGIN Index wactWi = (wi); ACTION_FIND_SET(wactWi, bfsBt[wactWi], 0, MPS_WORD_WIDTH); ENDACTION_FIND_SET(wi,word,base,limit) ACTION_FIND_SET_BIT((wi),(word),(base),(limit),btFindSetLabel)ACTION_FIND_SET_BIT(wi,word,base,limit,label) BEGIN Index actionIndex = (base); Word actionWord = ((word) & BTMaskHigh((limit))) >> actionIndex; Count actionMaskWidth = (MPS_WORD_WIDTH >> 1); Word actionMask = ~(Word)0 >> (MPS_WORD_WIDTH-actionMaskWidth); if (actionWord != (Word)0) { while (actionMaskWidth != (Count)0) { if ((actionWord & actionMask) == (Word)0) { actionIndex += actionMaskWidth; actionWord >>= actionMaskWidth; } actionMaskWidth >>= 1; actionMask >>= actionMaskWidth; } *bfsIndexReturn = ((wi) << MPS_WORD_SHIFT) | actionIndex; *bfsFoundReturn = TRUE; goto label; } ENDBTFindRes(foundReturn,indexReturn,bt,base,limit) BEGIN Bool *bfsFoundReturn = (foundReturn); Index *bfsIndexReturn = (indexReturn); BT bfsBt = (bt); ACT_ON_RANGE((base), (limit), SINGLE_FIND_RES, BITS_FIND_RES, WORD_FIND_RES); *bfsFoundReturn = FALSE; btFindResLabel:; ENDSINGLE_FIND_RES(i) if (!BTGet(bfsBt, (i))) { *bfsIndexReturn = (i); *bfsFoundReturn = TRUE; goto btFindResLabel; }BITS_FIND_RES(wi,base,limit) BEGIN Index bactWi = (wi); ACTION_FIND_RES(bactWi,bfsBt[bactWi], (base), (limit)); ENDWORD_FIND_RES(wi) BEGIN Index wactWi = (wi); ACTION_FIND_RES(wactWi, bfsBt[wactWi], 0, MPS_WORD_WIDTH); ENDACTION_FIND_RES(wi,word,base,limit) ACTION_FIND_SET_BIT((wi),~(word),(base),(limit),btFindResLabel)BTFindSetHigh(foundReturn,indexReturn,bt,base,limit) BEGIN Bool *bfsFoundReturn = (foundReturn); Index *bfsIndexReturn = (indexReturn); BT bfsBt = (bt); ACT_ON_RANGE_HIGH((base), (limit), SINGLE_FIND_SET_HIGH, BITS_FIND_SET_HIGH, WORD_FIND_SET_HIGH); *bfsFoundReturn = FALSE; btFindSetHighLabel:; ENDSINGLE_FIND_SET_HIGH(i) if (BTGet(bfsBt, (i))) { *bfsIndexReturn = (i); *bfsFoundReturn = TRUE; goto btFindSetHighLabel; }BITS_FIND_SET_HIGH(wi,base,limit) BEGIN Index bactWi = (wi); ACTION_FIND_SET_HIGH(bactWi, bfsBt[bactWi], (base), (limit)); ENDWORD_FIND_SET_HIGH(wi) BEGIN Index wactWi = (wi); ACTION_FIND_SET_HIGH(wactWi, (bfsBt[wactWi]), 0, MPS_WORD_WIDTH); ENDACTION_FIND_SET_HIGH(wi,word,base,limit) ACTION_FIND_SET_BIT_HIGH((wi),(word),(base),(limit),btFindSetHighLabel)ACTION_FIND_SET_BIT_HIGH(wi,word,base,limit,label) BEGIN Index actionShift = MPS_WORD_WIDTH - (limit); Index actionIndex = MPS_WORD_WIDTH - 1 - actionShift; Word actionWord = ((word) & BTMaskLow((base))) << actionShift; Count actionMaskWidth = (MPS_WORD_WIDTH >> 1); Word actionMask = ~(Word)0 << (MPS_WORD_WIDTH-actionMaskWidth); if (actionWord != (Word)0) { while (actionMaskWidth != (Count)0) { if ((actionWord & actionMask) == (Word)0) { actionIndex -= actionMaskWidth; actionWord <<= actionMaskWidth; } actionMaskWidth >>= 1; actionMask <<= actionMaskWidth; } *bfsIndexReturn = ((wi) << MPS_WORD_SHIFT) | actionIndex; *bfsFoundReturn = TRUE; goto label; } ENDBTFindResHigh(foundReturn,indexReturn,bt,base,limit) BEGIN Bool *bfsFoundReturn = (foundReturn); Index *bfsIndexReturn = (indexReturn); BT bfsBt = (bt); ACT_ON_RANGE_HIGH((base), (limit), SINGLE_FIND_RES_HIGH, BITS_FIND_RES_HIGH, WORD_FIND_RES_HIGH); *bfsFoundReturn = FALSE; btFindResHighLabel:; ENDSINGLE_FIND_RES_HIGH(i) if (!BTGet(bfsBt, (i))) { *bfsIndexReturn = (i); *bfsFoundReturn = TRUE; goto btFindResHighLabel; }BITS_FIND_RES_HIGH(wi,base,limit) BEGIN Index bactWi = (wi); ACTION_FIND_RES_HIGH(bactWi, bfsBt[bactWi], (base), (limit)); ENDWORD_FIND_RES_HIGH(wi) BEGIN Index wactWi = (wi); ACTION_FIND_RES_HIGH(wactWi, (bfsBt[wactWi]), 0, MPS_WORD_WIDTH); ENDACTION_FIND_RES_HIGH(wi,word,base,limit) ACTION_FIND_SET_BIT_HIGH((wi),~(word),(base),(limit),btFindResHighLabel)SINGLE_RANGES_SAME(i) if (BTGet(comparand, (i)) != BTGet(comparator, (i))) return FALSEBITS_RANGES_SAME(i,base,limit) BEGIN Index bactI = (i); Word bactMask = BTMask((base),(limit)); if ((comparand[bactI] & (bactMask)) != (comparator[bactI] & (bactMask))) return FALSE; ENDWORD_RANGES_SAME(i) BEGIN Index wactI = (i); if ((comparand[wactI]) != (comparator[wactI])) return FALSE; ENDSINGLE_COPY_INVERT_RANGE(i) if (BTGet(fromBT, (i))) BTRes(toBT, (i)); else BTSet(toBT, (i))BITS_COPY_INVERT_RANGE(i,base,limit) BEGIN Index bactI = (i); Word bactMask = BTMask((base),(limit)); toBT[bactI] = (toBT[bactI] & ~bactMask) | (~fromBT[bactI] & bactMask); ENDWORD_COPY_INVERT_RANGE(i) BEGIN Index wactI = (i); toBT[wactI] = ~fromBT[wactI]; ENDSINGLE_COPY_RANGE(i) if (BTGet(fromBT, (i))) BTSet(toBT, (i)); else BTRes(toBT, (i))BITS_COPY_RANGE(i,base,limit) BEGIN Index bactI = (i); Word bactMask = BTMask((base),(limit)); toBT[bactI] = (toBT[bactI] & ~bactMask) | (fromBT[bactI] & bactMask); ENDWORD_COPY_RANGE(i) BEGIN Index wactI = (i); toBT[wactI] = fromBT[wactI]; ENDbt.cJan 17 200703:39:23$Id: //info.ravenbrook.com/project/mps/master/code/bt.c#9 $| ;AB Y.< AB V.\ AB hAB |AB AB AAB AAB FAB F'AB FAB FAB F hAB I#AB Y.<#AB Y.`AB T.AB T.SAB FdAB FXTAB FdAB C<AB Ce?#BTCreate$BTDestroyp$BTSize$BTGet$BTSet$BTRes,%BTSetRange%BTIsResRange&BTIsSetRange'BTResRange8BTFindLongResRange9BTFindLongResRangeHigh|9BTFindShortResRange9BTFindShortResRangeHighf:BTRangesSame;BTCopyInvertRange=BTCopyRanget>BTCopyOffsetRange?BTCountResRanget?btSrcIdL8LLu6g 0 r > J * Y b5HDallocTableactWordLimitsetIndexPoolDescribeMethodcontrolPoolStructpageTableLimitbtFindResHighLabelmaxLengthgreySegMaxchunkFinishnamepageSizeFormatPadMethodfromBitrankrootSerialchunkRingArenaAllocMethodreservoirSizeactiveTracesformatfoundationBTFindLongResRangeHighLockPoolBufferClassMethodTraceFixMethodsuperclassthreadRingunitsPerExtentPagefillMutatorSizepoolSerialBoolbtReturnprehistoryArenaFreeMethodunitSizesetRankSetactionMaskbaseIndexunsigned intGNU C 3.4.6 [FreeBSD] 20060305BufferRankSetMethodBTSetextendArenaChunkFinishMethodfromBTtoBasefillInternalSizeBufferReassignSegMethodreassignSegisCollectedpoolReadyscmidwhiteSegRefCountforwardedSizeforwardedCountArenaSpareCommitExceededMethodProtocolClassBTFindShortResRangeHighmergegreyRingfinishshort intAlignArenaDescribeMethodprotocoldescribefillSizesegScanCountPoolmodePoolDebugMixinStructrememberedSummaryRingprevfixRefCountserialEpochsetBuffersearchLimitapStructemptyMutatorSizeallocMutatorSizelimitReturnresLimitPoolFramePushMethodPoolFinishMethodsearchBasebusyTraceslwPopPendingchunkspansallocBasesuspendedpollThresholdArenaStructenabledMessageTypesmpsVersionStringSizefreeListframePopGlobalsStructreservoirStructBTResRangeChainStructbaseArenaClassAccessSetwactWiframeptrhistorySegSetRankSummaryMethodbfsFoundReturnlong long unsigned intfileoffsettracebactMaskshDepthactBithighattrgenCountSegClassStructminLengthrateactWordBaseFreeBlockStepMethodbtFindResLabelPoolClassStructglobalsprimaryArenaChunkInitMethodresBasewactIarenaBufferFinishMethodFormatVarietyPoolWalkMethodskipfoundSetPoolFreeMethodmortalitywasMarkedproflowbtFindSetHighLabelmessageRingsize_tmoveAPStructTractStructrampEndmayMoveBootBlockpoolLimitChunkclampedPoolReclaimMethodunroundedUnitSizeshCachetracedTimereclaimCountactWordIndexpageTablePagesfreePoolFixMethodactionMaskWidthSegPrefWordmps_lib_stream_sFormatStructcomparatorpreservedInPlaceCountfreewalkframePushFormattedObjectsStepMethodBTCopyInvertRangeSegClassbfsBtgensCountPageStructisMovedsetRankSummarySegDescribeMethodbufferClassPoolDebugMixinSegSetSummaryMethodinsidePollBTRangesSamereclaimbtSrcIdAddrreservoirLimitcharBTCopyRangescannedSizereserveBufferStructFormatScanMethodchunkSerialSegFinishMethodMFSHeaderStructSerialsplitBTFindResRangeFormatClassMethodArenaFormatMoveMethodspacefinalPoolBufferDescribeMethodBufferModelimitMFSStructArenaInitMethodlockrampCountactionIndexPoolFixEmergencyMethodzoneShiftpagesactInnerLimitisGennailedbfsIndexReturnBTCopyOffsetRangePoolFreeWalkMethodchainva_listtoBitChainbtFindSetLabellong long intunseenBaseMVStructLockStructZoneSetTractBufferSegMethoddepthPoolRampEndMethodlocusRingcomparandfixEmergencyTracegreylastWorldCollectPoolDebugMixinMethodpageShiftChunkCacheEntryStructBufferClassStructArenaClassStructrememberedSummaryIndexgreySegCountisMutatorArenaFinishMethodfixedSummarycommittedframePopPendingscansingleCopiedSizeSegSetBufferMethodProtocolInstStructAddrStructrampBeginbufferPoolRampBeginMethodsizeSegStructGenDescStructProtocolInstminLimitBufferSetRankSetMethodinitAtFlipPoolStructpoolRingFormatdetachspareCommitLimittopGenPoolWhitenMethodspanPoolStructPoolInitMethodTraceIdpoolBTFindLongResRangeaccesschainRingPoolGreyMethodlastTractMutatorFaultContextvarietyfromLimitemptyInternalSizeSrcIdarenaRingsegRefCountavgSizecopytractListBufferDetachMethodPoolScanMethodFormatCopyMethodlostcapacitywhitenScanStateBTFindShortResRangecondemnedBTFindResRangeHighminBasebufferRingChunkStructflippedTracesrootScanCountenabledrootScanSizepointlessScanCountallocRankshCacheLimitsegCopiedSizeBTResBufferInitMethodlong intsetSummarynotCondemnedextendByTraceStatelengthTraceSetstatepreservedInPlaceSizenextSegBufferMethodbuild_timefromBaseBTIsResRangeBTCreatebactIBTCheckPoolClassProtocolCoerceInstMethodBTIsSetRangeemergencyPoolBlackenMethodresIndexwhitepoolStruct__size_trootRingSegInitMethodFormatSkipMethodsegScanSizecopiedSizeArenaExtendMethodScanStateStructSegSetWhiteMethodunfixedSummarypageTableBaselastTractBasethreadSeriallabelledsetGreytracedSize__va_listwalksetWhitePoolAllocMethodRingStructrankSetlong unsigned intPoolFramePopPendingMethodSrcIdStructBootBlockStructBTSetRangewriteBarrierHitCountMutatorFaultContextStructArenaReservedMethodinitAttrbaseReturnBTDestroybufferLoggingProtocolClassStructclassbufferFillIndexspareCommitExceededFormatIsMovedMethodmaxSizechunkInitPoolAccessMethodtoLimittoBTsnapCounttypeattachnailCountunsigned charBTSize__uint32_tspareCommittedinsideShieldBTGetRingSegSplitMethodblockPoolStructsetLimitRefSetAllocFrameStructPoolFramePopMethodFileSrcIdStructtractStructBufferClassformatSerialsegRingAllocFramehasSegcoerceClassReservoirStructbuild_datesingleScanSizeBufferreadBarrierHitCountpageTableheaderSizeunseenLimitcoerceInstactionShiftdebugMixinchunkCachesigned charSegMergeMethodSegPrefStructmps_lib_FILEPoolBufferFillMethodreclaimSizebufferSerialshort unsigned intzonessetBasebufferEmptyBTCountResRangeProtocolCoerceClassMethodbactWireservedRankSetisFinalPoolactInnerBasedoublesingleScanCountfirstTractalignmentPoolBufferEmptyMethodBufferAttachMethodrestSegSetRankSetMethodShiftemptySizebt.c/home/hannes/dylan/mps/codeTraceStructfoundResglobalRingformatRingcommitLimitrootCopiedSizeSegSetGreyMethodactionWordshCacheIepochblackentracesGCC: (GNU) 3.4.6 [FreeBSD] 20060305.symtab.strtab.shstrtab.rel.text.rel.data.bss.debug_abbrev.rel.debug_info.rel.debug_line.debug_macinfo.rodata.str1.1.rodata.str1.4.rel.rodata.rel.debug_frame.rel.debug_pubnames.rel.debug_aranges.debug_ranges.debug_str.comment4L )% /4FB?B  #VZR < b]]q22<4 < D =`i t>I  |>i0/%= T`    \ - h@H;Q^< hth{|'#<#`S d2XT>dP<bt.cFileSrcIdStructBTCheckBTFindResRangeBTFindResRangeHighbtSrcIdBTCreateControlAllocBTDestroyControlFreeBTSizeBTGetBTSetBTResBTSetRangeBTIsResRangeBTIsSetRangeBTResRangeBTFindLongResRangeBTFindLongResRangeHighBTFindShortResRangeBTFindShortResRangeHighBTRangesSameBTCopyInvertRangeBTCopyRangeBTCopyOffsetRangeBTCountResRangeV  !%*18?MX_fmt{(39Zev| #.9Tek-<KZiy,;Ziq%4CRap (6DR`n &4BP^lz"0>LZhv  ) 8 G V e t            ( 7 F U d s           : I X g v            + @ V d r           0 > L Z h v         !0@U,>Qfn|$2Od{ />M\kz 0@P`p 0@P`p 0@P`p '6ETcr*4<JXf(i+\ .Uw*Ur4Z.Z>ny)P1Rt  4 ? K \ q        !N!]!s!!!!!!!!!!! ""("6"S"_"n"w""""""""" ##"#.#:#L####### $$$,$:$M$X$\$v$$$$$$$$$% % %2%:%>%Q%_%q%u%z%%%%%%%%%%%%%&&0&5&D&I&W&\&k&y&&&&&&&&&&& '''%'*'9'G'V'h'l'q''''''''''''''((((&(4(C(X(d(h(o(}((((((((())$)))0)5)<)A)E)J)Y)l)p)u))))))))))))))***/*3*8*G*U*d*w*{**************++#+3+7+<+J+N+S+a+o+}+++++++++++,, ,,, ,.,<,J,X,h,l,q,,,,,,,,,,,,, --#-(-8-<-A-M-]-k-y-------------- ... .,.8.L.Q.`.d.i.{.............. //"/'/7/;/@/N/\/j/~/////////////// 00(0J0V0Z0a0o00000000011 1'1,13181?1D1H1M1\1o1s1x1111111111111122#212A2E2J2X2f2u22222222222222 333 303>3L3\3`3e3u3y3~33333333334 444#45494>4N4R4W4e4s44444444444444 55(5<5@5E5U5Y5^5n5~555555555555566 6.62676G6W6i6n6}666666666666677 77)797K7O7T7d7h7m7{77777777777788%8)8.8<8@8E8Q8a8o8}888888888999%949Q9_9m9999999999::::::I:X:l:x:|::::::::::::;;;&;4;C;V;Z;_;m;;;;;;;;;;;;;;<<<(<,<1<C<G<L<Z<i<m<r<<<<<<<<<<<<<<==$=(=/=>=M=[=m=q=v============== >>>%>8><>A>N>R>W>c>z>>>>>>>>>>>???,?;?d?p? u??q    48PThl04PTpt $@D`dring.o/ 1169001564 1001 1001 100644 17168 ` ELF 84(UÉUÉUE9UE@ÍvUE@ÍvUMU AB AQÐUMU JPÍvUEPQP @ÉUEÉUE@C% $ > $ > : ; I I&I : ;  : ; I8 .? : ; ' I@ : ; I .? : ; ' @  4: ; I: ; I 4: ; I 4: ; I?  pKx)7rintj.hE""A$#%#&#'# o/#)# Y U m X) U m( 2(U m1P <(5U m;P .3 E= E8MU mDP >K EF rNPkU mMQnewMR Yi EO O WlU mVQnewVR u EX X `Uold_P a 'OiU mhP PFqU mpP /usr/include/usr/include/sys/usr/include/machinering.hcheck.hconfig.hmpstd.hmisc.hstddef.hcdefs.h_null.h_types.h_types.hmpslib.hmpmtypes.hstdarg.hring.cA?e2dV\d\@\dN:VM:d__STDC_HOSTED__ 1__GNUC__ 3__GNUC_MINOR__ 4__GNUC_PATCHLEVEL__ 6__SIZE_TYPE__ unsigned int__PTRDIFF_TYPE__ int__WCHAR_TYPE__ int__WINT_TYPE__ unsigned int __GXX_ABI_VERSION 1002 __SCHAR_MAX__ 127 __SHRT_MAX__ 32767 __INT_MAX__ 2147483647 __LONG_MAX__ 2147483647L__LONG_LONG_MAX__ 9223372036854775807LL__WCHAR_MAX__ 2147483647__CHAR_BIT__ 8__FLT_EVAL_METHOD__ 2__FLT_RADIX__ 2__FLT_MANT_DIG__ 24__FLT_DIG__ 6__FLT_MIN_EXP__ (-125)__FLT_MIN_10_EXP__ (-37)__FLT_MAX_EXP__ 128__FLT_MAX_10_EXP__ 38__FLT_MAX__ 3.40282347e+38F__FLT_MIN__ 1.17549435e-38F__FLT_EPSILON__ 1.19209290e-7F__FLT_DENORM_MIN__ 1.40129846e-45F__FLT_HAS_INFINITY__ 1__FLT_HAS_QUIET_NAN__ 1__DBL_MANT_DIG__ 53 __DBL_DIG__ 15!__DBL_MIN_EXP__ (-1021)"__DBL_MIN_10_EXP__ (-307)#__DBL_MAX_EXP__ 1024$__DBL_MAX_10_EXP__ 308%__DBL_MAX__ 1.7976931348623157e+308&__DBL_MIN__ 2.2250738585072014e-308'__DBL_EPSILON__ 2.2204460492503131e-16(__DBL_DENORM_MIN__ 4.9406564584124654e-324)__DBL_HAS_INFINITY__ 1*__DBL_HAS_QUIET_NAN__ 1+__LDBL_MANT_DIG__ 53,__LDBL_DIG__ 15-__LDBL_MIN_EXP__ (-16381).__LDBL_MIN_10_EXP__ (-4931)/__LDBL_MAX_EXP__ 163840__LDBL_MAX_10_EXP__ 49321__DECIMAL_DIG__ 172__LDBL_MAX__ 1.1897314953572316e+4932L3__LDBL_MIN__ 3.3621031431120935e-4932L4__LDBL_EPSILON__ 2.2204460492503131e-16L5__LDBL_DENORM_MIN__ 7.4653686412953080e-4948L6__LDBL_HAS_INFINITY__ 17__LDBL_HAS_QUIET_NAN__ 18__REGISTER_PREFIX__ 9__USER_LABEL_PREFIX__ :__VERSION__ "3.4.6 [FreeBSD] 20060305";__OPTIMIZE__ 1<__FINITE_MATH_ONLY__ 0=__STRICT_ANSI__ 1@__i386 1A__i386__ 1B__tune_i386__ 1C__FreeBSD__ 6D__unix 1E__unix__ 1F__KPRINTF_ATTRIBUTE__ 1J__FreeBSD_cc_version 602001K__ELF__ 1_REENTRANT 1CONFIG_PROD_DYLAN 1CONFIG_VAR_HI 1NDEBUG 1 ring_h  check_h config_h !CONFIG_DEBUG "CHECK_DEFAULT CheckNONE6CHECK_NONE 7MPS_ASSERT_STRING "nonasserted"?EVENT_NONE @MPS_LOG_STRING "nonlogging"EDIAGNOSTICS FMPS_DEBUG_STRING "debug"LMPS_VARIETY_STRING MPS_ASSERT_STRING "." MPS_LOG_STRING "." MPS_DEBUG_STRINGRmpstd_h MPS_PF_FRI4GC MPS_PF_STRING "fri4gc"MPS_OS_FR MPS_ARCH_I4 MPS_BUILD_GC MPS_T_WORD unsigned longMPS_WORD_WIDTH 32MPS_WORD_SHIFT 5MPS_PF_ALIGN 4EPVMDefaultSubsequentSegSIZE (64ul * 1024)ARENA_CONTROL_EXTENDBY ((Size)4096)ARENA_CONTROL_AVGSIZE ((Size)32)ARENA_CONTROL_MAXSIZE ((Size)65536)ArenaPollALLOCTIME (65536.0)ARENA_ZONESHIFT ((Shift)20)ARENA_CLIENT_PAGE_SIZE ((Size)8192)ArenaDefaultZONESET (ZoneSetUNIV << (MPS_WORD_WIDTH / 2))SegPrefDEFAULT { SegPrefSig, TRUE, ArenaDefaultZONESET, FALSE, FALSE, (Serial)0, }LDHistoryLENGTH ((Size)4)StackProbeDEPTH ((Size)0)ShieldCacheSIZE ((size_t)16)ShieldDepthWIDTH (4)VMANPageALIGNMENT ((Align)4096)VMJunkBYTE ((unsigned char)0xA9)TraceLIMIT ((size_t)1)TraceCopyScanRATIO (1.5)RememberedSummaryBLOCK 15EventBufferSIZE ((size_t)4096)EventStringLengthMAX ((size_t)255)ASSERT_BUFFER_SIZE ((Size)512)MPS_PROD_STRING "dylan"MPS_PROD_DYLAN ARENA_INIT_SPARE_COMMIT_LIMIT ((Size)10uL*1024uL*1024uL)THREAD_MULTI PROTECTION DONGLE_NONE PROD_CHECK_DEFAULT CheckSHALLOWARENA_SIZE ((Size)1<<30)misc_h '_STDDEF_H_ )%_SYS_CDEFS_H_ +__BEGIN_DECLS ,__END_DECLS 8__GNUCLIKE_ASM 39__GNUCLIKE_MATH_BUILTIN_CONSTANTS =__GNUCLIKE___TYPEOF 1>__GNUCLIKE___OFFSETOF 1?__GNUCLIKE___SECTION 1A__GNUCLIKE_ATTRIBUTE_MODE_DI 1D__GNUCLIKE_CTOR_SECTION_HANDLING 1G__GNUCLIKE_BUILTIN_CONSTANT_P 1N__GNUCLIKE_BUILTIN_VARARGS 1O__GNUCLIKE_BUILTIN_STDARG 1P__GNUCLIKE_BUILTIN_VAALIST 1T__GNUC_VA_LIST_COMPATIBILITY 1X__GNUCLIKE_BUILTIN_NEXT_ARG 1Y__GNUCLIKE_MATH_BUILTIN_RELOPS \__GNUCLIKE_BUILTIN_MEMCPY 1___CC_SUPPORTS_INLINE 1`__CC_SUPPORTS___INLINE 1a__CC_SUPPORTS___INLINE__ 1c__CC_SUPPORTS___FUNC__ 1d__CC_SUPPORTS_WARNING 1f__CC_SUPPORTS_VARADIC_XXX 1h__CC_SUPPORTS_DYNAMIC_ARRAY_INIT 1k__CC_INT_IS_32BIT 1s__GNUC_PREREQ__(ma,mi) (__GNUC__ > (ma) || __GNUC__ == (ma) && __GNUC_MINOR__ >= (mi))__P(protos) protos__CONCAT1(x,y) x ## y__CONCAT(x,y) __CONCAT1(x,y)__STRING(x) #x__XSTRING(x) __STRING(x)__const const__signed signed__volatile volatile__dead2 __attribute__((__noreturn__))__pure2 __attribute__((__const__))__unused __attribute__((__unused__))__used __attribute__((__used__))__packed __attribute__((__packed__))__aligned(x) __attribute__((__aligned__(x)))__section(x) __attribute__((__section__(x)))__pure __attribute__((__pure__))__always_inline __attribute__((__always_inline__))__nonnull(x) __attribute__((__nonnull__(x)))__restrict __predict_true(exp) __builtin_expect((exp), 1)__predict_false(exp) __builtin_expect((exp), 0)__offsetof(type,field) ((size_t)(&((type *)0)->field))__rangeof(type,start,end) (__offsetof(type, end) - __offsetof(type, start))__printflike(fmtarg,firstvararg) __attribute__((__format__ (__printf__, fmtarg, firstvararg)))__scanflike(fmtarg,firstvararg) __attribute__((__format__ (__scanf__, fmtarg, firstvararg)))__format_arg(fmtarg) __attribute__((__format_arg__ (fmtarg)))__printf0like(fmtarg,firstvararg) __attribute__((__format__ (__printf0__, fmtarg, firstvararg)))__strong_reference(sym,aliassym) extern __typeof (sym) aliassym __attribute__ ((__alias__ (#sym)));__weak_reference(sym,alias) __asm__(".weak " #alias); __asm__(".equ " #alias ", " #sym)__warn_references(sym,msg) __asm__(".section .gnu.warning." #sym); __asm__(".asciz \"" msg "\""); __asm__(".previous")__IDSTRING(name,string) __asm__(".ident\t\"" string "\"")__FBSDID(s) __IDSTRING(__CONCAT(__rcsid_,__LINE__),s)__RCSID(s) __IDSTRING(__CONCAT(__rcsid_,__LINE__),s)__RCSID_SOURCE(s) __IDSTRING(__CONCAT(__rcsid_source_,__LINE__),s)__SCCSID(s) __IDSTRING(__CONCAT(__sccsid_,__LINE__),s)__COPYRIGHT(s) __IDSTRING(__CONCAT(__copyright_,__LINE__),s)__DECONST(type,var) ((type)(uintptr_t)(const void *)(var))__DEVOLATILE(type,var) ((type)(uintptr_t)(volatile void *)(var))__DEQUALIFY(type,var) ((type)(uintptr_t)(const volatile void *)(var))__POSIX_VISIBLE 200112__XSI_VISIBLE 600__BSD_VISIBLE 1__ISO_C_VISIBLE 1999* NULL ((void *)0)+ _SYS__TYPES_H_ ! (_MACHINE__TYPES_H_ .__NO_STRICT_ALIGNMENT __GNUC_VA_LIST 2_RUNE_T_DECLARED 8_SIZE_T_DECLARED >_WCHAR_T_DECLARED Boffsetof(type,member) __offsetof(type, member)*SRCID(id,scmid) static SrcIdStruct FileSrcIdStruct = {__FILE__, (scmid), __DATE__, __TIME__}; SrcId id ## SrcId = &FileSrcIdStruct;BEGIN do {> (i)) & 1)BS_UNION(s1,s2) ((s1) | (s2))BS_ADD(ty,s,i) BS_UNION((s), BS_SINGLE(ty, (i)))BS_INTER(s1,s2) ((s1) & (s2))BS_DIFF(s1,s2) BS_INTER((s1), BS_COMP(s2))BS_DEL(ty,s,i) BS_DIFF((s), BS_SINGLE(ty, (i)))BS_SUPER(s1,s2) (BS_INTER((s1), (s2)) == (s2))BS_SUB(s1,s2) BS_SUPER((s2), (s1))BS_IS_SINGLE(s) (((s) & ((s)-1)) == 0)BS_SYM_DIFF(s1,s2) ((s1) ^ (s2)) mpslib_h mps_lib_EOF (mps_lib_get_EOF())mps_lib_stderr (mps_lib_get_stderr())mps_lib_stdout (mps_lib_get_stdout())0AVER(cond) DISCARD(cond)1AVERT(type,val) DISCARD(type ## Check(val))2AVER_CRITICAL(cond) DISCARD(cond)3AVERT_CRITICAL(type,val) DISCARD(type ## Check(val))MASSERT(cond,condstring) BEGIN if (cond) NOOP; else mps_lib_assert_fail(condstring "\n" __FILE__ "\n" STR(__LINE__)); END_NOTREACHED NOOPjCHECKT(type,val) ((val) != NULL && (val)->sig == type ## Sig)pCHECKS(type,val) DISCARD(CHECKT(type, val))qCHECKL(cond) DISCARD(cond)rCHECKD(type,val) DISCARD(CHECKT(type, val))sCHECKD_NOSIG(type,val) DISCARD((val) != NULL)tCHECKU(type,val) DISCARD(CHECKT(type, val))uCHECKU_NOSIG(type,val) DISCARD((val) != NULL)CHECKLVALUE(lv1,lv2) ((void)sizeof((lv1) = (lv2)), (void)sizeof((lv2) = (lv1)), TRUE)CHECKTYPE(t1,t2) (sizeof(t1) == sizeof(t2) && CHECKLVALUE(*((t1 *)0), *((t2 *)0)))CHECKFIELDAPPROX(s1,f1,s2,f2) (sizeof(((s1 *)0)->f1) == sizeof(((s2 *)0)->f2) && offsetof(s1, f1) == offsetof(s2, f2))CHECKFIELD(s1,f1,s2,f2) (CHECKFIELDAPPROX(s1, f1, s2, f2) && CHECKLVALUE(((s1 *)0)->f1, ((s2 *)0)->f2)) mpmtypes_h  '_MACHINE_STDARG_H_ -_VA_LIST_DECLARED 3va_start(ap,last) __builtin_stdarg_start((ap), (last))6va_arg(ap,type) __builtin_va_arg((ap), type):va_copy(dest,src) __builtin_va_copy((dest), (src))>va_end(ap) __builtin_va_end(ap)SigInvalid ((Sig)0x51915BAD)SizeMAX ((Size)-1)AccessSetEMPTY ((AccessSet)0)AccessREAD ((AccessSet)(1<<0))AccessWRITE ((AccessSet)(1<<1))AccessSetWIDTH (2)RefSetEMPTY BS_EMPTY(RefSet)RefSetUNIV BS_UNIV(RefSet)ZoneSetEMPTY BS_EMPTY(ZoneSet)ZoneSetUNIV BS_UNIV(ZoneSet)TraceSetEMPTY BS_EMPTY(TraceSet)TraceSetUNIV ((TraceSet)((1u << TraceLIMIT) - 1))RankSetEMPTY BS_EMPTY(RankSet)RankSetUNIV ((RankSet)((1u << RankLIMIT) - 1))AttrFMT ((Attr)(1<<0))AttrSCAN ((Attr)(1<<1))AttrPM_NO_READ ((Attr)(1<<2))AttrPM_NO_WRITE ((Attr)(1<<3))AttrALLOC ((Attr)(1<<4))AttrFREE ((Attr)(1<<5))AttrBUF ((Attr)(1<<6))AttrBUF_RESERVE ((Attr)(1<<7))AttrBUF_ALLOC ((Attr)(1<<8))AttrGC ((Attr)(1<<9))AttrINCR_RB ((Attr)(1<<10))AttrINCR_WB ((Attr)(1<<11))AttrMOVINGGC ((Attr)(1<<12))AttrMASK (AttrFMT | AttrSCAN | AttrPM_NO_READ | AttrPM_NO_WRITE | AttrALLOC | AttrFREE | AttrBUF | AttrBUF_RESERVE | AttrBUF_ALLOC | AttrGC | AttrINCR_RB | AttrINCR_WB | AttrMOVINGGC)BufferModeATTACHED ((BufferMode)(1<<0))BufferModeFLIPPED ((BufferMode)(1<<1))BufferModeLOGGED ((BufferMode)(1<<2))BufferModeTRANSITION ((BufferMode)(1<<3))RootModeCONSTANT ((RootMode)1<<0)RootModePROTECTABLE ((RootMode)1<<1)RootModePROTECTABLE_INNER ((RootMode)1<<2)STATISTIC_DECL(field) fieldRingNONE ((Ring)0)$RingInit(ring) BEGIN Ring _ring = (ring); AVER(_ring != NULL); _ring->next = _ring; _ring->prev = _ring; AVER(RingCheck(_ring)); END/RingFinish(ring) BEGIN Ring _ring = (ring); AVER(RingCheckSingle(_ring)); _ring->next = RingNONE; _ring->prev = RingNONE; END9RingAppend(ring,new) BEGIN Ring _ring = (ring), _new = (new); AVER(RingCheck(_ring)); AVER(RingCheckSingle(_new)); _new->prev = _ring->prev; _new->next = _ring; _ring->prev->next = _new; _ring->prev = _new; ENDFRingInsert(ring,new) BEGIN Ring _ring = (ring), _new = (new); AVER(RingCheck(_ring)); AVER(RingCheckSingle(_new)); _new->prev = _ring; _new->next = _ring->next; _ring->next->prev = _new; _ring->next = _new; ENDSRingRemove(old) BEGIN Ring _old = (old); AVER(RingCheck(_old)); AVER(!RingIsSingle(_old)); _old->next->prev = _old->prev; _old->prev->next = _old->next; _old->next = _old; _old->prev = _old; END`RingNext(ring) ((ring)->next)dRingPrev(ring) ((ring)->prev)gRING_ELT(type,field,node) ((type)(void *)((char *)(node) - (size_t)(&((type)0)->field)))kRING_FOR(node,ring,next) for(node = RingNext(ring), next = RingNext(node); node != (ring); node = (next), next = RingNext(node))ring.cJan 17 200703:39:24$Id: //info.ravenbrook.com/project/mps/master/code/ring.c#10 $|  AB  AB AB ( AB 8AB PAB lAB AB  AB  AB t/RingCheckYRingCheckSingleRingIsSingleRingInitRingFinish RingAppendrRingInsertRingRemoveRingNext'RingPrevaringSrcId/home/hannes/dylan/mps/codeRingIsSingleprevlong long unsigned int_ringGNU C 3.4.6 [FreeBSD] 20060305long long intsigned charringSrcIdlong unsigned intRingInitlong int_newdoubleRingInsertunsigned intRingStructscmidRingCheckRingFinishbuild_timering.cFileSrcIdStructRingAppendunsigned charshort intfileRingPrevRingNextRingCheckSinglecharringshort unsigned intRingRemovenext_oldSrcIdStructbuild_dateRingBoolSrcIdGCC: (GNU) 3.4.6 [FreeBSD] 20060305.symtab.strtab.shstrtab.text.rel.data.bss.debug_abbrev.rel.debug_info.rel.debug_line.debug_macinfo.rodata.str1.1.rodata.str1.4.rel.rodata.rel.debug_frame.rel.debug_pubnames.rel.debug_aranges.debug_str.comment4%! P?+0Bt> X?RSN 0B^m`-m23|23?,4 8B  <4 XB@5 B5  C067%7< >     " , <I( R8]Phls~  ring.cFileSrcIdStructringSrcIdRingCheckRingCheckSingleRingIsSingleRingInitRingFinishRingAppendRingInsertRingRemoveRingNextRingPrev  !%*18?MT[bipw~ !5@DK_jnu &-18RV[fx-8<CQ] bo     0 4H L` dx |     shield.o/ 1169001564 1001 1001 100644 54632 ` ELF |4(US]0u Pǃ0]ÍvUÍvUVSu ]Nƒt0!ȃ ЈFPvFpe[^ÐUS] C9t(PsCpC ЈC]UVS]u t9,QA ЈAuQSvvDŽe[^ÉUVSu] C9Ct V0uSVhC@S ˆS,$V1$@$u dž$v$;(u @(ve[^ÐUM Q E? ˆQQuÍvUVS] uK!? KVSue[^ÉUM(v (@9wǁ$ǁ(ǁÍvUVSu(v!,tSV C9(we[^ÉUS]S0t Pǃ0ǃ]ÐUVSu] SBC ЈC,C0t VvjSVe[^ÐUS ]M QA ЈA,QS]C% $ > $ > : ; I I&I : ;  : ; I8 < : ; I  : ;I8 : ;I8  : ; I8  : ; I 8  : ;I 8  : ;I 8  : ; ' II' ' I : ;  : ;  : ; I: ;II!I/ .? : ; ' @ : ; I .: ; ' @ : ; I !4: ; I ".? : ;' @ #: ;I $: ;I %4: ;I&4: ; I '4: ; I?  \& Qint_ 8W [  _L |7 7zME "D"$#*%#0&# '# " 2  . Sigl ResE l"ou #Y$Y%Y&Y'W(W Ref)d ,Y5 -Y .WG/W?1{ 2Wl 3Wa 4Wq5W6Wn7W BT:MY;^d PJY @> DM!# VE# F# G)# HT# @Iq# < J#$ K3#( segL#, M#0 vN#4 O#8 sigPC#<dAWC ad# bd# ocd# {dd# e# f#5 D<D sigC# 8# 8# U#  # }# i # 0# Q#$ s#( : ~#, pad#0 #4 o{#8F G! XGsig`C#8a#b#Uc#  d# e#f# g#$}h#,i#0fixj=#4,ks#8Xls#@ms#H ns#P H H2M!#V3# 4#5#6-#7Y# 8#$ 9#(b:#,;#0<-#4 =Y#8 >#< ?#@^@#Di A#HfixB=#Lu Cm#PrDx#T E#XF#\G#`$H#dY I(#hJO#lK#p8L#tM#xN#|O#sigPC# O O sigC# ti# U# # # # # * # {# K {#$ {#( {#, #0 ?#4 #8 #< #{#@ #D >#H  {#L b#P ;#T n {#X ,#\ & #` 0#d G#h 1#l Q#p  #t O #x A {#|  #  {# F# # P  * gTP fix# Y# # # sigC# U# f # # # B #$ ,#( & #, 0#0 G#4 1#8 O#< A{#@ #D {#H J{#L {#P Q5 ;  UQsig>C#U?# @#A #B#C!#= R   R #p#ad#  #  W#  S   8SsigC#8#U## [{# #ad#od# #$#(C#,eU #0S#4? T sigC#  # ad# od# ?# 0?#'UJPkUtheh+ # SegVv|P V sigC# P# r # ,  # o d#S  W#pm "#sm "#  #  # ##X[aNLXM!#V# ###@ T#  v#$E#(#,#0v #4-#8#<#@#DsigC#HZY_Z sig0C# 1# 2# 3# 4# gen5#f\ H\ &M!# V'E## (# )# *# +# >,#$ -#( .#, /'#0 b0h#4 1#8 J2#< 3#@ sig4C#D(^(^ 0oK## 8p#t r#x t#| u ## Ew## O y{# z{# j|{# C }{# # }#  # d# 8 # # # 9## ` !# # # # C# O# E# # # y# >W## O{# {# {# #  #  # g## s# * s# Y# w## `# # X# R# ## sigC#7t_ sigBC# E# F# Is# gJ# K# ,Ls# XMs#( iNs#0 Os#8  Ps#@ S#H V#L , Y#P <Z#X ]#\ ^#d a#h d#p d uDe  g#)  hh!# #X{#\{#`sigC#dnN8$ op{^qUr 'Nd{t28\N\bN{d ]usyd{@vN Sw xN' $N $5;[dl flddNkd{8k>k w-k8>TkS_evk jk kj&NkNkkddd8& 4:TNj8[_eqj|jddd{I _C kjj j"3jkO>DYNj djN8N\{d{-N\\j{8>Yjdd djNkd"g șNk k  k\ 7N7 kgHNmN k$H ҎjY ӵjzNj(Nj*39Oj|Z`k*l݋[޲x N 0N dd-;AQdd.\bsdd;k \dd{; #'# + g e#;fE#J hcg iPJ }\f l  \sig}C#~[ #z #!#  a   asigC#[ # m  !! [  $x'!-!G!G![ [ [ l ! $sigC##  {#!s# "s#k ## $X!!! oR"ut!#,{#XX {#\m{#`Y#dX"#h?  #lsigC#p R"u! #! `!#^"#Xx ^"#X {#2 {#{#?{#| {##sigC#! i" /gd  7eg#kw#-####Q5UUPS#u ]8=UU\!$-g@UUf segfkVf"SS$uUUt segtkS$G6UUS i{V!segkQ$ 8UUV segkS%T %UU segkQ"A%u(fUU segkS"Vq%thUUQ!i{P%2UUV!i{S% 3UUS"&z4U#UV$segkS%""<&$U#U#S$seg#kQ&M'6 Mf /usr/include/usr/include/sys/usr/include/machinempm.hconfig.hmpstd.hmisc.hstddef.hcdefs.h_null.h_types.h_types.hcheck.hmpslib.hevent.heventcom.hmpmtypes.hstdarg.heventgen.hlock.hth.hring.hss.htract.hbt.hmpmst.hprotocol.hchain.hshield.cՃ>Z,HXYrLd;H񪔮dWhrԝX;Y; c]e=ǜggd七:fr__STDC_HOSTED__ 1__GNUC__ 3__GNUC_MINOR__ 4__GNUC_PATCHLEVEL__ 6__SIZE_TYPE__ unsigned int__PTRDIFF_TYPE__ int__WCHAR_TYPE__ int__WINT_TYPE__ unsigned int __GXX_ABI_VERSION 1002 __SCHAR_MAX__ 127 __SHRT_MAX__ 32767 __INT_MAX__ 2147483647 __LONG_MAX__ 2147483647L__LONG_LONG_MAX__ 9223372036854775807LL__WCHAR_MAX__ 2147483647__CHAR_BIT__ 8__FLT_EVAL_METHOD__ 2__FLT_RADIX__ 2__FLT_MANT_DIG__ 24__FLT_DIG__ 6__FLT_MIN_EXP__ (-125)__FLT_MIN_10_EXP__ (-37)__FLT_MAX_EXP__ 128__FLT_MAX_10_EXP__ 38__FLT_MAX__ 3.40282347e+38F__FLT_MIN__ 1.17549435e-38F__FLT_EPSILON__ 1.19209290e-7F__FLT_DENORM_MIN__ 1.40129846e-45F__FLT_HAS_INFINITY__ 1__FLT_HAS_QUIET_NAN__ 1__DBL_MANT_DIG__ 53 __DBL_DIG__ 15!__DBL_MIN_EXP__ (-1021)"__DBL_MIN_10_EXP__ (-307)#__DBL_MAX_EXP__ 1024$__DBL_MAX_10_EXP__ 308%__DBL_MAX__ 1.7976931348623157e+308&__DBL_MIN__ 2.2250738585072014e-308'__DBL_EPSILON__ 2.2204460492503131e-16(__DBL_DENORM_MIN__ 4.9406564584124654e-324)__DBL_HAS_INFINITY__ 1*__DBL_HAS_QUIET_NAN__ 1+__LDBL_MANT_DIG__ 53,__LDBL_DIG__ 15-__LDBL_MIN_EXP__ (-16381).__LDBL_MIN_10_EXP__ (-4931)/__LDBL_MAX_EXP__ 163840__LDBL_MAX_10_EXP__ 49321__DECIMAL_DIG__ 172__LDBL_MAX__ 1.1897314953572316e+4932L3__LDBL_MIN__ 3.3621031431120935e-4932L4__LDBL_EPSILON__ 2.2204460492503131e-16L5__LDBL_DENORM_MIN__ 7.4653686412953080e-4948L6__LDBL_HAS_INFINITY__ 17__LDBL_HAS_QUIET_NAN__ 18__REGISTER_PREFIX__ 9__USER_LABEL_PREFIX__ :__VERSION__ "3.4.6 [FreeBSD] 20060305";__OPTIMIZE__ 1<__FINITE_MATH_ONLY__ 0=__STRICT_ANSI__ 1@__i386 1A__i386__ 1B__tune_i386__ 1C__FreeBSD__ 6D__unix 1E__unix__ 1F__KPRINTF_ATTRIBUTE__ 1J__FreeBSD_cc_version 602001K__ELF__ 1_REENTRANT 1CONFIG_PROD_DYLAN 1CONFIG_VAR_HI 1NDEBUG 1K mpm_h config_h !CONFIG_DEBUG "CHECK_DEFAULT CheckNONE6CHECK_NONE 7MPS_ASSERT_STRING "nonasserted"?EVENT_NONE @MPS_LOG_STRING "nonlogging"EDIAGNOSTICS FMPS_DEBUG_STRING "debug"LMPS_VARIETY_STRING MPS_ASSERT_STRING "." MPS_LOG_STRING "." MPS_DEBUG_STRINGRmpstd_h MPS_PF_FRI4GC MPS_PF_STRING "fri4gc"MPS_OS_FR MPS_ARCH_I4 MPS_BUILD_GC MPS_T_WORD unsigned longMPS_WORD_WIDTH 32MPS_WORD_SHIFT 5MPS_PF_ALIGN 4EPVMDefaultSubsequentSegSIZE (64ul * 1024)ARENA_CONTROL_EXTENDBY ((Size)4096)ARENA_CONTROL_AVGSIZE ((Size)32)ARENA_CONTROL_MAXSIZE ((Size)65536)ArenaPollALLOCTIME (65536.0)ARENA_ZONESHIFT ((Shift)20)ARENA_CLIENT_PAGE_SIZE ((Size)8192)ArenaDefaultZONESET (ZoneSetUNIV << (MPS_WORD_WIDTH / 2))SegPrefDEFAULT { SegPrefSig, TRUE, ArenaDefaultZONESET, FALSE, FALSE, (Serial)0, }LDHistoryLENGTH ((Size)4)StackProbeDEPTH ((Size)0)ShieldCacheSIZE ((size_t)16)ShieldDepthWIDTH (4)VMANPageALIGNMENT ((Align)4096)VMJunkBYTE ((unsigned char)0xA9)TraceLIMIT ((size_t)1)TraceCopyScanRATIO (1.5)RememberedSummaryBLOCK 15EventBufferSIZE ((size_t)4096)EventStringLengthMAX ((size_t)255)ASSERT_BUFFER_SIZE ((Size)512)MPS_PROD_STRING "dylan"MPS_PROD_DYLAN ARENA_INIT_SPARE_COMMIT_LIMIT ((Size)10uL*1024uL*1024uL)THREAD_MULTI PROTECTION DONGLE_NONE PROD_CHECK_DEFAULT CheckSHALLOWARENA_SIZE ((Size)1<<30)misc_h '_STDDEF_H_ )%_SYS_CDEFS_H_ +__BEGIN_DECLS ,__END_DECLS 8__GNUCLIKE_ASM 39__GNUCLIKE_MATH_BUILTIN_CONSTANTS =__GNUCLIKE___TYPEOF 1>__GNUCLIKE___OFFSETOF 1?__GNUCLIKE___SECTION 1A__GNUCLIKE_ATTRIBUTE_MODE_DI 1D__GNUCLIKE_CTOR_SECTION_HANDLING 1G__GNUCLIKE_BUILTIN_CONSTANT_P 1N__GNUCLIKE_BUILTIN_VARARGS 1O__GNUCLIKE_BUILTIN_STDARG 1P__GNUCLIKE_BUILTIN_VAALIST 1T__GNUC_VA_LIST_COMPATIBILITY 1X__GNUCLIKE_BUILTIN_NEXT_ARG 1Y__GNUCLIKE_MATH_BUILTIN_RELOPS \__GNUCLIKE_BUILTIN_MEMCPY 1___CC_SUPPORTS_INLINE 1`__CC_SUPPORTS___INLINE 1a__CC_SUPPORTS___INLINE__ 1c__CC_SUPPORTS___FUNC__ 1d__CC_SUPPORTS_WARNING 1f__CC_SUPPORTS_VARADIC_XXX 1h__CC_SUPPORTS_DYNAMIC_ARRAY_INIT 1k__CC_INT_IS_32BIT 1s__GNUC_PREREQ__(ma,mi) (__GNUC__ > (ma) || __GNUC__ == (ma) && __GNUC_MINOR__ >= (mi))__P(protos) protos__CONCAT1(x,y) x ## y__CONCAT(x,y) __CONCAT1(x,y)__STRING(x) #x__XSTRING(x) __STRING(x)__const const__signed signed__volatile volatile__dead2 __attribute__((__noreturn__))__pure2 __attribute__((__const__))__unused __attribute__((__unused__))__used __attribute__((__used__))__packed __attribute__((__packed__))__aligned(x) __attribute__((__aligned__(x)))__section(x) __attribute__((__section__(x)))__pure __attribute__((__pure__))__always_inline __attribute__((__always_inline__))__nonnull(x) __attribute__((__nonnull__(x)))__restrict __predict_true(exp) __builtin_expect((exp), 1)__predict_false(exp) __builtin_expect((exp), 0)__offsetof(type,field) ((size_t)(&((type *)0)->field))__rangeof(type,start,end) (__offsetof(type, end) - __offsetof(type, start))__printflike(fmtarg,firstvararg) __attribute__((__format__ (__printf__, fmtarg, firstvararg)))__scanflike(fmtarg,firstvararg) __attribute__((__format__ (__scanf__, fmtarg, firstvararg)))__format_arg(fmtarg) __attribute__((__format_arg__ (fmtarg)))__printf0like(fmtarg,firstvararg) __attribute__((__format__ (__printf0__, fmtarg, firstvararg)))__strong_reference(sym,aliassym) extern __typeof (sym) aliassym __attribute__ ((__alias__ (#sym)));__weak_reference(sym,alias) __asm__(".weak " #alias); __asm__(".equ " #alias ", " #sym)__warn_references(sym,msg) __asm__(".section .gnu.warning." #sym); __asm__(".asciz \"" msg "\""); __asm__(".previous")__IDSTRING(name,string) __asm__(".ident\t\"" string "\"")__FBSDID(s) __IDSTRING(__CONCAT(__rcsid_,__LINE__),s)__RCSID(s) __IDSTRING(__CONCAT(__rcsid_,__LINE__),s)__RCSID_SOURCE(s) __IDSTRING(__CONCAT(__rcsid_source_,__LINE__),s)__SCCSID(s) __IDSTRING(__CONCAT(__sccsid_,__LINE__),s)__COPYRIGHT(s) __IDSTRING(__CONCAT(__copyright_,__LINE__),s)__DECONST(type,var) ((type)(uintptr_t)(const void *)(var))__DEVOLATILE(type,var) ((type)(uintptr_t)(volatile void *)(var))__DEQUALIFY(type,var) ((type)(uintptr_t)(const volatile void *)(var))__POSIX_VISIBLE 200112__XSI_VISIBLE 600__BSD_VISIBLE 1__ISO_C_VISIBLE 1999* NULL ((void *)0)+_SYS__TYPES_H_ ! (_MACHINE__TYPES_H_ .__NO_STRICT_ALIGNMENT __GNUC_VA_LIST 2_RUNE_T_DECLARED 8_SIZE_T_DECLARED >_WCHAR_T_DECLARED Boffsetof(type,member) __offsetof(type, member)*SRCID(id,scmid) static SrcIdStruct FileSrcIdStruct = {__FILE__, (scmid), __DATE__, __TIME__}; SrcId id ## SrcId = &FileSrcIdStruct;BEGIN do {> (i)) & 1)BS_UNION(s1,s2) ((s1) | (s2))BS_ADD(ty,s,i) BS_UNION((s), BS_SINGLE(ty, (i)))BS_INTER(s1,s2) ((s1) & (s2))BS_DIFF(s1,s2) BS_INTER((s1), BS_COMP(s2))BS_DEL(ty,s,i) BS_DIFF((s), BS_SINGLE(ty, (i)))BS_SUPER(s1,s2) (BS_INTER((s1), (s2)) == (s2))BS_SUB(s1,s2) BS_SUPER((s2), (s1))BS_IS_SINGLE(s) (((s) & ((s)-1)) == 0)BS_SYM_DIFF(s1,s2) ((s1) ^ (s2)) check_h  mpslib_h mps_lib_EOF (mps_lib_get_EOF())mps_lib_stderr (mps_lib_get_stderr())mps_lib_stdout (mps_lib_get_stdout())0AVER(cond) DISCARD(cond)1AVERT(type,val) DISCARD(type ## Check(val))2AVER_CRITICAL(cond) DISCARD(cond)3AVERT_CRITICAL(type,val) DISCARD(type ## Check(val))MASSERT(cond,condstring) BEGIN if (cond) NOOP; else mps_lib_assert_fail(condstring "\n" __FILE__ "\n" STR(__LINE__)); END_NOTREACHED NOOPjCHECKT(type,val) ((val) != NULL && (val)->sig == type ## Sig)pCHECKS(type,val) DISCARD(CHECKT(type, val))qCHECKL(cond) DISCARD(cond)rCHECKD(type,val) DISCARD(CHECKT(type, val))sCHECKD_NOSIG(type,val) DISCARD((val) != NULL)tCHECKU(type,val) DISCARD(CHECKT(type, val))uCHECKU_NOSIG(type,val) DISCARD((val) != NULL)CHECKLVALUE(lv1,lv2) ((void)sizeof((lv1) = (lv2)), (void)sizeof((lv2) = (lv1)), TRUE)CHECKTYPE(t1,t2) (sizeof(t1) == sizeof(t2) && CHECKLVALUE(*((t1 *)0), *((t2 *)0)))CHECKFIELDAPPROX(s1,f1,s2,f2) (sizeof(((s1 *)0)->f1) == sizeof(((s2 *)0)->f2) && offsetof(s1, f1) == offsetof(s2, f2))CHECKFIELD(s1,f1,s2,f2) (CHECKFIELDAPPROX(s1, f1, s2, f2) && CHECKLVALUE(((s1 *)0)->f1, ((s2 *)0)->f2)) event_h   eventcom_h  mpmtypes_h '_MACHINE_STDARG_H_ -_VA_LIST_DECLARED 3va_start(ap,last) __builtin_stdarg_start((ap), (last))6va_arg(ap,type) __builtin_va_arg((ap), type):va_copy(dest,src) __builtin_va_copy((dest), (src))>va_end(ap) __builtin_va_end(ap)SigInvalid ((Sig)0x51915BAD)SizeMAX ((Size)-1)AccessSetEMPTY ((AccessSet)0)AccessREAD ((AccessSet)(1<<0))AccessWRITE ((AccessSet)(1<<1))AccessSetWIDTH (2)RefSetEMPTY BS_EMPTY(RefSet)RefSetUNIV BS_UNIV(RefSet)ZoneSetEMPTY BS_EMPTY(ZoneSet)ZoneSetUNIV BS_UNIV(ZoneSet)TraceSetEMPTY BS_EMPTY(TraceSet)TraceSetUNIV ((TraceSet)((1u << TraceLIMIT) - 1))RankSetEMPTY BS_EMPTY(RankSet)RankSetUNIV ((RankSet)((1u << RankLIMIT) - 1))AttrFMT ((Attr)(1<<0))AttrSCAN ((Attr)(1<<1))AttrPM_NO_READ ((Attr)(1<<2))AttrPM_NO_WRITE ((Attr)(1<<3))AttrALLOC ((Attr)(1<<4))AttrFREE ((Attr)(1<<5))AttrBUF ((Attr)(1<<6))AttrBUF_RESERVE ((Attr)(1<<7))AttrBUF_ALLOC ((Attr)(1<<8))AttrGC ((Attr)(1<<9))AttrINCR_RB ((Attr)(1<<10))AttrINCR_WB ((Attr)(1<<11))AttrMOVINGGC ((Attr)(1<<12))AttrMASK (AttrFMT | AttrSCAN | AttrPM_NO_READ | AttrPM_NO_WRITE | AttrALLOC | AttrFREE | AttrBUF | AttrBUF_RESERVE | AttrBUF_ALLOC | AttrGC | AttrINCR_RB | AttrINCR_WB | AttrMOVINGGC)BufferModeATTACHED ((BufferMode)(1<<0))BufferModeFLIPPED ((BufferMode)(1<<1))BufferModeLOGGED ((BufferMode)(1<<2))BufferModeTRANSITION ((BufferMode)(1<<3))RootModeCONSTANT ((RootMode)1<<0)RootModePROTECTABLE ((RootMode)1<<1)RootModePROTECTABLE_INNER ((RootMode)1<<2)STATISTIC_DECL(field) field!EventNameMAX ((size_t)19)"EventCodeMAX ((EventCode)0x0069)&EVENT_0(type) NOOPEVENT_A(type,p0) NOOPEVENT_AW(type,p0,p1) NOOPEVENT_P(type,p0) NOOPEVENT_PAA(type,p0,p1,p2) NOOPEVENT_PAW(type,p0,p1,p2) NOOPEVENT_PAWA(type,p0,p1,p2,p3) NOOPEVENT_PDDWWW(type,p0,p1,p2,p3,p4,p5) NOOPEVENT_PP(type,p0,p1) NOOPEVENT_PPAU(type,p0,p1,p2,p3) NOOPEVENT_PPAWP(type,p0,p1,p2,p3,p4) NOOPEVENT_PPP(type,p0,p1,p2) NOOPEVENT_PPPA(type,p0,p1,p2,p3) NOOPEVENT_PPPU(type,p0,p1,p2,p3) NOOPEVENT_PPPUU(type,p0,p1,p2,p3,p4) NOOPEVENT_PPU(type,p0,p1,p2) NOOPEVENT_PPUU(type,p0,p1,p2,p3) NOOPEVENT_PPUWWW(type,p0,p1,p2,p3,p4,p5) NOOPEVENT_PPWW(type,p0,p1,p2,p3) NOOPEVENT_PPWWW(type,p0,p1,p2,p3,p4) NOOPEVENT_PPWWWUUU(type,p0,p1,p2,p3,p4,p5,p6,p7) NOOPEVENT_PU(type,p0,p1) NOOPEVENT_PW(type,p0,p1) NOOPEVENT_PWA(type,p0,p1,p2) NOOPEVENT_PWAW(type,p0,p1,p2,p3) NOOPEVENT_PWP(type,p0,p1,p2) NOOPEVENT_PWU(type,p0,p1,p2) NOOPEVENT_PWW(type,p0,p1,p2) NOOPEVENT_PWWWWDD(type,p0,p1,p2,p3,p4,p5,p6) NOOPEVENT_PWWWWW(type,p0,p1,p2,p3,p4,p5) NOOPEVENT_PWWWWWWWWW(type,p0,p1,p2,p3,p4,p5,p6,p7,p8,p9) NOOPEVENT_PWWWWWWWWWWWW(type,p0,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11,p12) NOOPEVENT_UUPA(type,p0,p1,p2,p3) NOOPEVENT_UUPP(type,p0,p1,p2,p3) NOOPEVENT_UUPPP(type,p0,p1,p2,p3,p4) NOOPEVENT_WS(type,p0,p1,l1) NOOP:EventEventTime ((EventType)0xEF213E99);EventPoolInit ((EventType)0xEFB07141)EventPoolFree ((EventType)0xEFB07F6E)?EventArenaCreateVM ((EventType)0xEFA64CF3)@EventArenaCreateVMNZ ((EventType)0xEFA64CF2)AEventArenaCreateCL ((EventType)0xEFA64CC7)BEventArenaDestroy ((EventType)0xEFA64DE5)CEventArenaAlloc ((EventType)0xEFA64A77)DEventArenaFree ((EventType)0xEFA64F6E)EEventSegAlloc ((EventType)0xEF5E9A77)FEventSegFree ((EventType)0xEF5E9F6E)GEventSegMerge ((EventType)0xEF5E93E6)HEventSegSplit ((EventType)0xEF5E95B7)IEventAMCGenCreate ((EventType)0xEFA3C94C)JEventAMCGenDestroy ((EventType)0xEFA3C94D)KEventAMCInit ((EventType)0xEFA3C141)LEventAMCFinish ((EventType)0xEFA3CF14)MEventAMCTraceBegin ((EventType)0xEFA3C26B)NEventAMCScanBegin ((EventType)0xEFA3C5CB)OEventAMCScanEnd ((EventType)0xEFA3C5CE)PEventAMCFix ((EventType)0xEFA3CF18)QEventAMCFixInPlace ((EventType)0xEFA3CF8A)REventAMCFixForward ((EventType)0xEFA3CF8F)SEventAMCReclaim ((EventType)0xEFA3C6EC)TEventTraceStart ((EventType)0xEF26AC52)UEventTraceCreate ((EventType)0xEF26ACC6)VEventTraceDestroy ((EventType)0xEF26ACDE)WEventSegSetGrey ((EventType)0xEF59596A)XEventTraceFlipBegin ((EventType)0xEF26AF7B)YEventTraceFlipEnd ((EventType)0xEF26AF7E)ZEventTraceReclaim ((EventType)0xEF26A6EC)[EventTraceScanSeg ((EventType)0xEF26A559)\EventTraceScanSingleRef ((EventType)0xEF26A556)^EventTraceAccess ((EventType)0xEF26AACC)_EventTracePoll ((EventType)0xEF26AB01)`EventTraceStep ((EventType)0xEF26A52B)aEventTraceFix ((EventType)0xEF26AF18)bEventTraceFixSeg ((EventType)0xEF26AF85)cEventTraceFixWhite ((EventType)0xEF26AF83)dEventTraceScanArea ((EventType)0xEF26A5CA)eEventTraceScanAreaTagged ((EventType)0xEF26A5C2)fEventVMCreate ((EventType)0xEFF3C6EA)gEventVMDestroy ((EventType)0xEFF3DE52)hEventVMMap ((EventType)0xEFF33AB9)iEventVMUnmap ((EventType)0xEFF3043B)jEventIntern ((EventType)0xEF142E64)kEventArenaExtend ((EventType)0xEFA64E82)lEventArenaRetract ((EventType)0xEFA646E2)mEventRootScan ((EventType)0xEF625CA4)nEventLabel ((EventType)0xEF7ABE79)oEventTraceSegGreyen ((EventType)0xEF26A599)pEventBufferReserve ((EventType)0xEFB0FF6E)qEventBufferCommit ((EventType)0xEFB0FFC0)rEventBufferInit ((EventType)0xEFB0FF14)sEventBufferInitSeg ((EventType)0xEFB0F15E)tEventBufferInitRank ((EventType)0xEFB0F16A)uEventBufferInitEPVM ((EventType)0xEFB0F1EF)vEventBufferFinish ((EventType)0xEFB0FFF1)wEventBufferFill ((EventType)0xEFB0FFF7)xEventBufferEmpty ((EventType)0xEFB0FFE3)yEventArenaAllocFail ((EventType)0xEFA64A7F)zEventSegAllocFail ((EventType)0xEF5E9A7F){EventMeterInit ((EventType)0xEF3E2141)|EventMeterValues ((EventType)0xEF3E2FA7)}EventCBSInit ((EventType)0xEFCB5141)~EventTraceStatCondemn ((EventType)0xEF26A5C0)EventTraceStatScan ((EventType)0xEF26A55C)EventTraceStatFix ((EventType)0xEF26A5F8)EventTraceStatReclaim ((EventType)0xEF26A56E)EventArenaWriteFaults ((EventType)0xEFA6436F)EventPoolInitMV ((EventType)0xEFB0713F)EventPoolInitMVFF ((EventType)0xEFB071FF)EventPoolInitMFS ((EventType)0xEFB07135)EventPoolInitEPVM ((EventType)0xEFB071EF)EventPoolInitEPDL ((EventType)0xEFB071E7)EventPoolInitAMS ((EventType)0xEFB071A5)EventPoolInitAMC ((EventType)0xEFB071AC)EventPoolInitAMCZ ((EventType)0xEFB071A2)EventPoolInitAWL ((EventType)0xEFB071A3)EventPoolInitLO ((EventType)0xEFB07170)EventPoolInitSNC ((EventType)0xEFB07154)EventPoolInitMVT ((EventType)0xEFB07132)EventPoolPush ((EventType)0xEFB07B58)EventPoolPop ((EventType)0xEFB07B0B)EventReservoirLimitSet ((EventType)0xEF6E5713)EventCommitLimitSet ((EventType)0xEFC03713)EventSpareCommitLimitSet ((EventType)0xEF5BC713)hEventInit() NOOPiEventFinish() NOOPjEventControl(r,f) (UNUSED(r), UNUSED(f), (Word)0)kEventInternString(s) (UNUSED(s), (Word)0)lEventInternGenString(l,s) (UNUSED(l), UNUSED(s), (Word)0)mEventLabelAddr(a,i) BEGIN UNUSED(a); UNUSED(i); ENDPlock_h ULockSig ((Sig)0x51970CC9) th_h  ring_h RingNONE ((Ring)0)$RingInit(ring) BEGIN Ring _ring = (ring); AVER(_ring != NULL); _ring->next = _ring; _ring->prev = _ring; AVER(RingCheck(_ring)); END/RingFinish(ring) BEGIN Ring _ring = (ring); AVER(RingCheckSingle(_ring)); _ring->next = RingNONE; _ring->prev = RingNONE; END9RingAppend(ring,new) BEGIN Ring _ring = (ring), _new = (new); AVER(RingCheck(_ring)); AVER(RingCheckSingle(_new)); _new->prev = _ring->prev; _new->next = _ring; _ring->prev->next = _new; _ring->prev = _new; ENDFRingInsert(ring,new) BEGIN Ring _ring = (ring), _new = (new); AVER(RingCheck(_ring)); AVER(RingCheckSingle(_new)); _new->prev = _ring; _new->next = _ring->next; _ring->next->prev = _new; _ring->next = _new; ENDSRingRemove(old) BEGIN Ring _old = (old); AVER(RingCheck(_old)); AVER(!RingIsSingle(_old)); _old->next->prev = _old->prev; _old->prev->next = _old->next; _old->next = _old; _old->prev = _old; END`RingNext(ring) ((ring)->next)dRingPrev(ring) ((ring)->prev)gRING_ELT(type,field,node) ((type)(void *)((char *)(node) - (size_t)(&((type)0)->field)))kRING_FOR(node,ring,next) for(node = RingNext(ring), next = RingNext(node); node != (ring); node = (next), next = RingNext(node))ThreadSig ((Sig)0x519286ED) ss_h  tract_h   bt_h BTSize(n) (((n) + MPS_WORD_WIDTH-1) / MPS_WORD_WIDTH * sizeof(Word))BTGet(a,i) ((Bool)(((a)[((i) >> MPS_WORD_SHIFT)] >> ((i) & ~((Word)-1 << MPS_WORD_SHIFT))) & (Word)1))BTSet(a,i) BEGIN (a)[((i)>>MPS_WORD_SHIFT)] |= (Word)1<<((i)&~((Word)-1<>MPS_WORD_SHIFT)] &= ~((Word)1 << ((i) & ~((Word)-1<base)&TractPool(tract) ((tract)->pool)'TractP(tract) ((tract)->p)(TractSetP(tract,pp) ((void)((tract)->p = (pp))))TractHasSeg(tract) ((Bool)(tract)->hasSeg)*TractSetHasSeg(tract,b) ((void)((tract)->hasSeg = (b)))+TractWhite(tract) ((tract)->white),TractSetWhite(tract,w) ((void)((tract)->white = (w)))8TRACT_SEG(segReturn,tract) (TractHasSeg(tract) && ((*(segReturn) = (Seg)TractP(tract)), TRUE));TRACT_SET_SEG(tract,seg) (TractSetHasSeg(tract, TRUE), TractSetP(tract, seg))>TRACT_UNSET_SEG(tract) (TractSetHasSeg(tract, FALSE), TractSetP(tract, NULL))nPageTract(page) (&(page)->the.tractStruct)rPageOfTract(tract) PARENT(PageStruct, the.tractStruct, (tract))vPagePool(page) ((page)->the.rest.pool)}PageIsAllocated(page) ((page)->the.rest.pool != NULL)PageType(page) ((page)->the.rest.type)ChunkSig ((Sig)0x519C804C)ChunkArena(chunk) ((chunk)->arena)ChunkPageSize(chunk) ((chunk)->pageSize)ChunkPageShift(chunk) ((chunk)->pageShift)ChunkPagesToSize(chunk,pages) ((Size)(pages) << (chunk)->pageShift)ChunkSizeToPages(chunk,size) ((Count)((size) >> (chunk)->pageShift))CHUNK_OF_ADDR(chunkReturn,arena,addr) (((arena)->chunkCache.base <= (addr) && (addr) < (arena)->chunkCache.limit) ? (*(chunkReturn) = (arena)->chunkCache.chunk, TRUE) : ChunkOfAddr(chunkReturn, arena, addr))AddrPageBase(chunk,addr) AddrAlignDown((addr), ChunkPageSize(chunk))TRACT_OF_ADDR(tractReturn,arena,addr) BEGIN Arena _arena = (arena); Addr _addr = (addr); Chunk _chunk; Index _i; if (CHUNK_OF_ADDR(&_chunk, _arena, _addr)) { _i = INDEX_OF_ADDR(_chunk, _addr); if (BTGet(_chunk->allocTable, _i)) *(tractReturn) = PageTract(&_chunk->pageTable[_i]); else *(tractReturn) = NULL; } else *(tractReturn) = NULL; ENDINDEX_OF_ADDR(chunk,addr) ((Index)ChunkSizeToPages(chunk, AddrOffset((chunk)->base, addr)))PageIndexBase(chunk,i) AddrAdd((chunk)->base, ChunkPagesToSize(chunk, i))TractAverContiguousRange(arena,rangeBase,rangeLimit) BEGIN Chunk _ch = NULL; UNUSED(_ch); AVER(ChunkOfAddr(&_ch, arena, rangeBase) && (rangeLimit) <= _ch->limit); ENDTRACT_TRACT_FOR(tract,addr,arena,firstTract,limit) tract = (firstTract); addr = TractBase(tract); TractAverContiguousRange(arena, addr, limit); for(; tract != NULL; (addr = AddrAdd(addr, (arena)->alignment)), (addr < (limit) ? (tract = PageTract(PageOfTract(tract) + 1)) : (tract = NULL) ))TRACT_FOR(tract,addr,arena,base,limit) TRACT_TRACT_FOR(tract, addr, arena, TractOfBaseAddr(arena, base), limit)mpmst_h protocol_h DERIVE_LOCAL(name) protocol ## nameDERIVE_STRUCT(name) name ## StructDERIVE_ENSURE(name) name ## GetDERIVE_ENSURE_OLD(name) Ensure ## nameDERIVE_ENSURE_INTERNAL(name) protocolGet ## nameDERIVE_GUARDIAN(name) protocol ## name ## GuardianDERIVE_STATIC_STORAGE(name) protocol ## name ## StructProtocolClassSetSuperclassPoly(class,super) (((ProtocolClass)(class))->superclass) = (ProtocolClass)(super)$DEFINE_CLASS(className,var) static Bool DERIVE_GUARDIAN(className) = FALSE; static DERIVE_STRUCT(className) DERIVE_STATIC_STORAGE(className); static void DERIVE_ENSURE_INTERNAL(className)(className); extern className DERIVE_ENSURE(className)(void); className DERIVE_ENSURE(className)(void) { if (DERIVE_GUARDIAN(className) == FALSE) { LockClaimGlobalRecursive(); if (DERIVE_GUARDIAN(className) == FALSE) { DERIVE_ENSURE_INTERNAL(className) (&DERIVE_STATIC_STORAGE(className)); DERIVE_GUARDIAN(className) = TRUE; } LockReleaseGlobalRecursive(); } return &DERIVE_STATIC_STORAGE(className); } extern className DERIVE_ENSURE_OLD(className)(void); className DERIVE_ENSURE_OLD(className)(void) { return DERIVE_ENSURE(className)(); } static void DERIVE_ENSURE_INTERNAL(className) (className var)AINHERIT_CLASS(this,parentName) BEGIN parentName DERIVE_LOCAL(parentName) = DERIVE_ENSURE(parentName)(); *this = *(DERIVE_LOCAL(parentName)); ProtocolClassSetSuperclassPoly(this, DERIVE_LOCAL(parentName)); ENDODEFINE_ALIAS_CLASS(className,typeName,var) typedef typeName className; typedef DERIVE_STRUCT(typeName) DERIVE_STRUCT(className); DEFINE_CLASS(className, var)VProtocolClassSig ((Sig)0x519B60C7)WProtocolInstSig ((Sig)0x519B6014)ProtocolClassSuperclassPoly(class) (((ProtocolClass)(class))->superclass)ClassOfPoly(inst) ((ProtocolInst)(inst)->class)IsSubclassPoly(sub,super) ProtocolIsSubclass((ProtocolClass)(sub), (ProtocolClass)(super))SUPERCLASS(className) ProtocolClassSuperclassPoly(DERIVE_ENSURE(className)())chain_h GenDescSig ((Sig)0x5199E4DE)+PoolGenSig ((Sig)0x519B009E);ChainSig ((Sig)0x519C8A14)XPoolGenNr(gen) ((gen)->nr)/PoolClassSig ((Sig)0x519C7A55)]PoolSig ((Sig)0x519B0019)}MFSSig ((Sig)0x5193F599)MVSig ((Sig)0x5193B999)ReservoirSig ((Sig)0x5196e599)MessageClassSig ((Sig)0x519359c1)MessageSig ((Sig)0x5193e559)SegClassSig ((Sig)0x5195E9C7)SegSig ((Sig)0x5195E999)GCSegSig ((Sig)0x5199C5E9)SegPrefSig ((Sig)0x5195E9B6)BufferClassSig ((Sig)0x519B0FC7)BufferSig ((Sig)0x519B0FFE)SegBufSig ((Sig)0x51959B0F)FormatSig ((Sig)0x519F63A2)ScanStateSig ((Sig)0x5195CA45)TraceSig ((Sig)0x51924ACE)ChunkCacheEntrySig ((Sig)0x519C80CE)ArenaClassSig ((Sig)0x519A6C1A)GlobalsSig ((Sig)0x519970BA)ArenaSig ((Sig)0x519A6E4A)%BoolCheck(b) ((unsigned)(b) <= 1)(FUNCHECK(f) (FunCheck((Fun)f))4WordIsAligned(w,a) (((w) & ((a) - 1)) == 0)7WordAlignUp(w,a) (((w) + (a) - 1) & ~((Word)(a) - 1));WordRoundUp(w,r) (((w)+(r)-1) - ((w)+(r)-1)%(r))>WordAlignDown(w,a) ((w) & ~((Word)(a) - 1))@size_tAlignUp(s,a) ((size_t)WordAlignUp((Word)(s), a))BPointerAdd(p,s) ((void *)((char *)(p) + (s)))CPointerSub(p,s) ((void *)((char *)(p) - (s)))EPointerOffset(base,limit) ((size_t)((char *)(limit) - (char *)(base)))HPointerAlignUp(p,s) ((void *)WordAlignUp((Word)(p), (Align)(s)))KAddrAdd(p,s) ((Addr)PointerAdd((void *)(p), s))LAddrSub(p,s) ((Addr)PointerSub((void *)(p), s))NAddrOffset(b,l) ((Size)(PointerOffset((void *)(b), (void *)(l))))RAddrAlignDown(p,a) ((Addr)WordAlignDown((Word)(p), a))TAlignWord(s) ((Word)(s))VAddrIsAligned(p,a) WordIsAligned((Word)(p), a)WAddrAlignUp(p,a) ((Addr)WordAlignUp((Word)(p), a))YSizeIsAligned(s,a) WordIsAligned((Word)(s), a)ZSizeAlignUp(s,a) ((Size)WordAlignUp((Word)(s), a))[SizeAlignDown(s,a) ((Size)WordAlignDown((Word)(s), a))]SizeRoundUp(s,r) ((Size)WordRoundUp((Word)(s), (Size)(r)))_IndexIsAligned(s,a) WordIsAligned((Word)(s), a)`IndexAlignUp(s,a) ((Index)WordAlignUp((Word)(s), a))aIndexAlignDown(s,a) ((Index)WordAlignDown((Word)(s), a))cAlignIsAligned(a1,a2) WordIsAligned((Word)(a1), a2)iAddrSet(target,value,size) mps_lib_memset(target, (int)(value), size)mAddrCopy(target,source,size) mps_lib_memcpy(target, source, size)qAddrComp(a,b,size) mps_lib_memcmp(a, b, size)wADDR_PTR(type,addr) ((type *)(addr))PoolArena(pool) ((pool)->arena)PoolAlignment(pool) ((pool)->alignment)PoolSegRing(pool) (&(pool)->segRing)PoolFix(pool,ss,seg,refIO) ((*(pool)->fix)(pool, ss, seg, refIO))ClassOfPool(pool) ((pool)->class)SuperclassOfPool(pool) ((PoolClass)ProtocolClassSuperclassPoly((pool)->class))DEFINE_POOL_CLASS(className,var) DEFINE_ALIAS_CLASS(className, PoolClass, var)POOL_SUPERCLASS(className) ((PoolClass)SUPERCLASS(className))TraceSetSingle(trace) BS_SINGLE(TraceSet, (trace)->ti)TraceSetIsSingle(ts) BS_IS_SINGLE(ts)TraceSetIsMember(ts,trace) BS_IS_MEMBER(ts, (trace)->ti)TraceSetAdd(ts,trace) BS_ADD(TraceSet, ts, (trace)->ti)TraceSetDel(ts,trace) BS_DEL(TraceSet, ts, (trace)->ti)TraceSetUnion(ts1,ts2) BS_UNION(ts1, ts2)TraceSetInter(ts1,ts2) BS_INTER(ts1, ts2)TraceSetDiff(ts1,ts2) BS_DIFF(ts1, ts2)TraceSetSuper(ts1,ts2) BS_SUPER(ts1, ts2)TraceSetSub(ts1,ts2) BS_SUB(ts1, ts2)TraceSetComp(ts) BS_COMP(ts)TRACE_SET_ITER(ti,trace,ts,arena) for(ti = 0, trace = ArenaTrace(arena, ti); ti < TraceLIMIT; ++ti, trace = ArenaTrace(arena, ti)) BEGIN if (TraceSetIsMember(ts, trace)) {TRACE_SET_ITER_END(ti,trace,ts,arena) } ENDTRACE_SCAN_BEGIN(ss) BEGIN Shift SCANzoneShift = (ss)->zoneShift; ZoneSet SCANwhite = (ss)->white; RefSet SCANsummary = (ss)->unfixedSummary; Word SCANt; {TRACE_FIX1(ss,ref) (SCANt = (Word)1 << ((Word)(ref) >> SCANzoneShift & (MPS_WORD_WIDTH-1)), SCANsummary |= SCANt, SCANwhite & SCANt)TRACE_FIX2(ss,refIO) ((*(ss)->fix)(ss, refIO))TRACE_FIX(ss,refIO) (TRACE_FIX1(ss, *(refIO)) ? TRACE_FIX2(ss, refIO) : ResOK)TRACE_SCAN_END(ss) } (ss)->unfixedSummary = SCANsummary; ENDDEFINE_ARENA_CLASS(className,var) DEFINE_ALIAS_CLASS(className, ArenaClass, var)ARENA_SUPERCLASS(className) ((ArenaClass)SUPERCLASS(className))ArenaGlobals(arena) (&(arena)->globals)GlobalsArena(glob) PARENT(ArenaStruct, globals, glob)ArenaRootRing(arena) (&(arena)->rootRing)ArenaTraceRing(arena) (&(arena)->traceRing)ArenaThreadRing(arena) (&(arena)->threadRing)ArenaEpoch(arena) ((arena)->epoch)ArenaTrace(arena,ti) (&(arena)->trace[ti])ArenaZoneShift(arena) ((arena)->zoneShift)ArenaAlign(arena) ((arena)->alignment)ArenaGreyRing(arena,rank) (&(arena)->greyRing[rank])ArenaReservoir(arena) (&(arena)->reservoirStruct)DEFINE_SEG_CLASS(className,var) DEFINE_ALIAS_CLASS(className, SegClass, var)SEG_SUPERCLASS(className) ((SegClass)SUPERCLASS(className))ClassOfSeg(seg) ((seg)->class)SegBase(seg) (TractBase((seg)->firstTract))SegLimit(seg) ((seg)->limit)SegPool(seg) (TractPool((seg)->firstTract))SegRankSet(seg) ((RankSet)(seg)->rankSet)SegPM(seg) ((AccessSet)(seg)->pm)SegSM(seg) ((AccessSet)(seg)->sm)SegDepth(seg) ((unsigned)(seg)->depth)SegGrey(seg) ((TraceSet)(seg)->grey)SegWhite(seg) ((TraceSet)(seg)->white)SegNailed(seg) ((TraceSet)(seg)->nailed)SegOfPoolRing(node) (RING_ELT(Seg, poolRing, (node)))SegOfGreyRing(node) (&(RING_ELT(GCSeg, greyRing, (node)) ->segStruct))SegSummary(seg) (((GCSeg)(seg))->summary)SegSetPM(seg,mode) ((void)((seg)->pm = (mode)))SegSetSM(seg,mode) ((void)((seg)->sm = (mode)))SegSetDepth(seg,d) ((void)((seg)->depth = (d)))SegSetNailed(seg,ts) ((void)((seg)->nailed = (ts)))BUFFER_RESERVE(pReturn,buffer,size,withReservoirPermit) (AddrAdd(BufferAlloc(buffer), size) > BufferAlloc(buffer) && AddrAdd(BufferAlloc(buffer), size) <= BufferAP(buffer)->limit ? (*(pReturn) = BufferAlloc(buffer), BufferAP(buffer)->alloc = AddrAdd(BufferAlloc(buffer), size), ResOK) : BufferFill(pReturn, buffer, size, withReservoirPermit))BUFFER_COMMIT(buffer,p,size) (BufferAP(buffer)->init = BufferAlloc(buffer), BufferAP(buffer)->limit != 0 || BufferTrip(buffer, p, size))BufferAP(buffer) (&(buffer)->apStruct)BufferOfAP(ap) PARENT(BufferStruct, apStruct, ap)BufferArena(buffer) ((buffer)->arena)BufferPool(buffer) ((buffer)->pool)BufferBase(buffer) ((buffer)->base)BufferGetInit(buffer) (BufferAP(buffer)->init)BufferAlloc(buffer) (BufferAP(buffer)->alloc)BufferLimit(buffer) ((buffer)->poolLimit)DEFINE_BUFFER_CLASS(className,var) DEFINE_ALIAS_CLASS(className, BufferClass, var)BUFFER_SUPERCLASS(className) ((BufferClass)SUPERCLASS(className))RankSetIsMember(rs,r) BS_IS_MEMBER((rs), (r))RankSetSingle(r) BS_SINGLE(RankSet, (r))RankSetIsSingle(r) BS_IS_SINGLE(r)RankSetUnion(rs1,rs2) BS_UNION((rs1), (rs2))RankSetDel(rs,r) BS_DEL(RankSet, (rs), (r))AddrZone(arena,addr) (((Word)(addr) >> (arena)->zoneShift) & (MPS_WORD_WIDTH - 1))RefSetUnion(rs1,rs2) BS_UNION((rs1), (rs2))RefSetInter(rs1,rs2) BS_INTER((rs1), (rs2))RefSetDiff(rs1,rs2) BS_DIFF((rs1), (rs2))RefSetAdd(arena,rs,addr) BS_ADD(RefSet, rs, AddrZone(arena, addr))RefSetIsMember(arena,rs,addr) BS_IS_MEMBER(rs, AddrZone(arena, addr))RefSetSuper(rs1,rs2) BS_SUPER((rs1), (rs2))RefSetSub(rs1,rs2) BS_SUB((rs1), (rs2))ZoneSetUnion(zs1,zs2) BS_UNION(zs1, zs2)ZoneSetInter(zs1,zs2) BS_INTER(zs1, zs2)ZoneSetDiff(zs1,zs2) BS_DIFF(zs1, zs2)ZoneSetAdd(arena,zs,addr) BS_ADD(ZoneSet, zs, AddrZone(arena, addr))ZoneSetIsMember(arena,zs,addr) BS_IS_MEMBER(zs, AddrZone(arena, addr))ZoneSetSub(zs1,zs2) BS_SUB(zs1, zs2)ZoneSetSuper(zs1,zs2) BS_SUPER(zs1, zs2)ZoneSetComp(zs) BS_COMP(zs)STATISTIC(gather) BEGIN (gather); ENDSTATISTIC_STAT(gather) BEGIN gather; ENDSTATISTIC_WRITE(format,arg) (format), (arg),shield.cJan 17 200703:39:24$Id: //info.ravenbrook.com/project/mps/master/code/shield.c#9 $ | 5AB DV.8AB @SAB B}.LAB De.VAB Bt.8AB Bi.-AB `.(>AB Bj.hAAB >AB Ba.GAB DD.4KAB Bh.3AB Db.`&#ShieldSuspend#ShieldResume$ShieldRaise%ShieldLowerA%ShieldEnterq%ShieldFlush%ShieldLeave%ShieldExpose&ShieldCoverM&shieldSrcIdallocTablePoolDescribeMethodcontrolPoolStructpageTableLimitgreySegMaxchunkFinishnamepageSizeFormatPadMethodShieldEnterrankrootSerialchunkRingArenaAllocMethodreservoirSizeactiveTracesformatfoundationLockPoolBufferClassMethodTraceFixMethodsuperclassthreadRingunitsPerExtentPagefillMutatorSizepoolSerialflushBoolprehistoryArenaFreeMethodunitSizesetRankSetunsigned intGNU C 3.4.6 [FreeBSD] 20060305BufferRankSetMethodextendArenaChunkFinishMethodfillInternalSizeBufferReassignSegMethodreassignSegisCollectedpoolReadyscmidwhiteSegRefCountforwardedSizeforwardedCountArenaSpareCommitExceededMethodProtocolClasssyncmergegreyRingfinishshort intAlignArenaDescribeMethodprotocoldescribefillSizesegScanCountPoolmodePoolDebugMixinStructrememberedSummaryRingprevfixRefCountserialEpochsetBufferapStructemptyMutatorSizeallocMutatorSizePoolFramePushMethodPoolFinishMethodbusyTraceslwPopPendingchunkspansallocBasesuspendedpollThresholdArenaStructenabledMessageTypesmpsVersionStringSizefreeListframePopprotLowerGlobalsStructreservoirStructChainStructbaseArenaClassAccessSetframeptrhistorySegSetRankSummaryMethodFileSrcIdStructlong long unsigned intfileoffsettraceshDepthhighattrgenCountSegClassStructrateFreeBlockStepMethodPoolClassStructglobalsprimaryArenaChunkInitMethodarenaBufferFinishMethodFormatVarietyPoolWalkMethodskipPoolFreeMethodmortalitywasMarkedproflowmessageRingsize_tmoveAPStructTractStructrampEndmayMoveBootBlockpoolLimitChunkclampedPoolReclaimMethodunroundedUnitSizeshCachereclaimCountpageTablePagesfreePoolFixMethodShieldLowerSegPrefWordmps_lib_stream_sFormatStructpreservedInPlaceCountfreewalkframePushFormattedObjectsStepMethodSegClassgensCountPageStructisMovedsetRankSummarySegDescribeMethodbufferClassPoolDebugMixinSegSetSummaryMethodinsidePollreclaimShieldExposeAddrreservoirLimitcharscannedSizereserveBufferStructFormatScanMethodchunkSerialSegFinishMethodMFSHeaderStructSerialLockStructsplitFormatClassMethodArenaFormatMoveMethodspacefinalPoolBufferDescribeMethodBufferModelimitMFSStructArenaInitMethodlockrampCountPoolFixEmergencyMethodShieldSuspendzoneShiftShieldCoverpagesisGennailedPoolFreeWalkMethodchainva_listChainlong long intMVStructtracedTimeZoneSetTractBufferSegMethoddepthPoolRampEndMethodlocusRingfixEmergencyTracegreylastWorldCollectPoolDebugMixinMethodpageShiftChunkCacheEntryStructBufferClassStructArenaClassStructrememberedSummaryIndexgreySegCountisMutatorArenaFinishMethodshieldSrcIdfixedSummarycommittedframePopPendingscansingleCopiedSizeSegSetBufferMethodProtocolInstStructAddrStructrampBeginbufferPoolRampBeginMethodsizeSegStructGenDescStructProtocolInstBufferSetRankSetMethodinitAtFlipPoolStructpoolRingFormatdetachspareCommitLimitShieldRaisetopGenPoolWhitenMethodspanPoolStructPoolInitMethodTraceIdpoolcacheaccesschainRingPoolGreyMethodlastTractShieldLeaveMutatorFaultContextvarietyshield.cemptyInternalSizeSrcIdarenaRingsegRefCountavgSizecopytractListBufferDetachMethodPoolScanMethodFormatCopyMethodlostcapacitywhitenScanStatecondemnedbufferRingChunkStructflippedTracesrootScanCountenabledrootScanSizepointlessScanCountallocRankshCacheLimitsegCopiedSizeBufferInitMethodlong intsetSummarynotCondemnedextendByTraceStateTraceSetShieldResumestatepreservedInPlaceSizenextSegBufferMethodbuild_timePoolClassProtocolCoerceInstMethodemergencyPoolBlackenMethodwhitepoolStruct__size_trootRingSegInitMethodFormatSkipMethodsegScanSizecopiedSizeArenaExtendMethodScanStateStructSegSetWhiteMethodunfixedSummarypageTableBaselastTractBasethreadSeriallabelledsetGreytracedSize__va_listwalksetWhitePoolAllocMethodRingStructrankSetlong unsigned intPoolFramePopPendingMethodSrcIdStructBootBlockStructwriteBarrierHitCountMutatorFaultContextStructArenaReservedMethodinitAttrbufferLoggingProtocolClassStructclassbufferFillIndexspareCommitExceededFormatIsMovedMethodmaxSizechunkInitPoolAccessMethodsnapCounttypeattachnailCountunsigned char__uint32_tspareCommittedinsideShieldRingSegSplitMethodblockPoolStructRefSetAllocFrameStructPoolFramePopMethodtractStructBufferClassformatSerialsegRingAllocFramehasSegcoerceClassReservoirStructbuild_datesingleScanSizeBufferreadBarrierHitCountpageTableheaderSizecoerceInstdebugMixinchunkCachesigned charSegMergeMethodSegPrefStructmps_lib_FILEPoolBufferFillMethodreclaimSizebufferSerialshort unsigned intzonesbufferEmptyProtocolCoerceClassMethodreservedRankSetisFinalPooldoublesingleScanCountfirstTractalignmentPoolBufferEmptyMethodBufferAttachMethodrestSegSetRankSetMethodShiftemptySize/home/hannes/dylan/mps/codeTraceStructglobalRingformatRingcommitLimitrootCopiedSizeShieldFlushSegSetGreyMethodshCacheIepochblackentracesGCC: (GNU) 3.4.6 [FreeBSD] 20060305.symtab.strtab.shstrtab.rel.text.rel.data.bss.debug_abbrev.rel.debug_info.rel.debug_line.debug_macinfo.rodata.str1.1.rodata.str1.4.rel.rodata.rel.debug_frame.rel.debug_pubnames.rel.debug_aranges.debug_str.comment4 8)% /4$F`&B XVp,R X bU.uq22<@| `  , P  X0mo%0      @S$L)V/85A5Oa8nv-(>hA>G4K3shield.cFileSrcIdStructprotLowersyncflushcacheshieldSrcIdShieldSuspendThreadRingSuspendShieldResumeProtSetShieldRaiseShieldLowerShieldEnterShieldFlushShieldLeaveThreadRingResumeShieldExposeShieldCoverg b  !%*18?MX_fmt{(39Zev| #.9Tek-<KZiy,;Ziq%4CRap (6DR`n &4BP^lz"0>LZhv  ) 8 G V e t            ( 7 F U d s           : I X g v            + @ V d r           0 > L Z h v         !0@U,>Qfn|$2Od{ />M\kz 0@P`p 0@P`p 0@P`p '6ETcr*4<JXf(i+\ .Uw*Ur4Z.Z>ny)P1Rt  4 ? K \ q        !N!]!s!!!!!!!!!!! ""("6"S"_"n"w""""""""" ##"#.#:#L#############$&$-$1$8$X$_$c$j$$$$$$$$$$%%%%4%G%N%R%Y%w%~%%%%%%%%%%%% &&& &=&I& N&[&u    8<PTpt $(DHdhld.o/ 1169001564 1001 1001 100644 52496 ` ELF 4(UWVSu} VWEPÃtuW FtuWe[^_USUE X]ك B[ÍvUVSuM ;t*Ѓ )Ѓv^Љ[^ÉUUM DŽ @v  ÐUUM;sB ABC% $ > $ > : ; I I&I : ;  : ; I8 < : ; I  : ;I8 : ;I8  : ; I8  : ; I 8  : ;I 8  : ;I 8  : ; ' II' ' I : ;  : ;  : ; I: ;II!I/ .? : ; ' @ : ; I : ; I 4: ; I !.? : ; ' I@ "4: ; I #4: ; I?  C%4_ Gint 8Wt _L || t7z@E ""$#%%#&#T '# "p 2 |. Sigl ResEw lh"ou h  #Y$Y%Y&Y{'W(W Ref)d Q,Y-Y .W/W51{V 2W 3W 4W]5WO6Wb7W BT:MY;^d Y @> D!# VE# F# JGc# H# I#  J#$ Km#( segL#, M#0 iN)#4 OK#8 sigPC#<EAWC Jad# bd# Pcd# gdd# e# f# D<D sigC# .# 8# I# * # )# , ?# j# #$ #( #, pad#0 v#4 {#8 LDE E # rs#F G XGsig`C#.a#vb#Ic#  d* #T e* #f# g* #$)h#,i#0fixjw#4%ks#8Nls#@ms#H ns#Pd H H2!#V3# 4#5#6-#J7# 8#$ 9#(\:#,|;-#0#<O ?#@@#D, AA#HfixBw#L< C#P`D#Ts E#XF#\G#`H7#d Ib#hJ#lK#p&L#tM#x1N#|hO#sigPC#I O O sigC# ti# I# # # $ # # d # J {# {#$ {#( {#, #0 ?#4 y #8 #< {#@ #D #H {#L #P #T 1 {#X "#\ #` +#d #h #l #p  #t J #x < {#|  # *  {# @# #@ P  d TP fix8# Y# # 0# sigC# I#  # y# # #$ "#( #, +#0 #4 #8 J#< <{#@ #D * {#H {#L {#PQo u  AQsig>C#I?#j @* #A #B#C!# R  > R^  #p#Md#  # W# SI O _ 8SsigC#.#I#* # `{#z #Md#Pd# #$#(C#, #0M#4y T sigC# > # Md# Pd# ?y# 0y# UUthehe # SegV V sigC# v#  #  * # P d#  W#pm "#sm "#O  #  # ##XLX!#V# #J## # } #$;#(q#,:#0iE#4g#8#<#@X#DsigC#HoZbZ sig0C# 1# 2# 3# 4# gen5#R\  H\ &!# V'## (# )# J*# +# , #$ -+#( .6#, /a#0 \0#4 1#8 J2#< 3 #@ sig4C#D ^ (^ $o## .p#t vr#x t#| uE## 1wP## y{# z{# |{#  }{# # )#  # Md# ,> # * # # <s## !# * # # * # C# # & # * # [# # 8## {# {# {# #  # k  # ## ys# s# T Y# ## # j * # # E# p## sigC#$#t_ sigBC# E* # pF# Is# UJ# K# %Ls# NMs#( _Ns#0 Os#8 Ps#@ S#H TV#L Y* #P 5Z#X ]* #\ ~^#d a* #h d#p d/5 2eFL g]c Xhh "# #Xm{#\{#`sigC#d`nN8 o 6p+{Yq rAGaNd{tlrN{ d Pud{ 4vN> Sw > x2N2'CI^N ^oud ldd  N d{8 #): #gPVgxrxAD jB jN2S$*XNddd82$ ntNj 8OjIjddd{  j)j 4:KjV\mj0x~Nj2G N 8 N {- d{}8>gN j{3rx jddǞN d"$' N t   %+A   LRqNq  a΂N  ^Ђ  j  jp1N1 jRiBHbN jRms jRpܔ dl x  N 2e )/?; JPjN dd u{ddddu id{u- * ? ##  e g^ e #fE# h|c5 \g@ i x\   b\sig}C#~ #&%!#V!#  a  %!U asigC#v #n m0!6!P!P!   xa!g!!!   b ! $sigC##0  {#!s# "s#2 #* # $!! o"Vt "#&{#X {#\`{#`Y#d"#h  #lsigC#p "V"E#` "#A"#X8 "# {# {#{# {#+ {#* #sigC#"igd #e##g##* #$=`Uld<VI<W b>S seg?pY$aa`Uld`RI`P`dS!$ ~Uld}VI}Q}d rsS$UIRrsQ i{P#%$ 4Uld»RI [»Q"3#3b /usr/include/usr/include/sys/usr/include/machinempm.hconfig.hmpstd.hmisc.hstddef.hcdefs.h_null.h_types.h_types.hcheck.hmpslib.hevent.heventcom.hmpmtypes.hstdarg.heventgen.hlock.hth.hring.hss.htract.hbt.hmpmst.hprotocol.hchain.hld.c<rrHucdTMf >rpgfe 9 d.__STDC_HOSTED__ 1__GNUC__ 3__GNUC_MINOR__ 4__GNUC_PATCHLEVEL__ 6__SIZE_TYPE__ unsigned int__PTRDIFF_TYPE__ int__WCHAR_TYPE__ int__WINT_TYPE__ unsigned int __GXX_ABI_VERSION 1002 __SCHAR_MAX__ 127 __SHRT_MAX__ 32767 __INT_MAX__ 2147483647 __LONG_MAX__ 2147483647L__LONG_LONG_MAX__ 9223372036854775807LL__WCHAR_MAX__ 2147483647__CHAR_BIT__ 8__FLT_EVAL_METHOD__ 2__FLT_RADIX__ 2__FLT_MANT_DIG__ 24__FLT_DIG__ 6__FLT_MIN_EXP__ (-125)__FLT_MIN_10_EXP__ (-37)__FLT_MAX_EXP__ 128__FLT_MAX_10_EXP__ 38__FLT_MAX__ 3.40282347e+38F__FLT_MIN__ 1.17549435e-38F__FLT_EPSILON__ 1.19209290e-7F__FLT_DENORM_MIN__ 1.40129846e-45F__FLT_HAS_INFINITY__ 1__FLT_HAS_QUIET_NAN__ 1__DBL_MANT_DIG__ 53 __DBL_DIG__ 15!__DBL_MIN_EXP__ (-1021)"__DBL_MIN_10_EXP__ (-307)#__DBL_MAX_EXP__ 1024$__DBL_MAX_10_EXP__ 308%__DBL_MAX__ 1.7976931348623157e+308&__DBL_MIN__ 2.2250738585072014e-308'__DBL_EPSILON__ 2.2204460492503131e-16(__DBL_DENORM_MIN__ 4.9406564584124654e-324)__DBL_HAS_INFINITY__ 1*__DBL_HAS_QUIET_NAN__ 1+__LDBL_MANT_DIG__ 53,__LDBL_DIG__ 15-__LDBL_MIN_EXP__ (-16381).__LDBL_MIN_10_EXP__ (-4931)/__LDBL_MAX_EXP__ 163840__LDBL_MAX_10_EXP__ 49321__DECIMAL_DIG__ 172__LDBL_MAX__ 1.1897314953572316e+4932L3__LDBL_MIN__ 3.3621031431120935e-4932L4__LDBL_EPSILON__ 2.2204460492503131e-16L5__LDBL_DENORM_MIN__ 7.4653686412953080e-4948L6__LDBL_HAS_INFINITY__ 17__LDBL_HAS_QUIET_NAN__ 18__REGISTER_PREFIX__ 9__USER_LABEL_PREFIX__ :__VERSION__ "3.4.6 [FreeBSD] 20060305";__OPTIMIZE__ 1<__FINITE_MATH_ONLY__ 0=__STRICT_ANSI__ 1@__i386 1A__i386__ 1B__tune_i386__ 1C__FreeBSD__ 6D__unix 1E__unix__ 1F__KPRINTF_ATTRIBUTE__ 1J__FreeBSD_cc_version 602001K__ELF__ 1_REENTRANT 1CONFIG_PROD_DYLAN 1CONFIG_VAR_HI 1NDEBUG 11 mpm_h config_h !CONFIG_DEBUG "CHECK_DEFAULT CheckNONE6CHECK_NONE 7MPS_ASSERT_STRING "nonasserted"?EVENT_NONE @MPS_LOG_STRING "nonlogging"EDIAGNOSTICS FMPS_DEBUG_STRING "debug"LMPS_VARIETY_STRING MPS_ASSERT_STRING "." MPS_LOG_STRING "." MPS_DEBUG_STRINGRmpstd_h MPS_PF_FRI4GC MPS_PF_STRING "fri4gc"MPS_OS_FR MPS_ARCH_I4 MPS_BUILD_GC MPS_T_WORD unsigned longMPS_WORD_WIDTH 32MPS_WORD_SHIFT 5MPS_PF_ALIGN 4EPVMDefaultSubsequentSegSIZE (64ul * 1024)ARENA_CONTROL_EXTENDBY ((Size)4096)ARENA_CONTROL_AVGSIZE ((Size)32)ARENA_CONTROL_MAXSIZE ((Size)65536)ArenaPollALLOCTIME (65536.0)ARENA_ZONESHIFT ((Shift)20)ARENA_CLIENT_PAGE_SIZE ((Size)8192)ArenaDefaultZONESET (ZoneSetUNIV << (MPS_WORD_WIDTH / 2))SegPrefDEFAULT { SegPrefSig, TRUE, ArenaDefaultZONESET, FALSE, FALSE, (Serial)0, }LDHistoryLENGTH ((Size)4)StackProbeDEPTH ((Size)0)ShieldCacheSIZE ((size_t)16)ShieldDepthWIDTH (4)VMANPageALIGNMENT ((Align)4096)VMJunkBYTE ((unsigned char)0xA9)TraceLIMIT ((size_t)1)TraceCopyScanRATIO (1.5)RememberedSummaryBLOCK 15EventBufferSIZE ((size_t)4096)EventStringLengthMAX ((size_t)255)ASSERT_BUFFER_SIZE ((Size)512)MPS_PROD_STRING "dylan"MPS_PROD_DYLAN ARENA_INIT_SPARE_COMMIT_LIMIT ((Size)10uL*1024uL*1024uL)THREAD_MULTI PROTECTION DONGLE_NONE PROD_CHECK_DEFAULT CheckSHALLOWARENA_SIZE ((Size)1<<30)misc_h '_STDDEF_H_ )%_SYS_CDEFS_H_ +__BEGIN_DECLS ,__END_DECLS 8__GNUCLIKE_ASM 39__GNUCLIKE_MATH_BUILTIN_CONSTANTS =__GNUCLIKE___TYPEOF 1>__GNUCLIKE___OFFSETOF 1?__GNUCLIKE___SECTION 1A__GNUCLIKE_ATTRIBUTE_MODE_DI 1D__GNUCLIKE_CTOR_SECTION_HANDLING 1G__GNUCLIKE_BUILTIN_CONSTANT_P 1N__GNUCLIKE_BUILTIN_VARARGS 1O__GNUCLIKE_BUILTIN_STDARG 1P__GNUCLIKE_BUILTIN_VAALIST 1T__GNUC_VA_LIST_COMPATIBILITY 1X__GNUCLIKE_BUILTIN_NEXT_ARG 1Y__GNUCLIKE_MATH_BUILTIN_RELOPS \__GNUCLIKE_BUILTIN_MEMCPY 1___CC_SUPPORTS_INLINE 1`__CC_SUPPORTS___INLINE 1a__CC_SUPPORTS___INLINE__ 1c__CC_SUPPORTS___FUNC__ 1d__CC_SUPPORTS_WARNING 1f__CC_SUPPORTS_VARADIC_XXX 1h__CC_SUPPORTS_DYNAMIC_ARRAY_INIT 1k__CC_INT_IS_32BIT 1s__GNUC_PREREQ__(ma,mi) (__GNUC__ > (ma) || __GNUC__ == (ma) && __GNUC_MINOR__ >= (mi))__P(protos) protos__CONCAT1(x,y) x ## y__CONCAT(x,y) __CONCAT1(x,y)__STRING(x) #x__XSTRING(x) __STRING(x)__const const__signed signed__volatile volatile__dead2 __attribute__((__noreturn__))__pure2 __attribute__((__const__))__unused __attribute__((__unused__))__used __attribute__((__used__))__packed __attribute__((__packed__))__aligned(x) __attribute__((__aligned__(x)))__section(x) __attribute__((__section__(x)))__pure __attribute__((__pure__))__always_inline __attribute__((__always_inline__))__nonnull(x) __attribute__((__nonnull__(x)))__restrict __predict_true(exp) __builtin_expect((exp), 1)__predict_false(exp) __builtin_expect((exp), 0)__offsetof(type,field) ((size_t)(&((type *)0)->field))__rangeof(type,start,end) (__offsetof(type, end) - __offsetof(type, start))__printflike(fmtarg,firstvararg) __attribute__((__format__ (__printf__, fmtarg, firstvararg)))__scanflike(fmtarg,firstvararg) __attribute__((__format__ (__scanf__, fmtarg, firstvararg)))__format_arg(fmtarg) __attribute__((__format_arg__ (fmtarg)))__printf0like(fmtarg,firstvararg) __attribute__((__format__ (__printf0__, fmtarg, firstvararg)))__strong_reference(sym,aliassym) extern __typeof (sym) aliassym __attribute__ ((__alias__ (#sym)));__weak_reference(sym,alias) __asm__(".weak " #alias); __asm__(".equ " #alias ", " #sym)__warn_references(sym,msg) __asm__(".section .gnu.warning." #sym); __asm__(".asciz \"" msg "\""); __asm__(".previous")__IDSTRING(name,string) __asm__(".ident\t\"" string "\"")__FBSDID(s) __IDSTRING(__CONCAT(__rcsid_,__LINE__),s)__RCSID(s) __IDSTRING(__CONCAT(__rcsid_,__LINE__),s)__RCSID_SOURCE(s) __IDSTRING(__CONCAT(__rcsid_source_,__LINE__),s)__SCCSID(s) __IDSTRING(__CONCAT(__sccsid_,__LINE__),s)__COPYRIGHT(s) __IDSTRING(__CONCAT(__copyright_,__LINE__),s)__DECONST(type,var) ((type)(uintptr_t)(const void *)(var))__DEVOLATILE(type,var) ((type)(uintptr_t)(volatile void *)(var))__DEQUALIFY(type,var) ((type)(uintptr_t)(const volatile void *)(var))__POSIX_VISIBLE 200112__XSI_VISIBLE 600__BSD_VISIBLE 1__ISO_C_VISIBLE 1999* NULL ((void *)0)+_SYS__TYPES_H_ ! (_MACHINE__TYPES_H_ .__NO_STRICT_ALIGNMENT __GNUC_VA_LIST 2_RUNE_T_DECLARED 8_SIZE_T_DECLARED >_WCHAR_T_DECLARED Boffsetof(type,member) __offsetof(type, member)*SRCID(id,scmid) static SrcIdStruct FileSrcIdStruct = {__FILE__, (scmid), __DATE__, __TIME__}; SrcId id ## SrcId = &FileSrcIdStruct;BEGIN do {> (i)) & 1)BS_UNION(s1,s2) ((s1) | (s2))BS_ADD(ty,s,i) BS_UNION((s), BS_SINGLE(ty, (i)))BS_INTER(s1,s2) ((s1) & (s2))BS_DIFF(s1,s2) BS_INTER((s1), BS_COMP(s2))BS_DEL(ty,s,i) BS_DIFF((s), BS_SINGLE(ty, (i)))BS_SUPER(s1,s2) (BS_INTER((s1), (s2)) == (s2))BS_SUB(s1,s2) BS_SUPER((s2), (s1))BS_IS_SINGLE(s) (((s) & ((s)-1)) == 0)BS_SYM_DIFF(s1,s2) ((s1) ^ (s2)) check_h  mpslib_h mps_lib_EOF (mps_lib_get_EOF())mps_lib_stderr (mps_lib_get_stderr())mps_lib_stdout (mps_lib_get_stdout())0AVER(cond) DISCARD(cond)1AVERT(type,val) DISCARD(type ## Check(val))2AVER_CRITICAL(cond) DISCARD(cond)3AVERT_CRITICAL(type,val) DISCARD(type ## Check(val))MASSERT(cond,condstring) BEGIN if (cond) NOOP; else mps_lib_assert_fail(condstring "\n" __FILE__ "\n" STR(__LINE__)); END_NOTREACHED NOOPjCHECKT(type,val) ((val) != NULL && (val)->sig == type ## Sig)pCHECKS(type,val) DISCARD(CHECKT(type, val))qCHECKL(cond) DISCARD(cond)rCHECKD(type,val) DISCARD(CHECKT(type, val))sCHECKD_NOSIG(type,val) DISCARD((val) != NULL)tCHECKU(type,val) DISCARD(CHECKT(type, val))uCHECKU_NOSIG(type,val) DISCARD((val) != NULL)CHECKLVALUE(lv1,lv2) ((void)sizeof((lv1) = (lv2)), (void)sizeof((lv2) = (lv1)), TRUE)CHECKTYPE(t1,t2) (sizeof(t1) == sizeof(t2) && CHECKLVALUE(*((t1 *)0), *((t2 *)0)))CHECKFIELDAPPROX(s1,f1,s2,f2) (sizeof(((s1 *)0)->f1) == sizeof(((s2 *)0)->f2) && offsetof(s1, f1) == offsetof(s2, f2))CHECKFIELD(s1,f1,s2,f2) (CHECKFIELDAPPROX(s1, f1, s2, f2) && CHECKLVALUE(((s1 *)0)->f1, ((s2 *)0)->f2)) event_h   eventcom_h  mpmtypes_h '_MACHINE_STDARG_H_ -_VA_LIST_DECLARED 3va_start(ap,last) __builtin_stdarg_start((ap), (last))6va_arg(ap,type) __builtin_va_arg((ap), type):va_copy(dest,src) __builtin_va_copy((dest), (src))>va_end(ap) __builtin_va_end(ap)SigInvalid ((Sig)0x51915BAD)SizeMAX ((Size)-1)AccessSetEMPTY ((AccessSet)0)AccessREAD ((AccessSet)(1<<0))AccessWRITE ((AccessSet)(1<<1))AccessSetWIDTH (2)RefSetEMPTY BS_EMPTY(RefSet)RefSetUNIV BS_UNIV(RefSet)ZoneSetEMPTY BS_EMPTY(ZoneSet)ZoneSetUNIV BS_UNIV(ZoneSet)TraceSetEMPTY BS_EMPTY(TraceSet)TraceSetUNIV ((TraceSet)((1u << TraceLIMIT) - 1))RankSetEMPTY BS_EMPTY(RankSet)RankSetUNIV ((RankSet)((1u << RankLIMIT) - 1))AttrFMT ((Attr)(1<<0))AttrSCAN ((Attr)(1<<1))AttrPM_NO_READ ((Attr)(1<<2))AttrPM_NO_WRITE ((Attr)(1<<3))AttrALLOC ((Attr)(1<<4))AttrFREE ((Attr)(1<<5))AttrBUF ((Attr)(1<<6))AttrBUF_RESERVE ((Attr)(1<<7))AttrBUF_ALLOC ((Attr)(1<<8))AttrGC ((Attr)(1<<9))AttrINCR_RB ((Attr)(1<<10))AttrINCR_WB ((Attr)(1<<11))AttrMOVINGGC ((Attr)(1<<12))AttrMASK (AttrFMT | AttrSCAN | AttrPM_NO_READ | AttrPM_NO_WRITE | AttrALLOC | AttrFREE | AttrBUF | AttrBUF_RESERVE | AttrBUF_ALLOC | AttrGC | AttrINCR_RB | AttrINCR_WB | AttrMOVINGGC)BufferModeATTACHED ((BufferMode)(1<<0))BufferModeFLIPPED ((BufferMode)(1<<1))BufferModeLOGGED ((BufferMode)(1<<2))BufferModeTRANSITION ((BufferMode)(1<<3))RootModeCONSTANT ((RootMode)1<<0)RootModePROTECTABLE ((RootMode)1<<1)RootModePROTECTABLE_INNER ((RootMode)1<<2)STATISTIC_DECL(field) field!EventNameMAX ((size_t)19)"EventCodeMAX ((EventCode)0x0069)&EVENT_0(type) NOOPEVENT_A(type,p0) NOOPEVENT_AW(type,p0,p1) NOOPEVENT_P(type,p0) NOOPEVENT_PAA(type,p0,p1,p2) NOOPEVENT_PAW(type,p0,p1,p2) NOOPEVENT_PAWA(type,p0,p1,p2,p3) NOOPEVENT_PDDWWW(type,p0,p1,p2,p3,p4,p5) NOOPEVENT_PP(type,p0,p1) NOOPEVENT_PPAU(type,p0,p1,p2,p3) NOOPEVENT_PPAWP(type,p0,p1,p2,p3,p4) NOOPEVENT_PPP(type,p0,p1,p2) NOOPEVENT_PPPA(type,p0,p1,p2,p3) NOOPEVENT_PPPU(type,p0,p1,p2,p3) NOOPEVENT_PPPUU(type,p0,p1,p2,p3,p4) NOOPEVENT_PPU(type,p0,p1,p2) NOOPEVENT_PPUU(type,p0,p1,p2,p3) NOOPEVENT_PPUWWW(type,p0,p1,p2,p3,p4,p5) NOOPEVENT_PPWW(type,p0,p1,p2,p3) NOOPEVENT_PPWWW(type,p0,p1,p2,p3,p4) NOOPEVENT_PPWWWUUU(type,p0,p1,p2,p3,p4,p5,p6,p7) NOOPEVENT_PU(type,p0,p1) NOOPEVENT_PW(type,p0,p1) NOOPEVENT_PWA(type,p0,p1,p2) NOOPEVENT_PWAW(type,p0,p1,p2,p3) NOOPEVENT_PWP(type,p0,p1,p2) NOOPEVENT_PWU(type,p0,p1,p2) NOOPEVENT_PWW(type,p0,p1,p2) NOOPEVENT_PWWWWDD(type,p0,p1,p2,p3,p4,p5,p6) NOOPEVENT_PWWWWW(type,p0,p1,p2,p3,p4,p5) NOOPEVENT_PWWWWWWWWW(type,p0,p1,p2,p3,p4,p5,p6,p7,p8,p9) NOOPEVENT_PWWWWWWWWWWWW(type,p0,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11,p12) NOOPEVENT_UUPA(type,p0,p1,p2,p3) NOOPEVENT_UUPP(type,p0,p1,p2,p3) NOOPEVENT_UUPPP(type,p0,p1,p2,p3,p4) NOOPEVENT_WS(type,p0,p1,l1) NOOP:EventEventTime ((EventType)0xEF213E99);EventPoolInit ((EventType)0xEFB07141)EventPoolFree ((EventType)0xEFB07F6E)?EventArenaCreateVM ((EventType)0xEFA64CF3)@EventArenaCreateVMNZ ((EventType)0xEFA64CF2)AEventArenaCreateCL ((EventType)0xEFA64CC7)BEventArenaDestroy ((EventType)0xEFA64DE5)CEventArenaAlloc ((EventType)0xEFA64A77)DEventArenaFree ((EventType)0xEFA64F6E)EEventSegAlloc ((EventType)0xEF5E9A77)FEventSegFree ((EventType)0xEF5E9F6E)GEventSegMerge ((EventType)0xEF5E93E6)HEventSegSplit ((EventType)0xEF5E95B7)IEventAMCGenCreate ((EventType)0xEFA3C94C)JEventAMCGenDestroy ((EventType)0xEFA3C94D)KEventAMCInit ((EventType)0xEFA3C141)LEventAMCFinish ((EventType)0xEFA3CF14)MEventAMCTraceBegin ((EventType)0xEFA3C26B)NEventAMCScanBegin ((EventType)0xEFA3C5CB)OEventAMCScanEnd ((EventType)0xEFA3C5CE)PEventAMCFix ((EventType)0xEFA3CF18)QEventAMCFixInPlace ((EventType)0xEFA3CF8A)REventAMCFixForward ((EventType)0xEFA3CF8F)SEventAMCReclaim ((EventType)0xEFA3C6EC)TEventTraceStart ((EventType)0xEF26AC52)UEventTraceCreate ((EventType)0xEF26ACC6)VEventTraceDestroy ((EventType)0xEF26ACDE)WEventSegSetGrey ((EventType)0xEF59596A)XEventTraceFlipBegin ((EventType)0xEF26AF7B)YEventTraceFlipEnd ((EventType)0xEF26AF7E)ZEventTraceReclaim ((EventType)0xEF26A6EC)[EventTraceScanSeg ((EventType)0xEF26A559)\EventTraceScanSingleRef ((EventType)0xEF26A556)^EventTraceAccess ((EventType)0xEF26AACC)_EventTracePoll ((EventType)0xEF26AB01)`EventTraceStep ((EventType)0xEF26A52B)aEventTraceFix ((EventType)0xEF26AF18)bEventTraceFixSeg ((EventType)0xEF26AF85)cEventTraceFixWhite ((EventType)0xEF26AF83)dEventTraceScanArea ((EventType)0xEF26A5CA)eEventTraceScanAreaTagged ((EventType)0xEF26A5C2)fEventVMCreate ((EventType)0xEFF3C6EA)gEventVMDestroy ((EventType)0xEFF3DE52)hEventVMMap ((EventType)0xEFF33AB9)iEventVMUnmap ((EventType)0xEFF3043B)jEventIntern ((EventType)0xEF142E64)kEventArenaExtend ((EventType)0xEFA64E82)lEventArenaRetract ((EventType)0xEFA646E2)mEventRootScan ((EventType)0xEF625CA4)nEventLabel ((EventType)0xEF7ABE79)oEventTraceSegGreyen ((EventType)0xEF26A599)pEventBufferReserve ((EventType)0xEFB0FF6E)qEventBufferCommit ((EventType)0xEFB0FFC0)rEventBufferInit ((EventType)0xEFB0FF14)sEventBufferInitSeg ((EventType)0xEFB0F15E)tEventBufferInitRank ((EventType)0xEFB0F16A)uEventBufferInitEPVM ((EventType)0xEFB0F1EF)vEventBufferFinish ((EventType)0xEFB0FFF1)wEventBufferFill ((EventType)0xEFB0FFF7)xEventBufferEmpty ((EventType)0xEFB0FFE3)yEventArenaAllocFail ((EventType)0xEFA64A7F)zEventSegAllocFail ((EventType)0xEF5E9A7F){EventMeterInit ((EventType)0xEF3E2141)|EventMeterValues ((EventType)0xEF3E2FA7)}EventCBSInit ((EventType)0xEFCB5141)~EventTraceStatCondemn ((EventType)0xEF26A5C0)EventTraceStatScan ((EventType)0xEF26A55C)EventTraceStatFix ((EventType)0xEF26A5F8)EventTraceStatReclaim ((EventType)0xEF26A56E)EventArenaWriteFaults ((EventType)0xEFA6436F)EventPoolInitMV ((EventType)0xEFB0713F)EventPoolInitMVFF ((EventType)0xEFB071FF)EventPoolInitMFS ((EventType)0xEFB07135)EventPoolInitEPVM ((EventType)0xEFB071EF)EventPoolInitEPDL ((EventType)0xEFB071E7)EventPoolInitAMS ((EventType)0xEFB071A5)EventPoolInitAMC ((EventType)0xEFB071AC)EventPoolInitAMCZ ((EventType)0xEFB071A2)EventPoolInitAWL ((EventType)0xEFB071A3)EventPoolInitLO ((EventType)0xEFB07170)EventPoolInitSNC ((EventType)0xEFB07154)EventPoolInitMVT ((EventType)0xEFB07132)EventPoolPush ((EventType)0xEFB07B58)EventPoolPop ((EventType)0xEFB07B0B)EventReservoirLimitSet ((EventType)0xEF6E5713)EventCommitLimitSet ((EventType)0xEFC03713)EventSpareCommitLimitSet ((EventType)0xEF5BC713)hEventInit() NOOPiEventFinish() NOOPjEventControl(r,f) (UNUSED(r), UNUSED(f), (Word)0)kEventInternString(s) (UNUSED(s), (Word)0)lEventInternGenString(l,s) (UNUSED(l), UNUSED(s), (Word)0)mEventLabelAddr(a,i) BEGIN UNUSED(a); UNUSED(i); ENDPlock_h ULockSig ((Sig)0x51970CC9) th_h  ring_h RingNONE ((Ring)0)$RingInit(ring) BEGIN Ring _ring = (ring); AVER(_ring != NULL); _ring->next = _ring; _ring->prev = _ring; AVER(RingCheck(_ring)); END/RingFinish(ring) BEGIN Ring _ring = (ring); AVER(RingCheckSingle(_ring)); _ring->next = RingNONE; _ring->prev = RingNONE; END9RingAppend(ring,new) BEGIN Ring _ring = (ring), _new = (new); AVER(RingCheck(_ring)); AVER(RingCheckSingle(_new)); _new->prev = _ring->prev; _new->next = _ring; _ring->prev->next = _new; _ring->prev = _new; ENDFRingInsert(ring,new) BEGIN Ring _ring = (ring), _new = (new); AVER(RingCheck(_ring)); AVER(RingCheckSingle(_new)); _new->prev = _ring; _new->next = _ring->next; _ring->next->prev = _new; _ring->next = _new; ENDSRingRemove(old) BEGIN Ring _old = (old); AVER(RingCheck(_old)); AVER(!RingIsSingle(_old)); _old->next->prev = _old->prev; _old->prev->next = _old->next; _old->next = _old; _old->prev = _old; END`RingNext(ring) ((ring)->next)dRingPrev(ring) ((ring)->prev)gRING_ELT(type,field,node) ((type)(void *)((char *)(node) - (size_t)(&((type)0)->field)))kRING_FOR(node,ring,next) for(node = RingNext(ring), next = RingNext(node); node != (ring); node = (next), next = RingNext(node))ThreadSig ((Sig)0x519286ED) ss_h  tract_h   bt_h BTSize(n) (((n) + MPS_WORD_WIDTH-1) / MPS_WORD_WIDTH * sizeof(Word))BTGet(a,i) ((Bool)(((a)[((i) >> MPS_WORD_SHIFT)] >> ((i) & ~((Word)-1 << MPS_WORD_SHIFT))) & (Word)1))BTSet(a,i) BEGIN (a)[((i)>>MPS_WORD_SHIFT)] |= (Word)1<<((i)&~((Word)-1<>MPS_WORD_SHIFT)] &= ~((Word)1 << ((i) & ~((Word)-1<base)&TractPool(tract) ((tract)->pool)'TractP(tract) ((tract)->p)(TractSetP(tract,pp) ((void)((tract)->p = (pp))))TractHasSeg(tract) ((Bool)(tract)->hasSeg)*TractSetHasSeg(tract,b) ((void)((tract)->hasSeg = (b)))+TractWhite(tract) ((tract)->white),TractSetWhite(tract,w) ((void)((tract)->white = (w)))8TRACT_SEG(segReturn,tract) (TractHasSeg(tract) && ((*(segReturn) = (Seg)TractP(tract)), TRUE));TRACT_SET_SEG(tract,seg) (TractSetHasSeg(tract, TRUE), TractSetP(tract, seg))>TRACT_UNSET_SEG(tract) (TractSetHasSeg(tract, FALSE), TractSetP(tract, NULL))nPageTract(page) (&(page)->the.tractStruct)rPageOfTract(tract) PARENT(PageStruct, the.tractStruct, (tract))vPagePool(page) ((page)->the.rest.pool)}PageIsAllocated(page) ((page)->the.rest.pool != NULL)PageType(page) ((page)->the.rest.type)ChunkSig ((Sig)0x519C804C)ChunkArena(chunk) ((chunk)->arena)ChunkPageSize(chunk) ((chunk)->pageSize)ChunkPageShift(chunk) ((chunk)->pageShift)ChunkPagesToSize(chunk,pages) ((Size)(pages) << (chunk)->pageShift)ChunkSizeToPages(chunk,size) ((Count)((size) >> (chunk)->pageShift))CHUNK_OF_ADDR(chunkReturn,arena,addr) (((arena)->chunkCache.base <= (addr) && (addr) < (arena)->chunkCache.limit) ? (*(chunkReturn) = (arena)->chunkCache.chunk, TRUE) : ChunkOfAddr(chunkReturn, arena, addr))AddrPageBase(chunk,addr) AddrAlignDown((addr), ChunkPageSize(chunk))TRACT_OF_ADDR(tractReturn,arena,addr) BEGIN Arena _arena = (arena); Addr _addr = (addr); Chunk _chunk; Index _i; if (CHUNK_OF_ADDR(&_chunk, _arena, _addr)) { _i = INDEX_OF_ADDR(_chunk, _addr); if (BTGet(_chunk->allocTable, _i)) *(tractReturn) = PageTract(&_chunk->pageTable[_i]); else *(tractReturn) = NULL; } else *(tractReturn) = NULL; ENDINDEX_OF_ADDR(chunk,addr) ((Index)ChunkSizeToPages(chunk, AddrOffset((chunk)->base, addr)))PageIndexBase(chunk,i) AddrAdd((chunk)->base, ChunkPagesToSize(chunk, i))TractAverContiguousRange(arena,rangeBase,rangeLimit) BEGIN Chunk _ch = NULL; UNUSED(_ch); AVER(ChunkOfAddr(&_ch, arena, rangeBase) && (rangeLimit) <= _ch->limit); ENDTRACT_TRACT_FOR(tract,addr,arena,firstTract,limit) tract = (firstTract); addr = TractBase(tract); TractAverContiguousRange(arena, addr, limit); for(; tract != NULL; (addr = AddrAdd(addr, (arena)->alignment)), (addr < (limit) ? (tract = PageTract(PageOfTract(tract) + 1)) : (tract = NULL) ))TRACT_FOR(tract,addr,arena,base,limit) TRACT_TRACT_FOR(tract, addr, arena, TractOfBaseAddr(arena, base), limit)mpmst_h protocol_h DERIVE_LOCAL(name) protocol ## nameDERIVE_STRUCT(name) name ## StructDERIVE_ENSURE(name) name ## GetDERIVE_ENSURE_OLD(name) Ensure ## nameDERIVE_ENSURE_INTERNAL(name) protocolGet ## nameDERIVE_GUARDIAN(name) protocol ## name ## GuardianDERIVE_STATIC_STORAGE(name) protocol ## name ## StructProtocolClassSetSuperclassPoly(class,super) (((ProtocolClass)(class))->superclass) = (ProtocolClass)(super)$DEFINE_CLASS(className,var) static Bool DERIVE_GUARDIAN(className) = FALSE; static DERIVE_STRUCT(className) DERIVE_STATIC_STORAGE(className); static void DERIVE_ENSURE_INTERNAL(className)(className); extern className DERIVE_ENSURE(className)(void); className DERIVE_ENSURE(className)(void) { if (DERIVE_GUARDIAN(className) == FALSE) { LockClaimGlobalRecursive(); if (DERIVE_GUARDIAN(className) == FALSE) { DERIVE_ENSURE_INTERNAL(className) (&DERIVE_STATIC_STORAGE(className)); DERIVE_GUARDIAN(className) = TRUE; } LockReleaseGlobalRecursive(); } return &DERIVE_STATIC_STORAGE(className); } extern className DERIVE_ENSURE_OLD(className)(void); className DERIVE_ENSURE_OLD(className)(void) { return DERIVE_ENSURE(className)(); } static void DERIVE_ENSURE_INTERNAL(className) (className var)AINHERIT_CLASS(this,parentName) BEGIN parentName DERIVE_LOCAL(parentName) = DERIVE_ENSURE(parentName)(); *this = *(DERIVE_LOCAL(parentName)); ProtocolClassSetSuperclassPoly(this, DERIVE_LOCAL(parentName)); ENDODEFINE_ALIAS_CLASS(className,typeName,var) typedef typeName className; typedef DERIVE_STRUCT(typeName) DERIVE_STRUCT(className); DEFINE_CLASS(className, var)VProtocolClassSig ((Sig)0x519B60C7)WProtocolInstSig ((Sig)0x519B6014)ProtocolClassSuperclassPoly(class) (((ProtocolClass)(class))->superclass)ClassOfPoly(inst) ((ProtocolInst)(inst)->class)IsSubclassPoly(sub,super) ProtocolIsSubclass((ProtocolClass)(sub), (ProtocolClass)(super))SUPERCLASS(className) ProtocolClassSuperclassPoly(DERIVE_ENSURE(className)())chain_h GenDescSig ((Sig)0x5199E4DE)+PoolGenSig ((Sig)0x519B009E);ChainSig ((Sig)0x519C8A14)XPoolGenNr(gen) ((gen)->nr)/PoolClassSig ((Sig)0x519C7A55)]PoolSig ((Sig)0x519B0019)}MFSSig ((Sig)0x5193F599)MVSig ((Sig)0x5193B999)ReservoirSig ((Sig)0x5196e599)MessageClassSig ((Sig)0x519359c1)MessageSig ((Sig)0x5193e559)SegClassSig ((Sig)0x5195E9C7)SegSig ((Sig)0x5195E999)GCSegSig ((Sig)0x5199C5E9)SegPrefSig ((Sig)0x5195E9B6)BufferClassSig ((Sig)0x519B0FC7)BufferSig ((Sig)0x519B0FFE)SegBufSig ((Sig)0x51959B0F)FormatSig ((Sig)0x519F63A2)ScanStateSig ((Sig)0x5195CA45)TraceSig ((Sig)0x51924ACE)ChunkCacheEntrySig ((Sig)0x519C80CE)ArenaClassSig ((Sig)0x519A6C1A)GlobalsSig ((Sig)0x519970BA)ArenaSig ((Sig)0x519A6E4A)%BoolCheck(b) ((unsigned)(b) <= 1)(FUNCHECK(f) (FunCheck((Fun)f))4WordIsAligned(w,a) (((w) & ((a) - 1)) == 0)7WordAlignUp(w,a) (((w) + (a) - 1) & ~((Word)(a) - 1));WordRoundUp(w,r) (((w)+(r)-1) - ((w)+(r)-1)%(r))>WordAlignDown(w,a) ((w) & ~((Word)(a) - 1))@size_tAlignUp(s,a) ((size_t)WordAlignUp((Word)(s), a))BPointerAdd(p,s) ((void *)((char *)(p) + (s)))CPointerSub(p,s) ((void *)((char *)(p) - (s)))EPointerOffset(base,limit) ((size_t)((char *)(limit) - (char *)(base)))HPointerAlignUp(p,s) ((void *)WordAlignUp((Word)(p), (Align)(s)))KAddrAdd(p,s) ((Addr)PointerAdd((void *)(p), s))LAddrSub(p,s) ((Addr)PointerSub((void *)(p), s))NAddrOffset(b,l) ((Size)(PointerOffset((void *)(b), (void *)(l))))RAddrAlignDown(p,a) ((Addr)WordAlignDown((Word)(p), a))TAlignWord(s) ((Word)(s))VAddrIsAligned(p,a) WordIsAligned((Word)(p), a)WAddrAlignUp(p,a) ((Addr)WordAlignUp((Word)(p), a))YSizeIsAligned(s,a) WordIsAligned((Word)(s), a)ZSizeAlignUp(s,a) ((Size)WordAlignUp((Word)(s), a))[SizeAlignDown(s,a) ((Size)WordAlignDown((Word)(s), a))]SizeRoundUp(s,r) ((Size)WordRoundUp((Word)(s), (Size)(r)))_IndexIsAligned(s,a) WordIsAligned((Word)(s), a)`IndexAlignUp(s,a) ((Index)WordAlignUp((Word)(s), a))aIndexAlignDown(s,a) ((Index)WordAlignDown((Word)(s), a))cAlignIsAligned(a1,a2) WordIsAligned((Word)(a1), a2)iAddrSet(target,value,size) mps_lib_memset(target, (int)(value), size)mAddrCopy(target,source,size) mps_lib_memcpy(target, source, size)qAddrComp(a,b,size) mps_lib_memcmp(a, b, size)wADDR_PTR(type,addr) ((type *)(addr))PoolArena(pool) ((pool)->arena)PoolAlignment(pool) ((pool)->alignment)PoolSegRing(pool) (&(pool)->segRing)PoolFix(pool,ss,seg,refIO) ((*(pool)->fix)(pool, ss, seg, refIO))ClassOfPool(pool) ((pool)->class)SuperclassOfPool(pool) ((PoolClass)ProtocolClassSuperclassPoly((pool)->class))DEFINE_POOL_CLASS(className,var) DEFINE_ALIAS_CLASS(className, PoolClass, var)POOL_SUPERCLASS(className) ((PoolClass)SUPERCLASS(className))TraceSetSingle(trace) BS_SINGLE(TraceSet, (trace)->ti)TraceSetIsSingle(ts) BS_IS_SINGLE(ts)TraceSetIsMember(ts,trace) BS_IS_MEMBER(ts, (trace)->ti)TraceSetAdd(ts,trace) BS_ADD(TraceSet, ts, (trace)->ti)TraceSetDel(ts,trace) BS_DEL(TraceSet, ts, (trace)->ti)TraceSetUnion(ts1,ts2) BS_UNION(ts1, ts2)TraceSetInter(ts1,ts2) BS_INTER(ts1, ts2)TraceSetDiff(ts1,ts2) BS_DIFF(ts1, ts2)TraceSetSuper(ts1,ts2) BS_SUPER(ts1, ts2)TraceSetSub(ts1,ts2) BS_SUB(ts1, ts2)TraceSetComp(ts) BS_COMP(ts)TRACE_SET_ITER(ti,trace,ts,arena) for(ti = 0, trace = ArenaTrace(arena, ti); ti < TraceLIMIT; ++ti, trace = ArenaTrace(arena, ti)) BEGIN if (TraceSetIsMember(ts, trace)) {TRACE_SET_ITER_END(ti,trace,ts,arena) } ENDTRACE_SCAN_BEGIN(ss) BEGIN Shift SCANzoneShift = (ss)->zoneShift; ZoneSet SCANwhite = (ss)->white; RefSet SCANsummary = (ss)->unfixedSummary; Word SCANt; {TRACE_FIX1(ss,ref) (SCANt = (Word)1 << ((Word)(ref) >> SCANzoneShift & (MPS_WORD_WIDTH-1)), SCANsummary |= SCANt, SCANwhite & SCANt)TRACE_FIX2(ss,refIO) ((*(ss)->fix)(ss, refIO))TRACE_FIX(ss,refIO) (TRACE_FIX1(ss, *(refIO)) ? TRACE_FIX2(ss, refIO) : ResOK)TRACE_SCAN_END(ss) } (ss)->unfixedSummary = SCANsummary; ENDDEFINE_ARENA_CLASS(className,var) DEFINE_ALIAS_CLASS(className, ArenaClass, var)ARENA_SUPERCLASS(className) ((ArenaClass)SUPERCLASS(className))ArenaGlobals(arena) (&(arena)->globals)GlobalsArena(glob) PARENT(ArenaStruct, globals, glob)ArenaRootRing(arena) (&(arena)->rootRing)ArenaTraceRing(arena) (&(arena)->traceRing)ArenaThreadRing(arena) (&(arena)->threadRing)ArenaEpoch(arena) ((arena)->epoch)ArenaTrace(arena,ti) (&(arena)->trace[ti])ArenaZoneShift(arena) ((arena)->zoneShift)ArenaAlign(arena) ((arena)->alignment)ArenaGreyRing(arena,rank) (&(arena)->greyRing[rank])ArenaReservoir(arena) (&(arena)->reservoirStruct)DEFINE_SEG_CLASS(className,var) DEFINE_ALIAS_CLASS(className, SegClass, var)SEG_SUPERCLASS(className) ((SegClass)SUPERCLASS(className))ClassOfSeg(seg) ((seg)->class)SegBase(seg) (TractBase((seg)->firstTract))SegLimit(seg) ((seg)->limit)SegPool(seg) (TractPool((seg)->firstTract))SegRankSet(seg) ((RankSet)(seg)->rankSet)SegPM(seg) ((AccessSet)(seg)->pm)SegSM(seg) ((AccessSet)(seg)->sm)SegDepth(seg) ((unsigned)(seg)->depth)SegGrey(seg) ((TraceSet)(seg)->grey)SegWhite(seg) ((TraceSet)(seg)->white)SegNailed(seg) ((TraceSet)(seg)->nailed)SegOfPoolRing(node) (RING_ELT(Seg, poolRing, (node)))SegOfGreyRing(node) (&(RING_ELT(GCSeg, greyRing, (node)) ->segStruct))SegSummary(seg) (((GCSeg)(seg))->summary)SegSetPM(seg,mode) ((void)((seg)->pm = (mode)))SegSetSM(seg,mode) ((void)((seg)->sm = (mode)))SegSetDepth(seg,d) ((void)((seg)->depth = (d)))SegSetNailed(seg,ts) ((void)((seg)->nailed = (ts)))BUFFER_RESERVE(pReturn,buffer,size,withReservoirPermit) (AddrAdd(BufferAlloc(buffer), size) > BufferAlloc(buffer) && AddrAdd(BufferAlloc(buffer), size) <= BufferAP(buffer)->limit ? (*(pReturn) = BufferAlloc(buffer), BufferAP(buffer)->alloc = AddrAdd(BufferAlloc(buffer), size), ResOK) : BufferFill(pReturn, buffer, size, withReservoirPermit))BUFFER_COMMIT(buffer,p,size) (BufferAP(buffer)->init = BufferAlloc(buffer), BufferAP(buffer)->limit != 0 || BufferTrip(buffer, p, size))BufferAP(buffer) (&(buffer)->apStruct)BufferOfAP(ap) PARENT(BufferStruct, apStruct, ap)BufferArena(buffer) ((buffer)->arena)BufferPool(buffer) ((buffer)->pool)BufferBase(buffer) ((buffer)->base)BufferGetInit(buffer) (BufferAP(buffer)->init)BufferAlloc(buffer) (BufferAP(buffer)->alloc)BufferLimit(buffer) ((buffer)->poolLimit)DEFINE_BUFFER_CLASS(className,var) DEFINE_ALIAS_CLASS(className, BufferClass, var)BUFFER_SUPERCLASS(className) ((BufferClass)SUPERCLASS(className))RankSetIsMember(rs,r) BS_IS_MEMBER((rs), (r))RankSetSingle(r) BS_SINGLE(RankSet, (r))RankSetIsSingle(r) BS_IS_SINGLE(r)RankSetUnion(rs1,rs2) BS_UNION((rs1), (rs2))RankSetDel(rs,r) BS_DEL(RankSet, (rs), (r))AddrZone(arena,addr) (((Word)(addr) >> (arena)->zoneShift) & (MPS_WORD_WIDTH - 1))RefSetUnion(rs1,rs2) BS_UNION((rs1), (rs2))RefSetInter(rs1,rs2) BS_INTER((rs1), (rs2))RefSetDiff(rs1,rs2) BS_DIFF((rs1), (rs2))RefSetAdd(arena,rs,addr) BS_ADD(RefSet, rs, AddrZone(arena, addr))RefSetIsMember(arena,rs,addr) BS_IS_MEMBER(rs, AddrZone(arena, addr))RefSetSuper(rs1,rs2) BS_SUPER((rs1), (rs2))RefSetSub(rs1,rs2) BS_SUB((rs1), (rs2))ZoneSetUnion(zs1,zs2) BS_UNION(zs1, zs2)ZoneSetInter(zs1,zs2) BS_INTER(zs1, zs2)ZoneSetDiff(zs1,zs2) BS_DIFF(zs1, zs2)ZoneSetAdd(arena,zs,addr) BS_ADD(ZoneSet, zs, AddrZone(arena, addr))ZoneSetIsMember(arena,zs,addr) BS_IS_MEMBER(zs, AddrZone(arena, addr))ZoneSetSub(zs1,zs2) BS_SUB(zs1, zs2)ZoneSetSuper(zs1,zs2) BS_SUPER(zs1, zs2)ZoneSetComp(zs) BS_COMP(zs)STATISTIC(gather) BEGIN (gather); ENDSTATISTIC_STAT(gather) BEGIN gather; ENDSTATISTIC_WRITE(format,arg) (format), (arg),ld.cJan 17 200703:39:24$Id: //info.ravenbrook.com/project/mps/master/code/ld.c#9 $|  `AB FL.`)AB AJAB B?AB AB TG%#LDReset$LDAddY$LDIsStale$LDAge$LDMerge4%ldSrcId4allocTablePoolDescribeMethodcontrolPoolStructpageTableLimitgreySegMaxchunkFinishnamefrompageSizeFormatPadMethodrankrootSerialchunkRingArenaAllocMethodreservoirSizeactiveTracesformatfoundationLockPoolBufferClassMethodTraceFixMethodsuperclassthreadRingunitsPerExtentPagefillMutatorSizepoolSerialBoolprehistoryArenaFreeMethodunitSizesetRankSetunsigned intGNU C 3.4.6 [FreeBSD] 20060305BufferRankSetMethodextendArenaChunkFinishMethodLDResetfillInternalSizeBufferReassignSegMethodreassignSegisCollectedpoolReadyscmidwhiteSegRefCountforwardedSizeforwardedCountArenaSpareCommitExceededMethodProtocolClassmergegreyRingfinishshort intAlignArenaDescribeMethodprotocoldescribefillSizesegScanCountPoolmodePoolDebugMixinStructrememberedSummaryRingprevfixRefCountserialEpochsetBufferapStructemptyMutatorSizeallocMutatorSizePoolFramePushMethodPoolFinishMethodbusyTraceslwPopPendingchunkspansallocBasesuspendedpollThresholdArenaStructenabledMessageTypesmpsVersionStringSizefreeListframePopGlobalsStructreservoirStructChainStructbaseArenaClassAccessSetframeptrhistorySegSetRankSummaryMethodFileSrcIdStructlong long unsigned intfileoffsetldSrcIdtraceshDepthhighattrgenCountSegClassStructrateFreeBlockStepMethodPoolClassStructglobalsprimaryArenaChunkInitMethodarenaBufferFinishMethodFormatVarietyPoolWalkMethodskipPoolFreeMethodmortalitywasMarkedproflowmessageRingsize_tmoveAPStructTractStructrampEndmayMoveBootBlockpoolLimitChunkLDAgeclampedPoolReclaimMethodunroundedUnitSizeshCachereclaimCountpageTablePagesfreePoolFixMethodSegPrefWordmps_lib_stream_sFormatStructpreservedInPlaceCountfreewalkframePushFormattedObjectsStepMethodSegClassgensCountPageStructisMovedsetRankSummarySegDescribeMethodbufferClassPoolDebugMixinSegSetSummaryMethodinsidePollreclaimAddrreservoirLimitcharscannedSizereserveBufferStructFormatScanMethodchunkSerialSegFinishMethodMFSHeaderStructSerialLockStructsplitFormatClassMethodArenaFormatMoveMethodspacefinalPoolBufferDescribeMethodBufferModelimitMFSStructArenaInitMethodlockrampCountPoolFixEmergencyMethodzoneShiftpagesisGennailedPoolFreeWalkMethodchainva_listChainlong long intMVStructtracedTimeZoneSetTractBufferSegMethoddepthPoolRampEndMethodlocusRingfixEmergencyTracegreylastWorldCollectPoolDebugMixinMethodpageShiftChunkCacheEntryStructBufferClassStructArenaClassStructrememberedSummaryIndexgreySegCountisMutatorArenaFinishMethodfixedSummarycommittedframePopPendingLDMergescansingleCopiedSizeSegSetBufferMethodProtocolInstStructAddrStructrampBeginbufferPoolRampBeginMethodsizeSegStructGenDescStructProtocolInstBufferSetRankSetMethodinitAtFlipPoolStructLDStructpoolRingFormatdetachspareCommitLimittopGenPoolWhitenMethodspanPoolStructPoolInitMethodTraceIdpoolaccesschainRingPoolGreyMethodlastTractMutatorFaultContextvarietyemptyInternalSizeLDIsStaleSrcIdarenaRingsegRefCountavgSizecopytractListBufferDetachMethodPoolScanMethodFormatCopyMethodlostcapacitywhitenScanStatecondemnedbufferRingChunkStructflippedTracesrootScanCountenabledrootScanSizepointlessScanCountallocRankshCacheLimitsegCopiedSizeBufferInitMethodlong intsetSummarynotCondemnedextendByTraceStateTraceSetstatepreservedInPlaceSizenextSegBufferMethodbuild_timeld.cPoolClassProtocolCoerceInstMethodemergencyPoolBlackenMethodwhitepoolStruct__size_trootRingSegInitMethodFormatSkipMethodsegScanSizecopiedSizeArenaExtendMethodScanStateStructSegSetWhiteMethodunfixedSummarypageTableBaselastTractBasethreadSeriallabelledsetGreytracedSize__va_listwalksetWhitePoolAllocMethodRingStructrankSetlong unsigned intPoolFramePopPendingMethodSrcIdStructBootBlockStructwriteBarrierHitCountMutatorFaultContextStructArenaReservedMethodinitAttrbufferLoggingProtocolClassStructclassbufferFillIndexspareCommitExceededFormatIsMovedMethodmaxSizechunkInitPoolAccessMethodsnapCounttypeattachnailCountunsigned char__uint32_tspareCommittedinsideShieldRingSegSplitMethodblockPoolStructRefSetAllocFrameStructPoolFramePopMethodtractStructBufferClassformatSerialaddrsegRingAllocFramehasSegcoerceClassReservoirStructbuild_datesingleScanSizeBufferreadBarrierHitCountpageTableheaderSizecoerceInstdebugMixinchunkCachesigned charSegMergeMethodSegPrefStructmps_lib_FILEPoolBufferFillMethodreclaimSizebufferSerialshort unsigned intzonesbufferEmptyProtocolCoerceClassMethodreservedRankSetisFinalPooldoublesingleScanCountfirstTractalignmentPoolBufferEmptyMethodBufferAttachMethodrestLDAddSegSetRankSetMethodShiftemptySize/home/hannes/dylan/mps/codeTraceStructglobalRingformatRingcommitLimitrootCopiedSizeSegSetGreyMethodshCacheIepochblackentracesGCC: (GNU) 3.4.6 [FreeBSD] 20060305.symtab.strtab.shstrtab.rel.text.rel.data.bss.debug_abbrev.rel.debug_info.rel.debug_line.debug_macinfo.rodata.str1.1.rodata.str1.4.rel.rodata.rel.debug_frame.rel.debug_pubnames.rel.debug_aranges.debug_str.comment44 )h% /l4lFRG%B `V(R  bE*uq2 2(<d t PX p  0%ȴ g    `&0=I`)OJY?_ld.cFileSrcIdStructldSrcIdLDResetSegOfAddrShieldExposeShieldCoverLDAddLDIsStaleLDAgeLDMerge+O  !%*18?MX_fmt{(39Zev| #.9Tek-<KZiy,;Ziq%4CRap "8FTbp~(6DR`n|$2@N\jx  ' 6 E T c r            & 5 D S b q           ! 8 G V t            ( 7 F U e z           - ? T j x          .=L[jzBTfx &4BP^l-<KZix-<KZjz *:JZjz *:JZjz%4CRap%6<MSdnv ,7b 9e;FhYd *Ln.hBx8c@k   + 6 I W n y        !!&!W!!!!!!!!!"""*"8"F"T"b"p"""""""""" ##'#F#Q#\#h#t######!$($,$?$L$_$j$n$$$$$$$$$$%%$%0% 5%B%q     < @X \x | event.o/ 1169001565 1001 1001 100644 41752 ` ELF 84(UÉUÉUÍvUÉUÉUÉUC% $ > $ > : ; I I&I : ;  : ; I8 : ; I < .? : ; ' I@ .? : ; ' @ .? : ; ' I@ : ; I : ; I .? : ; ' @ 4: ; I 4: ; I?  fIm1RyintH 8W l  _L 7z"%"$#7%#X&#'#  ResE l",2     U    U  U   *Uc ?   ,6U  = 8BUlen ؚ  F DIUS !id  \   /usr/include/usr/include/sys/usr/include/machinempm.hconfig.hmpstd.hmisc.hstddef.hcdefs.h_null.h_types.h_types.hcheck.hmpslib.hevent.heventcom.hmpmtypes.hstdarg.heventgen.hlock.hth.hring.hss.htract.hbt.hmpmst.hprotocol.hchain.hmpsio.hmps.hlimits.hlimits.h_limits.hsyslimits.hevent.c ;;;Y>==<__STDC_HOSTED__ 1__GNUC__ 3__GNUC_MINOR__ 4__GNUC_PATCHLEVEL__ 6__SIZE_TYPE__ unsigned int__PTRDIFF_TYPE__ int__WCHAR_TYPE__ int__WINT_TYPE__ unsigned int __GXX_ABI_VERSION 1002 __SCHAR_MAX__ 127 __SHRT_MAX__ 32767 __INT_MAX__ 2147483647 __LONG_MAX__ 2147483647L__LONG_LONG_MAX__ 9223372036854775807LL__WCHAR_MAX__ 2147483647__CHAR_BIT__ 8__FLT_EVAL_METHOD__ 2__FLT_RADIX__ 2__FLT_MANT_DIG__ 24__FLT_DIG__ 6__FLT_MIN_EXP__ (-125)__FLT_MIN_10_EXP__ (-37)__FLT_MAX_EXP__ 128__FLT_MAX_10_EXP__ 38__FLT_MAX__ 3.40282347e+38F__FLT_MIN__ 1.17549435e-38F__FLT_EPSILON__ 1.19209290e-7F__FLT_DENORM_MIN__ 1.40129846e-45F__FLT_HAS_INFINITY__ 1__FLT_HAS_QUIET_NAN__ 1__DBL_MANT_DIG__ 53 __DBL_DIG__ 15!__DBL_MIN_EXP__ (-1021)"__DBL_MIN_10_EXP__ (-307)#__DBL_MAX_EXP__ 1024$__DBL_MAX_10_EXP__ 308%__DBL_MAX__ 1.7976931348623157e+308&__DBL_MIN__ 2.2250738585072014e-308'__DBL_EPSILON__ 2.2204460492503131e-16(__DBL_DENORM_MIN__ 4.9406564584124654e-324)__DBL_HAS_INFINITY__ 1*__DBL_HAS_QUIET_NAN__ 1+__LDBL_MANT_DIG__ 53,__LDBL_DIG__ 15-__LDBL_MIN_EXP__ (-16381).__LDBL_MIN_10_EXP__ (-4931)/__LDBL_MAX_EXP__ 163840__LDBL_MAX_10_EXP__ 49321__DECIMAL_DIG__ 172__LDBL_MAX__ 1.1897314953572316e+4932L3__LDBL_MIN__ 3.3621031431120935e-4932L4__LDBL_EPSILON__ 2.2204460492503131e-16L5__LDBL_DENORM_MIN__ 7.4653686412953080e-4948L6__LDBL_HAS_INFINITY__ 17__LDBL_HAS_QUIET_NAN__ 18__REGISTER_PREFIX__ 9__USER_LABEL_PREFIX__ :__VERSION__ "3.4.6 [FreeBSD] 20060305";__OPTIMIZE__ 1<__FINITE_MATH_ONLY__ 0=__STRICT_ANSI__ 1@__i386 1A__i386__ 1B__tune_i386__ 1C__FreeBSD__ 6D__unix 1E__unix__ 1F__KPRINTF_ATTRIBUTE__ 1J__FreeBSD_cc_version 602001K__ELF__ 1_REENTRANT 1CONFIG_PROD_DYLAN 1CONFIG_VAR_HI 1NDEBUG 1 mpm_h config_h !CONFIG_DEBUG "CHECK_DEFAULT CheckNONE6CHECK_NONE 7MPS_ASSERT_STRING "nonasserted"?EVENT_NONE @MPS_LOG_STRING "nonlogging"EDIAGNOSTICS FMPS_DEBUG_STRING "debug"LMPS_VARIETY_STRING MPS_ASSERT_STRING "." MPS_LOG_STRING "." MPS_DEBUG_STRINGRmpstd_h MPS_PF_FRI4GC MPS_PF_STRING "fri4gc"MPS_OS_FR MPS_ARCH_I4 MPS_BUILD_GC MPS_T_WORD unsigned longMPS_WORD_WIDTH 32MPS_WORD_SHIFT 5MPS_PF_ALIGN 4EPVMDefaultSubsequentSegSIZE (64ul * 1024)ARENA_CONTROL_EXTENDBY ((Size)4096)ARENA_CONTROL_AVGSIZE ((Size)32)ARENA_CONTROL_MAXSIZE ((Size)65536)ArenaPollALLOCTIME (65536.0)ARENA_ZONESHIFT ((Shift)20)ARENA_CLIENT_PAGE_SIZE ((Size)8192)ArenaDefaultZONESET (ZoneSetUNIV << (MPS_WORD_WIDTH / 2))SegPrefDEFAULT { SegPrefSig, TRUE, ArenaDefaultZONESET, FALSE, FALSE, (Serial)0, }LDHistoryLENGTH ((Size)4)StackProbeDEPTH ((Size)0)ShieldCacheSIZE ((size_t)16)ShieldDepthWIDTH (4)VMANPageALIGNMENT ((Align)4096)VMJunkBYTE ((unsigned char)0xA9)TraceLIMIT ((size_t)1)TraceCopyScanRATIO (1.5)RememberedSummaryBLOCK 15EventBufferSIZE ((size_t)4096)EventStringLengthMAX ((size_t)255)ASSERT_BUFFER_SIZE ((Size)512)MPS_PROD_STRING "dylan"MPS_PROD_DYLAN ARENA_INIT_SPARE_COMMIT_LIMIT ((Size)10uL*1024uL*1024uL)THREAD_MULTI PROTECTION DONGLE_NONE PROD_CHECK_DEFAULT CheckSHALLOWARENA_SIZE ((Size)1<<30)misc_h '_STDDEF_H_ )%_SYS_CDEFS_H_ +__BEGIN_DECLS ,__END_DECLS 8__GNUCLIKE_ASM 39__GNUCLIKE_MATH_BUILTIN_CONSTANTS =__GNUCLIKE___TYPEOF 1>__GNUCLIKE___OFFSETOF 1?__GNUCLIKE___SECTION 1A__GNUCLIKE_ATTRIBUTE_MODE_DI 1D__GNUCLIKE_CTOR_SECTION_HANDLING 1G__GNUCLIKE_BUILTIN_CONSTANT_P 1N__GNUCLIKE_BUILTIN_VARARGS 1O__GNUCLIKE_BUILTIN_STDARG 1P__GNUCLIKE_BUILTIN_VAALIST 1T__GNUC_VA_LIST_COMPATIBILITY 1X__GNUCLIKE_BUILTIN_NEXT_ARG 1Y__GNUCLIKE_MATH_BUILTIN_RELOPS \__GNUCLIKE_BUILTIN_MEMCPY 1___CC_SUPPORTS_INLINE 1`__CC_SUPPORTS___INLINE 1a__CC_SUPPORTS___INLINE__ 1c__CC_SUPPORTS___FUNC__ 1d__CC_SUPPORTS_WARNING 1f__CC_SUPPORTS_VARADIC_XXX 1h__CC_SUPPORTS_DYNAMIC_ARRAY_INIT 1k__CC_INT_IS_32BIT 1s__GNUC_PREREQ__(ma,mi) (__GNUC__ > (ma) || __GNUC__ == (ma) && __GNUC_MINOR__ >= (mi))__P(protos) protos__CONCAT1(x,y) x ## y__CONCAT(x,y) __CONCAT1(x,y)__STRING(x) #x__XSTRING(x) __STRING(x)__const const__signed signed__volatile volatile__dead2 __attribute__((__noreturn__))__pure2 __attribute__((__const__))__unused __attribute__((__unused__))__used __attribute__((__used__))__packed __attribute__((__packed__))__aligned(x) __attribute__((__aligned__(x)))__section(x) __attribute__((__section__(x)))__pure __attribute__((__pure__))__always_inline __attribute__((__always_inline__))__nonnull(x) __attribute__((__nonnull__(x)))__restrict __predict_true(exp) __builtin_expect((exp), 1)__predict_false(exp) __builtin_expect((exp), 0)__offsetof(type,field) ((size_t)(&((type *)0)->field))__rangeof(type,start,end) (__offsetof(type, end) - __offsetof(type, start))__printflike(fmtarg,firstvararg) __attribute__((__format__ (__printf__, fmtarg, firstvararg)))__scanflike(fmtarg,firstvararg) __attribute__((__format__ (__scanf__, fmtarg, firstvararg)))__format_arg(fmtarg) __attribute__((__format_arg__ (fmtarg)))__printf0like(fmtarg,firstvararg) __attribute__((__format__ (__printf0__, fmtarg, firstvararg)))__strong_reference(sym,aliassym) extern __typeof (sym) aliassym __attribute__ ((__alias__ (#sym)));__weak_reference(sym,alias) __asm__(".weak " #alias); __asm__(".equ " #alias ", " #sym)__warn_references(sym,msg) __asm__(".section .gnu.warning." #sym); __asm__(".asciz \"" msg "\""); __asm__(".previous")__IDSTRING(name,string) __asm__(".ident\t\"" string "\"")__FBSDID(s) __IDSTRING(__CONCAT(__rcsid_,__LINE__),s)__RCSID(s) __IDSTRING(__CONCAT(__rcsid_,__LINE__),s)__RCSID_SOURCE(s) __IDSTRING(__CONCAT(__rcsid_source_,__LINE__),s)__SCCSID(s) __IDSTRING(__CONCAT(__sccsid_,__LINE__),s)__COPYRIGHT(s) __IDSTRING(__CONCAT(__copyright_,__LINE__),s)__DECONST(type,var) ((type)(uintptr_t)(const void *)(var))__DEVOLATILE(type,var) ((type)(uintptr_t)(volatile void *)(var))__DEQUALIFY(type,var) ((type)(uintptr_t)(const volatile void *)(var))__POSIX_VISIBLE 200112__XSI_VISIBLE 600__BSD_VISIBLE 1__ISO_C_VISIBLE 1999* NULL ((void *)0)+_SYS__TYPES_H_ ! (_MACHINE__TYPES_H_ .__NO_STRICT_ALIGNMENT __GNUC_VA_LIST 2_RUNE_T_DECLARED 8_SIZE_T_DECLARED >_WCHAR_T_DECLARED Boffsetof(type,member) __offsetof(type, member)*SRCID(id,scmid) static SrcIdStruct FileSrcIdStruct = {__FILE__, (scmid), __DATE__, __TIME__}; SrcId id ## SrcId = &FileSrcIdStruct;BEGIN do {> (i)) & 1)BS_UNION(s1,s2) ((s1) | (s2))BS_ADD(ty,s,i) BS_UNION((s), BS_SINGLE(ty, (i)))BS_INTER(s1,s2) ((s1) & (s2))BS_DIFF(s1,s2) BS_INTER((s1), BS_COMP(s2))BS_DEL(ty,s,i) BS_DIFF((s), BS_SINGLE(ty, (i)))BS_SUPER(s1,s2) (BS_INTER((s1), (s2)) == (s2))BS_SUB(s1,s2) BS_SUPER((s2), (s1))BS_IS_SINGLE(s) (((s) & ((s)-1)) == 0)BS_SYM_DIFF(s1,s2) ((s1) ^ (s2)) check_h  mpslib_h mps_lib_EOF (mps_lib_get_EOF())mps_lib_stderr (mps_lib_get_stderr())mps_lib_stdout (mps_lib_get_stdout())0AVER(cond) DISCARD(cond)1AVERT(type,val) DISCARD(type ## Check(val))2AVER_CRITICAL(cond) DISCARD(cond)3AVERT_CRITICAL(type,val) DISCARD(type ## Check(val))MASSERT(cond,condstring) BEGIN if (cond) NOOP; else mps_lib_assert_fail(condstring "\n" __FILE__ "\n" STR(__LINE__)); END_NOTREACHED NOOPjCHECKT(type,val) ((val) != NULL && (val)->sig == type ## Sig)pCHECKS(type,val) DISCARD(CHECKT(type, val))qCHECKL(cond) DISCARD(cond)rCHECKD(type,val) DISCARD(CHECKT(type, val))sCHECKD_NOSIG(type,val) DISCARD((val) != NULL)tCHECKU(type,val) DISCARD(CHECKT(type, val))uCHECKU_NOSIG(type,val) DISCARD((val) != NULL)CHECKLVALUE(lv1,lv2) ((void)sizeof((lv1) = (lv2)), (void)sizeof((lv2) = (lv1)), TRUE)CHECKTYPE(t1,t2) (sizeof(t1) == sizeof(t2) && CHECKLVALUE(*((t1 *)0), *((t2 *)0)))CHECKFIELDAPPROX(s1,f1,s2,f2) (sizeof(((s1 *)0)->f1) == sizeof(((s2 *)0)->f2) && offsetof(s1, f1) == offsetof(s2, f2))CHECKFIELD(s1,f1,s2,f2) (CHECKFIELDAPPROX(s1, f1, s2, f2) && CHECKLVALUE(((s1 *)0)->f1, ((s2 *)0)->f2)) event_h   eventcom_h  mpmtypes_h '_MACHINE_STDARG_H_ -_VA_LIST_DECLARED 3va_start(ap,last) __builtin_stdarg_start((ap), (last))6va_arg(ap,type) __builtin_va_arg((ap), type):va_copy(dest,src) __builtin_va_copy((dest), (src))>va_end(ap) __builtin_va_end(ap)SigInvalid ((Sig)0x51915BAD)SizeMAX ((Size)-1)AccessSetEMPTY ((AccessSet)0)AccessREAD ((AccessSet)(1<<0))AccessWRITE ((AccessSet)(1<<1))AccessSetWIDTH (2)RefSetEMPTY BS_EMPTY(RefSet)RefSetUNIV BS_UNIV(RefSet)ZoneSetEMPTY BS_EMPTY(ZoneSet)ZoneSetUNIV BS_UNIV(ZoneSet)TraceSetEMPTY BS_EMPTY(TraceSet)TraceSetUNIV ((TraceSet)((1u << TraceLIMIT) - 1))RankSetEMPTY BS_EMPTY(RankSet)RankSetUNIV ((RankSet)((1u << RankLIMIT) - 1))AttrFMT ((Attr)(1<<0))AttrSCAN ((Attr)(1<<1))AttrPM_NO_READ ((Attr)(1<<2))AttrPM_NO_WRITE ((Attr)(1<<3))AttrALLOC ((Attr)(1<<4))AttrFREE ((Attr)(1<<5))AttrBUF ((Attr)(1<<6))AttrBUF_RESERVE ((Attr)(1<<7))AttrBUF_ALLOC ((Attr)(1<<8))AttrGC ((Attr)(1<<9))AttrINCR_RB ((Attr)(1<<10))AttrINCR_WB ((Attr)(1<<11))AttrMOVINGGC ((Attr)(1<<12))AttrMASK (AttrFMT | AttrSCAN | AttrPM_NO_READ | AttrPM_NO_WRITE | AttrALLOC | AttrFREE | AttrBUF | AttrBUF_RESERVE | AttrBUF_ALLOC | AttrGC | AttrINCR_RB | AttrINCR_WB | AttrMOVINGGC)BufferModeATTACHED ((BufferMode)(1<<0))BufferModeFLIPPED ((BufferMode)(1<<1))BufferModeLOGGED ((BufferMode)(1<<2))BufferModeTRANSITION ((BufferMode)(1<<3))RootModeCONSTANT ((RootMode)1<<0)RootModePROTECTABLE ((RootMode)1<<1)RootModePROTECTABLE_INNER ((RootMode)1<<2)STATISTIC_DECL(field) field!EventNameMAX ((size_t)19)"EventCodeMAX ((EventCode)0x0069)&EVENT_0(type) NOOPEVENT_A(type,p0) NOOPEVENT_AW(type,p0,p1) NOOPEVENT_P(type,p0) NOOPEVENT_PAA(type,p0,p1,p2) NOOPEVENT_PAW(type,p0,p1,p2) NOOPEVENT_PAWA(type,p0,p1,p2,p3) NOOPEVENT_PDDWWW(type,p0,p1,p2,p3,p4,p5) NOOPEVENT_PP(type,p0,p1) NOOPEVENT_PPAU(type,p0,p1,p2,p3) NOOPEVENT_PPAWP(type,p0,p1,p2,p3,p4) NOOPEVENT_PPP(type,p0,p1,p2) NOOPEVENT_PPPA(type,p0,p1,p2,p3) NOOPEVENT_PPPU(type,p0,p1,p2,p3) NOOPEVENT_PPPUU(type,p0,p1,p2,p3,p4) NOOPEVENT_PPU(type,p0,p1,p2) NOOPEVENT_PPUU(type,p0,p1,p2,p3) NOOPEVENT_PPUWWW(type,p0,p1,p2,p3,p4,p5) NOOPEVENT_PPWW(type,p0,p1,p2,p3) NOOPEVENT_PPWWW(type,p0,p1,p2,p3,p4) NOOPEVENT_PPWWWUUU(type,p0,p1,p2,p3,p4,p5,p6,p7) NOOPEVENT_PU(type,p0,p1) NOOPEVENT_PW(type,p0,p1) NOOPEVENT_PWA(type,p0,p1,p2) NOOPEVENT_PWAW(type,p0,p1,p2,p3) NOOPEVENT_PWP(type,p0,p1,p2) NOOPEVENT_PWU(type,p0,p1,p2) NOOPEVENT_PWW(type,p0,p1,p2) NOOPEVENT_PWWWWDD(type,p0,p1,p2,p3,p4,p5,p6) NOOPEVENT_PWWWWW(type,p0,p1,p2,p3,p4,p5) NOOPEVENT_PWWWWWWWWW(type,p0,p1,p2,p3,p4,p5,p6,p7,p8,p9) NOOPEVENT_PWWWWWWWWWWWW(type,p0,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11,p12) NOOPEVENT_UUPA(type,p0,p1,p2,p3) NOOPEVENT_UUPP(type,p0,p1,p2,p3) NOOPEVENT_UUPPP(type,p0,p1,p2,p3,p4) NOOPEVENT_WS(type,p0,p1,l1) NOOP:EventEventTime ((EventType)0xEF213E99);EventPoolInit ((EventType)0xEFB07141)EventPoolFree ((EventType)0xEFB07F6E)?EventArenaCreateVM ((EventType)0xEFA64CF3)@EventArenaCreateVMNZ ((EventType)0xEFA64CF2)AEventArenaCreateCL ((EventType)0xEFA64CC7)BEventArenaDestroy ((EventType)0xEFA64DE5)CEventArenaAlloc ((EventType)0xEFA64A77)DEventArenaFree ((EventType)0xEFA64F6E)EEventSegAlloc ((EventType)0xEF5E9A77)FEventSegFree ((EventType)0xEF5E9F6E)GEventSegMerge ((EventType)0xEF5E93E6)HEventSegSplit ((EventType)0xEF5E95B7)IEventAMCGenCreate ((EventType)0xEFA3C94C)JEventAMCGenDestroy ((EventType)0xEFA3C94D)KEventAMCInit ((EventType)0xEFA3C141)LEventAMCFinish ((EventType)0xEFA3CF14)MEventAMCTraceBegin ((EventType)0xEFA3C26B)NEventAMCScanBegin ((EventType)0xEFA3C5CB)OEventAMCScanEnd ((EventType)0xEFA3C5CE)PEventAMCFix ((EventType)0xEFA3CF18)QEventAMCFixInPlace ((EventType)0xEFA3CF8A)REventAMCFixForward ((EventType)0xEFA3CF8F)SEventAMCReclaim ((EventType)0xEFA3C6EC)TEventTraceStart ((EventType)0xEF26AC52)UEventTraceCreate ((EventType)0xEF26ACC6)VEventTraceDestroy ((EventType)0xEF26ACDE)WEventSegSetGrey ((EventType)0xEF59596A)XEventTraceFlipBegin ((EventType)0xEF26AF7B)YEventTraceFlipEnd ((EventType)0xEF26AF7E)ZEventTraceReclaim ((EventType)0xEF26A6EC)[EventTraceScanSeg ((EventType)0xEF26A559)\EventTraceScanSingleRef ((EventType)0xEF26A556)^EventTraceAccess ((EventType)0xEF26AACC)_EventTracePoll ((EventType)0xEF26AB01)`EventTraceStep ((EventType)0xEF26A52B)aEventTraceFix ((EventType)0xEF26AF18)bEventTraceFixSeg ((EventType)0xEF26AF85)cEventTraceFixWhite ((EventType)0xEF26AF83)dEventTraceScanArea ((EventType)0xEF26A5CA)eEventTraceScanAreaTagged ((EventType)0xEF26A5C2)fEventVMCreate ((EventType)0xEFF3C6EA)gEventVMDestroy ((EventType)0xEFF3DE52)hEventVMMap ((EventType)0xEFF33AB9)iEventVMUnmap ((EventType)0xEFF3043B)jEventIntern ((EventType)0xEF142E64)kEventArenaExtend ((EventType)0xEFA64E82)lEventArenaRetract ((EventType)0xEFA646E2)mEventRootScan ((EventType)0xEF625CA4)nEventLabel ((EventType)0xEF7ABE79)oEventTraceSegGreyen ((EventType)0xEF26A599)pEventBufferReserve ((EventType)0xEFB0FF6E)qEventBufferCommit ((EventType)0xEFB0FFC0)rEventBufferInit ((EventType)0xEFB0FF14)sEventBufferInitSeg ((EventType)0xEFB0F15E)tEventBufferInitRank ((EventType)0xEFB0F16A)uEventBufferInitEPVM ((EventType)0xEFB0F1EF)vEventBufferFinish ((EventType)0xEFB0FFF1)wEventBufferFill ((EventType)0xEFB0FFF7)xEventBufferEmpty ((EventType)0xEFB0FFE3)yEventArenaAllocFail ((EventType)0xEFA64A7F)zEventSegAllocFail ((EventType)0xEF5E9A7F){EventMeterInit ((EventType)0xEF3E2141)|EventMeterValues ((EventType)0xEF3E2FA7)}EventCBSInit ((EventType)0xEFCB5141)~EventTraceStatCondemn ((EventType)0xEF26A5C0)EventTraceStatScan ((EventType)0xEF26A55C)EventTraceStatFix ((EventType)0xEF26A5F8)EventTraceStatReclaim ((EventType)0xEF26A56E)EventArenaWriteFaults ((EventType)0xEFA6436F)EventPoolInitMV ((EventType)0xEFB0713F)EventPoolInitMVFF ((EventType)0xEFB071FF)EventPoolInitMFS ((EventType)0xEFB07135)EventPoolInitEPVM ((EventType)0xEFB071EF)EventPoolInitEPDL ((EventType)0xEFB071E7)EventPoolInitAMS ((EventType)0xEFB071A5)EventPoolInitAMC ((EventType)0xEFB071AC)EventPoolInitAMCZ ((EventType)0xEFB071A2)EventPoolInitAWL ((EventType)0xEFB071A3)EventPoolInitLO ((EventType)0xEFB07170)EventPoolInitSNC ((EventType)0xEFB07154)EventPoolInitMVT ((EventType)0xEFB07132)EventPoolPush ((EventType)0xEFB07B58)EventPoolPop ((EventType)0xEFB07B0B)EventReservoirLimitSet ((EventType)0xEF6E5713)EventCommitLimitSet ((EventType)0xEFC03713)EventSpareCommitLimitSet ((EventType)0xEF5BC713)hEventInit() NOOPiEventFinish() NOOPjEventControl(r,f) (UNUSED(r), UNUSED(f), (Word)0)kEventInternString(s) (UNUSED(s), (Word)0)lEventInternGenString(l,s) (UNUSED(l), UNUSED(s), (Word)0)mEventLabelAddr(a,i) BEGIN UNUSED(a); UNUSED(i); ENDPlock_h ULockSig ((Sig)0x51970CC9) th_h  ring_h RingNONE ((Ring)0)$RingInit(ring) BEGIN Ring _ring = (ring); AVER(_ring != NULL); _ring->next = _ring; _ring->prev = _ring; AVER(RingCheck(_ring)); END/RingFinish(ring) BEGIN Ring _ring = (ring); AVER(RingCheckSingle(_ring)); _ring->next = RingNONE; _ring->prev = RingNONE; END9RingAppend(ring,new) BEGIN Ring _ring = (ring), _new = (new); AVER(RingCheck(_ring)); AVER(RingCheckSingle(_new)); _new->prev = _ring->prev; _new->next = _ring; _ring->prev->next = _new; _ring->prev = _new; ENDFRingInsert(ring,new) BEGIN Ring _ring = (ring), _new = (new); AVER(RingCheck(_ring)); AVER(RingCheckSingle(_new)); _new->prev = _ring; _new->next = _ring->next; _ring->next->prev = _new; _ring->next = _new; ENDSRingRemove(old) BEGIN Ring _old = (old); AVER(RingCheck(_old)); AVER(!RingIsSingle(_old)); _old->next->prev = _old->prev; _old->prev->next = _old->next; _old->next = _old; _old->prev = _old; END`RingNext(ring) ((ring)->next)dRingPrev(ring) ((ring)->prev)gRING_ELT(type,field,node) ((type)(void *)((char *)(node) - (size_t)(&((type)0)->field)))kRING_FOR(node,ring,next) for(node = RingNext(ring), next = RingNext(node); node != (ring); node = (next), next = RingNext(node))ThreadSig ((Sig)0x519286ED) ss_h  tract_h   bt_h BTSize(n) (((n) + MPS_WORD_WIDTH-1) / MPS_WORD_WIDTH * sizeof(Word))BTGet(a,i) ((Bool)(((a)[((i) >> MPS_WORD_SHIFT)] >> ((i) & ~((Word)-1 << MPS_WORD_SHIFT))) & (Word)1))BTSet(a,i) BEGIN (a)[((i)>>MPS_WORD_SHIFT)] |= (Word)1<<((i)&~((Word)-1<>MPS_WORD_SHIFT)] &= ~((Word)1 << ((i) & ~((Word)-1<base)&TractPool(tract) ((tract)->pool)'TractP(tract) ((tract)->p)(TractSetP(tract,pp) ((void)((tract)->p = (pp))))TractHasSeg(tract) ((Bool)(tract)->hasSeg)*TractSetHasSeg(tract,b) ((void)((tract)->hasSeg = (b)))+TractWhite(tract) ((tract)->white),TractSetWhite(tract,w) ((void)((tract)->white = (w)))8TRACT_SEG(segReturn,tract) (TractHasSeg(tract) && ((*(segReturn) = (Seg)TractP(tract)), TRUE));TRACT_SET_SEG(tract,seg) (TractSetHasSeg(tract, TRUE), TractSetP(tract, seg))>TRACT_UNSET_SEG(tract) (TractSetHasSeg(tract, FALSE), TractSetP(tract, NULL))nPageTract(page) (&(page)->the.tractStruct)rPageOfTract(tract) PARENT(PageStruct, the.tractStruct, (tract))vPagePool(page) ((page)->the.rest.pool)}PageIsAllocated(page) ((page)->the.rest.pool != NULL)PageType(page) ((page)->the.rest.type)ChunkSig ((Sig)0x519C804C)ChunkArena(chunk) ((chunk)->arena)ChunkPageSize(chunk) ((chunk)->pageSize)ChunkPageShift(chunk) ((chunk)->pageShift)ChunkPagesToSize(chunk,pages) ((Size)(pages) << (chunk)->pageShift)ChunkSizeToPages(chunk,size) ((Count)((size) >> (chunk)->pageShift))CHUNK_OF_ADDR(chunkReturn,arena,addr) (((arena)->chunkCache.base <= (addr) && (addr) < (arena)->chunkCache.limit) ? (*(chunkReturn) = (arena)->chunkCache.chunk, TRUE) : ChunkOfAddr(chunkReturn, arena, addr))AddrPageBase(chunk,addr) AddrAlignDown((addr), ChunkPageSize(chunk))TRACT_OF_ADDR(tractReturn,arena,addr) BEGIN Arena _arena = (arena); Addr _addr = (addr); Chunk _chunk; Index _i; if (CHUNK_OF_ADDR(&_chunk, _arena, _addr)) { _i = INDEX_OF_ADDR(_chunk, _addr); if (BTGet(_chunk->allocTable, _i)) *(tractReturn) = PageTract(&_chunk->pageTable[_i]); else *(tractReturn) = NULL; } else *(tractReturn) = NULL; ENDINDEX_OF_ADDR(chunk,addr) ((Index)ChunkSizeToPages(chunk, AddrOffset((chunk)->base, addr)))PageIndexBase(chunk,i) AddrAdd((chunk)->base, ChunkPagesToSize(chunk, i))TractAverContiguousRange(arena,rangeBase,rangeLimit) BEGIN Chunk _ch = NULL; UNUSED(_ch); AVER(ChunkOfAddr(&_ch, arena, rangeBase) && (rangeLimit) <= _ch->limit); ENDTRACT_TRACT_FOR(tract,addr,arena,firstTract,limit) tract = (firstTract); addr = TractBase(tract); TractAverContiguousRange(arena, addr, limit); for(; tract != NULL; (addr = AddrAdd(addr, (arena)->alignment)), (addr < (limit) ? (tract = PageTract(PageOfTract(tract) + 1)) : (tract = NULL) ))TRACT_FOR(tract,addr,arena,base,limit) TRACT_TRACT_FOR(tract, addr, arena, TractOfBaseAddr(arena, base), limit)mpmst_h protocol_h DERIVE_LOCAL(name) protocol ## nameDERIVE_STRUCT(name) name ## StructDERIVE_ENSURE(name) name ## GetDERIVE_ENSURE_OLD(name) Ensure ## nameDERIVE_ENSURE_INTERNAL(name) protocolGet ## nameDERIVE_GUARDIAN(name) protocol ## name ## GuardianDERIVE_STATIC_STORAGE(name) protocol ## name ## StructProtocolClassSetSuperclassPoly(class,super) (((ProtocolClass)(class))->superclass) = (ProtocolClass)(super)$DEFINE_CLASS(className,var) static Bool DERIVE_GUARDIAN(className) = FALSE; static DERIVE_STRUCT(className) DERIVE_STATIC_STORAGE(className); static void DERIVE_ENSURE_INTERNAL(className)(className); extern className DERIVE_ENSURE(className)(void); className DERIVE_ENSURE(className)(void) { if (DERIVE_GUARDIAN(className) == FALSE) { LockClaimGlobalRecursive(); if (DERIVE_GUARDIAN(className) == FALSE) { DERIVE_ENSURE_INTERNAL(className) (&DERIVE_STATIC_STORAGE(className)); DERIVE_GUARDIAN(className) = TRUE; } LockReleaseGlobalRecursive(); } return &DERIVE_STATIC_STORAGE(className); } extern className DERIVE_ENSURE_OLD(className)(void); className DERIVE_ENSURE_OLD(className)(void) { return DERIVE_ENSURE(className)(); } static void DERIVE_ENSURE_INTERNAL(className) (className var)AINHERIT_CLASS(this,parentName) BEGIN parentName DERIVE_LOCAL(parentName) = DERIVE_ENSURE(parentName)(); *this = *(DERIVE_LOCAL(parentName)); ProtocolClassSetSuperclassPoly(this, DERIVE_LOCAL(parentName)); ENDODEFINE_ALIAS_CLASS(className,typeName,var) typedef typeName className; typedef DERIVE_STRUCT(typeName) DERIVE_STRUCT(className); DEFINE_CLASS(className, var)VProtocolClassSig ((Sig)0x519B60C7)WProtocolInstSig ((Sig)0x519B6014)ProtocolClassSuperclassPoly(class) (((ProtocolClass)(class))->superclass)ClassOfPoly(inst) ((ProtocolInst)(inst)->class)IsSubclassPoly(sub,super) ProtocolIsSubclass((ProtocolClass)(sub), (ProtocolClass)(super))SUPERCLASS(className) ProtocolClassSuperclassPoly(DERIVE_ENSURE(className)())chain_h GenDescSig ((Sig)0x5199E4DE)+PoolGenSig ((Sig)0x519B009E);ChainSig ((Sig)0x519C8A14)XPoolGenNr(gen) ((gen)->nr)/PoolClassSig ((Sig)0x519C7A55)]PoolSig ((Sig)0x519B0019)}MFSSig ((Sig)0x5193F599)MVSig ((Sig)0x5193B999)ReservoirSig ((Sig)0x5196e599)MessageClassSig ((Sig)0x519359c1)MessageSig ((Sig)0x5193e559)SegClassSig ((Sig)0x5195E9C7)SegSig ((Sig)0x5195E999)GCSegSig ((Sig)0x5199C5E9)SegPrefSig ((Sig)0x5195E9B6)BufferClassSig ((Sig)0x519B0FC7)BufferSig ((Sig)0x519B0FFE)SegBufSig ((Sig)0x51959B0F)FormatSig ((Sig)0x519F63A2)ScanStateSig ((Sig)0x5195CA45)TraceSig ((Sig)0x51924ACE)ChunkCacheEntrySig ((Sig)0x519C80CE)ArenaClassSig ((Sig)0x519A6C1A)GlobalsSig ((Sig)0x519970BA)ArenaSig ((Sig)0x519A6E4A)%BoolCheck(b) ((unsigned)(b) <= 1)(FUNCHECK(f) (FunCheck((Fun)f))4WordIsAligned(w,a) (((w) & ((a) - 1)) == 0)7WordAlignUp(w,a) (((w) + (a) - 1) & ~((Word)(a) - 1));WordRoundUp(w,r) (((w)+(r)-1) - ((w)+(r)-1)%(r))>WordAlignDown(w,a) ((w) & ~((Word)(a) - 1))@size_tAlignUp(s,a) ((size_t)WordAlignUp((Word)(s), a))BPointerAdd(p,s) ((void *)((char *)(p) + (s)))CPointerSub(p,s) ((void *)((char *)(p) - (s)))EPointerOffset(base,limit) ((size_t)((char *)(limit) - (char *)(base)))HPointerAlignUp(p,s) ((void *)WordAlignUp((Word)(p), (Align)(s)))KAddrAdd(p,s) ((Addr)PointerAdd((void *)(p), s))LAddrSub(p,s) ((Addr)PointerSub((void *)(p), s))NAddrOffset(b,l) ((Size)(PointerOffset((void *)(b), (void *)(l))))RAddrAlignDown(p,a) ((Addr)WordAlignDown((Word)(p), a))TAlignWord(s) ((Word)(s))VAddrIsAligned(p,a) WordIsAligned((Word)(p), a)WAddrAlignUp(p,a) ((Addr)WordAlignUp((Word)(p), a))YSizeIsAligned(s,a) WordIsAligned((Word)(s), a)ZSizeAlignUp(s,a) ((Size)WordAlignUp((Word)(s), a))[SizeAlignDown(s,a) ((Size)WordAlignDown((Word)(s), a))]SizeRoundUp(s,r) ((Size)WordRoundUp((Word)(s), (Size)(r)))_IndexIsAligned(s,a) WordIsAligned((Word)(s), a)`IndexAlignUp(s,a) ((Index)WordAlignUp((Word)(s), a))aIndexAlignDown(s,a) ((Index)WordAlignDown((Word)(s), a))cAlignIsAligned(a1,a2) WordIsAligned((Word)(a1), a2)iAddrSet(target,value,size) mps_lib_memset(target, (int)(value), size)mAddrCopy(target,source,size) mps_lib_memcpy(target, source, size)qAddrComp(a,b,size) mps_lib_memcmp(a, b, size)wADDR_PTR(type,addr) ((type *)(addr))PoolArena(pool) ((pool)->arena)PoolAlignment(pool) ((pool)->alignment)PoolSegRing(pool) (&(pool)->segRing)PoolFix(pool,ss,seg,refIO) ((*(pool)->fix)(pool, ss, seg, refIO))ClassOfPool(pool) ((pool)->class)SuperclassOfPool(pool) ((PoolClass)ProtocolClassSuperclassPoly((pool)->class))DEFINE_POOL_CLASS(className,var) DEFINE_ALIAS_CLASS(className, PoolClass, var)POOL_SUPERCLASS(className) ((PoolClass)SUPERCLASS(className))TraceSetSingle(trace) BS_SINGLE(TraceSet, (trace)->ti)TraceSetIsSingle(ts) BS_IS_SINGLE(ts)TraceSetIsMember(ts,trace) BS_IS_MEMBER(ts, (trace)->ti)TraceSetAdd(ts,trace) BS_ADD(TraceSet, ts, (trace)->ti)TraceSetDel(ts,trace) BS_DEL(TraceSet, ts, (trace)->ti)TraceSetUnion(ts1,ts2) BS_UNION(ts1, ts2)TraceSetInter(ts1,ts2) BS_INTER(ts1, ts2)TraceSetDiff(ts1,ts2) BS_DIFF(ts1, ts2)TraceSetSuper(ts1,ts2) BS_SUPER(ts1, ts2)TraceSetSub(ts1,ts2) BS_SUB(ts1, ts2)TraceSetComp(ts) BS_COMP(ts)TRACE_SET_ITER(ti,trace,ts,arena) for(ti = 0, trace = ArenaTrace(arena, ti); ti < TraceLIMIT; ++ti, trace = ArenaTrace(arena, ti)) BEGIN if (TraceSetIsMember(ts, trace)) {TRACE_SET_ITER_END(ti,trace,ts,arena) } ENDTRACE_SCAN_BEGIN(ss) BEGIN Shift SCANzoneShift = (ss)->zoneShift; ZoneSet SCANwhite = (ss)->white; RefSet SCANsummary = (ss)->unfixedSummary; Word SCANt; {TRACE_FIX1(ss,ref) (SCANt = (Word)1 << ((Word)(ref) >> SCANzoneShift & (MPS_WORD_WIDTH-1)), SCANsummary |= SCANt, SCANwhite & SCANt)TRACE_FIX2(ss,refIO) ((*(ss)->fix)(ss, refIO))TRACE_FIX(ss,refIO) (TRACE_FIX1(ss, *(refIO)) ? TRACE_FIX2(ss, refIO) : ResOK)TRACE_SCAN_END(ss) } (ss)->unfixedSummary = SCANsummary; ENDDEFINE_ARENA_CLASS(className,var) DEFINE_ALIAS_CLASS(className, ArenaClass, var)ARENA_SUPERCLASS(className) ((ArenaClass)SUPERCLASS(className))ArenaGlobals(arena) (&(arena)->globals)GlobalsArena(glob) PARENT(ArenaStruct, globals, glob)ArenaRootRing(arena) (&(arena)->rootRing)ArenaTraceRing(arena) (&(arena)->traceRing)ArenaThreadRing(arena) (&(arena)->threadRing)ArenaEpoch(arena) ((arena)->epoch)ArenaTrace(arena,ti) (&(arena)->trace[ti])ArenaZoneShift(arena) ((arena)->zoneShift)ArenaAlign(arena) ((arena)->alignment)ArenaGreyRing(arena,rank) (&(arena)->greyRing[rank])ArenaReservoir(arena) (&(arena)->reservoirStruct)DEFINE_SEG_CLASS(className,var) DEFINE_ALIAS_CLASS(className, SegClass, var)SEG_SUPERCLASS(className) ((SegClass)SUPERCLASS(className))ClassOfSeg(seg) ((seg)->class)SegBase(seg) (TractBase((seg)->firstTract))SegLimit(seg) ((seg)->limit)SegPool(seg) (TractPool((seg)->firstTract))SegRankSet(seg) ((RankSet)(seg)->rankSet)SegPM(seg) ((AccessSet)(seg)->pm)SegSM(seg) ((AccessSet)(seg)->sm)SegDepth(seg) ((unsigned)(seg)->depth)SegGrey(seg) ((TraceSet)(seg)->grey)SegWhite(seg) ((TraceSet)(seg)->white)SegNailed(seg) ((TraceSet)(seg)->nailed)SegOfPoolRing(node) (RING_ELT(Seg, poolRing, (node)))SegOfGreyRing(node) (&(RING_ELT(GCSeg, greyRing, (node)) ->segStruct))SegSummary(seg) (((GCSeg)(seg))->summary)SegSetPM(seg,mode) ((void)((seg)->pm = (mode)))SegSetSM(seg,mode) ((void)((seg)->sm = (mode)))SegSetDepth(seg,d) ((void)((seg)->depth = (d)))SegSetNailed(seg,ts) ((void)((seg)->nailed = (ts)))BUFFER_RESERVE(pReturn,buffer,size,withReservoirPermit) (AddrAdd(BufferAlloc(buffer), size) > BufferAlloc(buffer) && AddrAdd(BufferAlloc(buffer), size) <= BufferAP(buffer)->limit ? (*(pReturn) = BufferAlloc(buffer), BufferAP(buffer)->alloc = AddrAdd(BufferAlloc(buffer), size), ResOK) : BufferFill(pReturn, buffer, size, withReservoirPermit))BUFFER_COMMIT(buffer,p,size) (BufferAP(buffer)->init = BufferAlloc(buffer), BufferAP(buffer)->limit != 0 || BufferTrip(buffer, p, size))BufferAP(buffer) (&(buffer)->apStruct)BufferOfAP(ap) PARENT(BufferStruct, apStruct, ap)BufferArena(buffer) ((buffer)->arena)BufferPool(buffer) ((buffer)->pool)BufferBase(buffer) ((buffer)->base)BufferGetInit(buffer) (BufferAP(buffer)->init)BufferAlloc(buffer) (BufferAP(buffer)->alloc)BufferLimit(buffer) ((buffer)->poolLimit)DEFINE_BUFFER_CLASS(className,var) DEFINE_ALIAS_CLASS(className, BufferClass, var)BUFFER_SUPERCLASS(className) ((BufferClass)SUPERCLASS(className))RankSetIsMember(rs,r) BS_IS_MEMBER((rs), (r))RankSetSingle(r) BS_SINGLE(RankSet, (r))RankSetIsSingle(r) BS_IS_SINGLE(r)RankSetUnion(rs1,rs2) BS_UNION((rs1), (rs2))RankSetDel(rs,r) BS_DEL(RankSet, (rs), (r))AddrZone(arena,addr) (((Word)(addr) >> (arena)->zoneShift) & (MPS_WORD_WIDTH - 1))RefSetUnion(rs1,rs2) BS_UNION((rs1), (rs2))RefSetInter(rs1,rs2) BS_INTER((rs1), (rs2))RefSetDiff(rs1,rs2) BS_DIFF((rs1), (rs2))RefSetAdd(arena,rs,addr) BS_ADD(RefSet, rs, AddrZone(arena, addr))RefSetIsMember(arena,rs,addr) BS_IS_MEMBER(rs, AddrZone(arena, addr))RefSetSuper(rs1,rs2) BS_SUPER((rs1), (rs2))RefSetSub(rs1,rs2) BS_SUB((rs1), (rs2))ZoneSetUnion(zs1,zs2) BS_UNION(zs1, zs2)ZoneSetInter(zs1,zs2) BS_INTER(zs1, zs2)ZoneSetDiff(zs1,zs2) BS_DIFF(zs1, zs2)ZoneSetAdd(arena,zs,addr) BS_ADD(ZoneSet, zs, AddrZone(arena, addr))ZoneSetIsMember(arena,zs,addr) BS_IS_MEMBER(zs, AddrZone(arena, addr))ZoneSetSub(zs1,zs2) BS_SUB(zs1, zs2)ZoneSetSuper(zs1,zs2) BS_SUPER(zs1, zs2)ZoneSetComp(zs) BS_COMP(zs)STATISTIC(gather) BEGIN (gather); ENDSTATISTIC_STAT(gather) BEGIN gather; ENDSTATISTIC_WRITE(format,arg) (format), (arg), mpsio_h   mps_h &_LIMITS_H_ +_POSIX_ARG_MAX 4096,_POSIX_CHILD_MAX 25-_POSIX_LINK_MAX 8._POSIX_MAX_CANON 255/_POSIX_MAX_INPUT 2550_POSIX_NAME_MAX 141_POSIX_NGROUPS_MAX 82_POSIX_OPEN_MAX 203_POSIX_PATH_MAX 2564_POSIX_PIPE_BUF 5125_POSIX_SSIZE_MAX 327676_POSIX_STREAM_MAX 87_POSIX_TZNAME_MAX 69BC_BASE_MAX 99:BC_DIM_MAX 2048;BC_SCALE_MAX 99EXPR_NEST_MAX 32?LINE_MAX 2048@RE_DUP_MAX 255B_POSIX2_BC_BASE_MAX 99C_POSIX2_BC_DIM_MAX 2048D_POSIX2_BC_SCALE_MAX 99E_POSIX2_BC_STRING_MAX 1000F_POSIX2_EQUIV_CLASS_MAX 2G_POSIX2_EXPR_NEST_MAX 32H_POSIX2_LINE_MAX 2048I_POSIX2_RE_DUP_MAX 255M_POSIX_AIO_LISTIO_MAX 16N_POSIX_AIO_MAX 1O_POSIX_DELAYTIMER_MAX 32P_POSIX_MQ_OPEN_MAX 8Q_POSIX_MQ_PRIO_MAX 32R_POSIX_RTSIG_MAX 8S_POSIX_SEM_NSEMS_MAX 256T_POSIX_SEM_VALUE_MAX 32767U_POSIX_SIGQUEUE_MAX 32V_POSIX_TIMER_MAX 32Z_POSIX_THREAD_DESTRUCTOR_ITERATIONS 4[_POSIX_THREAD_KEYS_MAX 128\_POSIX_THREAD_THREADS_MAX 64`_POSIX_HOST_NAME_MAX 255a_POSIX_LOGIN_NAME_MAX 9b_POSIX_SS_REPL_MAX 4c_POSIX_SYMLINK_MAX 255d_POSIX_SYMLOOP_MAX 8e_POSIX_TRACE_EVENT_NAME_MAX 30f_POSIX_TRACE_NAME_MAX 8g_POSIX_TRACE_SYS_MAX 8h_POSIX_TRACE_USER_EVENT_MAX 32i_POSIX_TTY_NAME_MAX 9j_POSIX2_CHARCLASS_NAME_MAX 14k_POSIX2_COLL_WEIGHTS_MAX 2m_POSIX_RE_DUP_MAX _POSIX2_RE_DUP_MAXq_XOPEN_IOV_MAX 16r_XOPEN_NAME_MAX 255s_XOPEN_PATH_MAX 1024tPASS_MAX 128vNL_ARGMAX 99wNL_LANGMAX 31xNL_MSGMAX 32767yNL_NMAX 1zNL_SETMAX 255{NL_TEXTMAX 2048~MB_LEN_MAX 6!_SYS_LIMITS_H_ $"_MACHINE__LIMITS_H_ /__CHAR_BIT 81__SCHAR_MAX 0x7f2__SCHAR_MIN (-0x7f - 1)4__UCHAR_MAX 0xff6__USHRT_MAX 0xffff7__SHRT_MAX 0x7fff8__SHRT_MIN (-0x7fff - 1):__UINT_MAX 0xffffffffU;__INT_MAX 0x7fffffff<__INT_MIN (-0x7fffffff - 1)D__ULONG_MAX 0xffffffffULE__LONG_MAX 0x7fffffffLF__LONG_MIN (-0x7fffffffL - 1)J__ULLONG_MAX 0xffffffffffffffffULLK__LLONG_MAX 0x7fffffffffffffffLLL__LLONG_MIN (-0x7fffffffffffffffLL - 1)N__SSIZE_MAX __INT_MAXP__SIZE_T_MAX __UINT_MAXR__OFF_MAX __LLONG_MAXS__OFF_MIN __LLONG_MINV__UQUAD_MAX __ULLONG_MAXW__QUAD_MAX __LLONG_MAXX__QUAD_MIN __LLONG_MIN]__LONG_BIT 32___WORD_BIT 32&CHAR_BIT __CHAR_BIT(SCHAR_MAX __SCHAR_MAX)SCHAR_MIN __SCHAR_MIN+UCHAR_MAX __UCHAR_MAX1CHAR_MAX SCHAR_MAX2CHAR_MIN SCHAR_MIN5USHRT_MAX __USHRT_MAX6SHRT_MAX __SHRT_MAX7SHRT_MIN __SHRT_MIN9UINT_MAX __UINT_MAX:INT_MAX __INT_MAX;INT_MIN __INT_MIN=ULONG_MAX __ULONG_MAX>LONG_MAX __LONG_MAX?LONG_MIN __LONG_MINHSSIZE_MAX __SSIZE_MAXLSIZE_T_MAX __SIZE_T_MAXNOFF_MAX __OFF_MAXOOFF_MIN __OFF_MINSGID_MAX UINT_MAXTUID_MAX UINT_MAXVUQUAD_MAX (__UQUAD_MAX)WQUAD_MAX (__QUAD_MAX)XQUAD_MIN (__QUAD_MIN)\LONG_BIT __LONG_BIT]WORD_BIT __WORD_BIT"_SYS_SYSLIMITS_H_ 4ARG_MAX 2621447CHILD_MAX 409LINK_MAX 32767:MAX_CANON 255;MAX_INPUT 255 (sac)->mps_middle) { _mps_i = 0; while (_mps_s > (sac)->mps_freelists[_mps_i].mps_size) _mps_i += 2; } else { _mps_i = 1; while (_mps_s <= (sac)->mps_freelists[_mps_i].mps_size) _mps_i += 2; } if ((sac)->mps_freelists[_mps_i].mps_count != 0) { (p_o) = (sac)->mps_freelists[_mps_i].mps_blocks; (sac)->mps_freelists[_mps_i].mps_blocks = *(mps_addr_t *)(p_o); --(sac)->mps_freelists[_mps_i].mps_count; (res_o) = MPS_RES_OK; } else (res_o) = mps_sac_fill(&(p_o), sac, _mps_s, has_reservoir_permit); MPS_ENDMPS_SAC_FREE_FAST(sac,p,size) MPS_BEGIN size_t _mps_i, _mps_s; _mps_s = (size); if (_mps_s > (sac)->mps_middle) { _mps_i = 0; while (_mps_s > (sac)->mps_freelists[_mps_i].mps_size) _mps_i += 2; } else { _mps_i = 1; while (_mps_s <= (sac)->mps_freelists[_mps_i].mps_size) _mps_i += 2; } if ((sac)->mps_freelists[_mps_i].mps_count < (sac)->mps_freelists[_mps_i].mps_count_max) { *(mps_addr_t *)(p) = (sac)->mps_freelists[_mps_i].mps_blocks; (sac)->mps_freelists[_mps_i].mps_blocks = (p); ++(sac)->mps_freelists[_mps_i].mps_count; } else mps_sac_empty(sac, p, _mps_s); MPS_ENDMPS_SAC_ALLOC(res_o,p_o,sac,size,has_reservoir_permit) MPS_SAC_ALLOC_FAST(res_o, p_o, sac, size, has_reservoir_permit)MPS_SAC_FREE(sac,p,size) MPS_SAC_FREE_FAST(sac, p, size)mps_reserve(_p_o,_mps_ap,_size) ((char *)(_mps_ap)->alloc + (_size) > (char *)(_mps_ap)->alloc && (char *)(_mps_ap)->alloc + (_size) <= (char *)(_mps_ap)->limit ? ((_mps_ap)->alloc = (mps_addr_t)((char *)(_mps_ap)->alloc + (_size)), *(_p_o) = (_mps_ap)->init, MPS_RES_OK) : mps_ap_fill(_p_o, _mps_ap, _size))MPS_RESERVE_BLOCK(_res_v,_p_v,_mps_ap,_size) MPS_BEGIN char *_alloc = (char *)(_mps_ap)->alloc; char *_next = _alloc + (_size); if(_next > _alloc && _next <= (char *)(_mps_ap)->limit) { (_mps_ap)->alloc = (mps_addr_t)_next; (_p_v) = (_mps_ap)->init; (_res_v) = MPS_RES_OK; } else (_res_v) = mps_ap_fill(&(_p_v), _mps_ap, _size); MPS_ENDMPS_RESERVE_WITH_RESERVOIR_PERMIT_BLOCK(_res_v,_p_v,_mps_ap,_size) MPS_BEGIN char *_alloc = (char *)(_mps_ap)->alloc; char *_next = _alloc + (_size); if(_next > _alloc && _next <= (char *)(_mps_ap)->limit) { (_mps_ap)->alloc = (mps_addr_t)_next; (_p_v) = (_mps_ap)->init; (_res_v) = MPS_RES_OK; } else (_res_v) = mps_ap_fill_with_reservoir_permit(&(_p_v), _mps_ap, _size); MPS_ENDmps_commit(_mps_ap,_p,_size) ((_mps_ap)->init = (_mps_ap)->alloc, (_mps_ap)->limit != 0 || mps_ap_trip(_mps_ap, _p, _size))MPS_SCAN_BEGIN(ss) MPS_BEGIN mps_ss_t _ss = (ss); mps_word_t _mps_w0 = (_ss)->w0; mps_word_t _mps_w1 = (_ss)->w1; mps_word_t _mps_w2 = (_ss)->w2; mps_word_t _mps_wt; {MPS_FIX1(ss,ref) (_mps_wt = 1uL << ((mps_word_t)(ref) >> _mps_w0 & (sizeof(mps_word_t) * CHAR_BIT - 1)), _mps_w2 |= _mps_wt, _mps_w1 & _mps_wt)MPS_FIX2(ss,ref_io) ((*(ss)->fix)(ss, ref_io))MPS_FIX12(ss,ref_io) (MPS_FIX1(ss, *(ref_io)) ? MPS_FIX2(ss, ref_io) : MPS_RES_OK)MPS_FIX(ss,ref_io) MPS_FIX12(ss, ref_io)MPS_FIX_CALL(ss,call) MPS_BEGIN (call); _mps_w2 |= (ss)->w2; MPS_ENDMPS_SCAN_END(ss) } (ss)->w2 = _mps_w2; MPS_ENDevent.cJan 17 200703:39:25$Id: //info.ravenbrook.com/project/mps/master/code/event.c#9 $|  AB  AB AB  AB , AB 8 AB DAB j8EventSyncOEventInitfEventFinishyEventControlEventInternStringEventInternGenStringEventLabelAddrWeventSrcIdIeventSrcIdunsigned intGNU C 3.4.6 [FreeBSD] 20060305scmidEventInternGenStringshort intFileSrcIdStructlong long unsigned intfileevent.csize_tWordAddrcharlong long intEventInternStringAddrStructEventLabelAddrSrcIdlabelEventInitlong intbuild_time__size_tlong unsigned intSrcIdStructunsigned charflipMask__uint32_taddrbuild_dateresetMasksigned charshort unsigned intEventSyncEventControldouble/home/hannes/dylan/mps/codeEventFinishGCC: (GNU) 3.4.6 [FreeBSD] 20060305.symtab.strtab.shstrtab.text.rel.data.bss.debug_abbrev.rel.debug_info.rel.debug_line.debug_macinfo.rodata.str1.1.rodata.str1.4.rel.rodata.rel.debug_frame.rel.debug_pubnames.rel.debug_aranges.debug_str.comment4I%! p+0Bj> xRN h^m2q|2?Е p   p <  0\.%SH      $ . 8D Q, c8 xDevent.cFileSrcIdStructeventSrcIdEventSyncEventInitEventFinishEventControlEventInternStringEventInternGenStringEventLabelAddr  !%*18?MX_fmt{"3:EIQ\`hos $+GS Xe     0 4H L` dx |  sac.o/ 1169001565 1001 1001 100644 56620 ` ELF 4(UUzvR@9wUWVS}_ C9_r D8PtAC9_s_ tD8PtKuD8Pqe[^_ÐUS$]SE )؍L9rL($[ÉUWVS;us F;ur;usvMTF;ur;usvM9Tw +TF;urvMDu9sFujuuH PE p EP… }]C;]s:v[UQAUDA A$C;]rɉ@@@ @$]t7[UTQAUDA A$Kuˉ@@[MTP @$GURGM OEGW QE8Ѝe[^_ÉUS]S[Qss PSCp ]ÍvUWVS} M]9Ys(9Ys9\rD*q9Y(rvt9\s7E[^_ÐUWVS} ]SWEPEPrED9 E؉UU}uG@,T!‰UE\8$uuwURƒuE]F;uv׉Ѕt#EVT8EET8$e[^_ÉUWVS }E U\$9s ؋uPEpF9rE E)xX$e[^_ÍvUWVS ]} uVSEPEPO}uC@,T!‰UE؃x tFH)uPuuS4EDE؋P$x$uWse[^_UWVS Ep F9pv(EppWuFM9qwڋEPp t!]sRWuSNu߉MtRWQoe[^_C% $ > $ > : ; I I&I : ;  : ; I8 < : ; I  : ;I8 : ;I8  : ; I8  : ; I 8  : ;I 8  : ;I 8  : ; ' II' ' I : ;  : ;  : ; I: ;II!I/ .: ; ' I@ : ; I 4: ; I 4: ; I!4: ; I": ; I #4: ; I $.? : ; ' I@ % : ; & '.? : ; ' @ (.: ; ' @ ).: ;' @ *: ;I +: ;I ,4: ;I -.? : ;' @ .4: ;I /4: ; I?  i)) I#int_ 8Wy  _L |' yd7zEE "!"%$#>%#M&#R'# " 2  . Sigl ResE l"ou o f#Y$Y%Y&Y'W(W Ref)d ,Y -Y .Wk/W_1{T 2W3W4W5W6W7W BT:MY;^d -nY @> DM!# VE# F# G)# HT# 8Iq#  J#$ K3#( segL#, M#0 nN#4 O#8 sigPC#< AWpC ad# bd# cd# dd# e# f# D0<D sigC# P# 8# # # # 3 # 0# kQ#$ s#( ~#, pad#0 #4 {#8F  G XGsig`C#Pa#b#c#  d#R e#f# g#$h#,i#0fixj=#4 ks#8xls#@ms#H ns#PpHH2M!#V3# 4#*5#W6-#7Y# 8#$ 9#(:#,;#0<<-#4a =Y#87 >#<U ?#@@#D3 A#HfixB=#LB Cm#P Dx#Tz E#XF#\\G#`tH#d# I(#hJO#lSK#pL#tM#xN#|O#sigPC#O O .O sigC# ti# # # # "# # * # H {# {#$ {#( ~{#, #0 ?#4 w #8 #< \{#@ #D #H {#L #P _#T 8 {#X D#\ #` D#d ?#h )#l u#p  #t c #x U {#| = # ( {# # #> P  * :TP fix# z Y# # \# sigC# #  # t# F# #$ D#( #, D#0 ?#4 )#8 c#< U{#@ =#D ({#H {#L ,{#P Q5 ;  Qsig>C#?#r @#A #\B#C!# R   yR\ #p#d# # *W# S   ] 8SsigC#P### [{# #d# d# #$ #(C#,U #0#4? T sigC#  # d# d# k?# 0?#UJPkUtheh+ # SegVv|P V sigC# P#  #  #  d#  W#pm "#sm "#U  # #  ##X[aNeLXM!#V# ### T#  v#$e#(#,#0n #4-#8#<#@#DsigC#HZY_Z sig0C# R1# 62# (3# 4# gen5#\ H\ &M!# V'E## (# *)# *# +# b,#$ -#( .#, /'#0 0h#4 1#8 J2#< 3#@ sig4C#D^(^ oK## Pp#t r#x 4t#| u ## w##  y{# Pz{# j|{# }{# z # #  # d#  # # f# 9##  !# E# # X# +C# s# # # # y# W## |{# {# 7{# #  # i  # 1g## s# s# Z Y# w## =# r # # J# ## sigC#}t_ sigBC# :E# @ F# Is# J# K# Ls# xMs#( Ns#0 Os#8 Ps#@ US#H V#L Y#P :Z#X ]#\ y^#d )a#h d#p d Re  g#) =hh!#8 #X{#\{#`sigC#d0 nN8 olp{rq(r 'Nd{t28\N\bN{d Uusyd{vN Sw xN' $N $f5;[dlflddNkd{8rkkk J-k8>Tk_evkBjkI kjNkNkkddd8 4:TNj8_eqj|jddd{ _ kjj j"3jk >DYNjE djN8N\{d{-N\\j{8>YjdddjNkd"% șNk| k k 7N7 kHNmN k$X H Ҏj& ӵjNj(Nj39OjZ`k*l ݋[޲x Nk U0N dd;AQdd\bsdd; \dd{;=#?#y + g\ e#3fE#J hcg iPJ \f l  \sig}C#~[ # #1!#  a   \ asigC#[ #zm  !! [  Hx'!-!G!G![ [ [ l ! $sigC#6#.  {#!s# P"s#8 ## $X!! oR"& t!#{#X{#\e{#` Y#dkX"#h  #lsigC#p R"& ! # `!#^"#X6 ^"#{# {#{#{#) {##sigC# i"=/pgd.  }eg#kw#-#### #?!##0$#$/ {###Xd# /# *$$@$$$# SAC+V$\$$t+sig.C#\ /#0#1# G2@$#t3\$ ?$$% ?B{#C#h DW#?%? Ufb$RjP cbd%! Usac K$Wi"Vj"Sb#P!${%L{U"KS"KP# MQ# N$}$&0\NU"Z&P"\ Z "Z"&[$p]psac^K$Wres_NPi`Vj`S#al!b{#ycWR%|&!WxWK$'&o UsacK$S(Z'3U"@Z'P"`'WsacK$Q" {SȋR j̑&)#{V{$(WN4Up_o\PsacK$W" {S"]ih#`jV#{lpddfldSresNR)(QU*sacK$*i +{+W,cbdP,fldS,jV-(O .TU*sac-K$S*p-dW+ -{V,i/l.0{p&.AQ-I)WU*sacVK$,iXW,jXV.Y{R# / <l /usr/include/usr/include/sys/usr/include/machinempm.hconfig.hmpstd.hmisc.hstddef.hcdefs.h_null.h_types.h_types.hcheck.hmpslib.hevent.heventcom.hmpmtypes.hstdarg.heventgen.hlock.hth.hring.hss.htract.hbt.hmpmst.hprotocol.hchain.hsac.hsac.cj2t mnkɀFJH U k,Eg8JJ#'9Y+=Vrmrrrdrmirtrdd:eVYdd VYI;Y~-Vi <e,:tz c)MWV tH: =e:sƐ;-e5dH:6i::__STDC_HOSTED__ 1__GNUC__ 3__GNUC_MINOR__ 4__GNUC_PATCHLEVEL__ 6__SIZE_TYPE__ unsigned int__PTRDIFF_TYPE__ int__WCHAR_TYPE__ int__WINT_TYPE__ unsigned int __GXX_ABI_VERSION 1002 __SCHAR_MAX__ 127 __SHRT_MAX__ 32767 __INT_MAX__ 2147483647 __LONG_MAX__ 2147483647L__LONG_LONG_MAX__ 9223372036854775807LL__WCHAR_MAX__ 2147483647__CHAR_BIT__ 8__FLT_EVAL_METHOD__ 2__FLT_RADIX__ 2__FLT_MANT_DIG__ 24__FLT_DIG__ 6__FLT_MIN_EXP__ (-125)__FLT_MIN_10_EXP__ (-37)__FLT_MAX_EXP__ 128__FLT_MAX_10_EXP__ 38__FLT_MAX__ 3.40282347e+38F__FLT_MIN__ 1.17549435e-38F__FLT_EPSILON__ 1.19209290e-7F__FLT_DENORM_MIN__ 1.40129846e-45F__FLT_HAS_INFINITY__ 1__FLT_HAS_QUIET_NAN__ 1__DBL_MANT_DIG__ 53 __DBL_DIG__ 15!__DBL_MIN_EXP__ (-1021)"__DBL_MIN_10_EXP__ (-307)#__DBL_MAX_EXP__ 1024$__DBL_MAX_10_EXP__ 308%__DBL_MAX__ 1.7976931348623157e+308&__DBL_MIN__ 2.2250738585072014e-308'__DBL_EPSILON__ 2.2204460492503131e-16(__DBL_DENORM_MIN__ 4.9406564584124654e-324)__DBL_HAS_INFINITY__ 1*__DBL_HAS_QUIET_NAN__ 1+__LDBL_MANT_DIG__ 53,__LDBL_DIG__ 15-__LDBL_MIN_EXP__ (-16381).__LDBL_MIN_10_EXP__ (-4931)/__LDBL_MAX_EXP__ 163840__LDBL_MAX_10_EXP__ 49321__DECIMAL_DIG__ 172__LDBL_MAX__ 1.1897314953572316e+4932L3__LDBL_MIN__ 3.3621031431120935e-4932L4__LDBL_EPSILON__ 2.2204460492503131e-16L5__LDBL_DENORM_MIN__ 7.4653686412953080e-4948L6__LDBL_HAS_INFINITY__ 17__LDBL_HAS_QUIET_NAN__ 18__REGISTER_PREFIX__ 9__USER_LABEL_PREFIX__ :__VERSION__ "3.4.6 [FreeBSD] 20060305";__OPTIMIZE__ 1<__FINITE_MATH_ONLY__ 0=__STRICT_ANSI__ 1@__i386 1A__i386__ 1B__tune_i386__ 1C__FreeBSD__ 6D__unix 1E__unix__ 1F__KPRINTF_ATTRIBUTE__ 1J__FreeBSD_cc_version 602001K__ELF__ 1_REENTRANT 1CONFIG_PROD_DYLAN 1CONFIG_VAR_HI 1NDEBUG 1 mpm_h config_h !CONFIG_DEBUG "CHECK_DEFAULT CheckNONE6CHECK_NONE 7MPS_ASSERT_STRING "nonasserted"?EVENT_NONE @MPS_LOG_STRING "nonlogging"EDIAGNOSTICS FMPS_DEBUG_STRING "debug"LMPS_VARIETY_STRING MPS_ASSERT_STRING "." MPS_LOG_STRING "." MPS_DEBUG_STRINGRmpstd_h MPS_PF_FRI4GC MPS_PF_STRING "fri4gc"MPS_OS_FR MPS_ARCH_I4 MPS_BUILD_GC MPS_T_WORD unsigned longMPS_WORD_WIDTH 32MPS_WORD_SHIFT 5MPS_PF_ALIGN 4EPVMDefaultSubsequentSegSIZE (64ul * 1024)ARENA_CONTROL_EXTENDBY ((Size)4096)ARENA_CONTROL_AVGSIZE ((Size)32)ARENA_CONTROL_MAXSIZE ((Size)65536)ArenaPollALLOCTIME (65536.0)ARENA_ZONESHIFT ((Shift)20)ARENA_CLIENT_PAGE_SIZE ((Size)8192)ArenaDefaultZONESET (ZoneSetUNIV << (MPS_WORD_WIDTH / 2))SegPrefDEFAULT { SegPrefSig, TRUE, ArenaDefaultZONESET, FALSE, FALSE, (Serial)0, }LDHistoryLENGTH ((Size)4)StackProbeDEPTH ((Size)0)ShieldCacheSIZE ((size_t)16)ShieldDepthWIDTH (4)VMANPageALIGNMENT ((Align)4096)VMJunkBYTE ((unsigned char)0xA9)TraceLIMIT ((size_t)1)TraceCopyScanRATIO (1.5)RememberedSummaryBLOCK 15EventBufferSIZE ((size_t)4096)EventStringLengthMAX ((size_t)255)ASSERT_BUFFER_SIZE ((Size)512)MPS_PROD_STRING "dylan"MPS_PROD_DYLAN ARENA_INIT_SPARE_COMMIT_LIMIT ((Size)10uL*1024uL*1024uL)THREAD_MULTI PROTECTION DONGLE_NONE PROD_CHECK_DEFAULT CheckSHALLOWARENA_SIZE ((Size)1<<30)misc_h '_STDDEF_H_ )%_SYS_CDEFS_H_ +__BEGIN_DECLS ,__END_DECLS 8__GNUCLIKE_ASM 39__GNUCLIKE_MATH_BUILTIN_CONSTANTS =__GNUCLIKE___TYPEOF 1>__GNUCLIKE___OFFSETOF 1?__GNUCLIKE___SECTION 1A__GNUCLIKE_ATTRIBUTE_MODE_DI 1D__GNUCLIKE_CTOR_SECTION_HANDLING 1G__GNUCLIKE_BUILTIN_CONSTANT_P 1N__GNUCLIKE_BUILTIN_VARARGS 1O__GNUCLIKE_BUILTIN_STDARG 1P__GNUCLIKE_BUILTIN_VAALIST 1T__GNUC_VA_LIST_COMPATIBILITY 1X__GNUCLIKE_BUILTIN_NEXT_ARG 1Y__GNUCLIKE_MATH_BUILTIN_RELOPS \__GNUCLIKE_BUILTIN_MEMCPY 1___CC_SUPPORTS_INLINE 1`__CC_SUPPORTS___INLINE 1a__CC_SUPPORTS___INLINE__ 1c__CC_SUPPORTS___FUNC__ 1d__CC_SUPPORTS_WARNING 1f__CC_SUPPORTS_VARADIC_XXX 1h__CC_SUPPORTS_DYNAMIC_ARRAY_INIT 1k__CC_INT_IS_32BIT 1s__GNUC_PREREQ__(ma,mi) (__GNUC__ > (ma) || __GNUC__ == (ma) && __GNUC_MINOR__ >= (mi))__P(protos) protos__CONCAT1(x,y) x ## y__CONCAT(x,y) __CONCAT1(x,y)__STRING(x) #x__XSTRING(x) __STRING(x)__const const__signed signed__volatile volatile__dead2 __attribute__((__noreturn__))__pure2 __attribute__((__const__))__unused __attribute__((__unused__))__used __attribute__((__used__))__packed __attribute__((__packed__))__aligned(x) __attribute__((__aligned__(x)))__section(x) __attribute__((__section__(x)))__pure __attribute__((__pure__))__always_inline __attribute__((__always_inline__))__nonnull(x) __attribute__((__nonnull__(x)))__restrict __predict_true(exp) __builtin_expect((exp), 1)__predict_false(exp) __builtin_expect((exp), 0)__offsetof(type,field) ((size_t)(&((type *)0)->field))__rangeof(type,start,end) (__offsetof(type, end) - __offsetof(type, start))__printflike(fmtarg,firstvararg) __attribute__((__format__ (__printf__, fmtarg, firstvararg)))__scanflike(fmtarg,firstvararg) __attribute__((__format__ (__scanf__, fmtarg, firstvararg)))__format_arg(fmtarg) __attribute__((__format_arg__ (fmtarg)))__printf0like(fmtarg,firstvararg) __attribute__((__format__ (__printf0__, fmtarg, firstvararg)))__strong_reference(sym,aliassym) extern __typeof (sym) aliassym __attribute__ ((__alias__ (#sym)));__weak_reference(sym,alias) __asm__(".weak " #alias); __asm__(".equ " #alias ", " #sym)__warn_references(sym,msg) __asm__(".section .gnu.warning." #sym); __asm__(".asciz \"" msg "\""); __asm__(".previous")__IDSTRING(name,string) __asm__(".ident\t\"" string "\"")__FBSDID(s) __IDSTRING(__CONCAT(__rcsid_,__LINE__),s)__RCSID(s) __IDSTRING(__CONCAT(__rcsid_,__LINE__),s)__RCSID_SOURCE(s) __IDSTRING(__CONCAT(__rcsid_source_,__LINE__),s)__SCCSID(s) __IDSTRING(__CONCAT(__sccsid_,__LINE__),s)__COPYRIGHT(s) __IDSTRING(__CONCAT(__copyright_,__LINE__),s)__DECONST(type,var) ((type)(uintptr_t)(const void *)(var))__DEVOLATILE(type,var) ((type)(uintptr_t)(volatile void *)(var))__DEQUALIFY(type,var) ((type)(uintptr_t)(const volatile void *)(var))__POSIX_VISIBLE 200112__XSI_VISIBLE 600__BSD_VISIBLE 1__ISO_C_VISIBLE 1999* NULL ((void *)0)+_SYS__TYPES_H_ ! (_MACHINE__TYPES_H_ .__NO_STRICT_ALIGNMENT __GNUC_VA_LIST 2_RUNE_T_DECLARED 8_SIZE_T_DECLARED >_WCHAR_T_DECLARED Boffsetof(type,member) __offsetof(type, member)*SRCID(id,scmid) static SrcIdStruct FileSrcIdStruct = {__FILE__, (scmid), __DATE__, __TIME__}; SrcId id ## SrcId = &FileSrcIdStruct;BEGIN do {> (i)) & 1)BS_UNION(s1,s2) ((s1) | (s2))BS_ADD(ty,s,i) BS_UNION((s), BS_SINGLE(ty, (i)))BS_INTER(s1,s2) ((s1) & (s2))BS_DIFF(s1,s2) BS_INTER((s1), BS_COMP(s2))BS_DEL(ty,s,i) BS_DIFF((s), BS_SINGLE(ty, (i)))BS_SUPER(s1,s2) (BS_INTER((s1), (s2)) == (s2))BS_SUB(s1,s2) BS_SUPER((s2), (s1))BS_IS_SINGLE(s) (((s) & ((s)-1)) == 0)BS_SYM_DIFF(s1,s2) ((s1) ^ (s2)) check_h  mpslib_h mps_lib_EOF (mps_lib_get_EOF())mps_lib_stderr (mps_lib_get_stderr())mps_lib_stdout (mps_lib_get_stdout())0AVER(cond) DISCARD(cond)1AVERT(type,val) DISCARD(type ## Check(val))2AVER_CRITICAL(cond) DISCARD(cond)3AVERT_CRITICAL(type,val) DISCARD(type ## Check(val))MASSERT(cond,condstring) BEGIN if (cond) NOOP; else mps_lib_assert_fail(condstring "\n" __FILE__ "\n" STR(__LINE__)); END_NOTREACHED NOOPjCHECKT(type,val) ((val) != NULL && (val)->sig == type ## Sig)pCHECKS(type,val) DISCARD(CHECKT(type, val))qCHECKL(cond) DISCARD(cond)rCHECKD(type,val) DISCARD(CHECKT(type, val))sCHECKD_NOSIG(type,val) DISCARD((val) != NULL)tCHECKU(type,val) DISCARD(CHECKT(type, val))uCHECKU_NOSIG(type,val) DISCARD((val) != NULL)CHECKLVALUE(lv1,lv2) ((void)sizeof((lv1) = (lv2)), (void)sizeof((lv2) = (lv1)), TRUE)CHECKTYPE(t1,t2) (sizeof(t1) == sizeof(t2) && CHECKLVALUE(*((t1 *)0), *((t2 *)0)))CHECKFIELDAPPROX(s1,f1,s2,f2) (sizeof(((s1 *)0)->f1) == sizeof(((s2 *)0)->f2) && offsetof(s1, f1) == offsetof(s2, f2))CHECKFIELD(s1,f1,s2,f2) (CHECKFIELDAPPROX(s1, f1, s2, f2) && CHECKLVALUE(((s1 *)0)->f1, ((s2 *)0)->f2)) event_h   eventcom_h  mpmtypes_h '_MACHINE_STDARG_H_ -_VA_LIST_DECLARED 3va_start(ap,last) __builtin_stdarg_start((ap), (last))6va_arg(ap,type) __builtin_va_arg((ap), type):va_copy(dest,src) __builtin_va_copy((dest), (src))>va_end(ap) __builtin_va_end(ap)SigInvalid ((Sig)0x51915BAD)SizeMAX ((Size)-1)AccessSetEMPTY ((AccessSet)0)AccessREAD ((AccessSet)(1<<0))AccessWRITE ((AccessSet)(1<<1))AccessSetWIDTH (2)RefSetEMPTY BS_EMPTY(RefSet)RefSetUNIV BS_UNIV(RefSet)ZoneSetEMPTY BS_EMPTY(ZoneSet)ZoneSetUNIV BS_UNIV(ZoneSet)TraceSetEMPTY BS_EMPTY(TraceSet)TraceSetUNIV ((TraceSet)((1u << TraceLIMIT) - 1))RankSetEMPTY BS_EMPTY(RankSet)RankSetUNIV ((RankSet)((1u << RankLIMIT) - 1))AttrFMT ((Attr)(1<<0))AttrSCAN ((Attr)(1<<1))AttrPM_NO_READ ((Attr)(1<<2))AttrPM_NO_WRITE ((Attr)(1<<3))AttrALLOC ((Attr)(1<<4))AttrFREE ((Attr)(1<<5))AttrBUF ((Attr)(1<<6))AttrBUF_RESERVE ((Attr)(1<<7))AttrBUF_ALLOC ((Attr)(1<<8))AttrGC ((Attr)(1<<9))AttrINCR_RB ((Attr)(1<<10))AttrINCR_WB ((Attr)(1<<11))AttrMOVINGGC ((Attr)(1<<12))AttrMASK (AttrFMT | AttrSCAN | AttrPM_NO_READ | AttrPM_NO_WRITE | AttrALLOC | AttrFREE | AttrBUF | AttrBUF_RESERVE | AttrBUF_ALLOC | AttrGC | AttrINCR_RB | AttrINCR_WB | AttrMOVINGGC)BufferModeATTACHED ((BufferMode)(1<<0))BufferModeFLIPPED ((BufferMode)(1<<1))BufferModeLOGGED ((BufferMode)(1<<2))BufferModeTRANSITION ((BufferMode)(1<<3))RootModeCONSTANT ((RootMode)1<<0)RootModePROTECTABLE ((RootMode)1<<1)RootModePROTECTABLE_INNER ((RootMode)1<<2)STATISTIC_DECL(field) field!EventNameMAX ((size_t)19)"EventCodeMAX ((EventCode)0x0069)&EVENT_0(type) NOOPEVENT_A(type,p0) NOOPEVENT_AW(type,p0,p1) NOOPEVENT_P(type,p0) NOOPEVENT_PAA(type,p0,p1,p2) NOOPEVENT_PAW(type,p0,p1,p2) NOOPEVENT_PAWA(type,p0,p1,p2,p3) NOOPEVENT_PDDWWW(type,p0,p1,p2,p3,p4,p5) NOOPEVENT_PP(type,p0,p1) NOOPEVENT_PPAU(type,p0,p1,p2,p3) NOOPEVENT_PPAWP(type,p0,p1,p2,p3,p4) NOOPEVENT_PPP(type,p0,p1,p2) NOOPEVENT_PPPA(type,p0,p1,p2,p3) NOOPEVENT_PPPU(type,p0,p1,p2,p3) NOOPEVENT_PPPUU(type,p0,p1,p2,p3,p4) NOOPEVENT_PPU(type,p0,p1,p2) NOOPEVENT_PPUU(type,p0,p1,p2,p3) NOOPEVENT_PPUWWW(type,p0,p1,p2,p3,p4,p5) NOOPEVENT_PPWW(type,p0,p1,p2,p3) NOOPEVENT_PPWWW(type,p0,p1,p2,p3,p4) NOOPEVENT_PPWWWUUU(type,p0,p1,p2,p3,p4,p5,p6,p7) NOOPEVENT_PU(type,p0,p1) NOOPEVENT_PW(type,p0,p1) NOOPEVENT_PWA(type,p0,p1,p2) NOOPEVENT_PWAW(type,p0,p1,p2,p3) NOOPEVENT_PWP(type,p0,p1,p2) NOOPEVENT_PWU(type,p0,p1,p2) NOOPEVENT_PWW(type,p0,p1,p2) NOOPEVENT_PWWWWDD(type,p0,p1,p2,p3,p4,p5,p6) NOOPEVENT_PWWWWW(type,p0,p1,p2,p3,p4,p5) NOOPEVENT_PWWWWWWWWW(type,p0,p1,p2,p3,p4,p5,p6,p7,p8,p9) NOOPEVENT_PWWWWWWWWWWWW(type,p0,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11,p12) NOOPEVENT_UUPA(type,p0,p1,p2,p3) NOOPEVENT_UUPP(type,p0,p1,p2,p3) NOOPEVENT_UUPPP(type,p0,p1,p2,p3,p4) NOOPEVENT_WS(type,p0,p1,l1) NOOP:EventEventTime ((EventType)0xEF213E99);EventPoolInit ((EventType)0xEFB07141)EventPoolFree ((EventType)0xEFB07F6E)?EventArenaCreateVM ((EventType)0xEFA64CF3)@EventArenaCreateVMNZ ((EventType)0xEFA64CF2)AEventArenaCreateCL ((EventType)0xEFA64CC7)BEventArenaDestroy ((EventType)0xEFA64DE5)CEventArenaAlloc ((EventType)0xEFA64A77)DEventArenaFree ((EventType)0xEFA64F6E)EEventSegAlloc ((EventType)0xEF5E9A77)FEventSegFree ((EventType)0xEF5E9F6E)GEventSegMerge ((EventType)0xEF5E93E6)HEventSegSplit ((EventType)0xEF5E95B7)IEventAMCGenCreate ((EventType)0xEFA3C94C)JEventAMCGenDestroy ((EventType)0xEFA3C94D)KEventAMCInit ((EventType)0xEFA3C141)LEventAMCFinish ((EventType)0xEFA3CF14)MEventAMCTraceBegin ((EventType)0xEFA3C26B)NEventAMCScanBegin ((EventType)0xEFA3C5CB)OEventAMCScanEnd ((EventType)0xEFA3C5CE)PEventAMCFix ((EventType)0xEFA3CF18)QEventAMCFixInPlace ((EventType)0xEFA3CF8A)REventAMCFixForward ((EventType)0xEFA3CF8F)SEventAMCReclaim ((EventType)0xEFA3C6EC)TEventTraceStart ((EventType)0xEF26AC52)UEventTraceCreate ((EventType)0xEF26ACC6)VEventTraceDestroy ((EventType)0xEF26ACDE)WEventSegSetGrey ((EventType)0xEF59596A)XEventTraceFlipBegin ((EventType)0xEF26AF7B)YEventTraceFlipEnd ((EventType)0xEF26AF7E)ZEventTraceReclaim ((EventType)0xEF26A6EC)[EventTraceScanSeg ((EventType)0xEF26A559)\EventTraceScanSingleRef ((EventType)0xEF26A556)^EventTraceAccess ((EventType)0xEF26AACC)_EventTracePoll ((EventType)0xEF26AB01)`EventTraceStep ((EventType)0xEF26A52B)aEventTraceFix ((EventType)0xEF26AF18)bEventTraceFixSeg ((EventType)0xEF26AF85)cEventTraceFixWhite ((EventType)0xEF26AF83)dEventTraceScanArea ((EventType)0xEF26A5CA)eEventTraceScanAreaTagged ((EventType)0xEF26A5C2)fEventVMCreate ((EventType)0xEFF3C6EA)gEventVMDestroy ((EventType)0xEFF3DE52)hEventVMMap ((EventType)0xEFF33AB9)iEventVMUnmap ((EventType)0xEFF3043B)jEventIntern ((EventType)0xEF142E64)kEventArenaExtend ((EventType)0xEFA64E82)lEventArenaRetract ((EventType)0xEFA646E2)mEventRootScan ((EventType)0xEF625CA4)nEventLabel ((EventType)0xEF7ABE79)oEventTraceSegGreyen ((EventType)0xEF26A599)pEventBufferReserve ((EventType)0xEFB0FF6E)qEventBufferCommit ((EventType)0xEFB0FFC0)rEventBufferInit ((EventType)0xEFB0FF14)sEventBufferInitSeg ((EventType)0xEFB0F15E)tEventBufferInitRank ((EventType)0xEFB0F16A)uEventBufferInitEPVM ((EventType)0xEFB0F1EF)vEventBufferFinish ((EventType)0xEFB0FFF1)wEventBufferFill ((EventType)0xEFB0FFF7)xEventBufferEmpty ((EventType)0xEFB0FFE3)yEventArenaAllocFail ((EventType)0xEFA64A7F)zEventSegAllocFail ((EventType)0xEF5E9A7F){EventMeterInit ((EventType)0xEF3E2141)|EventMeterValues ((EventType)0xEF3E2FA7)}EventCBSInit ((EventType)0xEFCB5141)~EventTraceStatCondemn ((EventType)0xEF26A5C0)EventTraceStatScan ((EventType)0xEF26A55C)EventTraceStatFix ((EventType)0xEF26A5F8)EventTraceStatReclaim ((EventType)0xEF26A56E)EventArenaWriteFaults ((EventType)0xEFA6436F)EventPoolInitMV ((EventType)0xEFB0713F)EventPoolInitMVFF ((EventType)0xEFB071FF)EventPoolInitMFS ((EventType)0xEFB07135)EventPoolInitEPVM ((EventType)0xEFB071EF)EventPoolInitEPDL ((EventType)0xEFB071E7)EventPoolInitAMS ((EventType)0xEFB071A5)EventPoolInitAMC ((EventType)0xEFB071AC)EventPoolInitAMCZ ((EventType)0xEFB071A2)EventPoolInitAWL ((EventType)0xEFB071A3)EventPoolInitLO ((EventType)0xEFB07170)EventPoolInitSNC ((EventType)0xEFB07154)EventPoolInitMVT ((EventType)0xEFB07132)EventPoolPush ((EventType)0xEFB07B58)EventPoolPop ((EventType)0xEFB07B0B)EventReservoirLimitSet ((EventType)0xEF6E5713)EventCommitLimitSet ((EventType)0xEFC03713)EventSpareCommitLimitSet ((EventType)0xEF5BC713)hEventInit() NOOPiEventFinish() NOOPjEventControl(r,f) (UNUSED(r), UNUSED(f), (Word)0)kEventInternString(s) (UNUSED(s), (Word)0)lEventInternGenString(l,s) (UNUSED(l), UNUSED(s), (Word)0)mEventLabelAddr(a,i) BEGIN UNUSED(a); UNUSED(i); ENDPlock_h ULockSig ((Sig)0x51970CC9) th_h  ring_h RingNONE ((Ring)0)$RingInit(ring) BEGIN Ring _ring = (ring); AVER(_ring != NULL); _ring->next = _ring; _ring->prev = _ring; AVER(RingCheck(_ring)); END/RingFinish(ring) BEGIN Ring _ring = (ring); AVER(RingCheckSingle(_ring)); _ring->next = RingNONE; _ring->prev = RingNONE; END9RingAppend(ring,new) BEGIN Ring _ring = (ring), _new = (new); AVER(RingCheck(_ring)); AVER(RingCheckSingle(_new)); _new->prev = _ring->prev; _new->next = _ring; _ring->prev->next = _new; _ring->prev = _new; ENDFRingInsert(ring,new) BEGIN Ring _ring = (ring), _new = (new); AVER(RingCheck(_ring)); AVER(RingCheckSingle(_new)); _new->prev = _ring; _new->next = _ring->next; _ring->next->prev = _new; _ring->next = _new; ENDSRingRemove(old) BEGIN Ring _old = (old); AVER(RingCheck(_old)); AVER(!RingIsSingle(_old)); _old->next->prev = _old->prev; _old->prev->next = _old->next; _old->next = _old; _old->prev = _old; END`RingNext(ring) ((ring)->next)dRingPrev(ring) ((ring)->prev)gRING_ELT(type,field,node) ((type)(void *)((char *)(node) - (size_t)(&((type)0)->field)))kRING_FOR(node,ring,next) for(node = RingNext(ring), next = RingNext(node); node != (ring); node = (next), next = RingNext(node))ThreadSig ((Sig)0x519286ED) ss_h  tract_h   bt_h BTSize(n) (((n) + MPS_WORD_WIDTH-1) / MPS_WORD_WIDTH * sizeof(Word))BTGet(a,i) ((Bool)(((a)[((i) >> MPS_WORD_SHIFT)] >> ((i) & ~((Word)-1 << MPS_WORD_SHIFT))) & (Word)1))BTSet(a,i) BEGIN (a)[((i)>>MPS_WORD_SHIFT)] |= (Word)1<<((i)&~((Word)-1<>MPS_WORD_SHIFT)] &= ~((Word)1 << ((i) & ~((Word)-1<base)&TractPool(tract) ((tract)->pool)'TractP(tract) ((tract)->p)(TractSetP(tract,pp) ((void)((tract)->p = (pp))))TractHasSeg(tract) ((Bool)(tract)->hasSeg)*TractSetHasSeg(tract,b) ((void)((tract)->hasSeg = (b)))+TractWhite(tract) ((tract)->white),TractSetWhite(tract,w) ((void)((tract)->white = (w)))8TRACT_SEG(segReturn,tract) (TractHasSeg(tract) && ((*(segReturn) = (Seg)TractP(tract)), TRUE));TRACT_SET_SEG(tract,seg) (TractSetHasSeg(tract, TRUE), TractSetP(tract, seg))>TRACT_UNSET_SEG(tract) (TractSetHasSeg(tract, FALSE), TractSetP(tract, NULL))nPageTract(page) (&(page)->the.tractStruct)rPageOfTract(tract) PARENT(PageStruct, the.tractStruct, (tract))vPagePool(page) ((page)->the.rest.pool)}PageIsAllocated(page) ((page)->the.rest.pool != NULL)PageType(page) ((page)->the.rest.type)ChunkSig ((Sig)0x519C804C)ChunkArena(chunk) ((chunk)->arena)ChunkPageSize(chunk) ((chunk)->pageSize)ChunkPageShift(chunk) ((chunk)->pageShift)ChunkPagesToSize(chunk,pages) ((Size)(pages) << (chunk)->pageShift)ChunkSizeToPages(chunk,size) ((Count)((size) >> (chunk)->pageShift))CHUNK_OF_ADDR(chunkReturn,arena,addr) (((arena)->chunkCache.base <= (addr) && (addr) < (arena)->chunkCache.limit) ? (*(chunkReturn) = (arena)->chunkCache.chunk, TRUE) : ChunkOfAddr(chunkReturn, arena, addr))AddrPageBase(chunk,addr) AddrAlignDown((addr), ChunkPageSize(chunk))TRACT_OF_ADDR(tractReturn,arena,addr) BEGIN Arena _arena = (arena); Addr _addr = (addr); Chunk _chunk; Index _i; if (CHUNK_OF_ADDR(&_chunk, _arena, _addr)) { _i = INDEX_OF_ADDR(_chunk, _addr); if (BTGet(_chunk->allocTable, _i)) *(tractReturn) = PageTract(&_chunk->pageTable[_i]); else *(tractReturn) = NULL; } else *(tractReturn) = NULL; ENDINDEX_OF_ADDR(chunk,addr) ((Index)ChunkSizeToPages(chunk, AddrOffset((chunk)->base, addr)))PageIndexBase(chunk,i) AddrAdd((chunk)->base, ChunkPagesToSize(chunk, i))TractAverContiguousRange(arena,rangeBase,rangeLimit) BEGIN Chunk _ch = NULL; UNUSED(_ch); AVER(ChunkOfAddr(&_ch, arena, rangeBase) && (rangeLimit) <= _ch->limit); ENDTRACT_TRACT_FOR(tract,addr,arena,firstTract,limit) tract = (firstTract); addr = TractBase(tract); TractAverContiguousRange(arena, addr, limit); for(; tract != NULL; (addr = AddrAdd(addr, (arena)->alignment)), (addr < (limit) ? (tract = PageTract(PageOfTract(tract) + 1)) : (tract = NULL) ))TRACT_FOR(tract,addr,arena,base,limit) TRACT_TRACT_FOR(tract, addr, arena, TractOfBaseAddr(arena, base), limit)mpmst_h protocol_h DERIVE_LOCAL(name) protocol ## nameDERIVE_STRUCT(name) name ## StructDERIVE_ENSURE(name) name ## GetDERIVE_ENSURE_OLD(name) Ensure ## nameDERIVE_ENSURE_INTERNAL(name) protocolGet ## nameDERIVE_GUARDIAN(name) protocol ## name ## GuardianDERIVE_STATIC_STORAGE(name) protocol ## name ## StructProtocolClassSetSuperclassPoly(class,super) (((ProtocolClass)(class))->superclass) = (ProtocolClass)(super)$DEFINE_CLASS(className,var) static Bool DERIVE_GUARDIAN(className) = FALSE; static DERIVE_STRUCT(className) DERIVE_STATIC_STORAGE(className); static void DERIVE_ENSURE_INTERNAL(className)(className); extern className DERIVE_ENSURE(className)(void); className DERIVE_ENSURE(className)(void) { if (DERIVE_GUARDIAN(className) == FALSE) { LockClaimGlobalRecursive(); if (DERIVE_GUARDIAN(className) == FALSE) { DERIVE_ENSURE_INTERNAL(className) (&DERIVE_STATIC_STORAGE(className)); DERIVE_GUARDIAN(className) = TRUE; } LockReleaseGlobalRecursive(); } return &DERIVE_STATIC_STORAGE(className); } extern className DERIVE_ENSURE_OLD(className)(void); className DERIVE_ENSURE_OLD(className)(void) { return DERIVE_ENSURE(className)(); } static void DERIVE_ENSURE_INTERNAL(className) (className var)AINHERIT_CLASS(this,parentName) BEGIN parentName DERIVE_LOCAL(parentName) = DERIVE_ENSURE(parentName)(); *this = *(DERIVE_LOCAL(parentName)); ProtocolClassSetSuperclassPoly(this, DERIVE_LOCAL(parentName)); ENDODEFINE_ALIAS_CLASS(className,typeName,var) typedef typeName className; typedef DERIVE_STRUCT(typeName) DERIVE_STRUCT(className); DEFINE_CLASS(className, var)VProtocolClassSig ((Sig)0x519B60C7)WProtocolInstSig ((Sig)0x519B6014)ProtocolClassSuperclassPoly(class) (((ProtocolClass)(class))->superclass)ClassOfPoly(inst) ((ProtocolInst)(inst)->class)IsSubclassPoly(sub,super) ProtocolIsSubclass((ProtocolClass)(sub), (ProtocolClass)(super))SUPERCLASS(className) ProtocolClassSuperclassPoly(DERIVE_ENSURE(className)())chain_h GenDescSig ((Sig)0x5199E4DE)+PoolGenSig ((Sig)0x519B009E);ChainSig ((Sig)0x519C8A14)XPoolGenNr(gen) ((gen)->nr)/PoolClassSig ((Sig)0x519C7A55)]PoolSig ((Sig)0x519B0019)}MFSSig ((Sig)0x5193F599)MVSig ((Sig)0x5193B999)ReservoirSig ((Sig)0x5196e599)MessageClassSig ((Sig)0x519359c1)MessageSig ((Sig)0x5193e559)SegClassSig ((Sig)0x5195E9C7)SegSig ((Sig)0x5195E999)GCSegSig ((Sig)0x5199C5E9)SegPrefSig ((Sig)0x5195E9B6)BufferClassSig ((Sig)0x519B0FC7)BufferSig ((Sig)0x519B0FFE)SegBufSig ((Sig)0x51959B0F)FormatSig ((Sig)0x519F63A2)ScanStateSig ((Sig)0x5195CA45)TraceSig ((Sig)0x51924ACE)ChunkCacheEntrySig ((Sig)0x519C80CE)ArenaClassSig ((Sig)0x519A6C1A)GlobalsSig ((Sig)0x519970BA)ArenaSig ((Sig)0x519A6E4A)%BoolCheck(b) ((unsigned)(b) <= 1)(FUNCHECK(f) (FunCheck((Fun)f))4WordIsAligned(w,a) (((w) & ((a) - 1)) == 0)7WordAlignUp(w,a) (((w) + (a) - 1) & ~((Word)(a) - 1));WordRoundUp(w,r) (((w)+(r)-1) - ((w)+(r)-1)%(r))>WordAlignDown(w,a) ((w) & ~((Word)(a) - 1))@size_tAlignUp(s,a) ((size_t)WordAlignUp((Word)(s), a))BPointerAdd(p,s) ((void *)((char *)(p) + (s)))CPointerSub(p,s) ((void *)((char *)(p) - (s)))EPointerOffset(base,limit) ((size_t)((char *)(limit) - (char *)(base)))HPointerAlignUp(p,s) ((void *)WordAlignUp((Word)(p), (Align)(s)))KAddrAdd(p,s) ((Addr)PointerAdd((void *)(p), s))LAddrSub(p,s) ((Addr)PointerSub((void *)(p), s))NAddrOffset(b,l) ((Size)(PointerOffset((void *)(b), (void *)(l))))RAddrAlignDown(p,a) ((Addr)WordAlignDown((Word)(p), a))TAlignWord(s) ((Word)(s))VAddrIsAligned(p,a) WordIsAligned((Word)(p), a)WAddrAlignUp(p,a) ((Addr)WordAlignUp((Word)(p), a))YSizeIsAligned(s,a) WordIsAligned((Word)(s), a)ZSizeAlignUp(s,a) ((Size)WordAlignUp((Word)(s), a))[SizeAlignDown(s,a) ((Size)WordAlignDown((Word)(s), a))]SizeRoundUp(s,r) ((Size)WordRoundUp((Word)(s), (Size)(r)))_IndexIsAligned(s,a) WordIsAligned((Word)(s), a)`IndexAlignUp(s,a) ((Index)WordAlignUp((Word)(s), a))aIndexAlignDown(s,a) ((Index)WordAlignDown((Word)(s), a))cAlignIsAligned(a1,a2) WordIsAligned((Word)(a1), a2)iAddrSet(target,value,size) mps_lib_memset(target, (int)(value), size)mAddrCopy(target,source,size) mps_lib_memcpy(target, source, size)qAddrComp(a,b,size) mps_lib_memcmp(a, b, size)wADDR_PTR(type,addr) ((type *)(addr))PoolArena(pool) ((pool)->arena)PoolAlignment(pool) ((pool)->alignment)PoolSegRing(pool) (&(pool)->segRing)PoolFix(pool,ss,seg,refIO) ((*(pool)->fix)(pool, ss, seg, refIO))ClassOfPool(pool) ((pool)->class)SuperclassOfPool(pool) ((PoolClass)ProtocolClassSuperclassPoly((pool)->class))DEFINE_POOL_CLASS(className,var) DEFINE_ALIAS_CLASS(className, PoolClass, var)POOL_SUPERCLASS(className) ((PoolClass)SUPERCLASS(className))TraceSetSingle(trace) BS_SINGLE(TraceSet, (trace)->ti)TraceSetIsSingle(ts) BS_IS_SINGLE(ts)TraceSetIsMember(ts,trace) BS_IS_MEMBER(ts, (trace)->ti)TraceSetAdd(ts,trace) BS_ADD(TraceSet, ts, (trace)->ti)TraceSetDel(ts,trace) BS_DEL(TraceSet, ts, (trace)->ti)TraceSetUnion(ts1,ts2) BS_UNION(ts1, ts2)TraceSetInter(ts1,ts2) BS_INTER(ts1, ts2)TraceSetDiff(ts1,ts2) BS_DIFF(ts1, ts2)TraceSetSuper(ts1,ts2) BS_SUPER(ts1, ts2)TraceSetSub(ts1,ts2) BS_SUB(ts1, ts2)TraceSetComp(ts) BS_COMP(ts)TRACE_SET_ITER(ti,trace,ts,arena) for(ti = 0, trace = ArenaTrace(arena, ti); ti < TraceLIMIT; ++ti, trace = ArenaTrace(arena, ti)) BEGIN if (TraceSetIsMember(ts, trace)) {TRACE_SET_ITER_END(ti,trace,ts,arena) } ENDTRACE_SCAN_BEGIN(ss) BEGIN Shift SCANzoneShift = (ss)->zoneShift; ZoneSet SCANwhite = (ss)->white; RefSet SCANsummary = (ss)->unfixedSummary; Word SCANt; {TRACE_FIX1(ss,ref) (SCANt = (Word)1 << ((Word)(ref) >> SCANzoneShift & (MPS_WORD_WIDTH-1)), SCANsummary |= SCANt, SCANwhite & SCANt)TRACE_FIX2(ss,refIO) ((*(ss)->fix)(ss, refIO))TRACE_FIX(ss,refIO) (TRACE_FIX1(ss, *(refIO)) ? TRACE_FIX2(ss, refIO) : ResOK)TRACE_SCAN_END(ss) } (ss)->unfixedSummary = SCANsummary; ENDDEFINE_ARENA_CLASS(className,var) DEFINE_ALIAS_CLASS(className, ArenaClass, var)ARENA_SUPERCLASS(className) ((ArenaClass)SUPERCLASS(className))ArenaGlobals(arena) (&(arena)->globals)GlobalsArena(glob) PARENT(ArenaStruct, globals, glob)ArenaRootRing(arena) (&(arena)->rootRing)ArenaTraceRing(arena) (&(arena)->traceRing)ArenaThreadRing(arena) (&(arena)->threadRing)ArenaEpoch(arena) ((arena)->epoch)ArenaTrace(arena,ti) (&(arena)->trace[ti])ArenaZoneShift(arena) ((arena)->zoneShift)ArenaAlign(arena) ((arena)->alignment)ArenaGreyRing(arena,rank) (&(arena)->greyRing[rank])ArenaReservoir(arena) (&(arena)->reservoirStruct)DEFINE_SEG_CLASS(className,var) DEFINE_ALIAS_CLASS(className, SegClass, var)SEG_SUPERCLASS(className) ((SegClass)SUPERCLASS(className))ClassOfSeg(seg) ((seg)->class)SegBase(seg) (TractBase((seg)->firstTract))SegLimit(seg) ((seg)->limit)SegPool(seg) (TractPool((seg)->firstTract))SegRankSet(seg) ((RankSet)(seg)->rankSet)SegPM(seg) ((AccessSet)(seg)->pm)SegSM(seg) ((AccessSet)(seg)->sm)SegDepth(seg) ((unsigned)(seg)->depth)SegGrey(seg) ((TraceSet)(seg)->grey)SegWhite(seg) ((TraceSet)(seg)->white)SegNailed(seg) ((TraceSet)(seg)->nailed)SegOfPoolRing(node) (RING_ELT(Seg, poolRing, (node)))SegOfGreyRing(node) (&(RING_ELT(GCSeg, greyRing, (node)) ->segStruct))SegSummary(seg) (((GCSeg)(seg))->summary)SegSetPM(seg,mode) ((void)((seg)->pm = (mode)))SegSetSM(seg,mode) ((void)((seg)->sm = (mode)))SegSetDepth(seg,d) ((void)((seg)->depth = (d)))SegSetNailed(seg,ts) ((void)((seg)->nailed = (ts)))BUFFER_RESERVE(pReturn,buffer,size,withReservoirPermit) (AddrAdd(BufferAlloc(buffer), size) > BufferAlloc(buffer) && AddrAdd(BufferAlloc(buffer), size) <= BufferAP(buffer)->limit ? (*(pReturn) = BufferAlloc(buffer), BufferAP(buffer)->alloc = AddrAdd(BufferAlloc(buffer), size), ResOK) : BufferFill(pReturn, buffer, size, withReservoirPermit))BUFFER_COMMIT(buffer,p,size) (BufferAP(buffer)->init = BufferAlloc(buffer), BufferAP(buffer)->limit != 0 || BufferTrip(buffer, p, size))BufferAP(buffer) (&(buffer)->apStruct)BufferOfAP(ap) PARENT(BufferStruct, apStruct, ap)BufferArena(buffer) ((buffer)->arena)BufferPool(buffer) ((buffer)->pool)BufferBase(buffer) ((buffer)->base)BufferGetInit(buffer) (BufferAP(buffer)->init)BufferAlloc(buffer) (BufferAP(buffer)->alloc)BufferLimit(buffer) ((buffer)->poolLimit)DEFINE_BUFFER_CLASS(className,var) DEFINE_ALIAS_CLASS(className, BufferClass, var)BUFFER_SUPERCLASS(className) ((BufferClass)SUPERCLASS(className))RankSetIsMember(rs,r) BS_IS_MEMBER((rs), (r))RankSetSingle(r) BS_SINGLE(RankSet, (r))RankSetIsSingle(r) BS_IS_SINGLE(r)RankSetUnion(rs1,rs2) BS_UNION((rs1), (rs2))RankSetDel(rs,r) BS_DEL(RankSet, (rs), (r))AddrZone(arena,addr) (((Word)(addr) >> (arena)->zoneShift) & (MPS_WORD_WIDTH - 1))RefSetUnion(rs1,rs2) BS_UNION((rs1), (rs2))RefSetInter(rs1,rs2) BS_INTER((rs1), (rs2))RefSetDiff(rs1,rs2) BS_DIFF((rs1), (rs2))RefSetAdd(arena,rs,addr) BS_ADD(RefSet, rs, AddrZone(arena, addr))RefSetIsMember(arena,rs,addr) BS_IS_MEMBER(rs, AddrZone(arena, addr))RefSetSuper(rs1,rs2) BS_SUPER((rs1), (rs2))RefSetSub(rs1,rs2) BS_SUB((rs1), (rs2))ZoneSetUnion(zs1,zs2) BS_UNION(zs1, zs2)ZoneSetInter(zs1,zs2) BS_INTER(zs1, zs2)ZoneSetDiff(zs1,zs2) BS_DIFF(zs1, zs2)ZoneSetAdd(arena,zs,addr) BS_ADD(ZoneSet, zs, AddrZone(arena, addr))ZoneSetIsMember(arena,zs,addr) BS_IS_MEMBER(zs, AddrZone(arena, addr))ZoneSetSub(zs1,zs2) BS_SUB(zs1, zs2)ZoneSetSuper(zs1,zs2) BS_SUPER(zs1, zs2)ZoneSetComp(zs) BS_COMP(zs)STATISTIC(gather) BEGIN (gather); ENDSTATISTIC_STAT(gather) BEGIN gather; ENDSTATISTIC_WRITE(format,arg) (format), (arg),sac_h sacClassLIMIT ((Count)8))SACSig ((Sig)0x5195AC99)5SACOfExternalSAC(esac) PARENT(SACStruct, esacStruct, esac)7ExternalSACOfSAC(sac) (&((sac)->esacStruct))9SACArena(sac) PoolArena((sac)->pool)sac.cJan 17 200703:39:25$Id: //info.ravenbrook.com/project/mps/master/code/sac.c#8 $|  AB  wAB C\.2AB G$AB Fv. S. 9AB DD.T. P.oAB C 4AB FP. YAB Fl. TAB FS. AB Fe.^m)%SACCreate&SACDestroyf'SACFill(SACEmpty(SACFlushZ)sacSrcIdallocTablePoolDescribeMethodcontrolPoolStructpageTableLimitgreySegMaxchunkFinishnamepageSizeFormatPadMethodrankrootSerialchunkRingArenaAllocMethodreservoirSizeactiveTracesformatfoundationLockPoolBufferClassMethodTraceFixMethodsuperclassthreadRingunitsPerExtentPagefillMutatorSizeSACCreatepoolSerialBoolprehistoryArenaFreeMethodunitSizesetRankSetunsigned intGNU C 3.4.6 [FreeBSD] 20060305BufferRankSetMethodmiddleIndexextendArenaChunkFinishMethodblockSizeReturnfillInternalSizeBufferReassignSegMethodreassignSegisCollectedpoolReadyscmidwhiteSegRefCountforwardedSizeforwardedCountArenaSpareCommitExceededMethodProtocolClassmergegreyRingfinishshort intAlignArenaDescribeMethodprotocolcountMaxdescribefillSizesegScanCountPoolmodePoolDebugMixinStructrememberedSummaryRingprevfixRefCountserialSACFillEpochsetBufferapStructemptyMutatorSizeallocMutatorSizePoolFramePushMethodPoolFinishMethodExternalSACStructbusyTraceslwPopPendingchunkspanssacFindallocBasesuspendedpollThresholdArenaStructenabledMessageTypessacFreeListBlockCheckmpsVersionStringSizefreeListframePopGlobalsStructreservoirStructChainStructbaseArenaClassAccessSetframeptrhistorySegSetRankSummaryMethodFileSrcIdStructmiddleclassesCountlong long unsigned intfileoffsettraceshDepthtrappedesacStructhighattrgenCountSegClassStructSACStructrateFreeBlockStepMethodPoolClassStructglobalsprimaryArenaChunkInitMethodarenaBufferFinishMethodFormatVarietyPoolWalkMethodskipprevSizePoolFreeMethodmortalitysac.cSACFreeListBlockStructwasMarkedproflowmessageRingsize_tmoveAPStructTractStructrampEndmayMoveBootBlockpoolLimitChunkclampedPoolReclaimMethodunroundedUnitSizeshCachereclaimCountpageTablePagesfreePoolFixMethodSegPrefWordmps_lib_stream_sFormatStructpreservedInPlaceCountfreewalkframePushFormattedObjectsStepMethodSegClassgensCountPageStructisMovedsetRankSummarySegDescribeMethodbufferClassPoolDebugMixinSegSetSummaryMethodinsidePollsacSizereclaimAddrreservoirLimitcharscannedSizereserveiReturnBufferStructFormatScanMethodchunkSerialSegFinishMethodMFSHeaderStructSerialfreelistsblockSizeSACFlushLockStructsplitFormatClassMethodArenaFormatMoveMethodspacefinalPoolBufferDescribeMethodBufferModelimitMFSStructArenaInitMethodlockrampCountSACEmptyPoolFixEmergencyMethodSACDestroyzoneShiftdummypagesisGennailedPoolFreeWalkMethodchainva_listSACFreeListBlockChainSACClasseslong long intMVStructtracedTimeZoneSetTractBufferSegMethoddepthPoolRampEndMethodlocusRingfixEmergencyTracegreylastWorldCollectPoolDebugMixinMethodpageShiftChunkCacheEntryStructBufferClassStructArenaClassStructrememberedSummaryIndexgreySegCountisMutatorArenaFinishMethodindexMaxfixedSummarycommittedframePopPendingscansingleCopiedSizeSegSetBufferMethodProtocolInstStructAddrStructrampBeginbufferPoolRampBeginMethodsizeSegStructGenDescStructProtocolInstBufferSetRankSetMethodinitAtFlipPoolStructpoolRingFormatdetachspareCommitLimittopGenPoolWhitenMethodspanPoolStructPoolInitMethodTraceIdpoolaccessfrequencychainRingPoolGreyMethodlastTractMutatorFaultContextvarietyemptyInternalSizeSrcIdarenaRingsegRefCountavgSizecopytractListBufferDetachMethodPoolScanMethodFormatCopyMethodlostcapacitywhitenScanStatecondemnedbufferRingChunkStructflippedTracesrootScanCountenabledrootScanSizepointlessScanCountallocRankshCacheLimitsegCopiedSizeBufferInitMethodlong intsetSummarynotCondemnedextendByTraceStateTraceSetstatepreservedInPlaceSizenextSegBufferMethodbuild_timehasReservoirPermitPoolClassProtocolCoerceInstMethodsacClassFlushemergencyPoolBlackenMethodwhitecountpoolStruct__size_trootRingSegInitMethodFormatSkipMethodsegScanSizecopiedSizecachedCountArenaExtendMethodScanStateStructSegSetWhiteMethodunfixedSummarypageTableBasetotalFreqlastTractBasethreadSeriallabelledsetGreytracedSize__va_listwalksetWhitePoolAllocMethodRingStructrankSetlong unsigned intPoolFramePopPendingMethodSrcIdStructBootBlockStructwriteBarrierHitCountMutatorFaultContextStructArenaReservedMethodinitAttrbufferLoggingProtocolClassStructclassbufferFillIndexspareCommitExceededsacReturnFormatIsMovedMethodmaxSizechunkInitPoolAccessMethodSACClassesStructsnapCounttypeattachnailCountunsigned charoldFreq__uint32_tspareCommittedinsideShieldblockCountRingSegSplitMethodblockPoolStructSACCheckRefSetAllocFrameStructPoolFramePopMethodtractStructBufferClassformatSerialsacSrcIdsegRingAllocFramehasSegcoerceClassReservoirStructbuild_dateblockssingleScanSizeBufferreadBarrierHitCountpageTableheaderSizecoerceInstdebugMixinchunkCachesigned charSegMergeMethodSegPrefStructmps_lib_FILEPoolBufferFillMethodreclaimSizebufferSerialshort unsigned intzonesbufferEmptyProtocolCoerceClassMethodreservedRankSetisFinalPoolfailSACAllocdoublesingleScanCountfirstTractalignmentPoolBufferEmptyMethodBufferAttachMethodrestSegSetRankSetMethodShiftemptySize/home/hannes/dylan/mps/codeclassesTraceStructglobalRingformatRingcommitLimitrootCopiedSizeSegSetGreyMethodshCacheIepochblackentracesGCC: (GNU) 3.4.6 [FreeBSD] 20060305.symtab.strtab.shstrtab.rel.text.rel.data.bss.debug_abbrev.rel.debug_info.rel.debug_line.debug_macinfo.rodata.str1.1.rodata.str1.4.rel.rodata.rel.debug_frame.rel.debug_pubnames.rel.debug_aranges.debug_str.comment4 0)% /4Fvm)B XV1@R L b#4vq22ܪ= T ,h tb   0%      - w62>oFYT]gt94Tsac.cFileSrcIdStructsacFreeListBlockCheckSACChecksacSizesacFindsacClassFlushsacSrcIdSACCreateControlAllocSACDestroySACFlushControlFreeSACFillPoolAllocPoolFreeSACEmpty_.  !%*18?MX_fmt{(39Zev| #.9Tek-<KZiy,;Ziq%4CRap (6DR`n &4BP^lz"0>LZhv  ) 8 G V e t            ( 7 F U d s           : I X g v            + @ V d r           0 > L Z h v         !0@U,>Qfn|$2Od{ />M\kz 0@P`p 0@P`p 0@P`p '6ETcr*4<JXf(i+\ .Uw*Ur4Z.Z>ny)P1Rt  4 ? K \ q        !N!]!s!!!!!!!!!!! ""("6"S"_"n"w""""""""" ##"#.#:#L#########$$ $A$a$x$$$$$$$$$$%%%D%O%S%%%%%%%%%%%%& &&)&s&&&&&&&&&&&&&&&'"'C'G'L'l'w'{'''''(( (C(R((((((((() ) );)J)V) [)h){    04TXpt$(HLmessage.o/ 1169001565 1001 1001 100644 59404 ` ELF  4(UEPÐUÉUÉUÉUE@ÐUE@ ÐUU EBEB BB@EBYQÍvUE[Q@@UVSu] sVtKBASBJSVve[^ÐUEÍvUE@ÐUEPÍvUS] StS$UЋ]ÉUu vUSu]HXQSQHIPE]UVSu V Ste[^ÐUWVSE ;9tBsV;EuCBC[E0?E 9ue[^_ÍvUM EÍvUSM E [ÍvUWVS }u ] u5VWS u!e[^_ÐUEP PRÉU EP Pu uR UEP PRÉUEP PRÉUEP PRÉUÍvUÉUÉUC% $ > $ > : ; I I&I : ;  : ; I8 < : ; I  : ;I8 : ;I8  : ; I8  : ; I 8  : ;I 8  : ;I 8  : ; ' II' ' I : ;  : ;  : ; I: ;II!I/ .: ; ' I@ : ; I .? : ; ' I@ .? : ; ' @ ! "4: ; I #4: ; I$.: ; ' @ %4: ;I &4: ;I'.: ;' I@ (: ;I ).? : ;' @ *.: ;' @ +.? : ;' I@ ,4: ; I?  + nHaint 8W / _L | %7zE "["$#%#&#|'# "& 2  . Sigl ResE  l "ou [ #Y$Y%YR&YF'W (W Ref)d ,Y -Y.W/W1{R 2WC3W84Wb5W6W7W BT:MY{;^d gY @> lD"# cE# F# G&# AHQ# sIn#  J#$ uK0#( segL#, 'M#0 N#4 O#8 sigPC#< AW1C ad# bd#  cd# ldd# e# mf# D!<D sigC# # 8# # h!# #  } #  # , #$  #(  #, pad!#0 #!#4 {#8F G XGsig`C#a#b#c#  dh!#meh!#Tf# \gh!#$h#,i#0fixj:#4gks#8ls#@Xms#H ns#PHaHl2"#c3# 4#5#6-#7V# A8|#$9#(:#,;#0<*#4_ =V#8K>#<J ?#@(@#D A#HfixB:#L7 Cj#P Du#Tf E#XPF#\MG#` H#d I%#hJL#lDK}#pL#tuM#xN#|O#sigPC#D O O sigC# ti# # # e# L# # * # \{# "{#$ {#( H{#, #0 L#4 #8 #< {#@ #D *#H {#L #P #T $ {#X #\ #` #d z#h d#l #p  #t  #x  {#| . # R {# # H#RP  * sTP fix# l Y# # # sigC# # 0 # # # #$ #( #, #0 z#4 d#8 #< {#@ .#D R{#H F{#L ! {#P Q5 ;  FQsig>C#?#f @h!#A # B#{C<## R   :RZ #p#Rd# # oW# S   x8SsigC###h!# h{#u #Rd# d# #$v #(C#,!#0#4? T sigC# z # Rd#  d# ?# =?#PUJPkUtheh!# SegVv|P V sigC# P#  #  h!#   d#  W#pm "#sm "#J  # #  #'#rX[aNLXl"#c# ##A#Q# p s#$#(#,#0#4*#8u#<2#@ #DsigC#HZY_Z sig0C# 1# t2# 3# | 4# gen5#W\ H\ l&"# c'$# (# )# *# A+# ,#$ -#( -.#, /'#0 0h#4 91#8 W2#< u3#@ sig4C#D ^(^ qo$# p#t r#x t#| +u$# 6w$#  y{# z{# |{# }{# l # #   # d# y # h!# X # $#  1## h!# H# h!# C# # # 6h!# # # $# {# {# {# # b #  # $# s# s# O Y# 8$# w# f h!# "# # u$# sigC#(t_ sigBC# Eh!# 3 F# Is# J# K# gLs# Ms#( ,Ns#0 XOs#8 Ps#@ S#H V#L Yh!#P wZ#X ]h!#\ ^#d ah!#h d#p d e  dg#) hhB##2  #X {#\{#`sigC#d# nN8 op{qar 'Nd{t28\N\bN{d usyd{vN S4w XxN'WmsigC##n#m# Fh!#x~ sigC#c#f #Q # F #6g #r #UC# !N !W28XdlMcidd Nkd{8d kk 2*k}5;Qk\bskl~jk5 kjNk Nkkddd817QNj8\bnjyjddd{ \ kjj ji0jk ;AVNjC ag|N8Q N\{d{3*N\\j{5;VjddCagNkd"# ȖNkp k k 4N4 kEKjN k!B Ew ҋj Ӳj=Nj  %NjA06LjW]}k'l ݈XޯxN`      * 0 F ! VQ W g { Q "Q G    N dd   dd    dd   q !!#!d{  9!?!h!g.!#.!#?!: !gZ e#nfE#!h0cs!-g~!iP!\!!)"\sig}C#+~!#c"#v"#  a4":"c"H asigC#!#mn"t""")"!)"x""""!!!!1# $sigC#t#B {#!s# "s# #h!# $"1# o# tB##{#X/{#\{#`AY#d##h  #lsigC#p # M#$ `B####X4 ##/{# {#1{# {#{#h!#sigC# #/1gd  (e$k$$$h!%8%'U& b% 2 *Un1%K;,6U: % G8BUFm%XWDOUV P&T`mP[U_ P k&j\UhPh RhmPniP!nw" r.!P &m|U{ P!# .! &<UV S!" .!R".!Q#'   UPL' U Pv'9U'<zU'RS# #n '|U  $C(UU# !".!Q h(UV(]Uz(P n"- .!S"g.!W!@% V!!3&.! '3)$  `U( P(n Q)h)U(P(nQ))Y U(W(nV% p*)t 3U(2 P)*>,U(<!(< (= P+B* L{,>U(K P+m*T{@RU(S P+*\{TfU([ P)*ihmU(g!(g (h + +r{pzU(q +6+#|{|U({ +b+{U( ", g /usr/include/usr/include/sys/usr/include/machinebt.hmpmtypes.hconfig.hmpstd.hmisc.hstddef.hcdefs.h_null.h_types.h_types.hmpslib.hstdarg.hmpm.hcheck.hevent.heventcom.heventgen.hlock.hth.hring.hss.htract.hmpmst.hprotocol.hchain.hmessage.c&fd@>AA__GNUCLIKE___OFFSETOF 1?__GNUCLIKE___SECTION 1A__GNUCLIKE_ATTRIBUTE_MODE_DI 1D__GNUCLIKE_CTOR_SECTION_HANDLING 1G__GNUCLIKE_BUILTIN_CONSTANT_P 1N__GNUCLIKE_BUILTIN_VARARGS 1O__GNUCLIKE_BUILTIN_STDARG 1P__GNUCLIKE_BUILTIN_VAALIST 1T__GNUC_VA_LIST_COMPATIBILITY 1X__GNUCLIKE_BUILTIN_NEXT_ARG 1Y__GNUCLIKE_MATH_BUILTIN_RELOPS \__GNUCLIKE_BUILTIN_MEMCPY 1___CC_SUPPORTS_INLINE 1`__CC_SUPPORTS___INLINE 1a__CC_SUPPORTS___INLINE__ 1c__CC_SUPPORTS___FUNC__ 1d__CC_SUPPORTS_WARNING 1f__CC_SUPPORTS_VARADIC_XXX 1h__CC_SUPPORTS_DYNAMIC_ARRAY_INIT 1k__CC_INT_IS_32BIT 1s__GNUC_PREREQ__(ma,mi) (__GNUC__ > (ma) || __GNUC__ == (ma) && __GNUC_MINOR__ >= (mi))__P(protos) protos__CONCAT1(x,y) x ## y__CONCAT(x,y) __CONCAT1(x,y)__STRING(x) #x__XSTRING(x) __STRING(x)__const const__signed signed__volatile volatile__dead2 __attribute__((__noreturn__))__pure2 __attribute__((__const__))__unused __attribute__((__unused__))__used __attribute__((__used__))__packed __attribute__((__packed__))__aligned(x) __attribute__((__aligned__(x)))__section(x) __attribute__((__section__(x)))__pure __attribute__((__pure__))__always_inline __attribute__((__always_inline__))__nonnull(x) __attribute__((__nonnull__(x)))__restrict __predict_true(exp) __builtin_expect((exp), 1)__predict_false(exp) __builtin_expect((exp), 0)__offsetof(type,field) ((size_t)(&((type *)0)->field))__rangeof(type,start,end) (__offsetof(type, end) - __offsetof(type, start))__printflike(fmtarg,firstvararg) __attribute__((__format__ (__printf__, fmtarg, firstvararg)))__scanflike(fmtarg,firstvararg) __attribute__((__format__ (__scanf__, fmtarg, firstvararg)))__format_arg(fmtarg) __attribute__((__format_arg__ (fmtarg)))__printf0like(fmtarg,firstvararg) __attribute__((__format__ (__printf0__, fmtarg, firstvararg)))__strong_reference(sym,aliassym) extern __typeof (sym) aliassym __attribute__ ((__alias__ (#sym)));__weak_reference(sym,alias) __asm__(".weak " #alias); __asm__(".equ " #alias ", " #sym)__warn_references(sym,msg) __asm__(".section .gnu.warning." #sym); __asm__(".asciz \"" msg "\""); __asm__(".previous")__IDSTRING(name,string) __asm__(".ident\t\"" string "\"")__FBSDID(s) __IDSTRING(__CONCAT(__rcsid_,__LINE__),s)__RCSID(s) __IDSTRING(__CONCAT(__rcsid_,__LINE__),s)__RCSID_SOURCE(s) __IDSTRING(__CONCAT(__rcsid_source_,__LINE__),s)__SCCSID(s) __IDSTRING(__CONCAT(__sccsid_,__LINE__),s)__COPYRIGHT(s) __IDSTRING(__CONCAT(__copyright_,__LINE__),s)__DECONST(type,var) ((type)(uintptr_t)(const void *)(var))__DEVOLATILE(type,var) ((type)(uintptr_t)(volatile void *)(var))__DEQUALIFY(type,var) ((type)(uintptr_t)(const volatile void *)(var))__POSIX_VISIBLE 200112__XSI_VISIBLE 600__BSD_VISIBLE 1__ISO_C_VISIBLE 1999* NULL ((void *)0)+ _SYS__TYPES_H_ ! (_MACHINE__TYPES_H_ .__NO_STRICT_ALIGNMENT __GNUC_VA_LIST 2_RUNE_T_DECLARED 8_SIZE_T_DECLARED >_WCHAR_T_DECLARED Boffsetof(type,member) __offsetof(type, member)*SRCID(id,scmid) static SrcIdStruct FileSrcIdStruct = {__FILE__, (scmid), __DATE__, __TIME__}; SrcId id ## SrcId = &FileSrcIdStruct;BEGIN do {> (i)) & 1)BS_UNION(s1,s2) ((s1) | (s2))BS_ADD(ty,s,i) BS_UNION((s), BS_SINGLE(ty, (i)))BS_INTER(s1,s2) ((s1) & (s2))BS_DIFF(s1,s2) BS_INTER((s1), BS_COMP(s2))BS_DEL(ty,s,i) BS_DIFF((s), BS_SINGLE(ty, (i)))BS_SUPER(s1,s2) (BS_INTER((s1), (s2)) == (s2))BS_SUB(s1,s2) BS_SUPER((s2), (s1))BS_IS_SINGLE(s) (((s) & ((s)-1)) == 0)BS_SYM_DIFF(s1,s2) ((s1) ^ (s2)) mpslib_h mps_lib_EOF (mps_lib_get_EOF())mps_lib_stderr (mps_lib_get_stderr())mps_lib_stdout (mps_lib_get_stdout()) '_MACHINE_STDARG_H_ -_VA_LIST_DECLARED 3va_start(ap,last) __builtin_stdarg_start((ap), (last))6va_arg(ap,type) __builtin_va_arg((ap), type):va_copy(dest,src) __builtin_va_copy((dest), (src))>va_end(ap) __builtin_va_end(ap)SigInvalid ((Sig)0x51915BAD)SizeMAX ((Size)-1)AccessSetEMPTY ((AccessSet)0)AccessREAD ((AccessSet)(1<<0))AccessWRITE ((AccessSet)(1<<1))AccessSetWIDTH (2)RefSetEMPTY BS_EMPTY(RefSet)RefSetUNIV BS_UNIV(RefSet)ZoneSetEMPTY BS_EMPTY(ZoneSet)ZoneSetUNIV BS_UNIV(ZoneSet)TraceSetEMPTY BS_EMPTY(TraceSet)TraceSetUNIV ((TraceSet)((1u << TraceLIMIT) - 1))RankSetEMPTY BS_EMPTY(RankSet)RankSetUNIV ((RankSet)((1u << RankLIMIT) - 1))AttrFMT ((Attr)(1<<0))AttrSCAN ((Attr)(1<<1))AttrPM_NO_READ ((Attr)(1<<2))AttrPM_NO_WRITE ((Attr)(1<<3))AttrALLOC ((Attr)(1<<4))AttrFREE ((Attr)(1<<5))AttrBUF ((Attr)(1<<6))AttrBUF_RESERVE ((Attr)(1<<7))AttrBUF_ALLOC ((Attr)(1<<8))AttrGC ((Attr)(1<<9))AttrINCR_RB ((Attr)(1<<10))AttrINCR_WB ((Attr)(1<<11))AttrMOVINGGC ((Attr)(1<<12))AttrMASK (AttrFMT | AttrSCAN | AttrPM_NO_READ | AttrPM_NO_WRITE | AttrALLOC | AttrFREE | AttrBUF | AttrBUF_RESERVE | AttrBUF_ALLOC | AttrGC | AttrINCR_RB | AttrINCR_WB | AttrMOVINGGC)BufferModeATTACHED ((BufferMode)(1<<0))BufferModeFLIPPED ((BufferMode)(1<<1))BufferModeLOGGED ((BufferMode)(1<<2))BufferModeTRANSITION ((BufferMode)(1<<3))RootModeCONSTANT ((RootMode)1<<0)RootModePROTECTABLE ((RootMode)1<<1)RootModePROTECTABLE_INNER ((RootMode)1<<2)STATISTIC_DECL(field) fieldBTSize(n) (((n) + MPS_WORD_WIDTH-1) / MPS_WORD_WIDTH * sizeof(Word))BTGet(a,i) ((Bool)(((a)[((i) >> MPS_WORD_SHIFT)] >> ((i) & ~((Word)-1 << MPS_WORD_SHIFT))) & (Word)1))BTSet(a,i) BEGIN (a)[((i)>>MPS_WORD_SHIFT)] |= (Word)1<<((i)&~((Word)-1<>MPS_WORD_SHIFT)] &= ~((Word)1 << ((i) & ~((Word)-1<sig == type ## Sig)pCHECKS(type,val) DISCARD(CHECKT(type, val))qCHECKL(cond) DISCARD(cond)rCHECKD(type,val) DISCARD(CHECKT(type, val))sCHECKD_NOSIG(type,val) DISCARD((val) != NULL)tCHECKU(type,val) DISCARD(CHECKT(type, val))uCHECKU_NOSIG(type,val) DISCARD((val) != NULL)CHECKLVALUE(lv1,lv2) ((void)sizeof((lv1) = (lv2)), (void)sizeof((lv2) = (lv1)), TRUE)CHECKTYPE(t1,t2) (sizeof(t1) == sizeof(t2) && CHECKLVALUE(*((t1 *)0), *((t2 *)0)))CHECKFIELDAPPROX(s1,f1,s2,f2) (sizeof(((s1 *)0)->f1) == sizeof(((s2 *)0)->f2) && offsetof(s1, f1) == offsetof(s2, f2))CHECKFIELD(s1,f1,s2,f2) (CHECKFIELDAPPROX(s1, f1, s2, f2) && CHECKLVALUE(((s1 *)0)->f1, ((s2 *)0)->f2))event_h  eventcom_h !EventNameMAX ((size_t)19)"EventCodeMAX ((EventCode)0x0069)&EVENT_0(type) NOOPEVENT_A(type,p0) NOOPEVENT_AW(type,p0,p1) NOOPEVENT_P(type,p0) NOOPEVENT_PAA(type,p0,p1,p2) NOOPEVENT_PAW(type,p0,p1,p2) NOOPEVENT_PAWA(type,p0,p1,p2,p3) NOOPEVENT_PDDWWW(type,p0,p1,p2,p3,p4,p5) NOOPEVENT_PP(type,p0,p1) NOOPEVENT_PPAU(type,p0,p1,p2,p3) NOOPEVENT_PPAWP(type,p0,p1,p2,p3,p4) NOOPEVENT_PPP(type,p0,p1,p2) NOOPEVENT_PPPA(type,p0,p1,p2,p3) NOOPEVENT_PPPU(type,p0,p1,p2,p3) NOOPEVENT_PPPUU(type,p0,p1,p2,p3,p4) NOOPEVENT_PPU(type,p0,p1,p2) NOOPEVENT_PPUU(type,p0,p1,p2,p3) NOOPEVENT_PPUWWW(type,p0,p1,p2,p3,p4,p5) NOOPEVENT_PPWW(type,p0,p1,p2,p3) NOOPEVENT_PPWWW(type,p0,p1,p2,p3,p4) NOOPEVENT_PPWWWUUU(type,p0,p1,p2,p3,p4,p5,p6,p7) NOOPEVENT_PU(type,p0,p1) NOOPEVENT_PW(type,p0,p1) NOOPEVENT_PWA(type,p0,p1,p2) NOOPEVENT_PWAW(type,p0,p1,p2,p3) NOOPEVENT_PWP(type,p0,p1,p2) NOOPEVENT_PWU(type,p0,p1,p2) NOOPEVENT_PWW(type,p0,p1,p2) NOOPEVENT_PWWWWDD(type,p0,p1,p2,p3,p4,p5,p6) NOOPEVENT_PWWWWW(type,p0,p1,p2,p3,p4,p5) NOOPEVENT_PWWWWWWWWW(type,p0,p1,p2,p3,p4,p5,p6,p7,p8,p9) NOOPEVENT_PWWWWWWWWWWWW(type,p0,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11,p12) NOOPEVENT_UUPA(type,p0,p1,p2,p3) NOOPEVENT_UUPP(type,p0,p1,p2,p3) NOOPEVENT_UUPPP(type,p0,p1,p2,p3,p4) NOOPEVENT_WS(type,p0,p1,l1) NOOP:EventEventTime ((EventType)0xEF213E99);EventPoolInit ((EventType)0xEFB07141)EventPoolFree ((EventType)0xEFB07F6E)?EventArenaCreateVM ((EventType)0xEFA64CF3)@EventArenaCreateVMNZ ((EventType)0xEFA64CF2)AEventArenaCreateCL ((EventType)0xEFA64CC7)BEventArenaDestroy ((EventType)0xEFA64DE5)CEventArenaAlloc ((EventType)0xEFA64A77)DEventArenaFree ((EventType)0xEFA64F6E)EEventSegAlloc ((EventType)0xEF5E9A77)FEventSegFree ((EventType)0xEF5E9F6E)GEventSegMerge ((EventType)0xEF5E93E6)HEventSegSplit ((EventType)0xEF5E95B7)IEventAMCGenCreate ((EventType)0xEFA3C94C)JEventAMCGenDestroy ((EventType)0xEFA3C94D)KEventAMCInit ((EventType)0xEFA3C141)LEventAMCFinish ((EventType)0xEFA3CF14)MEventAMCTraceBegin ((EventType)0xEFA3C26B)NEventAMCScanBegin ((EventType)0xEFA3C5CB)OEventAMCScanEnd ((EventType)0xEFA3C5CE)PEventAMCFix ((EventType)0xEFA3CF18)QEventAMCFixInPlace ((EventType)0xEFA3CF8A)REventAMCFixForward ((EventType)0xEFA3CF8F)SEventAMCReclaim ((EventType)0xEFA3C6EC)TEventTraceStart ((EventType)0xEF26AC52)UEventTraceCreate ((EventType)0xEF26ACC6)VEventTraceDestroy ((EventType)0xEF26ACDE)WEventSegSetGrey ((EventType)0xEF59596A)XEventTraceFlipBegin ((EventType)0xEF26AF7B)YEventTraceFlipEnd ((EventType)0xEF26AF7E)ZEventTraceReclaim ((EventType)0xEF26A6EC)[EventTraceScanSeg ((EventType)0xEF26A559)\EventTraceScanSingleRef ((EventType)0xEF26A556)^EventTraceAccess ((EventType)0xEF26AACC)_EventTracePoll ((EventType)0xEF26AB01)`EventTraceStep ((EventType)0xEF26A52B)aEventTraceFix ((EventType)0xEF26AF18)bEventTraceFixSeg ((EventType)0xEF26AF85)cEventTraceFixWhite ((EventType)0xEF26AF83)dEventTraceScanArea ((EventType)0xEF26A5CA)eEventTraceScanAreaTagged ((EventType)0xEF26A5C2)fEventVMCreate ((EventType)0xEFF3C6EA)gEventVMDestroy ((EventType)0xEFF3DE52)hEventVMMap ((EventType)0xEFF33AB9)iEventVMUnmap ((EventType)0xEFF3043B)jEventIntern ((EventType)0xEF142E64)kEventArenaExtend ((EventType)0xEFA64E82)lEventArenaRetract ((EventType)0xEFA646E2)mEventRootScan ((EventType)0xEF625CA4)nEventLabel ((EventType)0xEF7ABE79)oEventTraceSegGreyen ((EventType)0xEF26A599)pEventBufferReserve ((EventType)0xEFB0FF6E)qEventBufferCommit ((EventType)0xEFB0FFC0)rEventBufferInit ((EventType)0xEFB0FF14)sEventBufferInitSeg ((EventType)0xEFB0F15E)tEventBufferInitRank ((EventType)0xEFB0F16A)uEventBufferInitEPVM ((EventType)0xEFB0F1EF)vEventBufferFinish ((EventType)0xEFB0FFF1)wEventBufferFill ((EventType)0xEFB0FFF7)xEventBufferEmpty ((EventType)0xEFB0FFE3)yEventArenaAllocFail ((EventType)0xEFA64A7F)zEventSegAllocFail ((EventType)0xEF5E9A7F){EventMeterInit ((EventType)0xEF3E2141)|EventMeterValues ((EventType)0xEF3E2FA7)}EventCBSInit ((EventType)0xEFCB5141)~EventTraceStatCondemn ((EventType)0xEF26A5C0)EventTraceStatScan ((EventType)0xEF26A55C)EventTraceStatFix ((EventType)0xEF26A5F8)EventTraceStatReclaim ((EventType)0xEF26A56E)EventArenaWriteFaults ((EventType)0xEFA6436F)EventPoolInitMV ((EventType)0xEFB0713F)EventPoolInitMVFF ((EventType)0xEFB071FF)EventPoolInitMFS ((EventType)0xEFB07135)EventPoolInitEPVM ((EventType)0xEFB071EF)EventPoolInitEPDL ((EventType)0xEFB071E7)EventPoolInitAMS ((EventType)0xEFB071A5)EventPoolInitAMC ((EventType)0xEFB071AC)EventPoolInitAMCZ ((EventType)0xEFB071A2)EventPoolInitAWL ((EventType)0xEFB071A3)EventPoolInitLO ((EventType)0xEFB07170)EventPoolInitSNC ((EventType)0xEFB07154)EventPoolInitMVT ((EventType)0xEFB07132)EventPoolPush ((EventType)0xEFB07B58)EventPoolPop ((EventType)0xEFB07B0B)EventReservoirLimitSet ((EventType)0xEF6E5713)EventCommitLimitSet ((EventType)0xEFC03713)EventSpareCommitLimitSet ((EventType)0xEF5BC713) hEventInit() NOOPiEventFinish() NOOPjEventControl(r,f) (UNUSED(r), UNUSED(f), (Word)0)kEventInternString(s) (UNUSED(s), (Word)0)lEventInternGenString(l,s) (UNUSED(l), UNUSED(s), (Word)0)mEventLabelAddr(a,i) BEGIN UNUSED(a); UNUSED(i); ENDPlock_h ULockSig ((Sig)0x51970CC9) th_h  ring_h RingNONE ((Ring)0)$RingInit(ring) BEGIN Ring _ring = (ring); AVER(_ring != NULL); _ring->next = _ring; _ring->prev = _ring; AVER(RingCheck(_ring)); END/RingFinish(ring) BEGIN Ring _ring = (ring); AVER(RingCheckSingle(_ring)); _ring->next = RingNONE; _ring->prev = RingNONE; END9RingAppend(ring,new) BEGIN Ring _ring = (ring), _new = (new); AVER(RingCheck(_ring)); AVER(RingCheckSingle(_new)); _new->prev = _ring->prev; _new->next = _ring; _ring->prev->next = _new; _ring->prev = _new; ENDFRingInsert(ring,new) BEGIN Ring _ring = (ring), _new = (new); AVER(RingCheck(_ring)); AVER(RingCheckSingle(_new)); _new->prev = _ring; _new->next = _ring->next; _ring->next->prev = _new; _ring->next = _new; ENDSRingRemove(old) BEGIN Ring _old = (old); AVER(RingCheck(_old)); AVER(!RingIsSingle(_old)); _old->next->prev = _old->prev; _old->prev->next = _old->next; _old->next = _old; _old->prev = _old; END`RingNext(ring) ((ring)->next)dRingPrev(ring) ((ring)->prev)gRING_ELT(type,field,node) ((type)(void *)((char *)(node) - (size_t)(&((type)0)->field)))kRING_FOR(node,ring,next) for(node = RingNext(ring), next = RingNext(node); node != (ring); node = (next), next = RingNext(node))ThreadSig ((Sig)0x519286ED) ss_h  tract_h #TractBase(tract) ((tract)->base)&TractPool(tract) ((tract)->pool)'TractP(tract) ((tract)->p)(TractSetP(tract,pp) ((void)((tract)->p = (pp))))TractHasSeg(tract) ((Bool)(tract)->hasSeg)*TractSetHasSeg(tract,b) ((void)((tract)->hasSeg = (b)))+TractWhite(tract) ((tract)->white),TractSetWhite(tract,w) ((void)((tract)->white = (w)))8TRACT_SEG(segReturn,tract) (TractHasSeg(tract) && ((*(segReturn) = (Seg)TractP(tract)), TRUE));TRACT_SET_SEG(tract,seg) (TractSetHasSeg(tract, TRUE), TractSetP(tract, seg))>TRACT_UNSET_SEG(tract) (TractSetHasSeg(tract, FALSE), TractSetP(tract, NULL))nPageTract(page) (&(page)->the.tractStruct)rPageOfTract(tract) PARENT(PageStruct, the.tractStruct, (tract))vPagePool(page) ((page)->the.rest.pool)}PageIsAllocated(page) ((page)->the.rest.pool != NULL)PageType(page) ((page)->the.rest.type)ChunkSig ((Sig)0x519C804C)ChunkArena(chunk) ((chunk)->arena)ChunkPageSize(chunk) ((chunk)->pageSize)ChunkPageShift(chunk) ((chunk)->pageShift)ChunkPagesToSize(chunk,pages) ((Size)(pages) << (chunk)->pageShift)ChunkSizeToPages(chunk,size) ((Count)((size) >> (chunk)->pageShift))CHUNK_OF_ADDR(chunkReturn,arena,addr) (((arena)->chunkCache.base <= (addr) && (addr) < (arena)->chunkCache.limit) ? (*(chunkReturn) = (arena)->chunkCache.chunk, TRUE) : ChunkOfAddr(chunkReturn, arena, addr))AddrPageBase(chunk,addr) AddrAlignDown((addr), ChunkPageSize(chunk))TRACT_OF_ADDR(tractReturn,arena,addr) BEGIN Arena _arena = (arena); Addr _addr = (addr); Chunk _chunk; Index _i; if (CHUNK_OF_ADDR(&_chunk, _arena, _addr)) { _i = INDEX_OF_ADDR(_chunk, _addr); if (BTGet(_chunk->allocTable, _i)) *(tractReturn) = PageTract(&_chunk->pageTable[_i]); else *(tractReturn) = NULL; } else *(tractReturn) = NULL; ENDINDEX_OF_ADDR(chunk,addr) ((Index)ChunkSizeToPages(chunk, AddrOffset((chunk)->base, addr)))PageIndexBase(chunk,i) AddrAdd((chunk)->base, ChunkPagesToSize(chunk, i))TractAverContiguousRange(arena,rangeBase,rangeLimit) BEGIN Chunk _ch = NULL; UNUSED(_ch); AVER(ChunkOfAddr(&_ch, arena, rangeBase) && (rangeLimit) <= _ch->limit); ENDTRACT_TRACT_FOR(tract,addr,arena,firstTract,limit) tract = (firstTract); addr = TractBase(tract); TractAverContiguousRange(arena, addr, limit); for(; tract != NULL; (addr = AddrAdd(addr, (arena)->alignment)), (addr < (limit) ? (tract = PageTract(PageOfTract(tract) + 1)) : (tract = NULL) ))TRACT_FOR(tract,addr,arena,base,limit) TRACT_TRACT_FOR(tract, addr, arena, TractOfBaseAddr(arena, base), limit)mpmst_h protocol_h DERIVE_LOCAL(name) protocol ## nameDERIVE_STRUCT(name) name ## StructDERIVE_ENSURE(name) name ## GetDERIVE_ENSURE_OLD(name) Ensure ## nameDERIVE_ENSURE_INTERNAL(name) protocolGet ## nameDERIVE_GUARDIAN(name) protocol ## name ## GuardianDERIVE_STATIC_STORAGE(name) protocol ## name ## StructProtocolClassSetSuperclassPoly(class,super) (((ProtocolClass)(class))->superclass) = (ProtocolClass)(super)$DEFINE_CLASS(className,var) static Bool DERIVE_GUARDIAN(className) = FALSE; static DERIVE_STRUCT(className) DERIVE_STATIC_STORAGE(className); static void DERIVE_ENSURE_INTERNAL(className)(className); extern className DERIVE_ENSURE(className)(void); className DERIVE_ENSURE(className)(void) { if (DERIVE_GUARDIAN(className) == FALSE) { LockClaimGlobalRecursive(); if (DERIVE_GUARDIAN(className) == FALSE) { DERIVE_ENSURE_INTERNAL(className) (&DERIVE_STATIC_STORAGE(className)); DERIVE_GUARDIAN(className) = TRUE; } LockReleaseGlobalRecursive(); } return &DERIVE_STATIC_STORAGE(className); } extern className DERIVE_ENSURE_OLD(className)(void); className DERIVE_ENSURE_OLD(className)(void) { return DERIVE_ENSURE(className)(); } static void DERIVE_ENSURE_INTERNAL(className) (className var)AINHERIT_CLASS(this,parentName) BEGIN parentName DERIVE_LOCAL(parentName) = DERIVE_ENSURE(parentName)(); *this = *(DERIVE_LOCAL(parentName)); ProtocolClassSetSuperclassPoly(this, DERIVE_LOCAL(parentName)); ENDODEFINE_ALIAS_CLASS(className,typeName,var) typedef typeName className; typedef DERIVE_STRUCT(typeName) DERIVE_STRUCT(className); DEFINE_CLASS(className, var)VProtocolClassSig ((Sig)0x519B60C7)WProtocolInstSig ((Sig)0x519B6014)ProtocolClassSuperclassPoly(class) (((ProtocolClass)(class))->superclass)ClassOfPoly(inst) ((ProtocolInst)(inst)->class)IsSubclassPoly(sub,super) ProtocolIsSubclass((ProtocolClass)(sub), (ProtocolClass)(super))SUPERCLASS(className) ProtocolClassSuperclassPoly(DERIVE_ENSURE(className)())chain_h GenDescSig ((Sig)0x5199E4DE)+PoolGenSig ((Sig)0x519B009E);ChainSig ((Sig)0x519C8A14)XPoolGenNr(gen) ((gen)->nr)/PoolClassSig ((Sig)0x519C7A55)]PoolSig ((Sig)0x519B0019)}MFSSig ((Sig)0x5193F599)MVSig ((Sig)0x5193B999)ReservoirSig ((Sig)0x5196e599)MessageClassSig ((Sig)0x519359c1)MessageSig ((Sig)0x5193e559)SegClassSig ((Sig)0x5195E9C7)SegSig ((Sig)0x5195E999)GCSegSig ((Sig)0x5199C5E9)SegPrefSig ((Sig)0x5195E9B6)BufferClassSig ((Sig)0x519B0FC7)BufferSig ((Sig)0x519B0FFE)SegBufSig ((Sig)0x51959B0F)FormatSig ((Sig)0x519F63A2)ScanStateSig ((Sig)0x5195CA45)TraceSig ((Sig)0x51924ACE)ChunkCacheEntrySig ((Sig)0x519C80CE)ArenaClassSig ((Sig)0x519A6C1A)GlobalsSig ((Sig)0x519970BA)ArenaSig ((Sig)0x519A6E4A)%BoolCheck(b) ((unsigned)(b) <= 1)(FUNCHECK(f) (FunCheck((Fun)f))4WordIsAligned(w,a) (((w) & ((a) - 1)) == 0)7WordAlignUp(w,a) (((w) + (a) - 1) & ~((Word)(a) - 1));WordRoundUp(w,r) (((w)+(r)-1) - ((w)+(r)-1)%(r))>WordAlignDown(w,a) ((w) & ~((Word)(a) - 1))@size_tAlignUp(s,a) ((size_t)WordAlignUp((Word)(s), a))BPointerAdd(p,s) ((void *)((char *)(p) + (s)))CPointerSub(p,s) ((void *)((char *)(p) - (s)))EPointerOffset(base,limit) ((size_t)((char *)(limit) - (char *)(base)))HPointerAlignUp(p,s) ((void *)WordAlignUp((Word)(p), (Align)(s)))KAddrAdd(p,s) ((Addr)PointerAdd((void *)(p), s))LAddrSub(p,s) ((Addr)PointerSub((void *)(p), s))NAddrOffset(b,l) ((Size)(PointerOffset((void *)(b), (void *)(l))))RAddrAlignDown(p,a) ((Addr)WordAlignDown((Word)(p), a))TAlignWord(s) ((Word)(s))VAddrIsAligned(p,a) WordIsAligned((Word)(p), a)WAddrAlignUp(p,a) ((Addr)WordAlignUp((Word)(p), a))YSizeIsAligned(s,a) WordIsAligned((Word)(s), a)ZSizeAlignUp(s,a) ((Size)WordAlignUp((Word)(s), a))[SizeAlignDown(s,a) ((Size)WordAlignDown((Word)(s), a))]SizeRoundUp(s,r) ((Size)WordRoundUp((Word)(s), (Size)(r)))_IndexIsAligned(s,a) WordIsAligned((Word)(s), a)`IndexAlignUp(s,a) ((Index)WordAlignUp((Word)(s), a))aIndexAlignDown(s,a) ((Index)WordAlignDown((Word)(s), a))cAlignIsAligned(a1,a2) WordIsAligned((Word)(a1), a2)iAddrSet(target,value,size) mps_lib_memset(target, (int)(value), size)mAddrCopy(target,source,size) mps_lib_memcpy(target, source, size)qAddrComp(a,b,size) mps_lib_memcmp(a, b, size)wADDR_PTR(type,addr) ((type *)(addr))PoolArena(pool) ((pool)->arena)PoolAlignment(pool) ((pool)->alignment)PoolSegRing(pool) (&(pool)->segRing)PoolFix(pool,ss,seg,refIO) ((*(pool)->fix)(pool, ss, seg, refIO))ClassOfPool(pool) ((pool)->class)SuperclassOfPool(pool) ((PoolClass)ProtocolClassSuperclassPoly((pool)->class))DEFINE_POOL_CLASS(className,var) DEFINE_ALIAS_CLASS(className, PoolClass, var)POOL_SUPERCLASS(className) ((PoolClass)SUPERCLASS(className))TraceSetSingle(trace) BS_SINGLE(TraceSet, (trace)->ti)TraceSetIsSingle(ts) BS_IS_SINGLE(ts)TraceSetIsMember(ts,trace) BS_IS_MEMBER(ts, (trace)->ti)TraceSetAdd(ts,trace) BS_ADD(TraceSet, ts, (trace)->ti)TraceSetDel(ts,trace) BS_DEL(TraceSet, ts, (trace)->ti)TraceSetUnion(ts1,ts2) BS_UNION(ts1, ts2)TraceSetInter(ts1,ts2) BS_INTER(ts1, ts2)TraceSetDiff(ts1,ts2) BS_DIFF(ts1, ts2)TraceSetSuper(ts1,ts2) BS_SUPER(ts1, ts2)TraceSetSub(ts1,ts2) BS_SUB(ts1, ts2)TraceSetComp(ts) BS_COMP(ts)TRACE_SET_ITER(ti,trace,ts,arena) for(ti = 0, trace = ArenaTrace(arena, ti); ti < TraceLIMIT; ++ti, trace = ArenaTrace(arena, ti)) BEGIN if (TraceSetIsMember(ts, trace)) {TRACE_SET_ITER_END(ti,trace,ts,arena) } ENDTRACE_SCAN_BEGIN(ss) BEGIN Shift SCANzoneShift = (ss)->zoneShift; ZoneSet SCANwhite = (ss)->white; RefSet SCANsummary = (ss)->unfixedSummary; Word SCANt; {TRACE_FIX1(ss,ref) (SCANt = (Word)1 << ((Word)(ref) >> SCANzoneShift & (MPS_WORD_WIDTH-1)), SCANsummary |= SCANt, SCANwhite & SCANt)TRACE_FIX2(ss,refIO) ((*(ss)->fix)(ss, refIO))TRACE_FIX(ss,refIO) (TRACE_FIX1(ss, *(refIO)) ? TRACE_FIX2(ss, refIO) : ResOK)TRACE_SCAN_END(ss) } (ss)->unfixedSummary = SCANsummary; ENDDEFINE_ARENA_CLASS(className,var) DEFINE_ALIAS_CLASS(className, ArenaClass, var)ARENA_SUPERCLASS(className) ((ArenaClass)SUPERCLASS(className))ArenaGlobals(arena) (&(arena)->globals)GlobalsArena(glob) PARENT(ArenaStruct, globals, glob)ArenaRootRing(arena) (&(arena)->rootRing)ArenaTraceRing(arena) (&(arena)->traceRing)ArenaThreadRing(arena) (&(arena)->threadRing)ArenaEpoch(arena) ((arena)->epoch)ArenaTrace(arena,ti) (&(arena)->trace[ti])ArenaZoneShift(arena) ((arena)->zoneShift)ArenaAlign(arena) ((arena)->alignment)ArenaGreyRing(arena,rank) (&(arena)->greyRing[rank])ArenaReservoir(arena) (&(arena)->reservoirStruct)DEFINE_SEG_CLASS(className,var) DEFINE_ALIAS_CLASS(className, SegClass, var)SEG_SUPERCLASS(className) ((SegClass)SUPERCLASS(className))ClassOfSeg(seg) ((seg)->class)SegBase(seg) (TractBase((seg)->firstTract))SegLimit(seg) ((seg)->limit)SegPool(seg) (TractPool((seg)->firstTract))SegRankSet(seg) ((RankSet)(seg)->rankSet)SegPM(seg) ((AccessSet)(seg)->pm)SegSM(seg) ((AccessSet)(seg)->sm)SegDepth(seg) ((unsigned)(seg)->depth)SegGrey(seg) ((TraceSet)(seg)->grey)SegWhite(seg) ((TraceSet)(seg)->white)SegNailed(seg) ((TraceSet)(seg)->nailed)SegOfPoolRing(node) (RING_ELT(Seg, poolRing, (node)))SegOfGreyRing(node) (&(RING_ELT(GCSeg, greyRing, (node)) ->segStruct))SegSummary(seg) (((GCSeg)(seg))->summary)SegSetPM(seg,mode) ((void)((seg)->pm = (mode)))SegSetSM(seg,mode) ((void)((seg)->sm = (mode)))SegSetDepth(seg,d) ((void)((seg)->depth = (d)))SegSetNailed(seg,ts) ((void)((seg)->nailed = (ts)))BUFFER_RESERVE(pReturn,buffer,size,withReservoirPermit) (AddrAdd(BufferAlloc(buffer), size) > BufferAlloc(buffer) && AddrAdd(BufferAlloc(buffer), size) <= BufferAP(buffer)->limit ? (*(pReturn) = BufferAlloc(buffer), BufferAP(buffer)->alloc = AddrAdd(BufferAlloc(buffer), size), ResOK) : BufferFill(pReturn, buffer, size, withReservoirPermit))BUFFER_COMMIT(buffer,p,size) (BufferAP(buffer)->init = BufferAlloc(buffer), BufferAP(buffer)->limit != 0 || BufferTrip(buffer, p, size))BufferAP(buffer) (&(buffer)->apStruct)BufferOfAP(ap) PARENT(BufferStruct, apStruct, ap)BufferArena(buffer) ((buffer)->arena)BufferPool(buffer) ((buffer)->pool)BufferBase(buffer) ((buffer)->base)BufferGetInit(buffer) (BufferAP(buffer)->init)BufferAlloc(buffer) (BufferAP(buffer)->alloc)BufferLimit(buffer) ((buffer)->poolLimit)DEFINE_BUFFER_CLASS(className,var) DEFINE_ALIAS_CLASS(className, BufferClass, var)BUFFER_SUPERCLASS(className) ((BufferClass)SUPERCLASS(className))RankSetIsMember(rs,r) BS_IS_MEMBER((rs), (r))RankSetSingle(r) BS_SINGLE(RankSet, (r))RankSetIsSingle(r) BS_IS_SINGLE(r)RankSetUnion(rs1,rs2) BS_UNION((rs1), (rs2))RankSetDel(rs,r) BS_DEL(RankSet, (rs), (r))AddrZone(arena,addr) (((Word)(addr) >> (arena)->zoneShift) & (MPS_WORD_WIDTH - 1))RefSetUnion(rs1,rs2) BS_UNION((rs1), (rs2))RefSetInter(rs1,rs2) BS_INTER((rs1), (rs2))RefSetDiff(rs1,rs2) BS_DIFF((rs1), (rs2))RefSetAdd(arena,rs,addr) BS_ADD(RefSet, rs, AddrZone(arena, addr))RefSetIsMember(arena,rs,addr) BS_IS_MEMBER(rs, AddrZone(arena, addr))RefSetSuper(rs1,rs2) BS_SUPER((rs1), (rs2))RefSetSub(rs1,rs2) BS_SUB((rs1), (rs2))ZoneSetUnion(zs1,zs2) BS_UNION(zs1, zs2)ZoneSetInter(zs1,zs2) BS_INTER(zs1, zs2)ZoneSetDiff(zs1,zs2) BS_DIFF(zs1, zs2)ZoneSetAdd(arena,zs,addr) BS_ADD(ZoneSet, zs, AddrZone(arena, addr))ZoneSetIsMember(arena,zs,addr) BS_IS_MEMBER(zs, AddrZone(arena, addr))ZoneSetSub(zs1,zs2) BS_SUB(zs1, zs2)ZoneSetSuper(zs1,zs2) BS_SUPER(zs1, zs2)ZoneSetComp(zs) BS_COMP(zs)STATISTIC(gather) BEGIN (gather); ENDSTATISTIC_STAT(gather) BEGIN gather; ENDSTATISTIC_WRITE(format,arg) (format), (arg),MessageNodeMessage(node) PARENT(MessageStruct, queueRing, node)message.cJan 17 200703:39:25$Id: //info.ravenbrook.com/project/mps/master/code/message.c#9 $ | AB J. AB , AB 8 AB D AB P AB \)AB AB SAB BM.AB   AB !AB L. <>AB DD.R.|AB F. 4AB DC.`.3AB BO. iAB CZ.`!AB %AB A$SAB FQ.K. AB J.AB P.,AB J.@AB J.TAB J.hAB p AB | AB  AB &+8%MessageTypeCheckb%MessageCheck%MessageClassCheck%MessageArena%MessageGetClass&MessageInitk&MessageFinish&MessagePost#'MessageGetTypeL'MessagePollv'MessageQueueType'MessageDiscardC(MessageEmptyh(MessageGet3)MessageTypeEnableh)MessageTypeDisable)MessageFinalizationRef*MessageGCLiveSizeB*MessageGCCondemnedSizem*MessageGCNotCondemnedSize*MessageNoFinalizationRef*MessageNoGCLiveSize +MessageNoGCCondemnedSize6+MessageNoGCNotCondemnedSizes+messageSrcIdallocTablemessageSrcIdPoolDescribeMethodcontrolPoolStructpageTableLimitgreySegMaxchunkFinishnamepageSizeFormatPadMethodMessageNoFinalizationRefrankrootSerialchunkRingArenaAllocMethodreservoirSizeactiveTracesMessageOnQueueformatfoundationLockPoolBufferClassMethodTraceFixMethodsuperclassthreadRingunitsPerExtentPageMessageDeleteHeadfillMutatorSizepoolSerialBoolMessageGCCondemnedSizeMethodprehistoryArenaFreeMethodMessageGCNotCondemnedSizeunitSizesetRankSetunsigned intGNU C 3.4.6 [FreeBSD] 20060305BufferRankSetMethodextendArenaChunkFinishMethodMessageCheckfillInternalSizeBufferReassignSegMethodreassignSegisCollectedpoolReadyscmidwhiteSegRefCountMessageforwardedSizeforwardedCountArenaSpareCommitExceededMethodProtocolClassMessageClassCheckMessageNoGCLiveSizemergegreyRingfinishshort intAlignArenaDescribeMethodprotocoldescribefillSizesegScanCount_oldPoolmodePoolDebugMixinStructrememberedSummaryRingprevfixRefCountserialEpoch_newsetBufferapStructMessageGCCondemnedSizeemptyMutatorSizeallocMutatorSizePoolFramePushMethodPoolFinishMethodbusyTraceslwPopPendingchunkspansallocBasesuspendedMessageFinalizationRefpollThresholdArenaStructenabledMessageTypesMessageStructmpsVersionStringSizefreeListframePopmessagegcLiveSizeGlobalsStructreservoirStructChainStructbaseArenaClassAccessSetframeptrhistorySegSetRankSummaryMethodFileSrcIdStructlong long unsigned intMessageInitfileoffsettraceshDepthMessageDeleteMethodMessageGethighattrgenCountSegClassStructMessageNoGCCondemnedSizeMessagePostrateFreeBlockStepMethodPoolClassStructglobalsprimaryArenaChunkInitMethodarenaBufferFinishMethodFormatVarietyPoolWalkMethodskipPoolFreeMethodmortalityMessageFinalizationRefMethodwasMarkedproflowmessageRingsize_tmoveAPStructTractStructqueueRingrampEndMessageArenamayMoveMessageFinishBootBlockpoolLimitChunkclampedPoolReclaimMethodunroundedUnitSizeshCachetracedTimereclaimCountpageTablePagesfreePoolFixMethodSegPrefWordmps_lib_stream_sFormatStructpreservedInPlaceCountfreewalkframePushFormattedObjectsStepMethodSegClassgensCountPageStructisMovedsetRankSummarySegDescribeMethodbufferClassPoolDebugMixinSegSetSummaryMethodMessageTypeinsidePollreclaimAddrreservoirLimitcharscannedSizenodereserveBufferStructFormatScanMethodchunkSerialSegFinishMethodMessageDeleteMFSHeaderStructSerialsplitmessage.cFormatClassMethodArenaFormatMoveMethodspacefinalPoolBufferDescribeMethodBufferModelimitMessageTypeCheckMFSStructArenaInitMethodlockrampCountPoolFixEmergencyMethodMessageTypeDisablezoneShiftpagesisGennailedPoolFreeWalkMethodchainva_listChainlong long intMVStructLockStructMessageGCLiveSizeZoneSetTractBufferSegMethoddepthPoolRampEndMethodlocusRingMessageTypeEnabledfixEmergencyTracegreylastWorldCollectPoolDebugMixinMethodpageShiftChunkCacheEntryStructBufferClassStructArenaClassStructrememberedSummaryIndexgreySegCountisMutatorArenaFinishMethodfixedSummarycommittedframePopPendingscansingleCopiedSizeSegSetBufferMethodProtocolInstStructAddrStructrampBeginbufferPoolRampBeginMethodMessageHeadsizeSegStructGenDescStructProtocolInstBufferSetRankSetMethodinitAtFlipPoolStructpoolRing_ringFormatdetachspareCommitLimittopGenPoolWhitenMethodspanPoolStructPoolInitMethodTraceIdpoolaccesschainRingPoolGreyMethodlastTractMutatorFaultContextvarietyemptyInternalSizeSrcIdarenaRingsegRefCountavgSizecopytractListBufferDetachMethodPoolScanMethodFormatCopyMethodlostMessageGCNotCondemnedSizeMethodcapacitywhitenScanStatecondemneddeletebufferRingChunkStructflippedTracesrootScanCountenabledrootScanSizepointlessScanCountallocRankshCacheLimitsegCopiedSizeBufferInitMethodlong intMessageDiscardsetSummarynotCondemnedextendByTraceStateTraceSetstatepreservedInPlaceSizenextSegBufferMethodbuild_timePoolClassProtocolCoerceInstMethodemergencyPoolBlackenMethodwhitepoolStruct__size_tMessageClassStructrootRingMessageGetTypeSegInitMethodFormatSkipMethodsegScanSizegcCondemnedSizecopiedSizefinalizationRefArenaExtendMethodScanStateStructSegSetWhiteMethodunfixedSummarypageTableBasetypeReturnlastTractBasethreadSeriallabelledsetGreytracedSize__va_listwalksetWhitePoolAllocMethodRingStructrankSetlong unsigned intPoolFramePopPendingMethodSrcIdStructBootBlockStructwriteBarrierHitCountMutatorFaultContextStructArenaReservedMethodMessagePollinitAttrbufferLoggingProtocolClassStructclassbufferFillIndexspareCommitExceededFormatIsMovedMethodmaxSizechunkInitPoolAccessMethodMessageGetClasssnapCounttypeattachnailCountunsigned charMessageEmpty__uint32_tspareCommittedinsideShieldRingSegSplitMethodblockPoolStructrefReturnRefSetAllocFrameStructPoolFramePopMethodMessageQueueTypetractStructBufferClassformatSerialendSigsegRingAllocFramehasSegcoerceClassReservoirStructbuild_datesingleScanSizeBufferreadBarrierHitCountpageTableheaderSizecoerceInstdebugMixinchunkCachesigned charSegMergeMethodSegPrefStructmps_lib_FILEPoolBufferFillMethodreclaimSizebufferSerialshort unsigned intzonesmessageReturnbufferEmptyProtocolCoerceClassMethodMessageClassreservedRankSetisFinalPooldoublesingleScanCountfirstTractalignmentPoolBufferEmptyMethodBufferAttachMethodrestSegSetRankSetMethodShiftemptySizeMessageGCLiveSizeMethod/home/hannes/dylan/mps/codeTraceStructMessageTypeEnableglobalRingformatRingcommitLimitrootCopiedSizeMessageNoGCNotCondemnedSizegcNotCondemnedSizeSegSetGreyMethodshCacheIepochblackentracesGCC: (GNU) 3.4.6 [FreeBSD] 20060305.symtab.strtab.shstrtab.rel.text.rel.data.bss.debug_abbrev.rel.debug_info.rel.debug_line.debug_macinfo.rodata.str1.1.rodata.str1.4.rel.rodata.rel.debug_frame.rel.debug_pubnames.rel.debug_aranges.debug_str.comment4 @)% /4F]+B V1R  b3 vq22AL  \4 $*   0گ7%6X h*     *`!=IW4iv , 8 D P \)S|  ! <>13>iI%[Sn,@Thp |  message.cFileSrcIdStructMessageOnQueueMessageTypeEnabledMessageHeadMessageDeleteMessageDeleteHeadmessageSrcIdRingIsSingleMessageTypeCheckMessageCheckMessageClassCheckMessageArenaMessageGetClassMessageInitMessageFinishMessagePostMessageDiscardMessageGetTypeMessagePollMessageQueueTypeMessageEmptyMessageGetMessageTypeEnableMessageTypeDisableMessageFinalizationRefMessageGCLiveSizeMessageGCCondemnedSizeMessageGCNotCondemnedSizeMessageNoFinalizationRefMessageNoGCLiveSizeMessageNoGCCondemnedSizeMessageNoGCNotCondemnedSize!(H#b""&  !%*18?MX_fmt{(39Zev| #.9Tek-<KZiy,;Ziq%4CRap (6DR`n &4BP^lz"0>LZhv  ) 8 G V e t            ( 7 F U d s           : I X g v            + @ V d r           0 > L Z h v         !0@U,>Qfn|$2Od{ />M\kz 0@P`p 0@P`p 0@P`p '6ETcr*4<JXf(i 5CQ_n(Y +Rt'Ro1W}+W;kv&M~  G h s ~     !$!/!D!L!Z!i!t!!!!!!!!! ""*"?"U"d""""""####2#C#R#Z#h#v########## $$)$8$G$V$e$$$$$$$%%#%*%>%I%M%T%h%s%w%~%%%%%%%%%%%%%&&& &-&:&G&T&X&]&q&x&|&&&&&&&&&&&&&&' ''')'4'8'?'R']'a'h'|''''''''''''(( ((!(,(0(5(I(P(T([(n(y(}(((((((((((() )))%)9)A)E)L)Z)n)v)z))))))))))))) **)*-*4*H*T*X*_*s**************++ +'+<+H+L+S+c+o+ t++v    48LPdh|,0HLlp $(LPhl  $poolmrg.o/ 1169001565 1001 1001 100644 68864 ` ELF l4(Uu uÐUEU uu uÉUÉUÉUÉUS]@uuuuu SP …uCC iQЋ]ÐUWVS ]؃Eu} @SuuuWVP …uAjuN0IWhBAV0BJEF8F $ > : ; I I&I : ;  : ; I8 < : ; I  : ;I8 : ;I8  : ; I8  : ; I 8  : ;I 8  : ;I 8  : ; ' II' ' I : ;  : ;  : ; I: ;II!I/ .: ; ' I@ : ; I 4: ; I .: ; ' @ !: ; I "4: ; I#4: ; I $4: ;I % &4: ;I ' (4: ;I).: ;' I@ *.? : ;' I@ +.: ;' @ ,: ;I -.: ;' I@ .: ;I /4: ;I0 : ;1.? : ;' I@ 24: ; I?  5 ENv^int 8W BW _L |q _7zE"B"_$#%#&#'# "w 2 C . Sig l Res E lM "ou Mq #Y $Y %Yu &Y 'W! (W Ref )d  ,Y -Y. .W( /W 1{l 2W 3W 4W 5W 6WP 7W BT :MYa ;^d N Yp @ > D3## E# F# G# WH# eI# J #$ K#( segL#, M9#0 NZ#4 O|#8 sigPC#< AW C ad# (bd# cd# dd# e# f# D1 < D sigC# # 8# 73# !# y#  # x!# 7!#$ Y!#( (d!#, pado!#0 !#4 {#8 F >  GX Gsig`C#a#b#7c3#  d!#e!#f# g!#$yh#,i#0fixj#4nks#8Xls#@lms#Hns#P3 H H23##3#4#d5#6-#7# W8#$(9#(:7#,;^#0<#4=#8>#< ?$#@@K#D Ar#HfixB#L C#P6 D#TXE#X.F#\] G7#`Hh#d I#hJ#lT K#p L #tM) #xNO #|O#sigPC#e I O  O sigC# ti# 73# # ?# # ^# = 5 # {# {#$ {#( {#, #0 m#4 #8 #< h{#@ #D #H @{#L ^#P #T {#X #\ #` #d l#h V#l #p  #t  #x  {#| >  #  {# # # P  5 UT P fixi# Y# # w# sigC# 73#  # # # #$ #( #, #0 l#4 V#8 #< {#@ > #D {#H {#L {#Pj Q@ F   Qsig>C#7?3#@!#A #B# C## R    Rt#p#d# # W# u S   8 SsigC##73#!# {#@ #d# d# #$ #(C#,;"#0#4JZ  T sigC#  # d# d# J# VJ#i UU[v  Utheh"# Seg V[ V sigC# # n #  !#  d#  W#pm "#sm "#  # ##  ##0 W 3%# N!# #$ b j#( sig!C#, XL X3#####W,#h# b#$0#(I#,k#0v#4 #8$#<HJ#@I #DsigC#H Y Z4i Z sig0C# 1# 2# 3#  4# gen5# \?E3 H \ &3## 'o%# (# d)# *# W+!# ,>#$ -_#( N.j#, (/#0 0#4 %1#8 x2##< 3@#@ sig4C#Da ^>D.2( ^ ou%# p#t r4#x t#| Du$# w%# y{# \z{# |{# %}{# # y#  # d#  # !# # )c%# 6## Q!# X# !# >C# 0# ~ # O!# # # %# {# 3{# {# #  #  # k%# s# s#  Y# N%# ^# !# # # %# sigC#Xt _ sigBC# FE!# F# $Is#  J# K# nLs# XMs#( }Ns#0 lOs#8 Ps#@ `S#H V#L Y!#P Z#X ]!#\ ^#d a!#h d#p dci s ez  g h h##  #XR {#\{#`sigC#d nN483 o,2>3 pIO_{3 q,C ru{N3d{ tN{d  ud{ v#N SU w.4@ { xKQfN3f' W R sigC#73#`l## $!# i sigC##p #3Ǎ # ʴ # # #C#+ tzN g dl dd ,Nvd{8 7=Iv TZkv e T v v v jv! $vj /5JNvfZ U[Nvvddd8 UN Nj8= j  jddd{7  #)9vj2 DJZj ek|j} jv Njf] N8  7N{ BH^d{ ioNj{ ģjdd/ Nvd"X=  $Nv /5Kvh V\r v] }N v γN v г /i j &7j BHbNbj syNj( ٞji vl*    # x1 4 : O Nf+ Z ` p o {   w   3w   {w    !N dd !!'!7!ddg B!H!Y!dd  !!l B! z!!!d{O !!!!!!#!#! "gte#`fE#0"h-c!g! i[0"5\L"R""\sig}C#:~A"#"### a""":asigC#A"#=m"""""A""x ##-#-#A"A"A"R"#$sigC## {#!s# "s# #!#$>##QoC$ t##{#X{#\{#`ZY#dvI$#h- #lsigC#p  C$ #$ `##O$#XNO$#{# {#{#x {#}{#!#sigC# Z$R݈"[gdZ  e.%v%W%%!% MRG %%3&{x r##s!#X6t!#`u!#hv{#psigwC#t2>&D&m&24E#the8m&#&8"6%*7!G&&&GrefI#&UU7T3T& refVP$'X _dU^&P e' f2U7e3e& !refe' 4>U!mrg%^'''y$3%#'#sigC# '',(@ ?%#F!#0V'#8sigC#<`(a @JU '"segv(LVU '"segv5)NXU!segvt d{J ֶ 8#YسP# َ'S"mrg%resNP&*N.U!segvt d{J  8S# 'p# 'Vmrg%W#YP$resNP%*&!Q' &!R(! $@$(%)$0wU*}$&*xU+*<%U,$&*S'& &V> 0C0(%)0U*0*!U+0+41$fU,0*S',B&2V-h+9;hvU.mrg:%P&<P-+N&xU,CM3&S,7M3 $segOvx/bP(Q3&&4RS& S'Q+e, U.mrg%V,C3&S,&%@,&!Q'&!R(!+, XU,wS&tp&73W&C3&V/b+9-GXU,R,73S,w( d&C3&P$refP&&P+-U, 'S.mrg% (t%-&!R'(!-.NU,h.P.mrg% ,&~&h&W$iS&3&d(t$resNV&vp&zvl( '& '`&* {R&73S0  0i'+G/(`U,7'3V, ''P,4'R&C)3&Q(*w%0/*&3!S'*8(4!-'0}>N`IU.ss= , =' .mrg=%P$res?NP&7@3p& A'l&C&V$iDS&Eh'<&JPd& P`&wPW&PYP-0emNLU,tlR, l8 /mrgn%%0R[&u!P%0[d&v!P'dm&w!P+s1%U,t$mrg%V& !R&!S%&1(!%@1(!%\1& 'P'(!1O2N(U,t.ref &.!P&73W&C3&S&&P$mrg%V$resNP&'p%*2eu(!'|&!Q(!1T3 NU,t.obj & !R&!p&l&73h$mrg%d'l&'R&V'P$iW&C3&S&&V%<3->&!R'>L(!-3N U,tR, fW$mrg%V&73p& !R&!l&&S$resNR-^40N U,:/S.ss/  ,t/.seg/v/mrg1%$res2NP( 3'K LL#*L^4  U*L^4  U+4M U,XL^4S' 9 & NV*w] U#2#2 #&q$&$2* &p 0&0*&( % &v L&sLj4t /usr/include/usr/include/sys/usr/include/machinering.hcheck.hconfig.hmpstd.hmisc.hstddef.hcdefs.h_null.h_types.h_types.hmpslib.hmpmtypes.hstdarg.hmpm.hevent.heventcom.heventgen.hlock.hth.hss.htract.hbt.hmpmst.hprotocol.hchain.hpoolmrg.hpoolmrg.chrcBcVrrrcBcVrrr= G ;;;ȸ$cdd; ;d esf:VUre*5set,JWeu drrtreVkv9;,<:rկ <=:*K;__GNUCLIKE___OFFSETOF 1?__GNUCLIKE___SECTION 1A__GNUCLIKE_ATTRIBUTE_MODE_DI 1D__GNUCLIKE_CTOR_SECTION_HANDLING 1G__GNUCLIKE_BUILTIN_CONSTANT_P 1N__GNUCLIKE_BUILTIN_VARARGS 1O__GNUCLIKE_BUILTIN_STDARG 1P__GNUCLIKE_BUILTIN_VAALIST 1T__GNUC_VA_LIST_COMPATIBILITY 1X__GNUCLIKE_BUILTIN_NEXT_ARG 1Y__GNUCLIKE_MATH_BUILTIN_RELOPS \__GNUCLIKE_BUILTIN_MEMCPY 1___CC_SUPPORTS_INLINE 1`__CC_SUPPORTS___INLINE 1a__CC_SUPPORTS___INLINE__ 1c__CC_SUPPORTS___FUNC__ 1d__CC_SUPPORTS_WARNING 1f__CC_SUPPORTS_VARADIC_XXX 1h__CC_SUPPORTS_DYNAMIC_ARRAY_INIT 1k__CC_INT_IS_32BIT 1s__GNUC_PREREQ__(ma,mi) (__GNUC__ > (ma) || __GNUC__ == (ma) && __GNUC_MINOR__ >= (mi))__P(protos) protos__CONCAT1(x,y) x ## y__CONCAT(x,y) __CONCAT1(x,y)__STRING(x) #x__XSTRING(x) __STRING(x)__const const__signed signed__volatile volatile__dead2 __attribute__((__noreturn__))__pure2 __attribute__((__const__))__unused __attribute__((__unused__))__used __attribute__((__used__))__packed __attribute__((__packed__))__aligned(x) __attribute__((__aligned__(x)))__section(x) __attribute__((__section__(x)))__pure __attribute__((__pure__))__always_inline __attribute__((__always_inline__))__nonnull(x) __attribute__((__nonnull__(x)))__restrict __predict_true(exp) __builtin_expect((exp), 1)__predict_false(exp) __builtin_expect((exp), 0)__offsetof(type,field) ((size_t)(&((type *)0)->field))__rangeof(type,start,end) (__offsetof(type, end) - __offsetof(type, start))__printflike(fmtarg,firstvararg) __attribute__((__format__ (__printf__, fmtarg, firstvararg)))__scanflike(fmtarg,firstvararg) __attribute__((__format__ (__scanf__, fmtarg, firstvararg)))__format_arg(fmtarg) __attribute__((__format_arg__ (fmtarg)))__printf0like(fmtarg,firstvararg) __attribute__((__format__ (__printf0__, fmtarg, firstvararg)))__strong_reference(sym,aliassym) extern __typeof (sym) aliassym __attribute__ ((__alias__ (#sym)));__weak_reference(sym,alias) __asm__(".weak " #alias); __asm__(".equ " #alias ", " #sym)__warn_references(sym,msg) __asm__(".section .gnu.warning." #sym); __asm__(".asciz \"" msg "\""); __asm__(".previous")__IDSTRING(name,string) __asm__(".ident\t\"" string "\"")__FBSDID(s) __IDSTRING(__CONCAT(__rcsid_,__LINE__),s)__RCSID(s) __IDSTRING(__CONCAT(__rcsid_,__LINE__),s)__RCSID_SOURCE(s) __IDSTRING(__CONCAT(__rcsid_source_,__LINE__),s)__SCCSID(s) __IDSTRING(__CONCAT(__sccsid_,__LINE__),s)__COPYRIGHT(s) __IDSTRING(__CONCAT(__copyright_,__LINE__),s)__DECONST(type,var) ((type)(uintptr_t)(const void *)(var))__DEVOLATILE(type,var) ((type)(uintptr_t)(volatile void *)(var))__DEQUALIFY(type,var) ((type)(uintptr_t)(const volatile void *)(var))__POSIX_VISIBLE 200112__XSI_VISIBLE 600__BSD_VISIBLE 1__ISO_C_VISIBLE 1999* NULL ((void *)0)+ _SYS__TYPES_H_ ! (_MACHINE__TYPES_H_ .__NO_STRICT_ALIGNMENT __GNUC_VA_LIST 2_RUNE_T_DECLARED 8_SIZE_T_DECLARED >_WCHAR_T_DECLARED Boffsetof(type,member) __offsetof(type, member)*SRCID(id,scmid) static SrcIdStruct FileSrcIdStruct = {__FILE__, (scmid), __DATE__, __TIME__}; SrcId id ## SrcId = &FileSrcIdStruct;BEGIN do {> (i)) & 1)BS_UNION(s1,s2) ((s1) | (s2))BS_ADD(ty,s,i) BS_UNION((s), BS_SINGLE(ty, (i)))BS_INTER(s1,s2) ((s1) & (s2))BS_DIFF(s1,s2) BS_INTER((s1), BS_COMP(s2))BS_DEL(ty,s,i) BS_DIFF((s), BS_SINGLE(ty, (i)))BS_SUPER(s1,s2) (BS_INTER((s1), (s2)) == (s2))BS_SUB(s1,s2) BS_SUPER((s2), (s1))BS_IS_SINGLE(s) (((s) & ((s)-1)) == 0)BS_SYM_DIFF(s1,s2) ((s1) ^ (s2)) mpslib_h mps_lib_EOF (mps_lib_get_EOF())mps_lib_stderr (mps_lib_get_stderr())mps_lib_stdout (mps_lib_get_stdout())0AVER(cond) DISCARD(cond)1AVERT(type,val) DISCARD(type ## Check(val))2AVER_CRITICAL(cond) DISCARD(cond)3AVERT_CRITICAL(type,val) DISCARD(type ## Check(val))MASSERT(cond,condstring) BEGIN if (cond) NOOP; else mps_lib_assert_fail(condstring "\n" __FILE__ "\n" STR(__LINE__)); END_NOTREACHED NOOPjCHECKT(type,val) ((val) != NULL && (val)->sig == type ## Sig)pCHECKS(type,val) DISCARD(CHECKT(type, val))qCHECKL(cond) DISCARD(cond)rCHECKD(type,val) DISCARD(CHECKT(type, val))sCHECKD_NOSIG(type,val) DISCARD((val) != NULL)tCHECKU(type,val) DISCARD(CHECKT(type, val))uCHECKU_NOSIG(type,val) DISCARD((val) != NULL)CHECKLVALUE(lv1,lv2) ((void)sizeof((lv1) = (lv2)), (void)sizeof((lv2) = (lv1)), TRUE)CHECKTYPE(t1,t2) (sizeof(t1) == sizeof(t2) && CHECKLVALUE(*((t1 *)0), *((t2 *)0)))CHECKFIELDAPPROX(s1,f1,s2,f2) (sizeof(((s1 *)0)->f1) == sizeof(((s2 *)0)->f2) && offsetof(s1, f1) == offsetof(s2, f2))CHECKFIELD(s1,f1,s2,f2) (CHECKFIELDAPPROX(s1, f1, s2, f2) && CHECKLVALUE(((s1 *)0)->f1, ((s2 *)0)->f2)) mpmtypes_h  '_MACHINE_STDARG_H_ -_VA_LIST_DECLARED 3va_start(ap,last) __builtin_stdarg_start((ap), (last))6va_arg(ap,type) __builtin_va_arg((ap), type):va_copy(dest,src) __builtin_va_copy((dest), (src))>va_end(ap) __builtin_va_end(ap)SigInvalid ((Sig)0x51915BAD)SizeMAX ((Size)-1)AccessSetEMPTY ((AccessSet)0)AccessREAD ((AccessSet)(1<<0))AccessWRITE ((AccessSet)(1<<1))AccessSetWIDTH (2)RefSetEMPTY BS_EMPTY(RefSet)RefSetUNIV BS_UNIV(RefSet)ZoneSetEMPTY BS_EMPTY(ZoneSet)ZoneSetUNIV BS_UNIV(ZoneSet)TraceSetEMPTY BS_EMPTY(TraceSet)TraceSetUNIV ((TraceSet)((1u << TraceLIMIT) - 1))RankSetEMPTY BS_EMPTY(RankSet)RankSetUNIV ((RankSet)((1u << RankLIMIT) - 1))AttrFMT ((Attr)(1<<0))AttrSCAN ((Attr)(1<<1))AttrPM_NO_READ ((Attr)(1<<2))AttrPM_NO_WRITE ((Attr)(1<<3))AttrALLOC ((Attr)(1<<4))AttrFREE ((Attr)(1<<5))AttrBUF ((Attr)(1<<6))AttrBUF_RESERVE ((Attr)(1<<7))AttrBUF_ALLOC ((Attr)(1<<8))AttrGC ((Attr)(1<<9))AttrINCR_RB ((Attr)(1<<10))AttrINCR_WB ((Attr)(1<<11))AttrMOVINGGC ((Attr)(1<<12))AttrMASK (AttrFMT | AttrSCAN | AttrPM_NO_READ | AttrPM_NO_WRITE | AttrALLOC | AttrFREE | AttrBUF | AttrBUF_RESERVE | AttrBUF_ALLOC | AttrGC | AttrINCR_RB | AttrINCR_WB | AttrMOVINGGC)BufferModeATTACHED ((BufferMode)(1<<0))BufferModeFLIPPED ((BufferMode)(1<<1))BufferModeLOGGED ((BufferMode)(1<<2))BufferModeTRANSITION ((BufferMode)(1<<3))RootModeCONSTANT ((RootMode)1<<0)RootModePROTECTABLE ((RootMode)1<<1)RootModePROTECTABLE_INNER ((RootMode)1<<2)STATISTIC_DECL(field) fieldRingNONE ((Ring)0)$RingInit(ring) BEGIN Ring _ring = (ring); AVER(_ring != NULL); _ring->next = _ring; _ring->prev = _ring; AVER(RingCheck(_ring)); END/RingFinish(ring) BEGIN Ring _ring = (ring); AVER(RingCheckSingle(_ring)); _ring->next = RingNONE; _ring->prev = RingNONE; END9RingAppend(ring,new) BEGIN Ring _ring = (ring), _new = (new); AVER(RingCheck(_ring)); AVER(RingCheckSingle(_new)); _new->prev = _ring->prev; _new->next = _ring; _ring->prev->next = _new; _ring->prev = _new; ENDFRingInsert(ring,new) BEGIN Ring _ring = (ring), _new = (new); AVER(RingCheck(_ring)); AVER(RingCheckSingle(_new)); _new->prev = _ring; _new->next = _ring->next; _ring->next->prev = _new; _ring->next = _new; ENDSRingRemove(old) BEGIN Ring _old = (old); AVER(RingCheck(_old)); AVER(!RingIsSingle(_old)); _old->next->prev = _old->prev; _old->prev->next = _old->next; _old->next = _old; _old->prev = _old; END`RingNext(ring) ((ring)->next)dRingPrev(ring) ((ring)->prev)gRING_ELT(type,field,node) ((type)(void *)((char *)(node) - (size_t)(&((type)0)->field)))kRING_FOR(node,ring,next) for(node = RingNext(ring), next = RingNext(node); node != (ring); node = (next), next = RingNext(node))  mpm_h event_h  eventcom_h !EventNameMAX ((size_t)19)"EventCodeMAX ((EventCode)0x0069)&EVENT_0(type) NOOPEVENT_A(type,p0) NOOPEVENT_AW(type,p0,p1) NOOPEVENT_P(type,p0) NOOPEVENT_PAA(type,p0,p1,p2) NOOPEVENT_PAW(type,p0,p1,p2) NOOPEVENT_PAWA(type,p0,p1,p2,p3) NOOPEVENT_PDDWWW(type,p0,p1,p2,p3,p4,p5) NOOPEVENT_PP(type,p0,p1) NOOPEVENT_PPAU(type,p0,p1,p2,p3) NOOPEVENT_PPAWP(type,p0,p1,p2,p3,p4) NOOPEVENT_PPP(type,p0,p1,p2) NOOPEVENT_PPPA(type,p0,p1,p2,p3) NOOPEVENT_PPPU(type,p0,p1,p2,p3) NOOPEVENT_PPPUU(type,p0,p1,p2,p3,p4) NOOPEVENT_PPU(type,p0,p1,p2) NOOPEVENT_PPUU(type,p0,p1,p2,p3) NOOPEVENT_PPUWWW(type,p0,p1,p2,p3,p4,p5) NOOPEVENT_PPWW(type,p0,p1,p2,p3) NOOPEVENT_PPWWW(type,p0,p1,p2,p3,p4) NOOPEVENT_PPWWWUUU(type,p0,p1,p2,p3,p4,p5,p6,p7) NOOPEVENT_PU(type,p0,p1) NOOPEVENT_PW(type,p0,p1) NOOPEVENT_PWA(type,p0,p1,p2) NOOPEVENT_PWAW(type,p0,p1,p2,p3) NOOPEVENT_PWP(type,p0,p1,p2) NOOPEVENT_PWU(type,p0,p1,p2) NOOPEVENT_PWW(type,p0,p1,p2) NOOPEVENT_PWWWWDD(type,p0,p1,p2,p3,p4,p5,p6) NOOPEVENT_PWWWWW(type,p0,p1,p2,p3,p4,p5) NOOPEVENT_PWWWWWWWWW(type,p0,p1,p2,p3,p4,p5,p6,p7,p8,p9) NOOPEVENT_PWWWWWWWWWWWW(type,p0,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11,p12) NOOPEVENT_UUPA(type,p0,p1,p2,p3) NOOPEVENT_UUPP(type,p0,p1,p2,p3) NOOPEVENT_UUPPP(type,p0,p1,p2,p3,p4) NOOPEVENT_WS(type,p0,p1,l1) NOOP:EventEventTime ((EventType)0xEF213E99);EventPoolInit ((EventType)0xEFB07141)EventPoolFree ((EventType)0xEFB07F6E)?EventArenaCreateVM ((EventType)0xEFA64CF3)@EventArenaCreateVMNZ ((EventType)0xEFA64CF2)AEventArenaCreateCL ((EventType)0xEFA64CC7)BEventArenaDestroy ((EventType)0xEFA64DE5)CEventArenaAlloc ((EventType)0xEFA64A77)DEventArenaFree ((EventType)0xEFA64F6E)EEventSegAlloc ((EventType)0xEF5E9A77)FEventSegFree ((EventType)0xEF5E9F6E)GEventSegMerge ((EventType)0xEF5E93E6)HEventSegSplit ((EventType)0xEF5E95B7)IEventAMCGenCreate ((EventType)0xEFA3C94C)JEventAMCGenDestroy ((EventType)0xEFA3C94D)KEventAMCInit ((EventType)0xEFA3C141)LEventAMCFinish ((EventType)0xEFA3CF14)MEventAMCTraceBegin ((EventType)0xEFA3C26B)NEventAMCScanBegin ((EventType)0xEFA3C5CB)OEventAMCScanEnd ((EventType)0xEFA3C5CE)PEventAMCFix ((EventType)0xEFA3CF18)QEventAMCFixInPlace ((EventType)0xEFA3CF8A)REventAMCFixForward ((EventType)0xEFA3CF8F)SEventAMCReclaim ((EventType)0xEFA3C6EC)TEventTraceStart ((EventType)0xEF26AC52)UEventTraceCreate ((EventType)0xEF26ACC6)VEventTraceDestroy ((EventType)0xEF26ACDE)WEventSegSetGrey ((EventType)0xEF59596A)XEventTraceFlipBegin ((EventType)0xEF26AF7B)YEventTraceFlipEnd ((EventType)0xEF26AF7E)ZEventTraceReclaim ((EventType)0xEF26A6EC)[EventTraceScanSeg ((EventType)0xEF26A559)\EventTraceScanSingleRef ((EventType)0xEF26A556)^EventTraceAccess ((EventType)0xEF26AACC)_EventTracePoll ((EventType)0xEF26AB01)`EventTraceStep ((EventType)0xEF26A52B)aEventTraceFix ((EventType)0xEF26AF18)bEventTraceFixSeg ((EventType)0xEF26AF85)cEventTraceFixWhite ((EventType)0xEF26AF83)dEventTraceScanArea ((EventType)0xEF26A5CA)eEventTraceScanAreaTagged ((EventType)0xEF26A5C2)fEventVMCreate ((EventType)0xEFF3C6EA)gEventVMDestroy ((EventType)0xEFF3DE52)hEventVMMap ((EventType)0xEFF33AB9)iEventVMUnmap ((EventType)0xEFF3043B)jEventIntern ((EventType)0xEF142E64)kEventArenaExtend ((EventType)0xEFA64E82)lEventArenaRetract ((EventType)0xEFA646E2)mEventRootScan ((EventType)0xEF625CA4)nEventLabel ((EventType)0xEF7ABE79)oEventTraceSegGreyen ((EventType)0xEF26A599)pEventBufferReserve ((EventType)0xEFB0FF6E)qEventBufferCommit ((EventType)0xEFB0FFC0)rEventBufferInit ((EventType)0xEFB0FF14)sEventBufferInitSeg ((EventType)0xEFB0F15E)tEventBufferInitRank ((EventType)0xEFB0F16A)uEventBufferInitEPVM ((EventType)0xEFB0F1EF)vEventBufferFinish ((EventType)0xEFB0FFF1)wEventBufferFill ((EventType)0xEFB0FFF7)xEventBufferEmpty ((EventType)0xEFB0FFE3)yEventArenaAllocFail ((EventType)0xEFA64A7F)zEventSegAllocFail ((EventType)0xEF5E9A7F){EventMeterInit ((EventType)0xEF3E2141)|EventMeterValues ((EventType)0xEF3E2FA7)}EventCBSInit ((EventType)0xEFCB5141)~EventTraceStatCondemn ((EventType)0xEF26A5C0)EventTraceStatScan ((EventType)0xEF26A55C)EventTraceStatFix ((EventType)0xEF26A5F8)EventTraceStatReclaim ((EventType)0xEF26A56E)EventArenaWriteFaults ((EventType)0xEFA6436F)EventPoolInitMV ((EventType)0xEFB0713F)EventPoolInitMVFF ((EventType)0xEFB071FF)EventPoolInitMFS ((EventType)0xEFB07135)EventPoolInitEPVM ((EventType)0xEFB071EF)EventPoolInitEPDL ((EventType)0xEFB071E7)EventPoolInitAMS ((EventType)0xEFB071A5)EventPoolInitAMC ((EventType)0xEFB071AC)EventPoolInitAMCZ ((EventType)0xEFB071A2)EventPoolInitAWL ((EventType)0xEFB071A3)EventPoolInitLO ((EventType)0xEFB07170)EventPoolInitSNC ((EventType)0xEFB07154)EventPoolInitMVT ((EventType)0xEFB07132)EventPoolPush ((EventType)0xEFB07B58)EventPoolPop ((EventType)0xEFB07B0B)EventReservoirLimitSet ((EventType)0xEF6E5713)EventCommitLimitSet ((EventType)0xEFC03713)EventSpareCommitLimitSet ((EventType)0xEF5BC713)hEventInit() NOOPiEventFinish() NOOPjEventControl(r,f) (UNUSED(r), UNUSED(f), (Word)0)kEventInternString(s) (UNUSED(s), (Word)0)lEventInternGenString(l,s) (UNUSED(l), UNUSED(s), (Word)0)mEventLabelAddr(a,i) BEGIN UNUSED(a); UNUSED(i); ENDPlock_h ULockSig ((Sig)0x51970CC9) th_h ThreadSig ((Sig)0x519286ED) ss_h  tract_h   bt_h BTSize(n) (((n) + MPS_WORD_WIDTH-1) / MPS_WORD_WIDTH * sizeof(Word))BTGet(a,i) ((Bool)(((a)[((i) >> MPS_WORD_SHIFT)] >> ((i) & ~((Word)-1 << MPS_WORD_SHIFT))) & (Word)1))BTSet(a,i) BEGIN (a)[((i)>>MPS_WORD_SHIFT)] |= (Word)1<<((i)&~((Word)-1<>MPS_WORD_SHIFT)] &= ~((Word)1 << ((i) & ~((Word)-1<base)&TractPool(tract) ((tract)->pool)'TractP(tract) ((tract)->p)(TractSetP(tract,pp) ((void)((tract)->p = (pp))))TractHasSeg(tract) ((Bool)(tract)->hasSeg)*TractSetHasSeg(tract,b) ((void)((tract)->hasSeg = (b)))+TractWhite(tract) ((tract)->white),TractSetWhite(tract,w) ((void)((tract)->white = (w)))8TRACT_SEG(segReturn,tract) (TractHasSeg(tract) && ((*(segReturn) = (Seg)TractP(tract)), TRUE));TRACT_SET_SEG(tract,seg) (TractSetHasSeg(tract, TRUE), TractSetP(tract, seg))>TRACT_UNSET_SEG(tract) (TractSetHasSeg(tract, FALSE), TractSetP(tract, NULL))nPageTract(page) (&(page)->the.tractStruct)rPageOfTract(tract) PARENT(PageStruct, the.tractStruct, (tract))vPagePool(page) ((page)->the.rest.pool)}PageIsAllocated(page) ((page)->the.rest.pool != NULL)PageType(page) ((page)->the.rest.type)ChunkSig ((Sig)0x519C804C)ChunkArena(chunk) ((chunk)->arena)ChunkPageSize(chunk) ((chunk)->pageSize)ChunkPageShift(chunk) ((chunk)->pageShift)ChunkPagesToSize(chunk,pages) ((Size)(pages) << (chunk)->pageShift)ChunkSizeToPages(chunk,size) ((Count)((size) >> (chunk)->pageShift))CHUNK_OF_ADDR(chunkReturn,arena,addr) (((arena)->chunkCache.base <= (addr) && (addr) < (arena)->chunkCache.limit) ? (*(chunkReturn) = (arena)->chunkCache.chunk, TRUE) : ChunkOfAddr(chunkReturn, arena, addr))AddrPageBase(chunk,addr) AddrAlignDown((addr), ChunkPageSize(chunk))TRACT_OF_ADDR(tractReturn,arena,addr) BEGIN Arena _arena = (arena); Addr _addr = (addr); Chunk _chunk; Index _i; if (CHUNK_OF_ADDR(&_chunk, _arena, _addr)) { _i = INDEX_OF_ADDR(_chunk, _addr); if (BTGet(_chunk->allocTable, _i)) *(tractReturn) = PageTract(&_chunk->pageTable[_i]); else *(tractReturn) = NULL; } else *(tractReturn) = NULL; ENDINDEX_OF_ADDR(chunk,addr) ((Index)ChunkSizeToPages(chunk, AddrOffset((chunk)->base, addr)))PageIndexBase(chunk,i) AddrAdd((chunk)->base, ChunkPagesToSize(chunk, i))TractAverContiguousRange(arena,rangeBase,rangeLimit) BEGIN Chunk _ch = NULL; UNUSED(_ch); AVER(ChunkOfAddr(&_ch, arena, rangeBase) && (rangeLimit) <= _ch->limit); ENDTRACT_TRACT_FOR(tract,addr,arena,firstTract,limit) tract = (firstTract); addr = TractBase(tract); TractAverContiguousRange(arena, addr, limit); for(; tract != NULL; (addr = AddrAdd(addr, (arena)->alignment)), (addr < (limit) ? (tract = PageTract(PageOfTract(tract) + 1)) : (tract = NULL) ))TRACT_FOR(tract,addr,arena,base,limit) TRACT_TRACT_FOR(tract, addr, arena, TractOfBaseAddr(arena, base), limit)mpmst_h protocol_h DERIVE_LOCAL(name) protocol ## nameDERIVE_STRUCT(name) name ## StructDERIVE_ENSURE(name) name ## GetDERIVE_ENSURE_OLD(name) Ensure ## nameDERIVE_ENSURE_INTERNAL(name) protocolGet ## nameDERIVE_GUARDIAN(name) protocol ## name ## GuardianDERIVE_STATIC_STORAGE(name) protocol ## name ## StructProtocolClassSetSuperclassPoly(class,super) (((ProtocolClass)(class))->superclass) = (ProtocolClass)(super)$DEFINE_CLASS(className,var) static Bool DERIVE_GUARDIAN(className) = FALSE; static DERIVE_STRUCT(className) DERIVE_STATIC_STORAGE(className); static void DERIVE_ENSURE_INTERNAL(className)(className); extern className DERIVE_ENSURE(className)(void); className DERIVE_ENSURE(className)(void) { if (DERIVE_GUARDIAN(className) == FALSE) { LockClaimGlobalRecursive(); if (DERIVE_GUARDIAN(className) == FALSE) { DERIVE_ENSURE_INTERNAL(className) (&DERIVE_STATIC_STORAGE(className)); DERIVE_GUARDIAN(className) = TRUE; } LockReleaseGlobalRecursive(); } return &DERIVE_STATIC_STORAGE(className); } extern className DERIVE_ENSURE_OLD(className)(void); className DERIVE_ENSURE_OLD(className)(void) { return DERIVE_ENSURE(className)(); } static void DERIVE_ENSURE_INTERNAL(className) (className var)AINHERIT_CLASS(this,parentName) BEGIN parentName DERIVE_LOCAL(parentName) = DERIVE_ENSURE(parentName)(); *this = *(DERIVE_LOCAL(parentName)); ProtocolClassSetSuperclassPoly(this, DERIVE_LOCAL(parentName)); ENDODEFINE_ALIAS_CLASS(className,typeName,var) typedef typeName className; typedef DERIVE_STRUCT(typeName) DERIVE_STRUCT(className); DEFINE_CLASS(className, var)VProtocolClassSig ((Sig)0x519B60C7)WProtocolInstSig ((Sig)0x519B6014)ProtocolClassSuperclassPoly(class) (((ProtocolClass)(class))->superclass)ClassOfPoly(inst) ((ProtocolInst)(inst)->class)IsSubclassPoly(sub,super) ProtocolIsSubclass((ProtocolClass)(sub), (ProtocolClass)(super))SUPERCLASS(className) ProtocolClassSuperclassPoly(DERIVE_ENSURE(className)())chain_h GenDescSig ((Sig)0x5199E4DE)+PoolGenSig ((Sig)0x519B009E);ChainSig ((Sig)0x519C8A14)XPoolGenNr(gen) ((gen)->nr)/PoolClassSig ((Sig)0x519C7A55)]PoolSig ((Sig)0x519B0019)}MFSSig ((Sig)0x5193F599)MVSig ((Sig)0x5193B999)ReservoirSig ((Sig)0x5196e599)MessageClassSig ((Sig)0x519359c1)MessageSig ((Sig)0x5193e559)SegClassSig ((Sig)0x5195E9C7)SegSig ((Sig)0x5195E999)GCSegSig ((Sig)0x5199C5E9)SegPrefSig ((Sig)0x5195E9B6)BufferClassSig ((Sig)0x519B0FC7)BufferSig ((Sig)0x519B0FFE)SegBufSig ((Sig)0x51959B0F)FormatSig ((Sig)0x519F63A2)ScanStateSig ((Sig)0x5195CA45)TraceSig ((Sig)0x51924ACE)ChunkCacheEntrySig ((Sig)0x519C80CE)ArenaClassSig ((Sig)0x519A6C1A)GlobalsSig ((Sig)0x519970BA)ArenaSig ((Sig)0x519A6E4A)%BoolCheck(b) ((unsigned)(b) <= 1)(FUNCHECK(f) (FunCheck((Fun)f))4WordIsAligned(w,a) (((w) & ((a) - 1)) == 0)7WordAlignUp(w,a) (((w) + (a) - 1) & ~((Word)(a) - 1));WordRoundUp(w,r) (((w)+(r)-1) - ((w)+(r)-1)%(r))>WordAlignDown(w,a) ((w) & ~((Word)(a) - 1))@size_tAlignUp(s,a) ((size_t)WordAlignUp((Word)(s), a))BPointerAdd(p,s) ((void *)((char *)(p) + (s)))CPointerSub(p,s) ((void *)((char *)(p) - (s)))EPointerOffset(base,limit) ((size_t)((char *)(limit) - (char *)(base)))HPointerAlignUp(p,s) ((void *)WordAlignUp((Word)(p), (Align)(s)))KAddrAdd(p,s) ((Addr)PointerAdd((void *)(p), s))LAddrSub(p,s) ((Addr)PointerSub((void *)(p), s))NAddrOffset(b,l) ((Size)(PointerOffset((void *)(b), (void *)(l))))RAddrAlignDown(p,a) ((Addr)WordAlignDown((Word)(p), a))TAlignWord(s) ((Word)(s))VAddrIsAligned(p,a) WordIsAligned((Word)(p), a)WAddrAlignUp(p,a) ((Addr)WordAlignUp((Word)(p), a))YSizeIsAligned(s,a) WordIsAligned((Word)(s), a)ZSizeAlignUp(s,a) ((Size)WordAlignUp((Word)(s), a))[SizeAlignDown(s,a) ((Size)WordAlignDown((Word)(s), a))]SizeRoundUp(s,r) ((Size)WordRoundUp((Word)(s), (Size)(r)))_IndexIsAligned(s,a) WordIsAligned((Word)(s), a)`IndexAlignUp(s,a) ((Index)WordAlignUp((Word)(s), a))aIndexAlignDown(s,a) ((Index)WordAlignDown((Word)(s), a))cAlignIsAligned(a1,a2) WordIsAligned((Word)(a1), a2)iAddrSet(target,value,size) mps_lib_memset(target, (int)(value), size)mAddrCopy(target,source,size) mps_lib_memcpy(target, source, size)qAddrComp(a,b,size) mps_lib_memcmp(a, b, size)wADDR_PTR(type,addr) ((type *)(addr))PoolArena(pool) ((pool)->arena)PoolAlignment(pool) ((pool)->alignment)PoolSegRing(pool) (&(pool)->segRing)PoolFix(pool,ss,seg,refIO) ((*(pool)->fix)(pool, ss, seg, refIO))ClassOfPool(pool) ((pool)->class)SuperclassOfPool(pool) ((PoolClass)ProtocolClassSuperclassPoly((pool)->class))DEFINE_POOL_CLASS(className,var) DEFINE_ALIAS_CLASS(className, PoolClass, var)POOL_SUPERCLASS(className) ((PoolClass)SUPERCLASS(className))TraceSetSingle(trace) BS_SINGLE(TraceSet, (trace)->ti)TraceSetIsSingle(ts) BS_IS_SINGLE(ts)TraceSetIsMember(ts,trace) BS_IS_MEMBER(ts, (trace)->ti)TraceSetAdd(ts,trace) BS_ADD(TraceSet, ts, (trace)->ti)TraceSetDel(ts,trace) BS_DEL(TraceSet, ts, (trace)->ti)TraceSetUnion(ts1,ts2) BS_UNION(ts1, ts2)TraceSetInter(ts1,ts2) BS_INTER(ts1, ts2)TraceSetDiff(ts1,ts2) BS_DIFF(ts1, ts2)TraceSetSuper(ts1,ts2) BS_SUPER(ts1, ts2)TraceSetSub(ts1,ts2) BS_SUB(ts1, ts2)TraceSetComp(ts) BS_COMP(ts)TRACE_SET_ITER(ti,trace,ts,arena) for(ti = 0, trace = ArenaTrace(arena, ti); ti < TraceLIMIT; ++ti, trace = ArenaTrace(arena, ti)) BEGIN if (TraceSetIsMember(ts, trace)) {TRACE_SET_ITER_END(ti,trace,ts,arena) } ENDTRACE_SCAN_BEGIN(ss) BEGIN Shift SCANzoneShift = (ss)->zoneShift; ZoneSet SCANwhite = (ss)->white; RefSet SCANsummary = (ss)->unfixedSummary; Word SCANt; {TRACE_FIX1(ss,ref) (SCANt = (Word)1 << ((Word)(ref) >> SCANzoneShift & (MPS_WORD_WIDTH-1)), SCANsummary |= SCANt, SCANwhite & SCANt)TRACE_FIX2(ss,refIO) ((*(ss)->fix)(ss, refIO))TRACE_FIX(ss,refIO) (TRACE_FIX1(ss, *(refIO)) ? TRACE_FIX2(ss, refIO) : ResOK)TRACE_SCAN_END(ss) } (ss)->unfixedSummary = SCANsummary; ENDDEFINE_ARENA_CLASS(className,var) DEFINE_ALIAS_CLASS(className, ArenaClass, var)ARENA_SUPERCLASS(className) ((ArenaClass)SUPERCLASS(className))ArenaGlobals(arena) (&(arena)->globals)GlobalsArena(glob) PARENT(ArenaStruct, globals, glob)ArenaRootRing(arena) (&(arena)->rootRing)ArenaTraceRing(arena) (&(arena)->traceRing)ArenaThreadRing(arena) (&(arena)->threadRing)ArenaEpoch(arena) ((arena)->epoch)ArenaTrace(arena,ti) (&(arena)->trace[ti])ArenaZoneShift(arena) ((arena)->zoneShift)ArenaAlign(arena) ((arena)->alignment)ArenaGreyRing(arena,rank) (&(arena)->greyRing[rank])ArenaReservoir(arena) (&(arena)->reservoirStruct)DEFINE_SEG_CLASS(className,var) DEFINE_ALIAS_CLASS(className, SegClass, var)SEG_SUPERCLASS(className) ((SegClass)SUPERCLASS(className))ClassOfSeg(seg) ((seg)->class)SegBase(seg) (TractBase((seg)->firstTract))SegLimit(seg) ((seg)->limit)SegPool(seg) (TractPool((seg)->firstTract))SegRankSet(seg) ((RankSet)(seg)->rankSet)SegPM(seg) ((AccessSet)(seg)->pm)SegSM(seg) ((AccessSet)(seg)->sm)SegDepth(seg) ((unsigned)(seg)->depth)SegGrey(seg) ((TraceSet)(seg)->grey)SegWhite(seg) ((TraceSet)(seg)->white)SegNailed(seg) ((TraceSet)(seg)->nailed)SegOfPoolRing(node) (RING_ELT(Seg, poolRing, (node)))SegOfGreyRing(node) (&(RING_ELT(GCSeg, greyRing, (node)) ->segStruct))SegSummary(seg) (((GCSeg)(seg))->summary)SegSetPM(seg,mode) ((void)((seg)->pm = (mode)))SegSetSM(seg,mode) ((void)((seg)->sm = (mode)))SegSetDepth(seg,d) ((void)((seg)->depth = (d)))SegSetNailed(seg,ts) ((void)((seg)->nailed = (ts)))BUFFER_RESERVE(pReturn,buffer,size,withReservoirPermit) (AddrAdd(BufferAlloc(buffer), size) > BufferAlloc(buffer) && AddrAdd(BufferAlloc(buffer), size) <= BufferAP(buffer)->limit ? (*(pReturn) = BufferAlloc(buffer), BufferAP(buffer)->alloc = AddrAdd(BufferAlloc(buffer), size), ResOK) : BufferFill(pReturn, buffer, size, withReservoirPermit))BUFFER_COMMIT(buffer,p,size) (BufferAP(buffer)->init = BufferAlloc(buffer), BufferAP(buffer)->limit != 0 || BufferTrip(buffer, p, size))BufferAP(buffer) (&(buffer)->apStruct)BufferOfAP(ap) PARENT(BufferStruct, apStruct, ap)BufferArena(buffer) ((buffer)->arena)BufferPool(buffer) ((buffer)->pool)BufferBase(buffer) ((buffer)->base)BufferGetInit(buffer) (BufferAP(buffer)->init)BufferAlloc(buffer) (BufferAP(buffer)->alloc)BufferLimit(buffer) ((buffer)->poolLimit)DEFINE_BUFFER_CLASS(className,var) DEFINE_ALIAS_CLASS(className, BufferClass, var)BUFFER_SUPERCLASS(className) ((BufferClass)SUPERCLASS(className))RankSetIsMember(rs,r) BS_IS_MEMBER((rs), (r))RankSetSingle(r) BS_SINGLE(RankSet, (r))RankSetIsSingle(r) BS_IS_SINGLE(r)RankSetUnion(rs1,rs2) BS_UNION((rs1), (rs2))RankSetDel(rs,r) BS_DEL(RankSet, (rs), (r))AddrZone(arena,addr) (((Word)(addr) >> (arena)->zoneShift) & (MPS_WORD_WIDTH - 1))RefSetUnion(rs1,rs2) BS_UNION((rs1), (rs2))RefSetInter(rs1,rs2) BS_INTER((rs1), (rs2))RefSetDiff(rs1,rs2) BS_DIFF((rs1), (rs2))RefSetAdd(arena,rs,addr) BS_ADD(RefSet, rs, AddrZone(arena, addr))RefSetIsMember(arena,rs,addr) BS_IS_MEMBER(rs, AddrZone(arena, addr))RefSetSuper(rs1,rs2) BS_SUPER((rs1), (rs2))RefSetSub(rs1,rs2) BS_SUB((rs1), (rs2))ZoneSetUnion(zs1,zs2) BS_UNION(zs1, zs2)ZoneSetInter(zs1,zs2) BS_INTER(zs1, zs2)ZoneSetDiff(zs1,zs2) BS_DIFF(zs1, zs2)ZoneSetAdd(arena,zs,addr) BS_ADD(ZoneSet, zs, AddrZone(arena, addr))ZoneSetIsMember(arena,zs,addr) BS_IS_MEMBER(zs, AddrZone(arena, addr))ZoneSetSub(zs1,zs2) BS_SUB(zs1, zs2)ZoneSetSuper(zs1,zs2) BS_SUPER(zs1, zs2)ZoneSetComp(zs) BS_COMP(zs)STATISTIC(gather) BEGIN (gather); ENDSTATISTIC_STAT(gather) BEGIN gather; ENDSTATISTIC_WRITE(format,arg) (format), (arg),! poolmrg_h ;linkOfMessage(message) PARENT(LinkStruct, the.messageStruct, (message))>linkOfRing(ring) PARENT(LinkStruct, the.linkRing, (ring))oMRGSig ((Sig)0x519369B0)zPool2MRG(pool) PARENT(MRGStruct, poolStruct, pool){MRG2Pool(mrg) (&(mrg)->poolStruct)MRGRefSegSig ((Sig)0x51936965)MRGLinkSegSig ((Sig)0x51936915)Seg2LinkSeg(seg) ((MRGLinkSeg)(seg))LinkSeg2Seg(linkseg) ((Seg)(linkseg))Seg2RefSeg(seg) ((MRGRefSeg)(seg))RefSeg2Seg(refseg) ((Seg)(refseg))refPartOfIndex(refseg,index) ((RefPart)SegBase(RefSeg2Seg(refseg)) + (index))linkOfIndex(linkseg,index) ((Link)SegBase(LinkSeg2Seg(linkseg)) + (index))poolmrg.cJan 17 200703:39:25MRGLSEGMRGRSEGMRGFinal extendBy $W Entry queue: at $A Ref $A MRG$Id: //info.ravenbrook.com/project/mps/master/code/poolmrg.c#10 $ | AB I.AB AB L.4 AB @ AB L AB XKAB D^. $AB Fj. T.0GAB b.S.x AB BAB BQ.GAB b.S. AB $BAB BQ.hAB xOAB DK.BAB Bq.$ LAB FD.e. M. X4AB DK.F.J.EAB Dl.4AB FG.k. L.M. g. L.M. U. lAB BN.$`AB FS..L;AB  AB FG. (AB FJ.$AB FG.X.$AB FV.o.  8AB DL. GAB b.S. AB  qAB BT. AB 5U*EnsureMRGLinkSegClass*EnsureMRGRefSegClasss1MRGRegisterO2MRGDeregisterv4MRGPoolClassGet4EnsureMRGPoolClass4PoolClassMRG 5poolmrgSrcId allocTablegcSegStructRefPartMRGRefSegClassGetPoolDescribeMethodcontrolPoolStructpageTableLimitMRGInitgreySegMaxchunkFinishnamepageSizeFormatPadMethodMRGFinishrankrootSerialchunkRingArenaAllocMethodMRGFinalizereservoirSizeactiveTracesformatfoundationLockPoolBufferClassMethodTraceFixMethodsuperclasspoolmrg.cthreadRingunitsPerExtentPagefillMutatorSizerefPartBasepoolSerialMRGGuardianInitBoolMessageGCCondemnedSizeMethodprehistoryArenaFreeMethodMRGPoolClassGetunitSizesetRankSetunsigned intGNU C 3.4.6 [FreeBSD] 20060305BufferRankSetMethodmrgRingextendArenaChunkFinishMethodfillInternalSizeBufferReassignSegMethodreassignSegnGuardiansisCollectedpoolReadyMRGScanscmidwhiteSegRefCountMessageforwardedSizeforwardedCountMRGRefSegStructArenaSpareCommitExceededMethodProtocolClasslinkmergegreyRingfinishshort intrefSegReturnAlignArenaDescribeMethodprotocolMRGLinkSegClassGetdescribefillSizesegScanCount_oldPoolmodePoolDebugMixinStructrememberedSummaryRingprevfixRefCountserialEpochmessageStructsetBufferapStructMRGRefSegClassStructemptyMutatorSizefailRefPartSegAllocallocMutatorSizeMRGRefPartOfLinkPoolFramePushMethodPoolFinishMethodbusyTraceslwPopPendingchunkprotocolGetMRGPoolClassspansallocBaseMRGLinkSegClasssuspendedpollThresholdArenaStructenabledMessageTypesMessageStructmpsVersionStringSizefreeListframePopmessagegcLiveSizeGlobalsStructreservoirStructChainStructRefPartStructbaseArenaClassMRGRefSegInitAccessSetframeptrhistoryMRGDeregisterSegSetRankSummaryMethodFileSrcIdStructlong long unsigned intsuperfileoffsettraceprotocolMRGLinkSegClassGuardianshDepthMessageDeleteMethodhighattrgenCountSegClassStructMRGDescriberateFreeBlockStepMethodjunkPoolClassStructglobalsprimaryArenaChunkInitMethodfreeNodearenaBufferFinishMethodFormatVarietyMRGLinkSegPoolWalkMethodskipMRGRefSegScanPoolFreeMethodmortalityMessageFinalizationRefMethodwasMarkedGCSegClassproflowMRGMessageDeletemessageRingsize_tmovesegLinkAPStructTractStructqueueRingrampEndfreeRingmayMoveMRGMessageFinalizationRefBootBlockpoolLimitChunkMRGStructclampedPoolReclaimMethodunroundedUnitSizeMRGRefPartRefshCachereclaimCountpageTablePagesfreePoolFixMethodMRGPoolClassStructSCANwhiteSegPrefWordmps_lib_stream_sFormatStructpreservedInPlaceCountfreewalkframePushFormattedObjectsStepMethodargsSegClassgensCountPageStructisMovedpoolmrgSrcIdsetRankSummarySegDescribeMethodsummarybufferClassPoolDebugMixinSegSetSummaryMethodMessageTypeinsidePolllinkSegSizereclaimMRGRefSegClassAddrreservoirLimitMRGLinkSegCheckcharprotocolMRGPoolClassGuardianscannedSizenodeprotocolAbstractPoolClassreserveBufferStructFormatScanMethodchunkSerialSegFinishMethodMRGRefPartSetRefMFSHeaderStructSerialMRGMessageClassStructLockStructsplitFormatClassMethodArenaFormatMoveMethodspacefinalPoolBufferDescribeMethodBufferModelimitMFSStructArenaInitMethodlockrampCountrefAddrPoolFixEmergencyMethodMRGCheckzoneShiftstreampagesrefsegisGennailedPoolFreeWalkMethodchainva_listMRGPoolClassMRGRefPartRefAddrChainprotocolMRGRefSegClassGuardianlong long intMVStructtracedTimeZoneSetTractBufferSegMethoddepthPoolRampEndMethodlocusRingprotocolSegClassfixEmergencyTracegreylastWorldCollectPoolDebugMixinMethodpageShiftreservoirPermitChunkCacheEntryStructBufferClassStructArenaClassStructrememberedSummaryIndexgreySegCountisMutatorArenaFinishMethodfixedSummarycommittedframePopPendingfailLinkSegAllocscansingleCopiedSizeSegSetBufferMethodindexProtocolInstStructAddrStructrampBeginbufferPoolRampBeginMethodEnsureMRGLinkSegClasssizeSegStructGenDescStructProtocolInstsegStructBufferSetRankSetMethodLinkStructinitAtFlipPoolStructnextNodepoolRing_ringFormatdetachspareCommitLimittopGenPoolWhitenMethodspanPoolStructPoolInitMethodTraceIdpoolMRGLinkSegStructaccessMRGRefSegCheckchainRingPoolGreyMethodlastTractMutatorFaultContextvarietyprotocolGCSegClassemptyInternalSizeSrcIdarenaRingsegRefCountavgSizecopytractListBufferDetachMethodSCANzoneShiftthisPoolScanMethodFormatCopyMethodlostMessageGCNotCondemnedSizeMethodcapacitywhitenScanStatecondemneddeletebufferRingChunkStructflippedTracesrootScanCountenabledrootScanSizepointlessScanCountallocRankshCacheLimitsegCopiedSizeBufferInitMethodlong intsetSummaryprotocolMRGPoolClassStructnotCondemnedextendByTraceStateLinkTraceSetSCANtstatepreservedInPlaceSizenextSegBufferMethodbuild_timeEnsureMRGPoolClassentryRingMRGLinkSegInitlinkRingPoolClassProtocolCoerceInstMethodlinkSegemergencyPoolBlackenMethodsegRefPartwhitepoolStruct__size_tMessageClassStructrootRingprotocolMRGLinkSegClassStructSegInitMethodFormatSkipMethodsegScanSizegcCondemnedSizecopiedSizewithReservoirPermitfinalizationRefArenaExtendMethodScanStateStructSegSetWhiteMethodunfixedSummarypageTableBaselinkBaselastTractBasethreadSeriallabelledsetGreytracedSize__va_listrefSegwalksetWhitePoolAllocMethodRingStructrankSetlong unsigned intPoolFramePopPendingMethodSrcIdStructBootBlockStructwriteBarrierHitCountMutatorFaultContextStructArenaReservedMethodMRGSegPairCreateinitAttrbufferLoggingProtocolClassStructclassbufferFillIndexspareCommitExceededFormatIsMovedMethodmaxSizechunkInitPoolAccessMethodMRGLinkSegClassStructsnapCounttypeattachnailCountunsigned char__uint32_tspareCommittedinsideShieldMRGSegPairDestroyRingSegSplitMethodrefPartblockPoolStructMRGRefSegrefReturn_newRefSetAllocFrameStructPoolFramePopMethodtractStructMRGGuardiansPerSegBufferClassformatSerialAbstractPoolClassPoolClassMRGendSigsegRingAllocFramehasSegcoerceClassReservoirStructbuild_datesingleScanSizeBufferreadBarrierHitCountpageTablerefRingheaderSizecoerceInstdebugMixinchunkCacheprotocolGetMRGRefSegClasssigned charSegMergeMethodSegPrefStructmps_lib_FILEPoolBufferFillMethodreclaimSizebufferSerialshort unsigned intzonesEnsureMRGRefSegClassbufferEmptyProtocolCoerceClassMethodMRGRegisterMessageClassreservedRankSetisFinalPoolprotocolGetMRGLinkSegClassdoublesingleScanCountfirstTractalignmentPoolBufferEmptyMethodBufferAttachMethodrestSegSetRankSetMethodShiftemptySizeMessageGCLiveSizeMethod/home/hannes/dylan/mps/codelinksegTraceStructprotocolMRGRefSegClassStructtotalReturnglobalRingformatRingcommitLimitrootCopiedSizeSCANsummarygcNotCondemnedSizeGCSegStructSegSetGreyMethodshCacheIepochblackentracesGCC: (GNU) 3.4.6 [FreeBSD] 20060305.symtab.strtab.shstrtab.rel.text.rel.data.bss.debug_abbrev.rel.debug_info.rel.debug_line.debug_macinfo.rodata.str1.1.rodata.str1.4.rel.rodata.rel.debug_frame.rel.debug_pubnames.rel.debug_aranges.debug_str.comment4  8) @ % 8/ h 4 F 5B VCR  buFUxq2ʾm28B|  ,  l  0]%`3      );L4 U@ eL tXK0GG LB.LK$BehxxOB LX4 El `L;)5 8=Zu qx 3 HV`mx(*8? GO bw poolmrg.cFileSrcIdStructMRGRefPartRefMRGRefPartRefAddrMRGRefPartSetRefMRGCheckMRGLinkSegCheckMRGRefSegCheckMRGLinkSegInitMRGLinkSegClassGetMRGRefSegInitMRGRefSegClassGetprotocolMRGLinkSegClassGuardianprotocolMRGLinkSegClassStructprotocolGetMRGLinkSegClassprotocolMRGRefSegClassGuardianprotocolMRGRefSegClassStructprotocolGetMRGRefSegClassMRGGuardiansPerSegMRGRefPartOfLinkMRGGuardianInitMRGMessageDeleteMRGMessageFinalizationRefMRGMessageClassStructMRGSegPairDestroyMRGSegPairCreateMRGFinalizeMRGRefSegScanMRGInitMRGFinishMRGDescribeMRGScanprotocolMRGPoolClassGuardianprotocolMRGPoolClassStructprotocolGetMRGPoolClasspoolmrgSrcIdArenaPeekArenaPokeSegSetRankSetLockClaimGlobalRecursiveLockReleaseGlobalRecursiveEnsureMRGLinkSegClassSegClassGetmemcpySegClassMixInNoSplitMergeEnsureMRGRefSegClassGCSegClassGetSegOfAddrMessageArenaPoolOfAddrMessageFinishArenaReadMessageNoGCLiveSizeMessageNoGCCondemnedSizeMessageNoGCNotCondemnedSizeSegFreeSegPrefDefaultSegAllocMessageInitMessagePostRingIsSingleMRGRegisterMRGDeregisterWriteFMRGPoolClassGetEnsureMRGPoolClassAbstractPoolClassGetPoolTrivGreyPoolTrivBlackenPoolClassMRG 4,568@7FQ\i8q:;< 78 ->;;F<M [?@*A5B{CGGH9)IPH\=iIGAHJRKLL<L O  OY  _ O  7    8  P! R2 ;?  [ b i Sp Tw ~  P $ (,0D4E8F 1!1%1*11181?1M1X1_1f1m1t1{1111111111111(13191Z1e1v1|111111111111 11#1.191T1e1k111111111111-1<1K1Z1i1y11111111111,1;1Z1i1q11111111111%141C1R1a1p111111111 11(161D1R1`1n1111111111 11&141B1P1^1l1z11111111111"101>1L1Z1h1v1111111 1 1% 14 1C 1R 1a 1p 1 1 1 1 1 1 1 1 1 1 1 1$ 13 1B 1Q 1` 1o 1~ 1 1 1 1 1 1 1 1 1 1' 1E 1T 1c 1r 1 1 1 1 1 1 1 1 1 1 1 1& 16 1K 1a 1o 1} 1 1 1 1 1 1 1 1 1 1% 1; 1I 1W 1e 1s 1 1 1 1 1 1 1 1 1 111,1;1K1`11111111%171I1`1h1w111111111 11%131A1O1]1k1y111111111151J1R1a1p11111111111141I1R1a1p111111111111.1>1N1^1n1~11111111111.1>1N1^1n1~111111111131J1Y1h1w1111111111 11+1:1I1Y1j1p1111111111"1?1`1k1111$1A1m1x1111111111#111?1M1[1j1111-1J1l1w11111%1K1111111:1[1}1111181_1111%1L1s11111181i1111 1* 1P 1q 1 1 1 1 1 1!18!1Z!1e!1p!1!1!1!1!1!1!1!1!1"1"1%"11"1B"1W"1m"1{"1"1"1"1"1"1#14#1C#1Y#1g#1u#1#1#1#1#1#1#1#1#1#1#1 $1$1'$1D$1P$1_$1h$1v$1$1$1$1$1$1$1$1$1%1%1%1)%14%1@%1L%1X%1d%1v%1%1%1%1%1 &1&14&1I&1Q&1v&1&1&1&1&1&&&1&1'1 '''1)'10'4';'1I'1j'1u'y''1'1'1'1'1'1'1(1(11(1<(@(G(1e(1p(t({(1(1(((1(1(1(1(1)1)1:)1E)I)^)1l)1z)1)1)1)1)1)1)))1** *1*1'*13*1?*1K*O*W*1c*g*r*1z*~**1***1*1*1*1***1***1*+ +1++!+15+1A+E+Z+1m+1y+}++1+1+1+1+1+1++,1,1),-,2,1A,E,J,1X,1j,1r,v,},1,1,1,1,1,,,1,1,1-1-1+-1>-1F-J-Q-1n-1~---1---1-1---1-1-1.1.1,.1F.1U.1d.1p.1.1.1.1..1..1...1.1.1.1 /1//"/11/5/:/1L/1X/\/q/1/1/1/1/1///1/1 0101,0180<0C01Q01p0t0y010001000101000101011111+1/1411E1I1N11]1a1f11y11111111111111212221+2/2421B21U21a2e2l21212121212221213131%3)3.31=3A3F31Y31e3i3p31~313131313131333141R41_41k41x414441444144414441414441 5 5153 51-5251?5D51Q5V51c5h51u5z515515    .4.8L.Ph.l......0.4P.Tp.t.....(.,L.Pl.p.... ,.0P.Tx.|.....poolmfs.o/ 1169001565 1001 1001 100644 56032 ` ELF X4(UÉUEUVS]U RC SX\L!K\S`ȉֺCdChClCpQ[^UWVS }GltvXWv\p؃uFp[Qe[^_ÉUWVS u Vhu{ uVv\PEP …u]uv VlPFlNdv`E9s)HƉ}E}B9rChEЍe[^_ÍvUMU AhQhÐUEjplhphh9pdhSp\hjp`h|pXhu @U=u1=u h .v ÐUÍvUVS]ƃhPSsCCtCC C$pC(C,`Cxte[^ÐUÍvUC% $ > $ > : ; I I&I : ;  : ; I8 < : ; I  : ;I8 : ;I8  : ; I8  : ; I 8  : ;I 8  : ;I 8  : ; ' II' ' I : ;  : ;  : ; I: ;II!I/ .? : ; ' I@ 4: ; I : ; I .: ; ' I@ !: ; I "4: ; I#.: ; ' @ $4: ; I % &.? : ;' I@ '.: ;' @ (: ;I )4: ;I *.? : ;' I@ +: ;I ,4: ;I-4: ; I?  '|qint5 8Woh \ _L | o7z;Eu ""$#%#1&# '# " 2 N . Sigl ResE l"ou  .#YJ$Y%Y&Y'WE(W Ref)d ,Y -Yj .WH/WP1{ 2W 3W 4W5Wi6W7W BT:MY3;^d KY2 @> DX!# VE# 2 F# dG4# H_# I|# J#$ K>#( segL#, M#0 dN#4 O#8 sigPC#<AWC dad# d bd# cd# dd# < e# f# D<D sigC# I# [ 8# {# { # ~# # ;# \#$ [~#( #, pad#0 #4 p{#8F YG~ XGsig`C#Ia#b#{c# { d# e#f# g#$~h#,i#0fixjH#4 ks#8ils#@ms#Hc ns#P/H<H2X!#V3#2 4#5#6-#d7d# 8#$d 9#(:#,;#0<8#4 =d#8 >#< ?#@k@#D A#HfixBH#L Cx#PD#T E#X#F#\G#`<H#d I3#hJZ#lK#pL#tM#xN#|oO#sigPC#J O O sigC# ti# {# n# +# # R# H 5 # {# {#$ {#( #{#, l #0 ?#4 . #8 D #< <{#@ #D #H | {#L c#P <#T {#X =#\ #` #d #h #l R#p Q  #t = #x / {#|  #  {# # # P  5 TP fix # Y# n# 7# sigC# {# s # t# # #$ =#( #, #0 #4 #8 =#< /{#@ #D {#H {#L {#PV Q@ F  cQsig>C#{?# @#A #B#EC!# R   R #p#od#n # W# GS    8SsigC#I#{## [{# #od#d# #$ #(C#,f` #0#4J T sigC#  # od# d# FJ# 0J#UU[vPUtheh6 # SegV[7 V sigC# [# s #  #  d#  W#pm "#sm "#  #n #&  ##<XflYLXX!#V#2 #d## _#  #$V#(x#, #0d#4c8#8#<y#@d)#DsigC#HZdjZ sig0C# 1# 2# 3# 4# gen5#t\D H\ &X!# V'p## 2 (# )# d*# +# ?,#$ -#( .#, d /2#0 0s#4 1#8 J2#< 3#@ sig4C#D|^(^ Lov## Ip#t r#x t#| u6## SwA## y{# 0z{# @|{# }{# # ~# 0  # Td# T # # # d## !# %# # # C# P# # # b# O# y## \{# o {# {# #  #  # ## s# s# Y# ## #  # e# @# ## sigC#Et_ sigBC# E# F# Is# J# MK# Ls# iMs#( zNs#0 Os#8 c Ps#@ S#H nV#L Y#P 0Z#X ]#\ y^#d "a#h U d#pG d #e g.4 !hht!# #X{#\{#`sigC#dnN8 o=p{Lqr2Nd{t=CgNgmY{d Ku~d{\vN Sw xN'/N /!@Ffdl(qwddNvd{8%vK v %!'8vCI_vjpv jv vjrNv)Nvvddd8a ?E_Nj8jp|jjddd{ j vjj\  j'->jvIOdNj ouN8Ng{d{ 8Nggj{CIdjddouNvd" ȤNv! v\ v #BNB vSYxN v/SU ҙj jNj#3Nj#>DZj#ekv5l5 ݖf޽x N  !;N ddFL\ddgm~ddF gdd{jF\ #8# 6 g e#fE#U hc g Pi[U k\q w  |\sig}C#~f #{ #'!# O a   asigC#f #9m!!!!!! f  %x2!8!R!R!f f f |w !A $sigC##  {#!s# "s# ##A $c!!<Q~ oh"tt!#g{#X {#\[{#` Y#d3"#h  #lsigC#p"5 7"#h"!6# `t!#p"#X "# {# {#{#{# {##sigC# "!:gd  Ee#v#X### MFS!#!)###$)\ ,{#'8"<$ ?# U@#e$- I UmfsH#P $ PNpU! OSargO8R Q{Q[Q{R"mfsR#{SP#!% spU! rWt P$mfsu#V%v } S % N]U!gP! V!2 {!$f$R$resNP$mfs#S%D P$iYR YQ[{Vodp$W $l#O&`sU! QolddR!2 {"h$"mfs# &)NtU! P!  "mfs#$resNPL  !& &U&Q &U'#' wU(  &S%5) V&xU*s' U+mfs#,{&-: &) ) & t /usr/include/usr/include/sys/usr/include/machinepoolmfs.hmpm.hconfig.hmpstd.hmisc.hstddef.hcdefs.h_null.h_types.h_types.hcheck.hmpslib.hevent.heventcom.hmpmtypes.hstdarg.heventgen.hlock.hth.hring.hss.htract.hbt.hmpmst.hprotocol.hchain.hpoolmfs.c>?f/,?;;d::rrv.=o:r 2=MX:*Kd?::uVz9 U2WVV  V:= :<.cBcrrrrrrrrdVY9__STDC_HOSTED__ 1__GNUC__ 3__GNUC_MINOR__ 4__GNUC_PATCHLEVEL__ 6__SIZE_TYPE__ unsigned int__PTRDIFF_TYPE__ int__WCHAR_TYPE__ int__WINT_TYPE__ unsigned int __GXX_ABI_VERSION 1002 __SCHAR_MAX__ 127 __SHRT_MAX__ 32767 __INT_MAX__ 2147483647 __LONG_MAX__ 2147483647L__LONG_LONG_MAX__ 9223372036854775807LL__WCHAR_MAX__ 2147483647__CHAR_BIT__ 8__FLT_EVAL_METHOD__ 2__FLT_RADIX__ 2__FLT_MANT_DIG__ 24__FLT_DIG__ 6__FLT_MIN_EXP__ (-125)__FLT_MIN_10_EXP__ (-37)__FLT_MAX_EXP__ 128__FLT_MAX_10_EXP__ 38__FLT_MAX__ 3.40282347e+38F__FLT_MIN__ 1.17549435e-38F__FLT_EPSILON__ 1.19209290e-7F__FLT_DENORM_MIN__ 1.40129846e-45F__FLT_HAS_INFINITY__ 1__FLT_HAS_QUIET_NAN__ 1__DBL_MANT_DIG__ 53 __DBL_DIG__ 15!__DBL_MIN_EXP__ (-1021)"__DBL_MIN_10_EXP__ (-307)#__DBL_MAX_EXP__ 1024$__DBL_MAX_10_EXP__ 308%__DBL_MAX__ 1.7976931348623157e+308&__DBL_MIN__ 2.2250738585072014e-308'__DBL_EPSILON__ 2.2204460492503131e-16(__DBL_DENORM_MIN__ 4.9406564584124654e-324)__DBL_HAS_INFINITY__ 1*__DBL_HAS_QUIET_NAN__ 1+__LDBL_MANT_DIG__ 53,__LDBL_DIG__ 15-__LDBL_MIN_EXP__ (-16381).__LDBL_MIN_10_EXP__ (-4931)/__LDBL_MAX_EXP__ 163840__LDBL_MAX_10_EXP__ 49321__DECIMAL_DIG__ 172__LDBL_MAX__ 1.1897314953572316e+4932L3__LDBL_MIN__ 3.3621031431120935e-4932L4__LDBL_EPSILON__ 2.2204460492503131e-16L5__LDBL_DENORM_MIN__ 7.4653686412953080e-4948L6__LDBL_HAS_INFINITY__ 17__LDBL_HAS_QUIET_NAN__ 18__REGISTER_PREFIX__ 9__USER_LABEL_PREFIX__ :__VERSION__ "3.4.6 [FreeBSD] 20060305";__OPTIMIZE__ 1<__FINITE_MATH_ONLY__ 0=__STRICT_ANSI__ 1@__i386 1A__i386__ 1B__tune_i386__ 1C__FreeBSD__ 6D__unix 1E__unix__ 1F__KPRINTF_ATTRIBUTE__ 1J__FreeBSD_cc_version 602001K__ELF__ 1_REENTRANT 1CONFIG_PROD_DYLAN 1CONFIG_VAR_HI 1NDEBUG 1#poolmfs_h  mpm_h config_h !CONFIG_DEBUG "CHECK_DEFAULT CheckNONE6CHECK_NONE 7MPS_ASSERT_STRING "nonasserted"?EVENT_NONE @MPS_LOG_STRING "nonlogging"EDIAGNOSTICS FMPS_DEBUG_STRING "debug"LMPS_VARIETY_STRING MPS_ASSERT_STRING "." MPS_LOG_STRING "." MPS_DEBUG_STRINGRmpstd_h MPS_PF_FRI4GC MPS_PF_STRING "fri4gc"MPS_OS_FR MPS_ARCH_I4 MPS_BUILD_GC MPS_T_WORD unsigned longMPS_WORD_WIDTH 32MPS_WORD_SHIFT 5MPS_PF_ALIGN 4EPVMDefaultSubsequentSegSIZE (64ul * 1024)ARENA_CONTROL_EXTENDBY ((Size)4096)ARENA_CONTROL_AVGSIZE ((Size)32)ARENA_CONTROL_MAXSIZE ((Size)65536)ArenaPollALLOCTIME (65536.0)ARENA_ZONESHIFT ((Shift)20)ARENA_CLIENT_PAGE_SIZE ((Size)8192)ArenaDefaultZONESET (ZoneSetUNIV << (MPS_WORD_WIDTH / 2))SegPrefDEFAULT { SegPrefSig, TRUE, ArenaDefaultZONESET, FALSE, FALSE, (Serial)0, }LDHistoryLENGTH ((Size)4)StackProbeDEPTH ((Size)0)ShieldCacheSIZE ((size_t)16)ShieldDepthWIDTH (4)VMANPageALIGNMENT ((Align)4096)VMJunkBYTE ((unsigned char)0xA9)TraceLIMIT ((size_t)1)TraceCopyScanRATIO (1.5)RememberedSummaryBLOCK 15EventBufferSIZE ((size_t)4096)EventStringLengthMAX ((size_t)255)ASSERT_BUFFER_SIZE ((Size)512)MPS_PROD_STRING "dylan"MPS_PROD_DYLAN ARENA_INIT_SPARE_COMMIT_LIMIT ((Size)10uL*1024uL*1024uL)THREAD_MULTI PROTECTION DONGLE_NONE PROD_CHECK_DEFAULT CheckSHALLOWARENA_SIZE ((Size)1<<30)misc_h '_STDDEF_H_ )%_SYS_CDEFS_H_ +__BEGIN_DECLS ,__END_DECLS 8__GNUCLIKE_ASM 39__GNUCLIKE_MATH_BUILTIN_CONSTANTS =__GNUCLIKE___TYPEOF 1>__GNUCLIKE___OFFSETOF 1?__GNUCLIKE___SECTION 1A__GNUCLIKE_ATTRIBUTE_MODE_DI 1D__GNUCLIKE_CTOR_SECTION_HANDLING 1G__GNUCLIKE_BUILTIN_CONSTANT_P 1N__GNUCLIKE_BUILTIN_VARARGS 1O__GNUCLIKE_BUILTIN_STDARG 1P__GNUCLIKE_BUILTIN_VAALIST 1T__GNUC_VA_LIST_COMPATIBILITY 1X__GNUCLIKE_BUILTIN_NEXT_ARG 1Y__GNUCLIKE_MATH_BUILTIN_RELOPS \__GNUCLIKE_BUILTIN_MEMCPY 1___CC_SUPPORTS_INLINE 1`__CC_SUPPORTS___INLINE 1a__CC_SUPPORTS___INLINE__ 1c__CC_SUPPORTS___FUNC__ 1d__CC_SUPPORTS_WARNING 1f__CC_SUPPORTS_VARADIC_XXX 1h__CC_SUPPORTS_DYNAMIC_ARRAY_INIT 1k__CC_INT_IS_32BIT 1s__GNUC_PREREQ__(ma,mi) (__GNUC__ > (ma) || __GNUC__ == (ma) && __GNUC_MINOR__ >= (mi))__P(protos) protos__CONCAT1(x,y) x ## y__CONCAT(x,y) __CONCAT1(x,y)__STRING(x) #x__XSTRING(x) __STRING(x)__const const__signed signed__volatile volatile__dead2 __attribute__((__noreturn__))__pure2 __attribute__((__const__))__unused __attribute__((__unused__))__used __attribute__((__used__))__packed __attribute__((__packed__))__aligned(x) __attribute__((__aligned__(x)))__section(x) __attribute__((__section__(x)))__pure __attribute__((__pure__))__always_inline __attribute__((__always_inline__))__nonnull(x) __attribute__((__nonnull__(x)))__restrict __predict_true(exp) __builtin_expect((exp), 1)__predict_false(exp) __builtin_expect((exp), 0)__offsetof(type,field) ((size_t)(&((type *)0)->field))__rangeof(type,start,end) (__offsetof(type, end) - __offsetof(type, start))__printflike(fmtarg,firstvararg) __attribute__((__format__ (__printf__, fmtarg, firstvararg)))__scanflike(fmtarg,firstvararg) __attribute__((__format__ (__scanf__, fmtarg, firstvararg)))__format_arg(fmtarg) __attribute__((__format_arg__ (fmtarg)))__printf0like(fmtarg,firstvararg) __attribute__((__format__ (__printf0__, fmtarg, firstvararg)))__strong_reference(sym,aliassym) extern __typeof (sym) aliassym __attribute__ ((__alias__ (#sym)));__weak_reference(sym,alias) __asm__(".weak " #alias); __asm__(".equ " #alias ", " #sym)__warn_references(sym,msg) __asm__(".section .gnu.warning." #sym); __asm__(".asciz \"" msg "\""); __asm__(".previous")__IDSTRING(name,string) __asm__(".ident\t\"" string "\"")__FBSDID(s) __IDSTRING(__CONCAT(__rcsid_,__LINE__),s)__RCSID(s) __IDSTRING(__CONCAT(__rcsid_,__LINE__),s)__RCSID_SOURCE(s) __IDSTRING(__CONCAT(__rcsid_source_,__LINE__),s)__SCCSID(s) __IDSTRING(__CONCAT(__sccsid_,__LINE__),s)__COPYRIGHT(s) __IDSTRING(__CONCAT(__copyright_,__LINE__),s)__DECONST(type,var) ((type)(uintptr_t)(const void *)(var))__DEVOLATILE(type,var) ((type)(uintptr_t)(volatile void *)(var))__DEQUALIFY(type,var) ((type)(uintptr_t)(const volatile void *)(var))__POSIX_VISIBLE 200112__XSI_VISIBLE 600__BSD_VISIBLE 1__ISO_C_VISIBLE 1999* NULL ((void *)0)+ _SYS__TYPES_H_ ! (_MACHINE__TYPES_H_ .__NO_STRICT_ALIGNMENT __GNUC_VA_LIST 2_RUNE_T_DECLARED 8_SIZE_T_DECLARED >_WCHAR_T_DECLARED Boffsetof(type,member) __offsetof(type, member)*SRCID(id,scmid) static SrcIdStruct FileSrcIdStruct = {__FILE__, (scmid), __DATE__, __TIME__}; SrcId id ## SrcId = &FileSrcIdStruct;BEGIN do {> (i)) & 1)BS_UNION(s1,s2) ((s1) | (s2))BS_ADD(ty,s,i) BS_UNION((s), BS_SINGLE(ty, (i)))BS_INTER(s1,s2) ((s1) & (s2))BS_DIFF(s1,s2) BS_INTER((s1), BS_COMP(s2))BS_DEL(ty,s,i) BS_DIFF((s), BS_SINGLE(ty, (i)))BS_SUPER(s1,s2) (BS_INTER((s1), (s2)) == (s2))BS_SUB(s1,s2) BS_SUPER((s2), (s1))BS_IS_SINGLE(s) (((s) & ((s)-1)) == 0)BS_SYM_DIFF(s1,s2) ((s1) ^ (s2)) check_h  mpslib_h mps_lib_EOF (mps_lib_get_EOF())mps_lib_stderr (mps_lib_get_stderr())mps_lib_stdout (mps_lib_get_stdout())0AVER(cond) DISCARD(cond)1AVERT(type,val) DISCARD(type ## Check(val))2AVER_CRITICAL(cond) DISCARD(cond)3AVERT_CRITICAL(type,val) DISCARD(type ## Check(val))MASSERT(cond,condstring) BEGIN if (cond) NOOP; else mps_lib_assert_fail(condstring "\n" __FILE__ "\n" STR(__LINE__)); END_NOTREACHED NOOPjCHECKT(type,val) ((val) != NULL && (val)->sig == type ## Sig)pCHECKS(type,val) DISCARD(CHECKT(type, val))qCHECKL(cond) DISCARD(cond)rCHECKD(type,val) DISCARD(CHECKT(type, val))sCHECKD_NOSIG(type,val) DISCARD((val) != NULL)tCHECKU(type,val) DISCARD(CHECKT(type, val))uCHECKU_NOSIG(type,val) DISCARD((val) != NULL)CHECKLVALUE(lv1,lv2) ((void)sizeof((lv1) = (lv2)), (void)sizeof((lv2) = (lv1)), TRUE)CHECKTYPE(t1,t2) (sizeof(t1) == sizeof(t2) && CHECKLVALUE(*((t1 *)0), *((t2 *)0)))CHECKFIELDAPPROX(s1,f1,s2,f2) (sizeof(((s1 *)0)->f1) == sizeof(((s2 *)0)->f2) && offsetof(s1, f1) == offsetof(s2, f2))CHECKFIELD(s1,f1,s2,f2) (CHECKFIELDAPPROX(s1, f1, s2, f2) && CHECKLVALUE(((s1 *)0)->f1, ((s2 *)0)->f2)) event_h  eventcom_h  mpmtypes_h '_MACHINE_STDARG_H_ -_VA_LIST_DECLARED 3va_start(ap,last) __builtin_stdarg_start((ap), (last))6va_arg(ap,type) __builtin_va_arg((ap), type):va_copy(dest,src) __builtin_va_copy((dest), (src))>va_end(ap) __builtin_va_end(ap)SigInvalid ((Sig)0x51915BAD)SizeMAX ((Size)-1)AccessSetEMPTY ((AccessSet)0)AccessREAD ((AccessSet)(1<<0))AccessWRITE ((AccessSet)(1<<1))AccessSetWIDTH (2)RefSetEMPTY BS_EMPTY(RefSet)RefSetUNIV BS_UNIV(RefSet)ZoneSetEMPTY BS_EMPTY(ZoneSet)ZoneSetUNIV BS_UNIV(ZoneSet)TraceSetEMPTY BS_EMPTY(TraceSet)TraceSetUNIV ((TraceSet)((1u << TraceLIMIT) - 1))RankSetEMPTY BS_EMPTY(RankSet)RankSetUNIV ((RankSet)((1u << RankLIMIT) - 1))AttrFMT ((Attr)(1<<0))AttrSCAN ((Attr)(1<<1))AttrPM_NO_READ ((Attr)(1<<2))AttrPM_NO_WRITE ((Attr)(1<<3))AttrALLOC ((Attr)(1<<4))AttrFREE ((Attr)(1<<5))AttrBUF ((Attr)(1<<6))AttrBUF_RESERVE ((Attr)(1<<7))AttrBUF_ALLOC ((Attr)(1<<8))AttrGC ((Attr)(1<<9))AttrINCR_RB ((Attr)(1<<10))AttrINCR_WB ((Attr)(1<<11))AttrMOVINGGC ((Attr)(1<<12))AttrMASK (AttrFMT | AttrSCAN | AttrPM_NO_READ | AttrPM_NO_WRITE | AttrALLOC | AttrFREE | AttrBUF | AttrBUF_RESERVE | AttrBUF_ALLOC | AttrGC | AttrINCR_RB | AttrINCR_WB | AttrMOVINGGC)BufferModeATTACHED ((BufferMode)(1<<0))BufferModeFLIPPED ((BufferMode)(1<<1))BufferModeLOGGED ((BufferMode)(1<<2))BufferModeTRANSITION ((BufferMode)(1<<3))RootModeCONSTANT ((RootMode)1<<0)RootModePROTECTABLE ((RootMode)1<<1)RootModePROTECTABLE_INNER ((RootMode)1<<2)STATISTIC_DECL(field) field!EventNameMAX ((size_t)19)"EventCodeMAX ((EventCode)0x0069)&EVENT_0(type) NOOPEVENT_A(type,p0) NOOPEVENT_AW(type,p0,p1) NOOPEVENT_P(type,p0) NOOPEVENT_PAA(type,p0,p1,p2) NOOPEVENT_PAW(type,p0,p1,p2) NOOPEVENT_PAWA(type,p0,p1,p2,p3) NOOPEVENT_PDDWWW(type,p0,p1,p2,p3,p4,p5) NOOPEVENT_PP(type,p0,p1) NOOPEVENT_PPAU(type,p0,p1,p2,p3) NOOPEVENT_PPAWP(type,p0,p1,p2,p3,p4) NOOPEVENT_PPP(type,p0,p1,p2) NOOPEVENT_PPPA(type,p0,p1,p2,p3) NOOPEVENT_PPPU(type,p0,p1,p2,p3) NOOPEVENT_PPPUU(type,p0,p1,p2,p3,p4) NOOPEVENT_PPU(type,p0,p1,p2) NOOPEVENT_PPUU(type,p0,p1,p2,p3) NOOPEVENT_PPUWWW(type,p0,p1,p2,p3,p4,p5) NOOPEVENT_PPWW(type,p0,p1,p2,p3) NOOPEVENT_PPWWW(type,p0,p1,p2,p3,p4) NOOPEVENT_PPWWWUUU(type,p0,p1,p2,p3,p4,p5,p6,p7) NOOPEVENT_PU(type,p0,p1) NOOPEVENT_PW(type,p0,p1) NOOPEVENT_PWA(type,p0,p1,p2) NOOPEVENT_PWAW(type,p0,p1,p2,p3) NOOPEVENT_PWP(type,p0,p1,p2) NOOPEVENT_PWU(type,p0,p1,p2) NOOPEVENT_PWW(type,p0,p1,p2) NOOPEVENT_PWWWWDD(type,p0,p1,p2,p3,p4,p5,p6) NOOPEVENT_PWWWWW(type,p0,p1,p2,p3,p4,p5) NOOPEVENT_PWWWWWWWWW(type,p0,p1,p2,p3,p4,p5,p6,p7,p8,p9) NOOPEVENT_PWWWWWWWWWWWW(type,p0,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11,p12) NOOPEVENT_UUPA(type,p0,p1,p2,p3) NOOPEVENT_UUPP(type,p0,p1,p2,p3) NOOPEVENT_UUPPP(type,p0,p1,p2,p3,p4) NOOPEVENT_WS(type,p0,p1,l1) NOOP:EventEventTime ((EventType)0xEF213E99);EventPoolInit ((EventType)0xEFB07141)EventPoolFree ((EventType)0xEFB07F6E)?EventArenaCreateVM ((EventType)0xEFA64CF3)@EventArenaCreateVMNZ ((EventType)0xEFA64CF2)AEventArenaCreateCL ((EventType)0xEFA64CC7)BEventArenaDestroy ((EventType)0xEFA64DE5)CEventArenaAlloc ((EventType)0xEFA64A77)DEventArenaFree ((EventType)0xEFA64F6E)EEventSegAlloc ((EventType)0xEF5E9A77)FEventSegFree ((EventType)0xEF5E9F6E)GEventSegMerge ((EventType)0xEF5E93E6)HEventSegSplit ((EventType)0xEF5E95B7)IEventAMCGenCreate ((EventType)0xEFA3C94C)JEventAMCGenDestroy ((EventType)0xEFA3C94D)KEventAMCInit ((EventType)0xEFA3C141)LEventAMCFinish ((EventType)0xEFA3CF14)MEventAMCTraceBegin ((EventType)0xEFA3C26B)NEventAMCScanBegin ((EventType)0xEFA3C5CB)OEventAMCScanEnd ((EventType)0xEFA3C5CE)PEventAMCFix ((EventType)0xEFA3CF18)QEventAMCFixInPlace ((EventType)0xEFA3CF8A)REventAMCFixForward ((EventType)0xEFA3CF8F)SEventAMCReclaim ((EventType)0xEFA3C6EC)TEventTraceStart ((EventType)0xEF26AC52)UEventTraceCreate ((EventType)0xEF26ACC6)VEventTraceDestroy ((EventType)0xEF26ACDE)WEventSegSetGrey ((EventType)0xEF59596A)XEventTraceFlipBegin ((EventType)0xEF26AF7B)YEventTraceFlipEnd ((EventType)0xEF26AF7E)ZEventTraceReclaim ((EventType)0xEF26A6EC)[EventTraceScanSeg ((EventType)0xEF26A559)\EventTraceScanSingleRef ((EventType)0xEF26A556)^EventTraceAccess ((EventType)0xEF26AACC)_EventTracePoll ((EventType)0xEF26AB01)`EventTraceStep ((EventType)0xEF26A52B)aEventTraceFix ((EventType)0xEF26AF18)bEventTraceFixSeg ((EventType)0xEF26AF85)cEventTraceFixWhite ((EventType)0xEF26AF83)dEventTraceScanArea ((EventType)0xEF26A5CA)eEventTraceScanAreaTagged ((EventType)0xEF26A5C2)fEventVMCreate ((EventType)0xEFF3C6EA)gEventVMDestroy ((EventType)0xEFF3DE52)hEventVMMap ((EventType)0xEFF33AB9)iEventVMUnmap ((EventType)0xEFF3043B)jEventIntern ((EventType)0xEF142E64)kEventArenaExtend ((EventType)0xEFA64E82)lEventArenaRetract ((EventType)0xEFA646E2)mEventRootScan ((EventType)0xEF625CA4)nEventLabel ((EventType)0xEF7ABE79)oEventTraceSegGreyen ((EventType)0xEF26A599)pEventBufferReserve ((EventType)0xEFB0FF6E)qEventBufferCommit ((EventType)0xEFB0FFC0)rEventBufferInit ((EventType)0xEFB0FF14)sEventBufferInitSeg ((EventType)0xEFB0F15E)tEventBufferInitRank ((EventType)0xEFB0F16A)uEventBufferInitEPVM ((EventType)0xEFB0F1EF)vEventBufferFinish ((EventType)0xEFB0FFF1)wEventBufferFill ((EventType)0xEFB0FFF7)xEventBufferEmpty ((EventType)0xEFB0FFE3)yEventArenaAllocFail ((EventType)0xEFA64A7F)zEventSegAllocFail ((EventType)0xEF5E9A7F){EventMeterInit ((EventType)0xEF3E2141)|EventMeterValues ((EventType)0xEF3E2FA7)}EventCBSInit ((EventType)0xEFCB5141)~EventTraceStatCondemn ((EventType)0xEF26A5C0)EventTraceStatScan ((EventType)0xEF26A55C)EventTraceStatFix ((EventType)0xEF26A5F8)EventTraceStatReclaim ((EventType)0xEF26A56E)EventArenaWriteFaults ((EventType)0xEFA6436F)EventPoolInitMV ((EventType)0xEFB0713F)EventPoolInitMVFF ((EventType)0xEFB071FF)EventPoolInitMFS ((EventType)0xEFB07135)EventPoolInitEPVM ((EventType)0xEFB071EF)EventPoolInitEPDL ((EventType)0xEFB071E7)EventPoolInitAMS ((EventType)0xEFB071A5)EventPoolInitAMC ((EventType)0xEFB071AC)EventPoolInitAMCZ ((EventType)0xEFB071A2)EventPoolInitAWL ((EventType)0xEFB071A3)EventPoolInitLO ((EventType)0xEFB07170)EventPoolInitSNC ((EventType)0xEFB07154)EventPoolInitMVT ((EventType)0xEFB07132)EventPoolPush ((EventType)0xEFB07B58)EventPoolPop ((EventType)0xEFB07B0B)EventReservoirLimitSet ((EventType)0xEF6E5713)EventCommitLimitSet ((EventType)0xEFC03713)EventSpareCommitLimitSet ((EventType)0xEF5BC713)hEventInit() NOOPiEventFinish() NOOPjEventControl(r,f) (UNUSED(r), UNUSED(f), (Word)0)kEventInternString(s) (UNUSED(s), (Word)0)lEventInternGenString(l,s) (UNUSED(l), UNUSED(s), (Word)0)mEventLabelAddr(a,i) BEGIN UNUSED(a); UNUSED(i); ENDPlock_h ULockSig ((Sig)0x51970CC9) th_h  ring_h RingNONE ((Ring)0)$RingInit(ring) BEGIN Ring _ring = (ring); AVER(_ring != NULL); _ring->next = _ring; _ring->prev = _ring; AVER(RingCheck(_ring)); END/RingFinish(ring) BEGIN Ring _ring = (ring); AVER(RingCheckSingle(_ring)); _ring->next = RingNONE; _ring->prev = RingNONE; END9RingAppend(ring,new) BEGIN Ring _ring = (ring), _new = (new); AVER(RingCheck(_ring)); AVER(RingCheckSingle(_new)); _new->prev = _ring->prev; _new->next = _ring; _ring->prev->next = _new; _ring->prev = _new; ENDFRingInsert(ring,new) BEGIN Ring _ring = (ring), _new = (new); AVER(RingCheck(_ring)); AVER(RingCheckSingle(_new)); _new->prev = _ring; _new->next = _ring->next; _ring->next->prev = _new; _ring->next = _new; ENDSRingRemove(old) BEGIN Ring _old = (old); AVER(RingCheck(_old)); AVER(!RingIsSingle(_old)); _old->next->prev = _old->prev; _old->prev->next = _old->next; _old->next = _old; _old->prev = _old; END`RingNext(ring) ((ring)->next)dRingPrev(ring) ((ring)->prev)gRING_ELT(type,field,node) ((type)(void *)((char *)(node) - (size_t)(&((type)0)->field)))kRING_FOR(node,ring,next) for(node = RingNext(ring), next = RingNext(node); node != (ring); node = (next), next = RingNext(node))ThreadSig ((Sig)0x519286ED) ss_h  tract_h   bt_h BTSize(n) (((n) + MPS_WORD_WIDTH-1) / MPS_WORD_WIDTH * sizeof(Word))BTGet(a,i) ((Bool)(((a)[((i) >> MPS_WORD_SHIFT)] >> ((i) & ~((Word)-1 << MPS_WORD_SHIFT))) & (Word)1))BTSet(a,i) BEGIN (a)[((i)>>MPS_WORD_SHIFT)] |= (Word)1<<((i)&~((Word)-1<>MPS_WORD_SHIFT)] &= ~((Word)1 << ((i) & ~((Word)-1<base)&TractPool(tract) ((tract)->pool)'TractP(tract) ((tract)->p)(TractSetP(tract,pp) ((void)((tract)->p = (pp))))TractHasSeg(tract) ((Bool)(tract)->hasSeg)*TractSetHasSeg(tract,b) ((void)((tract)->hasSeg = (b)))+TractWhite(tract) ((tract)->white),TractSetWhite(tract,w) ((void)((tract)->white = (w)))8TRACT_SEG(segReturn,tract) (TractHasSeg(tract) && ((*(segReturn) = (Seg)TractP(tract)), TRUE));TRACT_SET_SEG(tract,seg) (TractSetHasSeg(tract, TRUE), TractSetP(tract, seg))>TRACT_UNSET_SEG(tract) (TractSetHasSeg(tract, FALSE), TractSetP(tract, NULL))nPageTract(page) (&(page)->the.tractStruct)rPageOfTract(tract) PARENT(PageStruct, the.tractStruct, (tract))vPagePool(page) ((page)->the.rest.pool)}PageIsAllocated(page) ((page)->the.rest.pool != NULL)PageType(page) ((page)->the.rest.type)ChunkSig ((Sig)0x519C804C)ChunkArena(chunk) ((chunk)->arena)ChunkPageSize(chunk) ((chunk)->pageSize)ChunkPageShift(chunk) ((chunk)->pageShift)ChunkPagesToSize(chunk,pages) ((Size)(pages) << (chunk)->pageShift)ChunkSizeToPages(chunk,size) ((Count)((size) >> (chunk)->pageShift))CHUNK_OF_ADDR(chunkReturn,arena,addr) (((arena)->chunkCache.base <= (addr) && (addr) < (arena)->chunkCache.limit) ? (*(chunkReturn) = (arena)->chunkCache.chunk, TRUE) : ChunkOfAddr(chunkReturn, arena, addr))AddrPageBase(chunk,addr) AddrAlignDown((addr), ChunkPageSize(chunk))TRACT_OF_ADDR(tractReturn,arena,addr) BEGIN Arena _arena = (arena); Addr _addr = (addr); Chunk _chunk; Index _i; if (CHUNK_OF_ADDR(&_chunk, _arena, _addr)) { _i = INDEX_OF_ADDR(_chunk, _addr); if (BTGet(_chunk->allocTable, _i)) *(tractReturn) = PageTract(&_chunk->pageTable[_i]); else *(tractReturn) = NULL; } else *(tractReturn) = NULL; ENDINDEX_OF_ADDR(chunk,addr) ((Index)ChunkSizeToPages(chunk, AddrOffset((chunk)->base, addr)))PageIndexBase(chunk,i) AddrAdd((chunk)->base, ChunkPagesToSize(chunk, i))TractAverContiguousRange(arena,rangeBase,rangeLimit) BEGIN Chunk _ch = NULL; UNUSED(_ch); AVER(ChunkOfAddr(&_ch, arena, rangeBase) && (rangeLimit) <= _ch->limit); ENDTRACT_TRACT_FOR(tract,addr,arena,firstTract,limit) tract = (firstTract); addr = TractBase(tract); TractAverContiguousRange(arena, addr, limit); for(; tract != NULL; (addr = AddrAdd(addr, (arena)->alignment)), (addr < (limit) ? (tract = PageTract(PageOfTract(tract) + 1)) : (tract = NULL) ))TRACT_FOR(tract,addr,arena,base,limit) TRACT_TRACT_FOR(tract, addr, arena, TractOfBaseAddr(arena, base), limit)mpmst_h protocol_h DERIVE_LOCAL(name) protocol ## nameDERIVE_STRUCT(name) name ## StructDERIVE_ENSURE(name) name ## GetDERIVE_ENSURE_OLD(name) Ensure ## nameDERIVE_ENSURE_INTERNAL(name) protocolGet ## nameDERIVE_GUARDIAN(name) protocol ## name ## GuardianDERIVE_STATIC_STORAGE(name) protocol ## name ## StructProtocolClassSetSuperclassPoly(class,super) (((ProtocolClass)(class))->superclass) = (ProtocolClass)(super)$DEFINE_CLASS(className,var) static Bool DERIVE_GUARDIAN(className) = FALSE; static DERIVE_STRUCT(className) DERIVE_STATIC_STORAGE(className); static void DERIVE_ENSURE_INTERNAL(className)(className); extern className DERIVE_ENSURE(className)(void); className DERIVE_ENSURE(className)(void) { if (DERIVE_GUARDIAN(className) == FALSE) { LockClaimGlobalRecursive(); if (DERIVE_GUARDIAN(className) == FALSE) { DERIVE_ENSURE_INTERNAL(className) (&DERIVE_STATIC_STORAGE(className)); DERIVE_GUARDIAN(className) = TRUE; } LockReleaseGlobalRecursive(); } return &DERIVE_STATIC_STORAGE(className); } extern className DERIVE_ENSURE_OLD(className)(void); className DERIVE_ENSURE_OLD(className)(void) { return DERIVE_ENSURE(className)(); } static void DERIVE_ENSURE_INTERNAL(className) (className var)AINHERIT_CLASS(this,parentName) BEGIN parentName DERIVE_LOCAL(parentName) = DERIVE_ENSURE(parentName)(); *this = *(DERIVE_LOCAL(parentName)); ProtocolClassSetSuperclassPoly(this, DERIVE_LOCAL(parentName)); ENDODEFINE_ALIAS_CLASS(className,typeName,var) typedef typeName className; typedef DERIVE_STRUCT(typeName) DERIVE_STRUCT(className); DEFINE_CLASS(className, var)VProtocolClassSig ((Sig)0x519B60C7)WProtocolInstSig ((Sig)0x519B6014)ProtocolClassSuperclassPoly(class) (((ProtocolClass)(class))->superclass)ClassOfPoly(inst) ((ProtocolInst)(inst)->class)IsSubclassPoly(sub,super) ProtocolIsSubclass((ProtocolClass)(sub), (ProtocolClass)(super))SUPERCLASS(className) ProtocolClassSuperclassPoly(DERIVE_ENSURE(className)())chain_h GenDescSig ((Sig)0x5199E4DE)+PoolGenSig ((Sig)0x519B009E);ChainSig ((Sig)0x519C8A14)XPoolGenNr(gen) ((gen)->nr)/PoolClassSig ((Sig)0x519C7A55)]PoolSig ((Sig)0x519B0019)}MFSSig ((Sig)0x5193F599)MVSig ((Sig)0x5193B999)ReservoirSig ((Sig)0x5196e599)MessageClassSig ((Sig)0x519359c1)MessageSig ((Sig)0x5193e559)SegClassSig ((Sig)0x5195E9C7)SegSig ((Sig)0x5195E999)GCSegSig ((Sig)0x5199C5E9)SegPrefSig ((Sig)0x5195E9B6)BufferClassSig ((Sig)0x519B0FC7)BufferSig ((Sig)0x519B0FFE)SegBufSig ((Sig)0x51959B0F)FormatSig ((Sig)0x519F63A2)ScanStateSig ((Sig)0x5195CA45)TraceSig ((Sig)0x51924ACE)ChunkCacheEntrySig ((Sig)0x519C80CE)ArenaClassSig ((Sig)0x519A6C1A)GlobalsSig ((Sig)0x519970BA)ArenaSig ((Sig)0x519A6E4A)%BoolCheck(b) ((unsigned)(b) <= 1)(FUNCHECK(f) (FunCheck((Fun)f))4WordIsAligned(w,a) (((w) & ((a) - 1)) == 0)7WordAlignUp(w,a) (((w) + (a) - 1) & ~((Word)(a) - 1));WordRoundUp(w,r) (((w)+(r)-1) - ((w)+(r)-1)%(r))>WordAlignDown(w,a) ((w) & ~((Word)(a) - 1))@size_tAlignUp(s,a) ((size_t)WordAlignUp((Word)(s), a))BPointerAdd(p,s) ((void *)((char *)(p) + (s)))CPointerSub(p,s) ((void *)((char *)(p) - (s)))EPointerOffset(base,limit) ((size_t)((char *)(limit) - (char *)(base)))HPointerAlignUp(p,s) ((void *)WordAlignUp((Word)(p), (Align)(s)))KAddrAdd(p,s) ((Addr)PointerAdd((void *)(p), s))LAddrSub(p,s) ((Addr)PointerSub((void *)(p), s))NAddrOffset(b,l) ((Size)(PointerOffset((void *)(b), (void *)(l))))RAddrAlignDown(p,a) ((Addr)WordAlignDown((Word)(p), a))TAlignWord(s) ((Word)(s))VAddrIsAligned(p,a) WordIsAligned((Word)(p), a)WAddrAlignUp(p,a) ((Addr)WordAlignUp((Word)(p), a))YSizeIsAligned(s,a) WordIsAligned((Word)(s), a)ZSizeAlignUp(s,a) ((Size)WordAlignUp((Word)(s), a))[SizeAlignDown(s,a) ((Size)WordAlignDown((Word)(s), a))]SizeRoundUp(s,r) ((Size)WordRoundUp((Word)(s), (Size)(r)))_IndexIsAligned(s,a) WordIsAligned((Word)(s), a)`IndexAlignUp(s,a) ((Index)WordAlignUp((Word)(s), a))aIndexAlignDown(s,a) ((Index)WordAlignDown((Word)(s), a))cAlignIsAligned(a1,a2) WordIsAligned((Word)(a1), a2)iAddrSet(target,value,size) mps_lib_memset(target, (int)(value), size)mAddrCopy(target,source,size) mps_lib_memcpy(target, source, size)qAddrComp(a,b,size) mps_lib_memcmp(a, b, size)wADDR_PTR(type,addr) ((type *)(addr))PoolArena(pool) ((pool)->arena)PoolAlignment(pool) ((pool)->alignment)PoolSegRing(pool) (&(pool)->segRing)PoolFix(pool,ss,seg,refIO) ((*(pool)->fix)(pool, ss, seg, refIO))ClassOfPool(pool) ((pool)->class)SuperclassOfPool(pool) ((PoolClass)ProtocolClassSuperclassPoly((pool)->class))DEFINE_POOL_CLASS(className,var) DEFINE_ALIAS_CLASS(className, PoolClass, var)POOL_SUPERCLASS(className) ((PoolClass)SUPERCLASS(className))TraceSetSingle(trace) BS_SINGLE(TraceSet, (trace)->ti)TraceSetIsSingle(ts) BS_IS_SINGLE(ts)TraceSetIsMember(ts,trace) BS_IS_MEMBER(ts, (trace)->ti)TraceSetAdd(ts,trace) BS_ADD(TraceSet, ts, (trace)->ti)TraceSetDel(ts,trace) BS_DEL(TraceSet, ts, (trace)->ti)TraceSetUnion(ts1,ts2) BS_UNION(ts1, ts2)TraceSetInter(ts1,ts2) BS_INTER(ts1, ts2)TraceSetDiff(ts1,ts2) BS_DIFF(ts1, ts2)TraceSetSuper(ts1,ts2) BS_SUPER(ts1, ts2)TraceSetSub(ts1,ts2) BS_SUB(ts1, ts2)TraceSetComp(ts) BS_COMP(ts)TRACE_SET_ITER(ti,trace,ts,arena) for(ti = 0, trace = ArenaTrace(arena, ti); ti < TraceLIMIT; ++ti, trace = ArenaTrace(arena, ti)) BEGIN if (TraceSetIsMember(ts, trace)) {TRACE_SET_ITER_END(ti,trace,ts,arena) } ENDTRACE_SCAN_BEGIN(ss) BEGIN Shift SCANzoneShift = (ss)->zoneShift; ZoneSet SCANwhite = (ss)->white; RefSet SCANsummary = (ss)->unfixedSummary; Word SCANt; {TRACE_FIX1(ss,ref) (SCANt = (Word)1 << ((Word)(ref) >> SCANzoneShift & (MPS_WORD_WIDTH-1)), SCANsummary |= SCANt, SCANwhite & SCANt)TRACE_FIX2(ss,refIO) ((*(ss)->fix)(ss, refIO))TRACE_FIX(ss,refIO) (TRACE_FIX1(ss, *(refIO)) ? TRACE_FIX2(ss, refIO) : ResOK)TRACE_SCAN_END(ss) } (ss)->unfixedSummary = SCANsummary; ENDDEFINE_ARENA_CLASS(className,var) DEFINE_ALIAS_CLASS(className, ArenaClass, var)ARENA_SUPERCLASS(className) ((ArenaClass)SUPERCLASS(className))ArenaGlobals(arena) (&(arena)->globals)GlobalsArena(glob) PARENT(ArenaStruct, globals, glob)ArenaRootRing(arena) (&(arena)->rootRing)ArenaTraceRing(arena) (&(arena)->traceRing)ArenaThreadRing(arena) (&(arena)->threadRing)ArenaEpoch(arena) ((arena)->epoch)ArenaTrace(arena,ti) (&(arena)->trace[ti])ArenaZoneShift(arena) ((arena)->zoneShift)ArenaAlign(arena) ((arena)->alignment)ArenaGreyRing(arena,rank) (&(arena)->greyRing[rank])ArenaReservoir(arena) (&(arena)->reservoirStruct)DEFINE_SEG_CLASS(className,var) DEFINE_ALIAS_CLASS(className, SegClass, var)SEG_SUPERCLASS(className) ((SegClass)SUPERCLASS(className))ClassOfSeg(seg) ((seg)->class)SegBase(seg) (TractBase((seg)->firstTract))SegLimit(seg) ((seg)->limit)SegPool(seg) (TractPool((seg)->firstTract))SegRankSet(seg) ((RankSet)(seg)->rankSet)SegPM(seg) ((AccessSet)(seg)->pm)SegSM(seg) ((AccessSet)(seg)->sm)SegDepth(seg) ((unsigned)(seg)->depth)SegGrey(seg) ((TraceSet)(seg)->grey)SegWhite(seg) ((TraceSet)(seg)->white)SegNailed(seg) ((TraceSet)(seg)->nailed)SegOfPoolRing(node) (RING_ELT(Seg, poolRing, (node)))SegOfGreyRing(node) (&(RING_ELT(GCSeg, greyRing, (node)) ->segStruct))SegSummary(seg) (((GCSeg)(seg))->summary)SegSetPM(seg,mode) ((void)((seg)->pm = (mode)))SegSetSM(seg,mode) ((void)((seg)->sm = (mode)))SegSetDepth(seg,d) ((void)((seg)->depth = (d)))SegSetNailed(seg,ts) ((void)((seg)->nailed = (ts)))BUFFER_RESERVE(pReturn,buffer,size,withReservoirPermit) (AddrAdd(BufferAlloc(buffer), size) > BufferAlloc(buffer) && AddrAdd(BufferAlloc(buffer), size) <= BufferAP(buffer)->limit ? (*(pReturn) = BufferAlloc(buffer), BufferAP(buffer)->alloc = AddrAdd(BufferAlloc(buffer), size), ResOK) : BufferFill(pReturn, buffer, size, withReservoirPermit))BUFFER_COMMIT(buffer,p,size) (BufferAP(buffer)->init = BufferAlloc(buffer), BufferAP(buffer)->limit != 0 || BufferTrip(buffer, p, size))BufferAP(buffer) (&(buffer)->apStruct)BufferOfAP(ap) PARENT(BufferStruct, apStruct, ap)BufferArena(buffer) ((buffer)->arena)BufferPool(buffer) ((buffer)->pool)BufferBase(buffer) ((buffer)->base)BufferGetInit(buffer) (BufferAP(buffer)->init)BufferAlloc(buffer) (BufferAP(buffer)->alloc)BufferLimit(buffer) ((buffer)->poolLimit)DEFINE_BUFFER_CLASS(className,var) DEFINE_ALIAS_CLASS(className, BufferClass, var)BUFFER_SUPERCLASS(className) ((BufferClass)SUPERCLASS(className))RankSetIsMember(rs,r) BS_IS_MEMBER((rs), (r))RankSetSingle(r) BS_SINGLE(RankSet, (r))RankSetIsSingle(r) BS_IS_SINGLE(r)RankSetUnion(rs1,rs2) BS_UNION((rs1), (rs2))RankSetDel(rs,r) BS_DEL(RankSet, (rs), (r))AddrZone(arena,addr) (((Word)(addr) >> (arena)->zoneShift) & (MPS_WORD_WIDTH - 1))RefSetUnion(rs1,rs2) BS_UNION((rs1), (rs2))RefSetInter(rs1,rs2) BS_INTER((rs1), (rs2))RefSetDiff(rs1,rs2) BS_DIFF((rs1), (rs2))RefSetAdd(arena,rs,addr) BS_ADD(RefSet, rs, AddrZone(arena, addr))RefSetIsMember(arena,rs,addr) BS_IS_MEMBER(rs, AddrZone(arena, addr))RefSetSuper(rs1,rs2) BS_SUPER((rs1), (rs2))RefSetSub(rs1,rs2) BS_SUB((rs1), (rs2))ZoneSetUnion(zs1,zs2) BS_UNION(zs1, zs2)ZoneSetInter(zs1,zs2) BS_INTER(zs1, zs2)ZoneSetDiff(zs1,zs2) BS_DIFF(zs1, zs2)ZoneSetAdd(arena,zs,addr) BS_ADD(ZoneSet, zs, AddrZone(arena, addr))ZoneSetIsMember(arena,zs,addr) BS_IS_MEMBER(zs, AddrZone(arena, addr))ZoneSetSub(zs1,zs2) BS_SUB(zs1, zs2)ZoneSetSuper(zs1,zs2) BS_SUPER(zs1, zs2)ZoneSetComp(zs) BS_COMP(zs)STATISTIC(gather) BEGIN (gather); ENDSTATISTIC_STAT(gather) BEGIN gather; ENDSTATISTIC_WRITE(format,arg) (format), (arg),.ROUND(unit,n) ((n)+(unit)-1 - ((n)+(unit)-1)%(unit))1PoolPoolMFS(pool) PARENT(MFSStruct, poolStruct, pool)LZhv  % 4 C R a p            $ 3 B Q ` o ~          ' E T c r            & 6 K a o }          % ; I W e s          ,;K`%7I\qy!/=Zo +:IXgv +;K[k{ +;K[k{ +;K[k{#2AP_n} $5?GUcq3t 6g 9`*5`}?e9eIy 4[<]  ( ? J V g |        (!Y!h!~!!!!!!!!!!""""0">"L"m"u"""""""""" ##7#B#M#Y#e#w####$$ $$$+$7$ B$M$Q$j$u$y$$$$$$$$$$ %%%&%1%5%<%I%V%d%%%%%%%%%&& &&-&T&_&c&j&w&&&&&&&&&&&&& '''%'1'5'A'M'Q'g't'' ''''''    04HLhl  $@DX\poolmv.o/ 1169001565 1001 1001 100644 72376 ` ELF 4(UÉUVSEPJXp QVPt\9sue[^ÍvUWVS E ƒ28@E]C E@ w j P PuCXP …E jDP Pu썃P …uH@DEHTT@ǃLǃPǃ\QЍe[^_ÉUWVS }TT9t$up@p؋9uLJ\[Q GXP$e[^_ÉUWVS } uO0@+Y9v9r`AE9u)G$9t"PQj PuO@q9_8uG<G,+G@G8)w4EU 9uG<W8e[^_ÉUWVS u MEX09s?U9S3E9EE$9}utu49su/U9Su'B+GEj SQEH@}u9suU+WUECuU9Su@)Esqjj QEP…E)E}t#EUPSEPsEESEPEpECEEUB@E)UB4E9B8sB8ߋЍe[^_ÐUWVSE E܉‹@,uN!9LrZׁTT9tFE9p8r19p4r, E܃XPPVuEPh؋9uujDEPPEPà M9@r@] [ ]䋃\|!ǃ uu WPEP t|U䋂\|!ǃ uu WPEPà tCjDuEP$_M)LE]DvEURPu Ex]uuCEM܉H uu‹Ht&EB]\;MsvuۋUBB@UEB BEUP,P(UB(+B B4E@$UB$BUBB0E@@Ep E)p4UB4B8E@<EQM]܋LA4LTQBTATPTE@Ue[^_ÍvUWVS]C,}O!NjE Eu s EPEpCX$Puu VgtPLF,+F9F4uW)LuvFpV NBABFBjDVP$e[^_UE`ÍvUWVSut>Qt t \Qt } jLhHh.Dh>@hNS pSPh^ ^XSpS Phsu @…Wjhu …8TE䋆TU;EEjhp@hp4hphPhu 0ukEx<tjp8hu jhu u9EU;Eyjhu …u7le^WMF?vv,uE荗TU䋇TU;E EjPhu uEp0x9x,jWhu iU9vvE9x,vn9^w 6M9^uUO;Ft[.9^wU];Ft=jPhu  ]U9vE9X,wjh u }U9z,7EU;EvЍe[^_ÉU=u1=u h .v ÐUÍvUVS]ƃhPSs$C C`CC dC$`C(C,Cxe[^UÍvU=u1=u h.vÐUÍvUVS]ƃhPSs$CCC|e[^ÍvUÍvUÍvUSETT9t H0Ћ9u[USETT9t HЋ9u[UC% $ > $ > : ; I I<  &I  : ; : ; I8 : ; I : ;I8 : ;I8  : ; I8  : ; I 8  : ;I 8  : ;I 8  : ; ' II' ' I : ;  : ;  : ; I: ;II!I/ .: ; ' I@ : ; I 4: ; I !4: ; I": ; I #4: ; I$4: ; I %.: ; ' @ &.: ;' I@ ': ;I (4: ;I )4: ;I * U+ ,4: ;I-.: ;' @ .: ;I /4: ;I0 U1.? : ;' I@ 2.? : ;' I@ 34: ; I?  P0 T5int 8W  42 6_LN |Z W7z ./ EK"  Wa" l$W# " %W# &W# 'W# ]mE Sigl ResE l"#e $%G&D'W (W Ref) ,--q.W/W1D2W# 3W4Ws5WJ6We7W BT:{;  < f`< sig!ss# !t# !u# !v# !w# ]!xz"# !y# !z# !{s#$ !|s#, !}#4 !~#8 !%#< L!#T !#X !W#\>  @> !D## !EW# +!F# !G# V!H # !I=# !Jn#$ P!K#( seg!Ly#, !M#0 !N#4 #!O#8 sig!Ps#<| AW  C !a# { !b# w!c# !d# !e# % !f#t D  +<D sig!s# !# !f# !# s!z"# !# !# !# ! #$ ,!? #( !J #, pad!U #0 !w #4 !#8F G  XGsig!`s# !a# !b# !c# s!dz"# !ez"# !f# F !gz"#$ !h#, X !i#0fix!j #4 !ks#8 E!ls#@ !ms#H !ns#PH oH !2## !3W# +!4# !5# !6[# !7%# V!8K#$ { !9h#( L!:#, q!;#0 !<#4 !=%#8  !>Z#< !?#@ Y!@#D !A#Hfix!B #L !C9#P !DD#T a!EO#X !Fv#\ !G#` /!H#d r!I#h !J#l !KL#p !Ls#t P!M#x !N#| !O#sig!Ps#KkO { O sig!s# ti!/# !# !# d!# !E# 2!# O!c # (!# i!#$ E!#( !#, 6!#0 }!#4 !#8 !#< !#@ C!#D !#H !#L !#P !#T !#X !#\ V!#` 3!#d !#h !#l !#p ! #t ! #x ! #| j! # ! # !# !#q P  c qTP fix!# v!# !# U!# sig!s# !# !:# !# [!# !#$ !#( V!#, 3!#0 !#4 !#8 !#< !#@ j!#D !#H !#L 8!#PQn t Qsig#>s# #?# Q#@z"# 8#A:# #B# #CN$#[R  = R #p# #:#  W# bSH N 8Ssigs# # # z"# # # # w# D #$ q#( q#, !"#0 #4 xKT sig!s# ?!= # !# w!# !x# !x# U  Utheh"# SegV V sig!s# !# Y! # ]! z"# w! # ! W#pm! P#sm! P# !:#!:# !:# !#^X LX !## !W# +!# !S# V!# ! # !B#$ !c#( B !#, !#0 !#4 |!#8 P!#< =!#@ "!#Dsig!s#H4Z * Z sig!0s# 4!1# n !2# !3# !4# gen!5#\  H\ !&## !'8%# +!(# !)# !*N# V!+# !,#$ !-#( !.#, { !/#0 L!04#4 o!1[#8 !2#< P!3#@ sig!4s#D^ (^ !o>%# !p#t !r#x !t#| 0 !u$# O !w %# !y# !z# !|# !}# v!# !# ! # !# t != # !z"# !# !,%# !C$# !z"# !# f!z"# }!q# c!# !# !z"# !# Q!# k !J%# !# J !# !# !# !:# $!:# }!Z%# !!s# !s# !# !j%# !# Q!z"# !$# !# !z%# sig!s# # t_ sig!Bs# @!Ez"# D!F# X!Is# !J# x!K# !Ls# E!Ms#( !Ns#0 !Os#8 !Ps#@ .!SW#H A !V#L ]!Yz"#P +!Z#X b!]z"#\ !^#d M!az"#h !d#pd.4 eEK 0esig +s# B ,# Y -#  .# C /#  0l!#  1#  2# 3#  4a!#$(g  Nhh !_$# ! #X !#\ !#`sig!s#d9nY_y~yIohpq r~t(~(. u?E[vfl~= w= x~b~ 'l28S^d~=C:   +1B<MSc^nt ~~ i ~2+1=? HNn+y   %~ 06K~V\hsy~(1 ~((N  %}06Z~P# ek~s ɐEʷ:~ 8 9~ ѐkZ`vJӁգ~\~W &,LlVW]s'r~ߕ~_ :~    ( . ? 6  ( I` f w       ( #!# $5!# % #  ! #) # * #W! !5!!  @!F!a!    &  w!}!! MV/!!@" `/ !_$# !$#X c!$# _ !# h !# !# !# d!# <!z"#sig!s#K"Q" z" @"# @"#Q"  "g e# fE#"hvc"g" i" "\"" ;#"\sig"}s# "~"# ("u## "## L"aF#L# u#*"asig"s# ""# "m####;#";#"x####""""" C$$#sig#s# n ## h# # *#!s# #"s# ##z"##$#C$o!Q!o $d t! !_$# 3!#X _ !#\ !#` !#d M!$#h ! #lsig!s#pm$d !j$ !!! !g{ !K! !eZ%j% %z%z"%$B%% %$ $B $D%# $E# w$E#$$F%&4 $L U $K%R $l&& &D$lsig$ns# <$oz"#mv$p!# $q # +$r# $s%# w$t%#$ $u%#0 $v#4 $w#8 $x#< $yW#@I'3 $ aUc$&P$R$Qw$S$V$ P 14!_ch$= ', $~d^U$"arg$P_ $Vh $W$p $P# $$mv$!S$l$res$~P !0$@"P%b($`U$$mv$!W<$@"V4$@"PQ$@"Sc$&P&)Y $zU'$(P'c$&W'+$V'$(gap$S)$R) $%Q \(new$0p *(old$6%P&)$i~|U'c$h&'$hV'w$h'$hQ)$j%W) $j%S)$kl )${h)$|P)$}R R(res$~P(new$%p&g+,$~U'P$('$ '+$V'V$(res$~S)c$&l)$d)$h)w$`)$Q)$ R(mv$!\)9$W)<$@"W)4$@"P)Q$@"S* +(new$p+$+,_ch$= +@+)$@"P )$0@"P)$0@"R-:,$;U'$:.old$: '+$:W/$<)w$<l)c$=&V(mv$>!S(res$?~P,b$@)$A p+#,Oc) $j@"R cq/$k@"&p,$t:U'$s,mv$u!&U-z$~ U'$V'$ (res$~P(mv$!W)c$&p)$l)$h(c$R)<$@"d)4$@"P)Q$@"`0(i$W(j$S) $%V$$T$1$U- + U1P$U-, 9 U--$< U'$U-S D ] )$V1$ Up $0$T$1$- U1$- U-y.$ Q U'$-S  - )"$U-V1s$T a U1 $d q U2-/g$t U' $P/$,mv$ !/c$!&(f$"Q)<$#@"S)4$#@"P)Q$#@"R2/ $7 U' $6P/$8,mv$9!/c$:&/$;(f$<Q)<$=@"S)4$=@"P)Q$=@"R2/$T U.mv$S!$" 3$") $)$a- )|$)2$- /usr/include/usr/include/sys/usr/include/machinempscmv.hmps.hstddef.hcdefs.h_null.h_types.h_types.hstdarg.hlimits.hlimits.h_limits.hsyslimits.hdbgpool.hsplay.hmpmtypes.hconfig.hmpstd.hmisc.hmpslib.hpoolmv.hpoolmfs.hmpm.hcheck.hevent.heventcom.heventgen.hlock.hth.hring.hss.htract.hbt.hmpmst.hprotocol.hchain.hpoolmv.c$@3dUV1r,k:gVX:*;:*Jdd㜝d=d;6 \OH/Hh,dHԁ;Wr:,Zr;V VH;,Ԭ]ǃd:ssddWYh__GNUCLIKE___OFFSETOF 1?__GNUCLIKE___SECTION 1A__GNUCLIKE_ATTRIBUTE_MODE_DI 1D__GNUCLIKE_CTOR_SECTION_HANDLING 1G__GNUCLIKE_BUILTIN_CONSTANT_P 1N__GNUCLIKE_BUILTIN_VARARGS 1O__GNUCLIKE_BUILTIN_STDARG 1P__GNUCLIKE_BUILTIN_VAALIST 1T__GNUC_VA_LIST_COMPATIBILITY 1X__GNUCLIKE_BUILTIN_NEXT_ARG 1Y__GNUCLIKE_MATH_BUILTIN_RELOPS \__GNUCLIKE_BUILTIN_MEMCPY 1___CC_SUPPORTS_INLINE 1`__CC_SUPPORTS___INLINE 1a__CC_SUPPORTS___INLINE__ 1c__CC_SUPPORTS___FUNC__ 1d__CC_SUPPORTS_WARNING 1f__CC_SUPPORTS_VARADIC_XXX 1h__CC_SUPPORTS_DYNAMIC_ARRAY_INIT 1k__CC_INT_IS_32BIT 1s__GNUC_PREREQ__(ma,mi) (__GNUC__ > (ma) || __GNUC__ == (ma) && __GNUC_MINOR__ >= (mi))__P(protos) protos__CONCAT1(x,y) x ## y__CONCAT(x,y) __CONCAT1(x,y)__STRING(x) #x__XSTRING(x) __STRING(x)__const const__signed signed__volatile volatile__dead2 __attribute__((__noreturn__))__pure2 __attribute__((__const__))__unused __attribute__((__unused__))__used __attribute__((__used__))__packed __attribute__((__packed__))__aligned(x) __attribute__((__aligned__(x)))__section(x) __attribute__((__section__(x)))__pure __attribute__((__pure__))__always_inline __attribute__((__always_inline__))__nonnull(x) __attribute__((__nonnull__(x)))__restrict __predict_true(exp) __builtin_expect((exp), 1)__predict_false(exp) __builtin_expect((exp), 0)__offsetof(type,field) ((size_t)(&((type *)0)->field))__rangeof(type,start,end) (__offsetof(type, end) - __offsetof(type, start))__printflike(fmtarg,firstvararg) __attribute__((__format__ (__printf__, fmtarg, firstvararg)))__scanflike(fmtarg,firstvararg) __attribute__((__format__ (__scanf__, fmtarg, firstvararg)))__format_arg(fmtarg) __attribute__((__format_arg__ (fmtarg)))__printf0like(fmtarg,firstvararg) __attribute__((__format__ (__printf0__, fmtarg, firstvararg)))__strong_reference(sym,aliassym) extern __typeof (sym) aliassym __attribute__ ((__alias__ (#sym)));__weak_reference(sym,alias) __asm__(".weak " #alias); __asm__(".equ " #alias ", " #sym)__warn_references(sym,msg) __asm__(".section .gnu.warning." #sym); __asm__(".asciz \"" msg "\""); __asm__(".previous")__IDSTRING(name,string) __asm__(".ident\t\"" string "\"")__FBSDID(s) __IDSTRING(__CONCAT(__rcsid_,__LINE__),s)__RCSID(s) __IDSTRING(__CONCAT(__rcsid_,__LINE__),s)__RCSID_SOURCE(s) __IDSTRING(__CONCAT(__rcsid_source_,__LINE__),s)__SCCSID(s) __IDSTRING(__CONCAT(__sccsid_,__LINE__),s)__COPYRIGHT(s) __IDSTRING(__CONCAT(__copyright_,__LINE__),s)__DECONST(type,var) ((type)(uintptr_t)(const void *)(var))__DEVOLATILE(type,var) ((type)(uintptr_t)(volatile void *)(var))__DEQUALIFY(type,var) ((type)(uintptr_t)(const volatile void *)(var))__POSIX_VISIBLE 200112__XSI_VISIBLE 600__BSD_VISIBLE 1__ISO_C_VISIBLE 1999* NULL ((void *)0)+_SYS__TYPES_H_ !(_MACHINE__TYPES_H_ .__NO_STRICT_ALIGNMENT __GNUC_VA_LIST 2_RUNE_T_DECLARED 8_SIZE_T_DECLARED >_WCHAR_T_DECLARED Boffsetof(type,member) __offsetof(type, member)'_MACHINE_STDARG_H_ -_VA_LIST_DECLARED 3va_start(ap,last) __builtin_stdarg_start((ap), (last))6va_arg(ap,type) __builtin_va_arg((ap), type):va_copy(dest,src) __builtin_va_copy((dest), (src))>va_end(ap) __builtin_va_end(ap) &_LIMITS_H_ +_POSIX_ARG_MAX 4096,_POSIX_CHILD_MAX 25-_POSIX_LINK_MAX 8._POSIX_MAX_CANON 255/_POSIX_MAX_INPUT 2550_POSIX_NAME_MAX 141_POSIX_NGROUPS_MAX 82_POSIX_OPEN_MAX 203_POSIX_PATH_MAX 2564_POSIX_PIPE_BUF 5125_POSIX_SSIZE_MAX 327676_POSIX_STREAM_MAX 87_POSIX_TZNAME_MAX 69BC_BASE_MAX 99:BC_DIM_MAX 2048;BC_SCALE_MAX 99EXPR_NEST_MAX 32?LINE_MAX 2048@RE_DUP_MAX 255B_POSIX2_BC_BASE_MAX 99C_POSIX2_BC_DIM_MAX 2048D_POSIX2_BC_SCALE_MAX 99E_POSIX2_BC_STRING_MAX 1000F_POSIX2_EQUIV_CLASS_MAX 2G_POSIX2_EXPR_NEST_MAX 32H_POSIX2_LINE_MAX 2048I_POSIX2_RE_DUP_MAX 255M_POSIX_AIO_LISTIO_MAX 16N_POSIX_AIO_MAX 1O_POSIX_DELAYTIMER_MAX 32P_POSIX_MQ_OPEN_MAX 8Q_POSIX_MQ_PRIO_MAX 32R_POSIX_RTSIG_MAX 8S_POSIX_SEM_NSEMS_MAX 256T_POSIX_SEM_VALUE_MAX 32767U_POSIX_SIGQUEUE_MAX 32V_POSIX_TIMER_MAX 32Z_POSIX_THREAD_DESTRUCTOR_ITERATIONS 4[_POSIX_THREAD_KEYS_MAX 128\_POSIX_THREAD_THREADS_MAX 64`_POSIX_HOST_NAME_MAX 255a_POSIX_LOGIN_NAME_MAX 9b_POSIX_SS_REPL_MAX 4c_POSIX_SYMLINK_MAX 255d_POSIX_SYMLOOP_MAX 8e_POSIX_TRACE_EVENT_NAME_MAX 30f_POSIX_TRACE_NAME_MAX 8g_POSIX_TRACE_SYS_MAX 8h_POSIX_TRACE_USER_EVENT_MAX 32i_POSIX_TTY_NAME_MAX 9j_POSIX2_CHARCLASS_NAME_MAX 14k_POSIX2_COLL_WEIGHTS_MAX 2m_POSIX_RE_DUP_MAX _POSIX2_RE_DUP_MAXq_XOPEN_IOV_MAX 16r_XOPEN_NAME_MAX 255s_XOPEN_PATH_MAX 1024tPASS_MAX 128vNL_ARGMAX 99wNL_LANGMAX 31xNL_MSGMAX 32767yNL_NMAX 1zNL_SETMAX 255{NL_TEXTMAX 2048~MB_LEN_MAX 6 !_SYS_LIMITS_H_ $ "_MACHINE__LIMITS_H_ /__CHAR_BIT 81__SCHAR_MAX 0x7f2__SCHAR_MIN (-0x7f - 1)4__UCHAR_MAX 0xff6__USHRT_MAX 0xffff7__SHRT_MAX 0x7fff8__SHRT_MIN (-0x7fff - 1):__UINT_MAX 0xffffffffU;__INT_MAX 0x7fffffff<__INT_MIN (-0x7fffffff - 1)D__ULONG_MAX 0xffffffffULE__LONG_MAX 0x7fffffffLF__LONG_MIN (-0x7fffffffL - 1)J__ULLONG_MAX 0xffffffffffffffffULLK__LLONG_MAX 0x7fffffffffffffffLLL__LLONG_MIN (-0x7fffffffffffffffLL - 1)N__SSIZE_MAX __INT_MAXP__SIZE_T_MAX __UINT_MAXR__OFF_MAX __LLONG_MAXS__OFF_MIN __LLONG_MINV__UQUAD_MAX __ULLONG_MAXW__QUAD_MAX __LLONG_MAXX__QUAD_MIN __LLONG_MIN]__LONG_BIT 32___WORD_BIT 32&CHAR_BIT __CHAR_BIT(SCHAR_MAX __SCHAR_MAX)SCHAR_MIN __SCHAR_MIN+UCHAR_MAX __UCHAR_MAX1CHAR_MAX SCHAR_MAX2CHAR_MIN SCHAR_MIN5USHRT_MAX __USHRT_MAX6SHRT_MAX __SHRT_MAX7SHRT_MIN __SHRT_MIN9UINT_MAX __UINT_MAX:INT_MAX __INT_MAX;INT_MIN __INT_MIN=ULONG_MAX __ULONG_MAX>LONG_MAX __LONG_MAX?LONG_MIN __LONG_MINHSSIZE_MAX __SSIZE_MAXLSIZE_T_MAX __SIZE_T_MAXNOFF_MAX __OFF_MAXOOFF_MIN __OFF_MINSGID_MAX UINT_MAXTUID_MAX UINT_MAXVUQUAD_MAX (__UQUAD_MAX)WQUAD_MAX (__QUAD_MAX)XQUAD_MIN (__QUAD_MIN)\LONG_BIT __LONG_BIT]WORD_BIT __WORD_BIT "_SYS_SYSLIMITS_H_ 4ARG_MAX 2621447CHILD_MAX 409LINK_MAX 32767:MAX_CANON 255;MAX_INPUT 255 (sac)->mps_middle) { _mps_i = 0; while (_mps_s > (sac)->mps_freelists[_mps_i].mps_size) _mps_i += 2; } else { _mps_i = 1; while (_mps_s <= (sac)->mps_freelists[_mps_i].mps_size) _mps_i += 2; } if ((sac)->mps_freelists[_mps_i].mps_count != 0) { (p_o) = (sac)->mps_freelists[_mps_i].mps_blocks; (sac)->mps_freelists[_mps_i].mps_blocks = *(mps_addr_t *)(p_o); --(sac)->mps_freelists[_mps_i].mps_count; (res_o) = MPS_RES_OK; } else (res_o) = mps_sac_fill(&(p_o), sac, _mps_s, has_reservoir_permit); MPS_ENDMPS_SAC_FREE_FAST(sac,p,size) MPS_BEGIN size_t _mps_i, _mps_s; _mps_s = (size); if (_mps_s > (sac)->mps_middle) { _mps_i = 0; while (_mps_s > (sac)->mps_freelists[_mps_i].mps_size) _mps_i += 2; } else { _mps_i = 1; while (_mps_s <= (sac)->mps_freelists[_mps_i].mps_size) _mps_i += 2; } if ((sac)->mps_freelists[_mps_i].mps_count < (sac)->mps_freelists[_mps_i].mps_count_max) { *(mps_addr_t *)(p) = (sac)->mps_freelists[_mps_i].mps_blocks; (sac)->mps_freelists[_mps_i].mps_blocks = (p); ++(sac)->mps_freelists[_mps_i].mps_count; } else mps_sac_empty(sac, p, _mps_s); MPS_ENDMPS_SAC_ALLOC(res_o,p_o,sac,size,has_reservoir_permit) MPS_SAC_ALLOC_FAST(res_o, p_o, sac, size, has_reservoir_permit)MPS_SAC_FREE(sac,p,size) MPS_SAC_FREE_FAST(sac, p, size)mps_reserve(_p_o,_mps_ap,_size) ((char *)(_mps_ap)->alloc + (_size) > (char *)(_mps_ap)->alloc && (char *)(_mps_ap)->alloc + (_size) <= (char *)(_mps_ap)->limit ? ((_mps_ap)->alloc = (mps_addr_t)((char *)(_mps_ap)->alloc + (_size)), *(_p_o) = (_mps_ap)->init, MPS_RES_OK) : mps_ap_fill(_p_o, _mps_ap, _size))MPS_RESERVE_BLOCK(_res_v,_p_v,_mps_ap,_size) MPS_BEGIN char *_alloc = (char *)(_mps_ap)->alloc; char *_next = _alloc + (_size); if(_next > _alloc && _next <= (char *)(_mps_ap)->limit) { (_mps_ap)->alloc = (mps_addr_t)_next; (_p_v) = (_mps_ap)->init; (_res_v) = MPS_RES_OK; } else (_res_v) = mps_ap_fill(&(_p_v), _mps_ap, _size); MPS_ENDMPS_RESERVE_WITH_RESERVOIR_PERMIT_BLOCK(_res_v,_p_v,_mps_ap,_size) MPS_BEGIN char *_alloc = (char *)(_mps_ap)->alloc; char *_next = _alloc + (_size); if(_next > _alloc && _next <= (char *)(_mps_ap)->limit) { (_mps_ap)->alloc = (mps_addr_t)_next; (_p_v) = (_mps_ap)->init; (_res_v) = MPS_RES_OK; } else (_res_v) = mps_ap_fill_with_reservoir_permit(&(_p_v), _mps_ap, _size); MPS_ENDmps_commit(_mps_ap,_p,_size) ((_mps_ap)->init = (_mps_ap)->alloc, (_mps_ap)->limit != 0 || mps_ap_trip(_mps_ap, _p, _size))MPS_SCAN_BEGIN(ss) MPS_BEGIN mps_ss_t _ss = (ss); mps_word_t _mps_w0 = (_ss)->w0; mps_word_t _mps_w1 = (_ss)->w1; mps_word_t _mps_w2 = (_ss)->w2; mps_word_t _mps_wt; {MPS_FIX1(ss,ref) (_mps_wt = 1uL << ((mps_word_t)(ref) >> _mps_w0 & (sizeof(mps_word_t) * CHAR_BIT - 1)), _mps_w2 |= _mps_wt, _mps_w1 & _mps_wt)MPS_FIX2(ss,ref_io) ((*(ss)->fix)(ss, ref_io))MPS_FIX12(ss,ref_io) (MPS_FIX1(ss, *(ref_io)) ? MPS_FIX2(ss, ref_io) : MPS_RES_OK)MPS_FIX(ss,ref_io) MPS_FIX12(ss, ref_io)MPS_FIX_CALL(ss,call) MPS_BEGIN (call); _mps_w2 |= (ss)->w2; MPS_ENDMPS_SCAN_END(ss) } (ss)->w2 = _mps_w2; MPS_END  dbgpool_h   splay_h  mpmtypes_h config_h !CONFIG_DEBUG "CHECK_DEFAULT CheckNONE6CHECK_NONE 7MPS_ASSERT_STRING "nonasserted"?EVENT_NONE @MPS_LOG_STRING "nonlogging"EDIAGNOSTICS FMPS_DEBUG_STRING "debug"LMPS_VARIETY_STRING MPS_ASSERT_STRING "." MPS_LOG_STRING "." MPS_DEBUG_STRINGRmpstd_h MPS_PF_FRI4GC MPS_PF_STRING "fri4gc"MPS_OS_FR MPS_ARCH_I4 MPS_BUILD_GC MPS_T_WORD unsigned longMPS_WORD_WIDTH 32MPS_WORD_SHIFT 5MPS_PF_ALIGN 4EPVMDefaultSubsequentSegSIZE (64ul * 1024)ARENA_CONTROL_EXTENDBY ((Size)4096)ARENA_CONTROL_AVGSIZE ((Size)32)ARENA_CONTROL_MAXSIZE ((Size)65536)ArenaPollALLOCTIME (65536.0)ARENA_ZONESHIFT ((Shift)20)ARENA_CLIENT_PAGE_SIZE ((Size)8192)ArenaDefaultZONESET (ZoneSetUNIV << (MPS_WORD_WIDTH / 2))SegPrefDEFAULT { SegPrefSig, TRUE, ArenaDefaultZONESET, FALSE, FALSE, (Serial)0, }LDHistoryLENGTH ((Size)4)StackProbeDEPTH ((Size)0)ShieldCacheSIZE ((size_t)16)ShieldDepthWIDTH (4)VMANPageALIGNMENT ((Align)4096)VMJunkBYTE ((unsigned char)0xA9)TraceLIMIT ((size_t)1)TraceCopyScanRATIO (1.5)RememberedSummaryBLOCK 15EventBufferSIZE ((size_t)4096)EventStringLengthMAX ((size_t)255)ASSERT_BUFFER_SIZE ((Size)512)MPS_PROD_STRING "dylan"MPS_PROD_DYLAN ARENA_INIT_SPARE_COMMIT_LIMIT ((Size)10uL*1024uL*1024uL)THREAD_MULTI PROTECTION DONGLE_NONE PROD_CHECK_DEFAULT CheckSHALLOWARENA_SIZE ((Size)1<<30)misc_h *SRCID(id,scmid) static SrcIdStruct FileSrcIdStruct = {__FILE__, (scmid), __DATE__, __TIME__}; SrcId id ## SrcId = &FileSrcIdStruct;BEGIN do {> (i)) & 1)BS_UNION(s1,s2) ((s1) | (s2))BS_ADD(ty,s,i) BS_UNION((s), BS_SINGLE(ty, (i)))BS_INTER(s1,s2) ((s1) & (s2))BS_DIFF(s1,s2) BS_INTER((s1), BS_COMP(s2))BS_DEL(ty,s,i) BS_DIFF((s), BS_SINGLE(ty, (i)))BS_SUPER(s1,s2) (BS_INTER((s1), (s2)) == (s2))BS_SUB(s1,s2) BS_SUPER((s2), (s1))BS_IS_SINGLE(s) (((s) & ((s)-1)) == 0)BS_SYM_DIFF(s1,s2) ((s1) ^ (s2))mpslib_h mps_lib_EOF (mps_lib_get_EOF())mps_lib_stderr (mps_lib_get_stderr())mps_lib_stdout (mps_lib_get_stdout())SigInvalid ((Sig)0x51915BAD)SizeMAX ((Size)-1)AccessSetEMPTY ((AccessSet)0)AccessREAD ((AccessSet)(1<<0))AccessWRITE ((AccessSet)(1<<1))AccessSetWIDTH (2)RefSetEMPTY BS_EMPTY(RefSet)RefSetUNIV BS_UNIV(RefSet)ZoneSetEMPTY BS_EMPTY(ZoneSet)ZoneSetUNIV BS_UNIV(ZoneSet)TraceSetEMPTY BS_EMPTY(TraceSet)TraceSetUNIV ((TraceSet)((1u << TraceLIMIT) - 1))RankSetEMPTY BS_EMPTY(RankSet)RankSetUNIV ((RankSet)((1u << RankLIMIT) - 1))AttrFMT ((Attr)(1<<0))AttrSCAN ((Attr)(1<<1))AttrPM_NO_READ ((Attr)(1<<2))AttrPM_NO_WRITE ((Attr)(1<<3))AttrALLOC ((Attr)(1<<4))AttrFREE ((Attr)(1<<5))AttrBUF ((Attr)(1<<6))AttrBUF_RESERVE ((Attr)(1<<7))AttrBUF_ALLOC ((Attr)(1<<8))AttrGC ((Attr)(1<<9))AttrINCR_RB ((Attr)(1<<10))AttrINCR_WB ((Attr)(1<<11))AttrMOVINGGC ((Attr)(1<<12))AttrMASK (AttrFMT | AttrSCAN | AttrPM_NO_READ | AttrPM_NO_WRITE | AttrALLOC | AttrFREE | AttrBUF | AttrBUF_RESERVE | AttrBUF_ALLOC | AttrGC | AttrINCR_RB | AttrINCR_WB | AttrMOVINGGC)BufferModeATTACHED ((BufferMode)(1<<0))BufferModeFLIPPED ((BufferMode)(1<<1))BufferModeLOGGED ((BufferMode)(1<<2))BufferModeTRANSITION ((BufferMode)(1<<3))RootModeCONSTANT ((RootMode)1<<0)RootModePROTECTABLE ((RootMode)1<<1)RootModePROTECTABLE_INNER ((RootMode)1<<2)STATISTIC_DECL(field) field(PoolDebugMixinSig ((Sig)0x519B0DB9)*poolmv_h 5MV2Pool(mv) (&(mv)->poolStruct)poolmfs_h  mpm_h check_h 0AVER(cond) DISCARD(cond)1AVERT(type,val) DISCARD(type ## Check(val))2AVER_CRITICAL(cond) DISCARD(cond)3AVERT_CRITICAL(type,val) DISCARD(type ## Check(val))MASSERT(cond,condstring) BEGIN if (cond) NOOP; else mps_lib_assert_fail(condstring "\n" __FILE__ "\n" STR(__LINE__)); END_NOTREACHED NOOPjCHECKT(type,val) ((val) != NULL && (val)->sig == type ## Sig)pCHECKS(type,val) DISCARD(CHECKT(type, val))qCHECKL(cond) DISCARD(cond)rCHECKD(type,val) DISCARD(CHECKT(type, val))sCHECKD_NOSIG(type,val) DISCARD((val) != NULL)tCHECKU(type,val) DISCARD(CHECKT(type, val))uCHECKU_NOSIG(type,val) DISCARD((val) != NULL)CHECKLVALUE(lv1,lv2) ((void)sizeof((lv1) = (lv2)), (void)sizeof((lv2) = (lv1)), TRUE)CHECKTYPE(t1,t2) (sizeof(t1) == sizeof(t2) && CHECKLVALUE(*((t1 *)0), *((t2 *)0)))CHECKFIELDAPPROX(s1,f1,s2,f2) (sizeof(((s1 *)0)->f1) == sizeof(((s2 *)0)->f2) && offsetof(s1, f1) == offsetof(s2, f2))CHECKFIELD(s1,f1,s2,f2) (CHECKFIELDAPPROX(s1, f1, s2, f2) && CHECKLVALUE(((s1 *)0)->f1, ((s2 *)0)->f2))event_h  eventcom_h !EventNameMAX ((size_t)19)"EventCodeMAX ((EventCode)0x0069)&EVENT_0(type) NOOPEVENT_A(type,p0) NOOPEVENT_AW(type,p0,p1) NOOPEVENT_P(type,p0) NOOPEVENT_PAA(type,p0,p1,p2) NOOPEVENT_PAW(type,p0,p1,p2) NOOPEVENT_PAWA(type,p0,p1,p2,p3) NOOPEVENT_PDDWWW(type,p0,p1,p2,p3,p4,p5) NOOPEVENT_PP(type,p0,p1) NOOPEVENT_PPAU(type,p0,p1,p2,p3) NOOPEVENT_PPAWP(type,p0,p1,p2,p3,p4) NOOPEVENT_PPP(type,p0,p1,p2) NOOPEVENT_PPPA(type,p0,p1,p2,p3) NOOPEVENT_PPPU(type,p0,p1,p2,p3) NOOPEVENT_PPPUU(type,p0,p1,p2,p3,p4) NOOPEVENT_PPU(type,p0,p1,p2) NOOPEVENT_PPUU(type,p0,p1,p2,p3) NOOPEVENT_PPUWWW(type,p0,p1,p2,p3,p4,p5) NOOPEVENT_PPWW(type,p0,p1,p2,p3) NOOPEVENT_PPWWW(type,p0,p1,p2,p3,p4) NOOPEVENT_PPWWWUUU(type,p0,p1,p2,p3,p4,p5,p6,p7) NOOPEVENT_PU(type,p0,p1) NOOPEVENT_PW(type,p0,p1) NOOPEVENT_PWA(type,p0,p1,p2) NOOPEVENT_PWAW(type,p0,p1,p2,p3) NOOPEVENT_PWP(type,p0,p1,p2) NOOPEVENT_PWU(type,p0,p1,p2) NOOPEVENT_PWW(type,p0,p1,p2) NOOPEVENT_PWWWWDD(type,p0,p1,p2,p3,p4,p5,p6) NOOPEVENT_PWWWWW(type,p0,p1,p2,p3,p4,p5) NOOPEVENT_PWWWWWWWWW(type,p0,p1,p2,p3,p4,p5,p6,p7,p8,p9) NOOPEVENT_PWWWWWWWWWWWW(type,p0,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11,p12) NOOPEVENT_UUPA(type,p0,p1,p2,p3) NOOPEVENT_UUPP(type,p0,p1,p2,p3) NOOPEVENT_UUPPP(type,p0,p1,p2,p3,p4) NOOPEVENT_WS(type,p0,p1,l1) NOOP:EventEventTime ((EventType)0xEF213E99);EventPoolInit ((EventType)0xEFB07141)EventPoolFree ((EventType)0xEFB07F6E)?EventArenaCreateVM ((EventType)0xEFA64CF3)@EventArenaCreateVMNZ ((EventType)0xEFA64CF2)AEventArenaCreateCL ((EventType)0xEFA64CC7)BEventArenaDestroy ((EventType)0xEFA64DE5)CEventArenaAlloc ((EventType)0xEFA64A77)DEventArenaFree ((EventType)0xEFA64F6E)EEventSegAlloc ((EventType)0xEF5E9A77)FEventSegFree ((EventType)0xEF5E9F6E)GEventSegMerge ((EventType)0xEF5E93E6)HEventSegSplit ((EventType)0xEF5E95B7)IEventAMCGenCreate ((EventType)0xEFA3C94C)JEventAMCGenDestroy ((EventType)0xEFA3C94D)KEventAMCInit ((EventType)0xEFA3C141)LEventAMCFinish ((EventType)0xEFA3CF14)MEventAMCTraceBegin ((EventType)0xEFA3C26B)NEventAMCScanBegin ((EventType)0xEFA3C5CB)OEventAMCScanEnd ((EventType)0xEFA3C5CE)PEventAMCFix ((EventType)0xEFA3CF18)QEventAMCFixInPlace ((EventType)0xEFA3CF8A)REventAMCFixForward ((EventType)0xEFA3CF8F)SEventAMCReclaim ((EventType)0xEFA3C6EC)TEventTraceStart ((EventType)0xEF26AC52)UEventTraceCreate ((EventType)0xEF26ACC6)VEventTraceDestroy ((EventType)0xEF26ACDE)WEventSegSetGrey ((EventType)0xEF59596A)XEventTraceFlipBegin ((EventType)0xEF26AF7B)YEventTraceFlipEnd ((EventType)0xEF26AF7E)ZEventTraceReclaim ((EventType)0xEF26A6EC)[EventTraceScanSeg ((EventType)0xEF26A559)\EventTraceScanSingleRef ((EventType)0xEF26A556)^EventTraceAccess ((EventType)0xEF26AACC)_EventTracePoll ((EventType)0xEF26AB01)`EventTraceStep ((EventType)0xEF26A52B)aEventTraceFix ((EventType)0xEF26AF18)bEventTraceFixSeg ((EventType)0xEF26AF85)cEventTraceFixWhite ((EventType)0xEF26AF83)dEventTraceScanArea ((EventType)0xEF26A5CA)eEventTraceScanAreaTagged ((EventType)0xEF26A5C2)fEventVMCreate ((EventType)0xEFF3C6EA)gEventVMDestroy ((EventType)0xEFF3DE52)hEventVMMap ((EventType)0xEFF33AB9)iEventVMUnmap ((EventType)0xEFF3043B)jEventIntern ((EventType)0xEF142E64)kEventArenaExtend ((EventType)0xEFA64E82)lEventArenaRetract ((EventType)0xEFA646E2)mEventRootScan ((EventType)0xEF625CA4)nEventLabel ((EventType)0xEF7ABE79)oEventTraceSegGreyen ((EventType)0xEF26A599)pEventBufferReserve ((EventType)0xEFB0FF6E)qEventBufferCommit ((EventType)0xEFB0FFC0)rEventBufferInit ((EventType)0xEFB0FF14)sEventBufferInitSeg ((EventType)0xEFB0F15E)tEventBufferInitRank ((EventType)0xEFB0F16A)uEventBufferInitEPVM ((EventType)0xEFB0F1EF)vEventBufferFinish ((EventType)0xEFB0FFF1)wEventBufferFill ((EventType)0xEFB0FFF7)xEventBufferEmpty ((EventType)0xEFB0FFE3)yEventArenaAllocFail ((EventType)0xEFA64A7F)zEventSegAllocFail ((EventType)0xEF5E9A7F){EventMeterInit ((EventType)0xEF3E2141)|EventMeterValues ((EventType)0xEF3E2FA7)}EventCBSInit ((EventType)0xEFCB5141)~EventTraceStatCondemn ((EventType)0xEF26A5C0)EventTraceStatScan ((EventType)0xEF26A55C)EventTraceStatFix ((EventType)0xEF26A5F8)EventTraceStatReclaim ((EventType)0xEF26A56E)EventArenaWriteFaults ((EventType)0xEFA6436F)EventPoolInitMV ((EventType)0xEFB0713F)EventPoolInitMVFF ((EventType)0xEFB071FF)EventPoolInitMFS ((EventType)0xEFB07135)EventPoolInitEPVM ((EventType)0xEFB071EF)EventPoolInitEPDL ((EventType)0xEFB071E7)EventPoolInitAMS ((EventType)0xEFB071A5)EventPoolInitAMC ((EventType)0xEFB071AC)EventPoolInitAMCZ ((EventType)0xEFB071A2)EventPoolInitAWL ((EventType)0xEFB071A3)EventPoolInitLO ((EventType)0xEFB07170)EventPoolInitSNC ((EventType)0xEFB07154)EventPoolInitMVT ((EventType)0xEFB07132)EventPoolPush ((EventType)0xEFB07B58)EventPoolPop ((EventType)0xEFB07B0B)EventReservoirLimitSet ((EventType)0xEF6E5713)EventCommitLimitSet ((EventType)0xEFC03713)EventSpareCommitLimitSet ((EventType)0xEF5BC713)hEventInit() NOOPiEventFinish() NOOPjEventControl(r,f) (UNUSED(r), UNUSED(f), (Word)0)kEventInternString(s) (UNUSED(s), (Word)0)lEventInternGenString(l,s) (UNUSED(l), UNUSED(s), (Word)0)mEventLabelAddr(a,i) BEGIN UNUSED(a); UNUSED(i); ENDPlock_h ULockSig ((Sig)0x51970CC9) th_h  ring_h RingNONE ((Ring)0)$RingInit(ring) BEGIN Ring _ring = (ring); AVER(_ring != NULL); _ring->next = _ring; _ring->prev = _ring; AVER(RingCheck(_ring)); END/RingFinish(ring) BEGIN Ring _ring = (ring); AVER(RingCheckSingle(_ring)); _ring->next = RingNONE; _ring->prev = RingNONE; END9RingAppend(ring,new) BEGIN Ring _ring = (ring), _new = (new); AVER(RingCheck(_ring)); AVER(RingCheckSingle(_new)); _new->prev = _ring->prev; _new->next = _ring; _ring->prev->next = _new; _ring->prev = _new; ENDFRingInsert(ring,new) BEGIN Ring _ring = (ring), _new = (new); AVER(RingCheck(_ring)); AVER(RingCheckSingle(_new)); _new->prev = _ring; _new->next = _ring->next; _ring->next->prev = _new; _ring->next = _new; ENDSRingRemove(old) BEGIN Ring _old = (old); AVER(RingCheck(_old)); AVER(!RingIsSingle(_old)); _old->next->prev = _old->prev; _old->prev->next = _old->next; _old->next = _old; _old->prev = _old; END`RingNext(ring) ((ring)->next)dRingPrev(ring) ((ring)->prev)gRING_ELT(type,field,node) ((type)(void *)((char *)(node) - (size_t)(&((type)0)->field)))kRING_FOR(node,ring,next) for(node = RingNext(ring), next = RingNext(node); node != (ring); node = (next), next = RingNext(node))ThreadSig ((Sig)0x519286ED) ss_h  tract_h   bt_h BTSize(n) (((n) + MPS_WORD_WIDTH-1) / MPS_WORD_WIDTH * sizeof(Word))BTGet(a,i) ((Bool)(((a)[((i) >> MPS_WORD_SHIFT)] >> ((i) & ~((Word)-1 << MPS_WORD_SHIFT))) & (Word)1))BTSet(a,i) BEGIN (a)[((i)>>MPS_WORD_SHIFT)] |= (Word)1<<((i)&~((Word)-1<>MPS_WORD_SHIFT)] &= ~((Word)1 << ((i) & ~((Word)-1<base)&TractPool(tract) ((tract)->pool)'TractP(tract) ((tract)->p)(TractSetP(tract,pp) ((void)((tract)->p = (pp))))TractHasSeg(tract) ((Bool)(tract)->hasSeg)*TractSetHasSeg(tract,b) ((void)((tract)->hasSeg = (b)))+TractWhite(tract) ((tract)->white),TractSetWhite(tract,w) ((void)((tract)->white = (w)))8TRACT_SEG(segReturn,tract) (TractHasSeg(tract) && ((*(segReturn) = (Seg)TractP(tract)), TRUE));TRACT_SET_SEG(tract,seg) (TractSetHasSeg(tract, TRUE), TractSetP(tract, seg))>TRACT_UNSET_SEG(tract) (TractSetHasSeg(tract, FALSE), TractSetP(tract, NULL))nPageTract(page) (&(page)->the.tractStruct)rPageOfTract(tract) PARENT(PageStruct, the.tractStruct, (tract))vPagePool(page) ((page)->the.rest.pool)}PageIsAllocated(page) ((page)->the.rest.pool != NULL)PageType(page) ((page)->the.rest.type)ChunkSig ((Sig)0x519C804C)ChunkArena(chunk) ((chunk)->arena)ChunkPageSize(chunk) ((chunk)->pageSize)ChunkPageShift(chunk) ((chunk)->pageShift)ChunkPagesToSize(chunk,pages) ((Size)(pages) << (chunk)->pageShift)ChunkSizeToPages(chunk,size) ((Count)((size) >> (chunk)->pageShift))CHUNK_OF_ADDR(chunkReturn,arena,addr) (((arena)->chunkCache.base <= (addr) && (addr) < (arena)->chunkCache.limit) ? (*(chunkReturn) = (arena)->chunkCache.chunk, TRUE) : ChunkOfAddr(chunkReturn, arena, addr))AddrPageBase(chunk,addr) AddrAlignDown((addr), ChunkPageSize(chunk))TRACT_OF_ADDR(tractReturn,arena,addr) BEGIN Arena _arena = (arena); Addr _addr = (addr); Chunk _chunk; Index _i; if (CHUNK_OF_ADDR(&_chunk, _arena, _addr)) { _i = INDEX_OF_ADDR(_chunk, _addr); if (BTGet(_chunk->allocTable, _i)) *(tractReturn) = PageTract(&_chunk->pageTable[_i]); else *(tractReturn) = NULL; } else *(tractReturn) = NULL; ENDINDEX_OF_ADDR(chunk,addr) ((Index)ChunkSizeToPages(chunk, AddrOffset((chunk)->base, addr)))PageIndexBase(chunk,i) AddrAdd((chunk)->base, ChunkPagesToSize(chunk, i))TractAverContiguousRange(arena,rangeBase,rangeLimit) BEGIN Chunk _ch = NULL; UNUSED(_ch); AVER(ChunkOfAddr(&_ch, arena, rangeBase) && (rangeLimit) <= _ch->limit); ENDTRACT_TRACT_FOR(tract,addr,arena,firstTract,limit) tract = (firstTract); addr = TractBase(tract); TractAverContiguousRange(arena, addr, limit); for(; tract != NULL; (addr = AddrAdd(addr, (arena)->alignment)), (addr < (limit) ? (tract = PageTract(PageOfTract(tract) + 1)) : (tract = NULL) ))TRACT_FOR(tract,addr,arena,base,limit) TRACT_TRACT_FOR(tract, addr, arena, TractOfBaseAddr(arena, base), limit)!mpmst_h "protocol_h DERIVE_LOCAL(name) protocol ## nameDERIVE_STRUCT(name) name ## StructDERIVE_ENSURE(name) name ## GetDERIVE_ENSURE_OLD(name) Ensure ## nameDERIVE_ENSURE_INTERNAL(name) protocolGet ## nameDERIVE_GUARDIAN(name) protocol ## name ## GuardianDERIVE_STATIC_STORAGE(name) protocol ## name ## StructProtocolClassSetSuperclassPoly(class,super) (((ProtocolClass)(class))->superclass) = (ProtocolClass)(super)$DEFINE_CLASS(className,var) static Bool DERIVE_GUARDIAN(className) = FALSE; static DERIVE_STRUCT(className) DERIVE_STATIC_STORAGE(className); static void DERIVE_ENSURE_INTERNAL(className)(className); extern className DERIVE_ENSURE(className)(void); className DERIVE_ENSURE(className)(void) { if (DERIVE_GUARDIAN(className) == FALSE) { LockClaimGlobalRecursive(); if (DERIVE_GUARDIAN(className) == FALSE) { DERIVE_ENSURE_INTERNAL(className) (&DERIVE_STATIC_STORAGE(className)); DERIVE_GUARDIAN(className) = TRUE; } LockReleaseGlobalRecursive(); } return &DERIVE_STATIC_STORAGE(className); } extern className DERIVE_ENSURE_OLD(className)(void); className DERIVE_ENSURE_OLD(className)(void) { return DERIVE_ENSURE(className)(); } static void DERIVE_ENSURE_INTERNAL(className) (className var)AINHERIT_CLASS(this,parentName) BEGIN parentName DERIVE_LOCAL(parentName) = DERIVE_ENSURE(parentName)(); *this = *(DERIVE_LOCAL(parentName)); ProtocolClassSetSuperclassPoly(this, DERIVE_LOCAL(parentName)); ENDODEFINE_ALIAS_CLASS(className,typeName,var) typedef typeName className; typedef DERIVE_STRUCT(typeName) DERIVE_STRUCT(className); DEFINE_CLASS(className, var)VProtocolClassSig ((Sig)0x519B60C7)WProtocolInstSig ((Sig)0x519B6014)ProtocolClassSuperclassPoly(class) (((ProtocolClass)(class))->superclass)ClassOfPoly(inst) ((ProtocolInst)(inst)->class)IsSubclassPoly(sub,super) ProtocolIsSubclass((ProtocolClass)(sub), (ProtocolClass)(super))SUPERCLASS(className) ProtocolClassSuperclassPoly(DERIVE_ENSURE(className)())#chain_h GenDescSig ((Sig)0x5199E4DE)+PoolGenSig ((Sig)0x519B009E);ChainSig ((Sig)0x519C8A14)XPoolGenNr(gen) ((gen)->nr)/PoolClassSig ((Sig)0x519C7A55)]PoolSig ((Sig)0x519B0019)}MFSSig ((Sig)0x5193F599)MVSig ((Sig)0x5193B999)ReservoirSig ((Sig)0x5196e599)MessageClassSig ((Sig)0x519359c1)MessageSig ((Sig)0x5193e559)SegClassSig ((Sig)0x5195E9C7)SegSig ((Sig)0x5195E999)GCSegSig ((Sig)0x5199C5E9)SegPrefSig ((Sig)0x5195E9B6)BufferClassSig ((Sig)0x519B0FC7)BufferSig ((Sig)0x519B0FFE)SegBufSig ((Sig)0x51959B0F)FormatSig ((Sig)0x519F63A2)ScanStateSig ((Sig)0x5195CA45)TraceSig ((Sig)0x51924ACE)ChunkCacheEntrySig ((Sig)0x519C80CE)ArenaClassSig ((Sig)0x519A6C1A)GlobalsSig ((Sig)0x519970BA)ArenaSig ((Sig)0x519A6E4A)%BoolCheck(b) ((unsigned)(b) <= 1)(FUNCHECK(f) (FunCheck((Fun)f))4WordIsAligned(w,a) (((w) & ((a) - 1)) == 0)7WordAlignUp(w,a) (((w) + (a) - 1) & ~((Word)(a) - 1));WordRoundUp(w,r) (((w)+(r)-1) - ((w)+(r)-1)%(r))>WordAlignDown(w,a) ((w) & ~((Word)(a) - 1))@size_tAlignUp(s,a) ((size_t)WordAlignUp((Word)(s), a))BPointerAdd(p,s) ((void *)((char *)(p) + (s)))CPointerSub(p,s) ((void *)((char *)(p) - (s)))EPointerOffset(base,limit) ((size_t)((char *)(limit) - (char *)(base)))HPointerAlignUp(p,s) ((void *)WordAlignUp((Word)(p), (Align)(s)))KAddrAdd(p,s) ((Addr)PointerAdd((void *)(p), s))LAddrSub(p,s) ((Addr)PointerSub((void *)(p), s))NAddrOffset(b,l) ((Size)(PointerOffset((void *)(b), (void *)(l))))RAddrAlignDown(p,a) ((Addr)WordAlignDown((Word)(p), a))TAlignWord(s) ((Word)(s))VAddrIsAligned(p,a) WordIsAligned((Word)(p), a)WAddrAlignUp(p,a) ((Addr)WordAlignUp((Word)(p), a))YSizeIsAligned(s,a) WordIsAligned((Word)(s), a)ZSizeAlignUp(s,a) ((Size)WordAlignUp((Word)(s), a))[SizeAlignDown(s,a) ((Size)WordAlignDown((Word)(s), a))]SizeRoundUp(s,r) ((Size)WordRoundUp((Word)(s), (Size)(r)))_IndexIsAligned(s,a) WordIsAligned((Word)(s), a)`IndexAlignUp(s,a) ((Index)WordAlignUp((Word)(s), a))aIndexAlignDown(s,a) ((Index)WordAlignDown((Word)(s), a))cAlignIsAligned(a1,a2) WordIsAligned((Word)(a1), a2)iAddrSet(target,value,size) mps_lib_memset(target, (int)(value), size)mAddrCopy(target,source,size) mps_lib_memcpy(target, source, size)qAddrComp(a,b,size) mps_lib_memcmp(a, b, size)wADDR_PTR(type,addr) ((type *)(addr))PoolArena(pool) ((pool)->arena)PoolAlignment(pool) ((pool)->alignment)PoolSegRing(pool) (&(pool)->segRing)PoolFix(pool,ss,seg,refIO) ((*(pool)->fix)(pool, ss, seg, refIO))ClassOfPool(pool) ((pool)->class)SuperclassOfPool(pool) ((PoolClass)ProtocolClassSuperclassPoly((pool)->class))DEFINE_POOL_CLASS(className,var) DEFINE_ALIAS_CLASS(className, PoolClass, var)POOL_SUPERCLASS(className) ((PoolClass)SUPERCLASS(className))TraceSetSingle(trace) BS_SINGLE(TraceSet, (trace)->ti)TraceSetIsSingle(ts) BS_IS_SINGLE(ts)TraceSetIsMember(ts,trace) BS_IS_MEMBER(ts, (trace)->ti)TraceSetAdd(ts,trace) BS_ADD(TraceSet, ts, (trace)->ti)TraceSetDel(ts,trace) BS_DEL(TraceSet, ts, (trace)->ti)TraceSetUnion(ts1,ts2) BS_UNION(ts1, ts2)TraceSetInter(ts1,ts2) BS_INTER(ts1, ts2)TraceSetDiff(ts1,ts2) BS_DIFF(ts1, ts2)TraceSetSuper(ts1,ts2) BS_SUPER(ts1, ts2)TraceSetSub(ts1,ts2) BS_SUB(ts1, ts2)TraceSetComp(ts) BS_COMP(ts)TRACE_SET_ITER(ti,trace,ts,arena) for(ti = 0, trace = ArenaTrace(arena, ti); ti < TraceLIMIT; ++ti, trace = ArenaTrace(arena, ti)) BEGIN if (TraceSetIsMember(ts, trace)) {TRACE_SET_ITER_END(ti,trace,ts,arena) } ENDTRACE_SCAN_BEGIN(ss) BEGIN Shift SCANzoneShift = (ss)->zoneShift; ZoneSet SCANwhite = (ss)->white; RefSet SCANsummary = (ss)->unfixedSummary; Word SCANt; {TRACE_FIX1(ss,ref) (SCANt = (Word)1 << ((Word)(ref) >> SCANzoneShift & (MPS_WORD_WIDTH-1)), SCANsummary |= SCANt, SCANwhite & SCANt)TRACE_FIX2(ss,refIO) ((*(ss)->fix)(ss, refIO))TRACE_FIX(ss,refIO) (TRACE_FIX1(ss, *(refIO)) ? TRACE_FIX2(ss, refIO) : ResOK)TRACE_SCAN_END(ss) } (ss)->unfixedSummary = SCANsummary; ENDDEFINE_ARENA_CLASS(className,var) DEFINE_ALIAS_CLASS(className, ArenaClass, var)ARENA_SUPERCLASS(className) ((ArenaClass)SUPERCLASS(className))ArenaGlobals(arena) (&(arena)->globals)GlobalsArena(glob) PARENT(ArenaStruct, globals, glob)ArenaRootRing(arena) (&(arena)->rootRing)ArenaTraceRing(arena) (&(arena)->traceRing)ArenaThreadRing(arena) (&(arena)->threadRing)ArenaEpoch(arena) ((arena)->epoch)ArenaTrace(arena,ti) (&(arena)->trace[ti])ArenaZoneShift(arena) ((arena)->zoneShift)ArenaAlign(arena) ((arena)->alignment)ArenaGreyRing(arena,rank) (&(arena)->greyRing[rank])ArenaReservoir(arena) (&(arena)->reservoirStruct)DEFINE_SEG_CLASS(className,var) DEFINE_ALIAS_CLASS(className, SegClass, var)SEG_SUPERCLASS(className) ((SegClass)SUPERCLASS(className))ClassOfSeg(seg) ((seg)->class)SegBase(seg) (TractBase((seg)->firstTract))SegLimit(seg) ((seg)->limit)SegPool(seg) (TractPool((seg)->firstTract))SegRankSet(seg) ((RankSet)(seg)->rankSet)SegPM(seg) ((AccessSet)(seg)->pm)SegSM(seg) ((AccessSet)(seg)->sm)SegDepth(seg) ((unsigned)(seg)->depth)SegGrey(seg) ((TraceSet)(seg)->grey)SegWhite(seg) ((TraceSet)(seg)->white)SegNailed(seg) ((TraceSet)(seg)->nailed)SegOfPoolRing(node) (RING_ELT(Seg, poolRing, (node)))SegOfGreyRing(node) (&(RING_ELT(GCSeg, greyRing, (node)) ->segStruct))SegSummary(seg) (((GCSeg)(seg))->summary)SegSetPM(seg,mode) ((void)((seg)->pm = (mode)))SegSetSM(seg,mode) ((void)((seg)->sm = (mode)))SegSetDepth(seg,d) ((void)((seg)->depth = (d)))SegSetNailed(seg,ts) ((void)((seg)->nailed = (ts)))BUFFER_RESERVE(pReturn,buffer,size,withReservoirPermit) (AddrAdd(BufferAlloc(buffer), size) > BufferAlloc(buffer) && AddrAdd(BufferAlloc(buffer), size) <= BufferAP(buffer)->limit ? (*(pReturn) = BufferAlloc(buffer), BufferAP(buffer)->alloc = AddrAdd(BufferAlloc(buffer), size), ResOK) : BufferFill(pReturn, buffer, size, withReservoirPermit))BUFFER_COMMIT(buffer,p,size) (BufferAP(buffer)->init = BufferAlloc(buffer), BufferAP(buffer)->limit != 0 || BufferTrip(buffer, p, size))BufferAP(buffer) (&(buffer)->apStruct)BufferOfAP(ap) PARENT(BufferStruct, apStruct, ap)BufferArena(buffer) ((buffer)->arena)BufferPool(buffer) ((buffer)->pool)BufferBase(buffer) ((buffer)->base)BufferGetInit(buffer) (BufferAP(buffer)->init)BufferAlloc(buffer) (BufferAP(buffer)->alloc)BufferLimit(buffer) ((buffer)->poolLimit)DEFINE_BUFFER_CLASS(className,var) DEFINE_ALIAS_CLASS(className, BufferClass, var)BUFFER_SUPERCLASS(className) ((BufferClass)SUPERCLASS(className))RankSetIsMember(rs,r) BS_IS_MEMBER((rs), (r))RankSetSingle(r) BS_SINGLE(RankSet, (r))RankSetIsSingle(r) BS_IS_SINGLE(r)RankSetUnion(rs1,rs2) BS_UNION((rs1), (rs2))RankSetDel(rs,r) BS_DEL(RankSet, (rs), (r))AddrZone(arena,addr) (((Word)(addr) >> (arena)->zoneShift) & (MPS_WORD_WIDTH - 1))RefSetUnion(rs1,rs2) BS_UNION((rs1), (rs2))RefSetInter(rs1,rs2) BS_INTER((rs1), (rs2))RefSetDiff(rs1,rs2) BS_DIFF((rs1), (rs2))RefSetAdd(arena,rs,addr) BS_ADD(RefSet, rs, AddrZone(arena, addr))RefSetIsMember(arena,rs,addr) BS_IS_MEMBER(rs, AddrZone(arena, addr))RefSetSuper(rs1,rs2) BS_SUPER((rs1), (rs2))RefSetSub(rs1,rs2) BS_SUB((rs1), (rs2))ZoneSetUnion(zs1,zs2) BS_UNION(zs1, zs2)ZoneSetInter(zs1,zs2) BS_INTER(zs1, zs2)ZoneSetDiff(zs1,zs2) BS_DIFF(zs1, zs2)ZoneSetAdd(arena,zs,addr) BS_ADD(ZoneSet, zs, AddrZone(arena, addr))ZoneSetIsMember(arena,zs,addr) BS_IS_MEMBER(zs, AddrZone(arena, addr))ZoneSetSub(zs1,zs2) BS_SUB(zs1, zs2)ZoneSetSuper(zs1,zs2) BS_SUPER(zs1, zs2)ZoneSetComp(zs) BS_COMP(zs)STATISTIC(gather) BEGIN (gather); ENDSTATISTIC_STAT(gather) BEGIN gather; ENDSTATISTIC_WRITE(format,arg) (format), (arg),%mvBlockPool(mv) MFSPool(&(mv)->blockPoolStruct)&mvSpanPool(mv) MFSPool(&(mv)->spanPoolStruct))Pool2MV(pool) PARENT(MVStruct, poolStruct, pool)6MV2MVDebug(mv) PARENT(MVDebugStruct, MVStruct, mv)7MVDebug2MV(mvd) (&((mvd)->MVStruct))jMVSpanSig ((Sig)0x5193F5BA)}SpanSize(span) AddrOffset((span)->base.base, (span)->limit.limit)SpanInsideSentinels(span) AddrOffset((span)->base.limit, (span)->limit.base)poolmv.cJan 17 200703:39:25 space $P maxSize $W avgSize $W extendBy $W spanPool $P ($U) blockPool $P ($U) Spans largest blocks $U space $W tract $P span $P$W unknown Span allocation maps MVSpan $P $A $C MVMVDBG$Id: //info.ravenbrook.com/project/mps/master/code/poolmv.c#11 $ |  AB  UAB BX.(dAB F. P. o. S. `nAB Fi. AB FI. |AB F.8AB FM.{.M.I.M. j.M. _.H.(AB Fb..H. AB 8>AB F~. O.U.O. Q.@_.`.0b. GAB b.S., AB < hAB BT. AB  GAB b.S. AB  EAB BT.T AB d AB t 0AB A 0AB A AB T0m-MVPoolClassGet-EnsureMVPoolClass-PoolClassMV .MVDebugPoolClassGet#.EnsureMVDebugPoolClassy.mps_class_mv.mps_class_mv_debug.mps_mv_free_size-/mps_mv_size/MVCheck/poolmvSrcId HtZxs ProtocolCoerceClassMethodMutatorFaultContextmpsVersionStringchunkPoolBlackenMethodsize_tSegClassmps_mv_free_sizeclampedArenaSpareCommitExceededMethodchunkSerialLockStructpoolmvSrcIdalignmentframePushpageTablePagespageTableLimitrootunitsPerExtentprotocolGetMVPoolClassMVPoolClassStructPoolFreeMethodglobalRingChunkCacheEntryStructSrcIdStructMFSHeaderStructPoolAccessMethodgreyRingdetachisGensuperclassfreeTemplatestateblockPoolStructrampCounttagPooltypeMVDebugMixinshort intMVDebugPoolClassGetCompareMutatorFaultContextStructdoublemergefreeSizepoolLimitfinishpoolRingBufferStructarenaRinggreySegMaxgenspoolStructArenaDescribeMethodblockCountemptyInternalSizeLockforwardedSizereservoirLimitstreamMVSpanFreePoolFinishMethodarenaArenaFreeMethodMVBlockStructprotocolMVDebugPoolClassStructnextNodelong intisFinalPoolPoolClassStructresttagInitlargestArenaClassStructclassskipMVPoolClassGetWordSegSetWhiteMethodshort unsigned inthistorywriteBarrierHitCountpageSizeheaderSizerankbuild_timemortalityhighregionSizeTraceIdProtocolInstblackenrampBeginPoolRampBeginMethodSizesigned charReservoirStructAddrStruct/home/hannes/dylan/mps/codesingleScanCountMVSpanStructspacestepfreewalkextendisLimitisSentinelsetRankSetfreeAreaSizeProtocolInstStructSegFinishMethodrememberedSummaryRingspanPoolStructPoolBufferClassMethodpointlessScanCounttractListcoerceClassglobalsRingaddrPoolDescribeMethodFormatSkipMethod_ringcopiedSizepoolmv.cFormatScanMethodSegStructvarietyflippedTracesBufferFinishMethodfoundationdescribefenceSizespancapacityScanStateStructrootScanSizeprotocolMVPoolClassStructthisEnsureMVDebugPoolClassattrsnapCountEpochrememberedSummaryIndexreclaimSizePoolStructSegSetRankSummaryMethodpreservedInPlaceSizenodeArenaInitMethodFormatPadMethodfirstTractmayMovefilepageslimittraceIndexthreadRingPoolFramePushMethodArenaChunkFinishMethodreservetractbufferbusyTracesAbstractBufferPoolClassPoolAllocMethodmoveArenaExtendMethodrateleftcoerceInstunroundedUnitSizemps_lib_stream_ssegRefCountrootRingTracebufferFillsetRankSummarySplayTreeStructAddrChunkStructfixRefCountframeptrindexshDepthtracesrootScanCountisCollectedenabledArenaAllocMethodprotocolMVPoolClassGuardianlwPopPendinglong unsigned intallocBase__va_listformatextendByavgSizeMVDebugPoolClassAllocFrameStructchunkRinggreyPoolcommittedlabelledfillMutatorSizePagemps_poolPageStructpoolReadyproflowchunkFinishserialBufferFormatCopyMethodBootBlockStructBoolMVBlockCheckbufferLoggingreservoirStructPoolDebugMixinMethodFormatTraceStructProtocolClassMVStructspanExtendBy__uint32_tProtocolCoerceInstMethodSegSetSummaryMethodprotocollong long intsegCopiedSizeva_listmps_class_mv_debugTraceSetMVInitMVSpanCheckBufferAttachMethodMVSpanMVSpanAllocCountshCachePoolGreyMethodPoolBufferFillMethodSerialthreadSerialreclaimdepthinitfillSizerightupdateNodehasSegspareCommitExceededBufferClassStructnailedRefSetPoolDebugMixinscmidcomparecontrolPoolStructsetGreyshCacheLimitPoolFramePopPendingMethodScanStateallocTractStructSegSplitMethodunitSizeunsigned intBufferReassignSegMethod_oldGlobalsStructPoolInitMethodattachrankSetpageShiftwhitenfinalPoolBufferRankSetMethodSegPrefStructPoolFixMethodsegRingPoolBufferEmptyMethodMFSStructzonesprimaryBufferModeSplayTreeblockExtendBybufferEmptyoffsetPoolWhitenMethodChainStructmissingTagsSplayUpdateNodeMethodblockprehistoryFileSrcIdStructSegInitMethodreclaimCountZoneSetunsigned charSegSetGreyMethodGNU C 3.4.6 [FreeBSD] 20060305mps_class_mvFormattedObjectsStepMethodSegClassStruct__size_tfixedSummaryblockPoollargestKnowncharTraceStatereadBarrierHitCountmps_pool_smps_pool_twalkArenaChunkInitMethodsizeMVDebugPoolClassStructAlignfreeListwithReservoirPermitpreservedInPlaceCountlastTractrootCopiedSizescansetWhitefixEmergencyformatRingprotocolGetMVDebugPoolClasssegScanSizeRingStructcommitLimitaddrReturnmps_mv_sizePoolClassMVtracedSizeisMovedlong long unsigned intSrcIdinsideShieldSegSetBufferMethodRankzoneShiftTraceFixMethodlengthlocusRingArenapoolbufferRingformatSerialPoolDebugMixinStructdebugMixin_newbuild_daterampEndMVCheckPoolClassgenCountinitAtFlippageTablepoolSerialFormatIsMovedMethodPoolRampEndMethodPoolFramePopMethodchunkInitBufferSegMethodmaxSizereservoirSizeSegMergeMethodPoolReclaimMethodtagSizeSplayCompareMethodsetBuffercopyallocMutatorSizetracedTimeBufferClassrootSerialChainreassignSegframePopactiveTracesemptyMutatorSizePoolFreeWalkMethodBufferInitMethodMVDescribetopGenSplayNodeStructsuspendedGenDescStructFormatClassMethodnameallocTableBufferDetachMethodlastTractBaseapStructSegSetRankSetMethodFreeBlockStepMethodAllocFramewhiteSegRefCountShiftAttrchainunfixedSummarylostnotCondemnedtractStructmodeRankSetshCacheIfillInternalSizeFormatMoveMethodBufferDescribeMethodmps_class_smps_class_tisMutatorlastWorldCollectMVPoolClasssingleScanSizespareCommittedMVAllocSegPrefspansfenceTemplatepReturnpollThresholdmessageRingframePopPendingchunkCacheemptySizeprotocolAbstractBufferPoolClassisBasebufferSerialMVFreePoolFixEmergencyMethodepochnailCountblocksArenaClassAPStructwhiteMVBlocksplitcondemnedemergencySegBufferMethodfreechainRingwasMarkedFormatVarietyAccessSetenabledMessageTypesSplayNodeforwardedCountbaseArenaStructmps_lib_FILEspareCommitLimitsetSummaryTagInitMethodBufferSetRankSetMethodSegDescribeMethodaccessprotocolMVPoolClassgreySegCountsegScanCountEnsureMVPoolClassChunkArenaReservedMethodprotocolMVDebugPoolClassGuardianPoolScanMethodsingleCopiedSizeMVFinishBootBlockinsidePollreservednextPoolWalkMethodbufferClassProtocolClassStructprevpageTableBaseFormatStructscannedSizelockArenaFinishMethodTractGCC: (GNU) 3.4.6 [FreeBSD] 20060305.symtab.strtab.shstrtab.rel.text.rel.data.bss.debug_abbrev.rel.debug_info.rel.debug_line.debug_macinfo.rodata.str1.1.rodata.str1.4.rel.rodata.rel.debug_frame.rel.debug_pubnames.rel.debug_aranges.debug_ranges.debug_str.comment4  ) % / H 4 FT0B  VF@R  bC‘q22A   @`   00'a%#       ' U3d:`nCO|Zbi v> < h E*6FS\fqz G, !<C[ g G{ T d t 0 0 poolmv.cFileSrcIdStructMVBlockCheckMVSpanCheckMVInitMVFinishMVSpanAllocMVSpanFreeMVAllocMVFreeMVDebugMixinMVDescribeprotocolMVPoolClassGuardianprotocolMVPoolClassStructprotocolGetMVPoolClassprotocolMVDebugPoolClassGuardianprotocolMVDebugPoolClassStructprotocolGetMVDebugPoolClasspoolmvSrcIdTractOfBaseAddrPoolClassMFSPoolInitArenaFreePoolFinishPoolFreePoolAllocMFSPoolSegPrefDefaultArenaAllocDebugPoolFreeSplatTractOfAddrWriteFMVPoolClassGetLockClaimGlobalRecursiveLockReleaseGlobalRecursiveEnsureMVPoolClassAbstractBufferPoolClassGetmemcpyPoolClassMixInAllocFreePoolClassMVMVDebugPoolClassGetEnsureMVDebugPoolClassPoolClassMixInDebugmps_class_mvmps_class_mv_debugmps_mv_free_sizemps_mv_sizeMVCheck*$%&%&'((#))\*S++*,-,(-G+O).$$/+K'|+)    ,+;+D P+_+h p0 0     0   0  ( 0J  R 0  0   0g  o 0  0  2    3% 3 1E 5V 6a 7h  }      4  2    3  9 1& 61 ;8  F [ 4k :  !!!%!*!1!8!?!M!X!_!f!m!t!{!!!!!!!!!!!!!!!-!;!I!c!n!!!!!!!!!!!!!!%!0!;!F!Q!\!g!!!!!!!!!!!!.!=!L![!j!y!!!!!!!!!!!!-!K!Z!i!!!!!!!!!!!&!5!D!S!b!q!!!!!!!!!!!,!:!H!V!d!r!!!!!!!!!!!!*!8!F!T!b!p!~!!!!!!!!! !!&!4!B!P!^!l!z!!!!!!! ! !& !5 !D !S !b !q ! ! ! ! ! ! ! ! ! ! ! !% !4 !C !R !a !p ! ! ! ! ! ! ! ! ! ! ! !7 !F !U !s ! ! ! ! ! ! ! ! ! ! ! !' !6 !E !T !d !y ! ! ! ! ! ! ! ! ! ! !, !> !S !i !w ! ! ! ! ! ! ! ! ! !!!-!<!K!Z!i!y!!!!!!! !A!S!e!w!!!!!!!!!! !!%!3!A!O!]!k!!!!!!!!!!,!;!J!Y!h!w!!!!!!!!!!!,!;!J!Y!i!y!!!!!!!!! !!)!9!I!Y!i!y!!!!!!!!! !!)!9!I!Y!i!y!!!!!!!!!$!3!B!Q!`!o!~!!!!!!!!!!!$!5!;!P!f!t!!!!!!!!!!!!!$!2!O!!!!!!5!\!!!!!(!T!!!!!!!!C!d!!!!!!!>!o!z!!!!!&!L!i!!!!&![!!!! !:!E!P!w!!!!!M!t!!!!! !@ !K !V !x ! ! ! ! ! ! ! ! ! !!!!!6!!b!!m!!!!!!!!!!!!!!!!"!"!""!A"!V"!^"!l"!{"!"!"!"!"!"!"!"!"!#!#!-#!<#!Q#!g#!v#!#!#!#!#! $!$!'$!5$!D$!U$!`$!o$!w$!$!$!$!$!$!$!$!$!$! %!%!!%!-%!?%!%!%!%!%!%!%!%!%%%!&!&!2&!M&![&!i&!w&!&!&!&!&!&!&!&&&!&!'! '!'!''!4'8'N'!Y']'d'!'!'!'!'!'!'!'''!(! ( ((!.(!;(!H(!U(!g(!s(w(~(!(!(!(!(!(!(((()!#)').)!=)!K)!Z)!h)!v)!)!)))!)!)!)))!** *!*!)*!7*!T*!c*!r*!*!*!*!*!*!*!*!* ++)+-+2+!A+E+J+!X+!l+!t+x++!+!+!+!+!+! ,,,!$,(,-,!?,!K,O,V,!u,!,,,!,!,!,!,!,! -!-!)- F-!V-!b-!o-!{---!---!---!---!-!---!.! .!..%.!1.5.@.!H.L.S.!a.e.j.!{.!...!...!...!.!.!/!/!/!3/!?/C/J/!X/!o/!{/!/!/!/!/!///!/ /!0# 0!00!+000!=0B0!O0    04PT|$(PThl48LPlpdbgpool.o/ 1169001565 1001 1001 100644 63448 ` ELF 4(UÍvUEE P9r 9ЃÉUÉUÉUÉUWVS}U ЃEEG@RWP à GWP|ƃUBFt,w,}u EUFUB FtG,vusUBF EFtPF PP Pw FPà u/F jhF$P Qv G@WP$ؐe[^_UVSu FVP|Ãxt @$Ps F@VP$e[^UWVS]}EpE @ ESPEPEtuuڍ39w/9s#vVEp Rڍ39w 9r9w9s)PEp R}tuue[^_UWVS]}EpE @ ESPEPEtuuڍ39w39s'vVEp Ru7ڍ39w 9r9w9s,)PEp Ru v}tuu؍e[^_ÉUWVS u}FPuWVEPR(ÃuPVSRC@WVSP,e[^_ÐUWVSUB,Mt!uM AFPRQEPǃ uQUM APqR +EPE pUP M qq3PEe[^_UWVSu}E @,\!EvvE+FPu?)PvEPu"vvEPuEEe[^_ÐUWVS u] }WuSV[u hpC,T!‹NJPE)PSVMe[^_ÐUS]jssEPt}tLC BUEEUB EP EPEPC$P]ÍvUVSuEPF$PEPtN 4UZEPRF$Pu vSvve[^ÐUWVS} GWP|ƃxt uuWPEPvà v uuWPEPà ؅uA~t uuuWVà uvUEuuWV+ؐe[^_UWVSu}FVP|ÃxtWu VPvWu VP{tWu VSe[^_UWVSEUBRP|ǃEPG$Pƃt5v^uFPujsvU SVG$Pƃu΍e[^_ÉUu uuuu hÉUS]CSP|txtPhS+]ÍvUS]CSP|txtuu SP]]ÍvUS]CSP|t,xt&uu SPu h]ÍvUu uuuu hÉUS]CSP|txtPhS]ÍvUE@ P@$|@(\@,C% $ > $ > : ; I I&I : ;  : ; I8 < : ; I  : ;I8 : ;I8  : ; I8  : ; I 8  : ;I 8  : ;I 8  : ; ' II' ' I : ;  : ;  : ; I: ;II!I/ .: ; ' @ : ; I : ; I .: ; ' I@ !4: ; I ".? : ; ' I@ #4: ; I $4: ; I% : ; &.: ;' I@ '4: ;I (4: ;I ) : ;*: ;I +.: ;' @ ,: ;I - ..? : ;' @ /4: ; I?  0T  joeint} 8WY X _L |7zE "?"o$#%#&#'# "* 2 * . Sigl ResE l"ou # #Y)$Y%Y&YZ'W (W Ref)d ,Y -Y.W/W1{0 2WI3W4W5W6W57W BT:MY;^d KY1 @> DX## {E# ] F# G# H# VI# J5#$ K#( segL@#, Ma#0 N#4 iO#8 sigPC#<r AWC ad# bd# } cd# dd# e# 1f# D<D sigC# # 8# # !# # # R# #$ : #(  #, pad #0 > #4 {#8 F z =G XGsig`C#a#b#c#  d!#Pe!#Xf# 6g!#$h#,i#0fixj#4wks#8ls#@@ms#H ns#PHH2X##{3#] 4#t5#6-#7# 8#$9/#(W:_#,;#0<#4N =#8$>!#< ?L#@ @s#D A#HfixB#L C#PD #T. E#XF=#\G_#`H#d I#hJ#lK#pcL:#tMQ#xNw#|O#sigPC# O O sigC# ti# # # # R# # $ * # A{# *{#$ {#( {#, u #0 Z#4 u#8 #< {#@ 0#D 2#H {#L #P #T {#X w#\ #` #d ]#h 8#l #p  #t  #x  {#|  # X {# ;# L#+P  * kTP fix# Y# # # sigC# # % # # n # #$ w#( #, #0 ]#4 8#8 #< {#@ #D X{#H >{#L {#P> Q5 ;  Qsig>C#?#U @!#A #B#C## R   R8 #p# d# # W# S   [8SsigC###!# {# # d#} d# l#$ #(C#,`"#0H#4? T sigC# > # d# } d# ?# E?#jUJPk/Utheh6"# SegVv|PV sigC# P#  #  !# }  d#  W#pm "#sm "#  # #  # #X[aNLXX##{#] ##T## B  #$*#(q#,#0#4B#8L#<r#@( #DsigC#HZY_Z sig0C# X 1# x2# u3# 4# gen5#% \C H\ &X## {'P%# ] (# t)# *# +F# ,c#$ -#( ".#, /#0 W0#4 1"#8 {2H#< 3e#@ sig4C#DL ^(^ oV%# p#t r#x t#| u%# w!%# y{# z{# |{# }{# # #  # d#  # !# # D%# ## !# $# !# C# # # P!# # # (b%# {# {# {# v# & # g # r%# s# 0s# Y# %# [# U !# # # (%# sigC#t_ sigBC# E!# F# Is# ~J# K# wLs# Ms#( Ns#0 @Os#8 Ps#@ S#H V#L Y!#P Z#X ]!#\ ^#d \a!#h ^ d#p d poe G0esig+C#,d# -{#.d# @/{#0>!#g1{# 2#x 3# 4(!#$>g thh## #X{#\{#`sigC#d n &@N@8 oQWcBpnt{qQYrNd{tNN{d u "d{v-3HN S)wSYe xpvN'6N dldd%+TNkd{8_eqk|k {|Fk0k  kr*jk 5;LkjQW]rNk }Nkkddd8}Nj8"j.5jddd{  KQakjlrjw jQjk] Nj N8 #/:@_N{jjpd{7‘Nj{jdd'!Nkd" ,2LNk_ W]sk~ k ̥N k\N k WI !'=j HN_jjpNjכNj%jCkl~$:EKx2\bwN N ddddI dd' - > d{: 8 T Z  I b # #S$ #K% #   &-) # * #W      e! !(!I    I&Z &+ I!O!`!8!# {##@{# !`!#!!!!!m!#r!#! 6"g8 e# fE#U"h5c"Ag"/iPU"\q"w""\sig}C#E~f"#"#Z'## j a""" asigC#f"#m##!#!#"f""x2#8#R#R#f"f"f"w"#$sigC#x# {#y!s# "s# #!#$c## o]$t##{#X7{#\{#`[Y#dc$#h #lsigC#p ]$#%g `##i$#X i$#7{# {#{#R {#{#^!#sigC#g t$tgd  er%k%8%%!%%T 1d#] {#3!#%#%T % Tag &%F&2 'Utag& &8 &o/ *Ukey.P . P!0dQ!T0dR"& B,6U A"&= \8BU8 [ ' eDNUoptd! 'yNP|U8 xW x8R#reszNS! {!p! |V!}>!l$g~{%(d%a'|U8 V! Sj(|U 8 P dS} dW#pdR!mdS!@{V!l#segkp! h&*) |NU 8 P dS} dW'pdR(mdS(@{V'resNS(l'segkp( h) -&)D,NPU**P* * *8 *V*] +{W*~+'res-NS'new.dp+) BU* @R*8 AS,oldAdV*] A{W&*[NU*YP* Y *8 YR*] Z{*~Z'res\NW'new]dp(p ]dS(. ^{V&*zU* yV*8 yP,objyd*] y{W(. {{S+[+ {U* V*8 S,oldd*] {W(. {R&+N|U* S*8  ,newd*] {P*~'tag&x'resNP+[,[U* V*8  ,oldd*] {(  t'tag&S'resNP&,N\U*P*8 W*] {*~'resNS'newdp( V)+9-f`U*8 V,oldd *] {W( S E-K-p-d{+- `U*8 *9- ,p(  V( W(  dp-'tag-&S+f.9U*17d*] 7{ ,fmt7*8 8*d8,p8..D D=U*8 CS( EP..U@uU*8 TS* Td *} Td( VP.A/WhxU*8 gS* gd *} gd( iP+/ |U* {d*} {d *8 {,p{./- U*8 S( P./j0 T U*P!H/ /usr/include/usr/include/sys/usr/include/machinedbgpool.hsplay.hmpmtypes.hconfig.hmpstd.hmisc.hstddef.hcdefs.h_null.h_types.h_types.hmpslib.hstdarg.hpoolmfs.hmpm.hcheck.hevent.heventcom.heventgen.hlock.hth.hring.hss.htract.hbt.hmpmst.hprotocol.hchain.hdbgpool.c&;[__GNUCLIKE___OFFSETOF 1?__GNUCLIKE___SECTION 1A__GNUCLIKE_ATTRIBUTE_MODE_DI 1D__GNUCLIKE_CTOR_SECTION_HANDLING 1G__GNUCLIKE_BUILTIN_CONSTANT_P 1N__GNUCLIKE_BUILTIN_VARARGS 1O__GNUCLIKE_BUILTIN_STDARG 1P__GNUCLIKE_BUILTIN_VAALIST 1T__GNUC_VA_LIST_COMPATIBILITY 1X__GNUCLIKE_BUILTIN_NEXT_ARG 1Y__GNUCLIKE_MATH_BUILTIN_RELOPS \__GNUCLIKE_BUILTIN_MEMCPY 1___CC_SUPPORTS_INLINE 1`__CC_SUPPORTS___INLINE 1a__CC_SUPPORTS___INLINE__ 1c__CC_SUPPORTS___FUNC__ 1d__CC_SUPPORTS_WARNING 1f__CC_SUPPORTS_VARADIC_XXX 1h__CC_SUPPORTS_DYNAMIC_ARRAY_INIT 1k__CC_INT_IS_32BIT 1s__GNUC_PREREQ__(ma,mi) (__GNUC__ > (ma) || __GNUC__ == (ma) && __GNUC_MINOR__ >= (mi))__P(protos) protos__CONCAT1(x,y) x ## y__CONCAT(x,y) __CONCAT1(x,y)__STRING(x) #x__XSTRING(x) __STRING(x)__const const__signed signed__volatile volatile__dead2 __attribute__((__noreturn__))__pure2 __attribute__((__const__))__unused __attribute__((__unused__))__used __attribute__((__used__))__packed __attribute__((__packed__))__aligned(x) __attribute__((__aligned__(x)))__section(x) __attribute__((__section__(x)))__pure __attribute__((__pure__))__always_inline __attribute__((__always_inline__))__nonnull(x) __attribute__((__nonnull__(x)))__restrict __predict_true(exp) __builtin_expect((exp), 1)__predict_false(exp) __builtin_expect((exp), 0)__offsetof(type,field) ((size_t)(&((type *)0)->field))__rangeof(type,start,end) (__offsetof(type, end) - __offsetof(type, start))__printflike(fmtarg,firstvararg) __attribute__((__format__ (__printf__, fmtarg, firstvararg)))__scanflike(fmtarg,firstvararg) __attribute__((__format__ (__scanf__, fmtarg, firstvararg)))__format_arg(fmtarg) __attribute__((__format_arg__ (fmtarg)))__printf0like(fmtarg,firstvararg) __attribute__((__format__ (__printf0__, fmtarg, firstvararg)))__strong_reference(sym,aliassym) extern __typeof (sym) aliassym __attribute__ ((__alias__ (#sym)));__weak_reference(sym,alias) __asm__(".weak " #alias); __asm__(".equ " #alias ", " #sym)__warn_references(sym,msg) __asm__(".section .gnu.warning." #sym); __asm__(".asciz \"" msg "\""); __asm__(".previous")__IDSTRING(name,string) __asm__(".ident\t\"" string "\"")__FBSDID(s) __IDSTRING(__CONCAT(__rcsid_,__LINE__),s)__RCSID(s) __IDSTRING(__CONCAT(__rcsid_,__LINE__),s)__RCSID_SOURCE(s) __IDSTRING(__CONCAT(__rcsid_source_,__LINE__),s)__SCCSID(s) __IDSTRING(__CONCAT(__sccsid_,__LINE__),s)__COPYRIGHT(s) __IDSTRING(__CONCAT(__copyright_,__LINE__),s)__DECONST(type,var) ((type)(uintptr_t)(const void *)(var))__DEVOLATILE(type,var) ((type)(uintptr_t)(volatile void *)(var))__DEQUALIFY(type,var) ((type)(uintptr_t)(const volatile void *)(var))__POSIX_VISIBLE 200112__XSI_VISIBLE 600__BSD_VISIBLE 1__ISO_C_VISIBLE 1999*  NULL ((void *)0)+ _SYS__TYPES_H_ ! (_MACHINE__TYPES_H_ .__NO_STRICT_ALIGNMENT __GNUC_VA_LIST 2_RUNE_T_DECLARED 8_SIZE_T_DECLARED >_WCHAR_T_DECLARED Boffsetof(type,member) __offsetof(type, member)*SRCID(id,scmid) static SrcIdStruct FileSrcIdStruct = {__FILE__, (scmid), __DATE__, __TIME__}; SrcId id ## SrcId = &FileSrcIdStruct;BEGIN do {> (i)) & 1)BS_UNION(s1,s2) ((s1) | (s2))BS_ADD(ty,s,i) BS_UNION((s), BS_SINGLE(ty, (i)))BS_INTER(s1,s2) ((s1) & (s2))BS_DIFF(s1,s2) BS_INTER((s1), BS_COMP(s2))BS_DEL(ty,s,i) BS_DIFF((s), BS_SINGLE(ty, (i)))BS_SUPER(s1,s2) (BS_INTER((s1), (s2)) == (s2))BS_SUB(s1,s2) BS_SUPER((s2), (s1))BS_IS_SINGLE(s) (((s) & ((s)-1)) == 0)BS_SYM_DIFF(s1,s2) ((s1) ^ (s2)) mpslib_h mps_lib_EOF (mps_lib_get_EOF())mps_lib_stderr (mps_lib_get_stderr())mps_lib_stdout (mps_lib_get_stdout()) '_MACHINE_STDARG_H_ -_VA_LIST_DECLARED 3va_start(ap,last) __builtin_stdarg_start((ap), (last))6va_arg(ap,type) __builtin_va_arg((ap), type):va_copy(dest,src) __builtin_va_copy((dest), (src))>va_end(ap) __builtin_va_end(ap)SigInvalid ((Sig)0x51915BAD)SizeMAX ((Size)-1)AccessSetEMPTY ((AccessSet)0)AccessREAD ((AccessSet)(1<<0))AccessWRITE ((AccessSet)(1<<1))AccessSetWIDTH (2)RefSetEMPTY BS_EMPTY(RefSet)RefSetUNIV BS_UNIV(RefSet)ZoneSetEMPTY BS_EMPTY(ZoneSet)ZoneSetUNIV BS_UNIV(ZoneSet)TraceSetEMPTY BS_EMPTY(TraceSet)TraceSetUNIV ((TraceSet)((1u << TraceLIMIT) - 1))RankSetEMPTY BS_EMPTY(RankSet)RankSetUNIV ((RankSet)((1u << RankLIMIT) - 1))AttrFMT ((Attr)(1<<0))AttrSCAN ((Attr)(1<<1))AttrPM_NO_READ ((Attr)(1<<2))AttrPM_NO_WRITE ((Attr)(1<<3))AttrALLOC ((Attr)(1<<4))AttrFREE ((Attr)(1<<5))AttrBUF ((Attr)(1<<6))AttrBUF_RESERVE ((Attr)(1<<7))AttrBUF_ALLOC ((Attr)(1<<8))AttrGC ((Attr)(1<<9))AttrINCR_RB ((Attr)(1<<10))AttrINCR_WB ((Attr)(1<<11))AttrMOVINGGC ((Attr)(1<<12))AttrMASK (AttrFMT | AttrSCAN | AttrPM_NO_READ | AttrPM_NO_WRITE | AttrALLOC | AttrFREE | AttrBUF | AttrBUF_RESERVE | AttrBUF_ALLOC | AttrGC | AttrINCR_RB | AttrINCR_WB | AttrMOVINGGC)BufferModeATTACHED ((BufferMode)(1<<0))BufferModeFLIPPED ((BufferMode)(1<<1))BufferModeLOGGED ((BufferMode)(1<<2))BufferModeTRANSITION ((BufferMode)(1<<3))RootModeCONSTANT ((RootMode)1<<0)RootModePROTECTABLE ((RootMode)1<<1)RootModePROTECTABLE_INNER ((RootMode)1<<2)STATISTIC_DECL(field) field(PoolDebugMixinSig ((Sig)0x519B0DB9) poolmfs_h  mpm_h check_h 0AVER(cond) DISCARD(cond)1AVERT(type,val) DISCARD(type ## Check(val))2AVER_CRITICAL(cond) DISCARD(cond)3AVERT_CRITICAL(type,val) DISCARD(type ## Check(val))MASSERT(cond,condstring) BEGIN if (cond) NOOP; else mps_lib_assert_fail(condstring "\n" __FILE__ "\n" STR(__LINE__)); END_NOTREACHED NOOPjCHECKT(type,val) ((val) != NULL && (val)->sig == type ## Sig)pCHECKS(type,val) DISCARD(CHECKT(type, val))qCHECKL(cond) DISCARD(cond)rCHECKD(type,val) DISCARD(CHECKT(type, val))sCHECKD_NOSIG(type,val) DISCARD((val) != NULL)tCHECKU(type,val) DISCARD(CHECKT(type, val))uCHECKU_NOSIG(type,val) DISCARD((val) != NULL)CHECKLVALUE(lv1,lv2) ((void)sizeof((lv1) = (lv2)), (void)sizeof((lv2) = (lv1)), TRUE)CHECKTYPE(t1,t2) (sizeof(t1) == sizeof(t2) && CHECKLVALUE(*((t1 *)0), *((t2 *)0)))CHECKFIELDAPPROX(s1,f1,s2,f2) (sizeof(((s1 *)0)->f1) == sizeof(((s2 *)0)->f2) && offsetof(s1, f1) == offsetof(s2, f2))CHECKFIELD(s1,f1,s2,f2) (CHECKFIELDAPPROX(s1, f1, s2, f2) && CHECKLVALUE(((s1 *)0)->f1, ((s2 *)0)->f2))event_h  eventcom_h !EventNameMAX ((size_t)19)"EventCodeMAX ((EventCode)0x0069)&EVENT_0(type) NOOPEVENT_A(type,p0) NOOPEVENT_AW(type,p0,p1) NOOPEVENT_P(type,p0) NOOPEVENT_PAA(type,p0,p1,p2) NOOPEVENT_PAW(type,p0,p1,p2) NOOPEVENT_PAWA(type,p0,p1,p2,p3) NOOPEVENT_PDDWWW(type,p0,p1,p2,p3,p4,p5) NOOPEVENT_PP(type,p0,p1) NOOPEVENT_PPAU(type,p0,p1,p2,p3) NOOPEVENT_PPAWP(type,p0,p1,p2,p3,p4) NOOPEVENT_PPP(type,p0,p1,p2) NOOPEVENT_PPPA(type,p0,p1,p2,p3) NOOPEVENT_PPPU(type,p0,p1,p2,p3) NOOPEVENT_PPPUU(type,p0,p1,p2,p3,p4) NOOPEVENT_PPU(type,p0,p1,p2) NOOPEVENT_PPUU(type,p0,p1,p2,p3) NOOPEVENT_PPUWWW(type,p0,p1,p2,p3,p4,p5) NOOPEVENT_PPWW(type,p0,p1,p2,p3) NOOPEVENT_PPWWW(type,p0,p1,p2,p3,p4) NOOPEVENT_PPWWWUUU(type,p0,p1,p2,p3,p4,p5,p6,p7) NOOPEVENT_PU(type,p0,p1) NOOPEVENT_PW(type,p0,p1) NOOPEVENT_PWA(type,p0,p1,p2) NOOPEVENT_PWAW(type,p0,p1,p2,p3) NOOPEVENT_PWP(type,p0,p1,p2) NOOPEVENT_PWU(type,p0,p1,p2) NOOPEVENT_PWW(type,p0,p1,p2) NOOPEVENT_PWWWWDD(type,p0,p1,p2,p3,p4,p5,p6) NOOPEVENT_PWWWWW(type,p0,p1,p2,p3,p4,p5) NOOPEVENT_PWWWWWWWWW(type,p0,p1,p2,p3,p4,p5,p6,p7,p8,p9) NOOPEVENT_PWWWWWWWWWWWW(type,p0,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11,p12) NOOPEVENT_UUPA(type,p0,p1,p2,p3) NOOPEVENT_UUPP(type,p0,p1,p2,p3) NOOPEVENT_UUPPP(type,p0,p1,p2,p3,p4) NOOPEVENT_WS(type,p0,p1,l1) NOOP:EventEventTime ((EventType)0xEF213E99);EventPoolInit ((EventType)0xEFB07141)EventPoolFree ((EventType)0xEFB07F6E)?EventArenaCreateVM ((EventType)0xEFA64CF3)@EventArenaCreateVMNZ ((EventType)0xEFA64CF2)AEventArenaCreateCL ((EventType)0xEFA64CC7)BEventArenaDestroy ((EventType)0xEFA64DE5)CEventArenaAlloc ((EventType)0xEFA64A77)DEventArenaFree ((EventType)0xEFA64F6E)EEventSegAlloc ((EventType)0xEF5E9A77)FEventSegFree ((EventType)0xEF5E9F6E)GEventSegMerge ((EventType)0xEF5E93E6)HEventSegSplit ((EventType)0xEF5E95B7)IEventAMCGenCreate ((EventType)0xEFA3C94C)JEventAMCGenDestroy ((EventType)0xEFA3C94D)KEventAMCInit ((EventType)0xEFA3C141)LEventAMCFinish ((EventType)0xEFA3CF14)MEventAMCTraceBegin ((EventType)0xEFA3C26B)NEventAMCScanBegin ((EventType)0xEFA3C5CB)OEventAMCScanEnd ((EventType)0xEFA3C5CE)PEventAMCFix ((EventType)0xEFA3CF18)QEventAMCFixInPlace ((EventType)0xEFA3CF8A)REventAMCFixForward ((EventType)0xEFA3CF8F)SEventAMCReclaim ((EventType)0xEFA3C6EC)TEventTraceStart ((EventType)0xEF26AC52)UEventTraceCreate ((EventType)0xEF26ACC6)VEventTraceDestroy ((EventType)0xEF26ACDE)WEventSegSetGrey ((EventType)0xEF59596A)XEventTraceFlipBegin ((EventType)0xEF26AF7B)YEventTraceFlipEnd ((EventType)0xEF26AF7E)ZEventTraceReclaim ((EventType)0xEF26A6EC)[EventTraceScanSeg ((EventType)0xEF26A559)\EventTraceScanSingleRef ((EventType)0xEF26A556)^EventTraceAccess ((EventType)0xEF26AACC)_EventTracePoll ((EventType)0xEF26AB01)`EventTraceStep ((EventType)0xEF26A52B)aEventTraceFix ((EventType)0xEF26AF18)bEventTraceFixSeg ((EventType)0xEF26AF85)cEventTraceFixWhite ((EventType)0xEF26AF83)dEventTraceScanArea ((EventType)0xEF26A5CA)eEventTraceScanAreaTagged ((EventType)0xEF26A5C2)fEventVMCreate ((EventType)0xEFF3C6EA)gEventVMDestroy ((EventType)0xEFF3DE52)hEventVMMap ((EventType)0xEFF33AB9)iEventVMUnmap ((EventType)0xEFF3043B)jEventIntern ((EventType)0xEF142E64)kEventArenaExtend ((EventType)0xEFA64E82)lEventArenaRetract ((EventType)0xEFA646E2)mEventRootScan ((EventType)0xEF625CA4)nEventLabel ((EventType)0xEF7ABE79)oEventTraceSegGreyen ((EventType)0xEF26A599)pEventBufferReserve ((EventType)0xEFB0FF6E)qEventBufferCommit ((EventType)0xEFB0FFC0)rEventBufferInit ((EventType)0xEFB0FF14)sEventBufferInitSeg ((EventType)0xEFB0F15E)tEventBufferInitRank ((EventType)0xEFB0F16A)uEventBufferInitEPVM ((EventType)0xEFB0F1EF)vEventBufferFinish ((EventType)0xEFB0FFF1)wEventBufferFill ((EventType)0xEFB0FFF7)xEventBufferEmpty ((EventType)0xEFB0FFE3)yEventArenaAllocFail ((EventType)0xEFA64A7F)zEventSegAllocFail ((EventType)0xEF5E9A7F){EventMeterInit ((EventType)0xEF3E2141)|EventMeterValues ((EventType)0xEF3E2FA7)}EventCBSInit ((EventType)0xEFCB5141)~EventTraceStatCondemn ((EventType)0xEF26A5C0)EventTraceStatScan ((EventType)0xEF26A55C)EventTraceStatFix ((EventType)0xEF26A5F8)EventTraceStatReclaim ((EventType)0xEF26A56E)EventArenaWriteFaults ((EventType)0xEFA6436F)EventPoolInitMV ((EventType)0xEFB0713F)EventPoolInitMVFF ((EventType)0xEFB071FF)EventPoolInitMFS ((EventType)0xEFB07135)EventPoolInitEPVM ((EventType)0xEFB071EF)EventPoolInitEPDL ((EventType)0xEFB071E7)EventPoolInitAMS ((EventType)0xEFB071A5)EventPoolInitAMC ((EventType)0xEFB071AC)EventPoolInitAMCZ ((EventType)0xEFB071A2)EventPoolInitAWL ((EventType)0xEFB071A3)EventPoolInitLO ((EventType)0xEFB07170)EventPoolInitSNC ((EventType)0xEFB07154)EventPoolInitMVT ((EventType)0xEFB07132)EventPoolPush ((EventType)0xEFB07B58)EventPoolPop ((EventType)0xEFB07B0B)EventReservoirLimitSet ((EventType)0xEF6E5713)EventCommitLimitSet ((EventType)0xEFC03713)EventSpareCommitLimitSet ((EventType)0xEF5BC713)hEventInit() NOOPiEventFinish() NOOPjEventControl(r,f) (UNUSED(r), UNUSED(f), (Word)0)kEventInternString(s) (UNUSED(s), (Word)0)lEventInternGenString(l,s) (UNUSED(l), UNUSED(s), (Word)0)mEventLabelAddr(a,i) BEGIN UNUSED(a); UNUSED(i); ENDPlock_h ULockSig ((Sig)0x51970CC9) th_h  ring_h RingNONE ((Ring)0)$RingInit(ring) BEGIN Ring _ring = (ring); AVER(_ring != NULL); _ring->next = _ring; _ring->prev = _ring; AVER(RingCheck(_ring)); END/RingFinish(ring) BEGIN Ring _ring = (ring); AVER(RingCheckSingle(_ring)); _ring->next = RingNONE; _ring->prev = RingNONE; END9RingAppend(ring,new) BEGIN Ring _ring = (ring), _new = (new); AVER(RingCheck(_ring)); AVER(RingCheckSingle(_new)); _new->prev = _ring->prev; _new->next = _ring; _ring->prev->next = _new; _ring->prev = _new; ENDFRingInsert(ring,new) BEGIN Ring _ring = (ring), _new = (new); AVER(RingCheck(_ring)); AVER(RingCheckSingle(_new)); _new->prev = _ring; _new->next = _ring->next; _ring->next->prev = _new; _ring->next = _new; ENDSRingRemove(old) BEGIN Ring _old = (old); AVER(RingCheck(_old)); AVER(!RingIsSingle(_old)); _old->next->prev = _old->prev; _old->prev->next = _old->next; _old->next = _old; _old->prev = _old; END`RingNext(ring) ((ring)->next)dRingPrev(ring) ((ring)->prev)gRING_ELT(type,field,node) ((type)(void *)((char *)(node) - (size_t)(&((type)0)->field)))kRING_FOR(node,ring,next) for(node = RingNext(ring), next = RingNext(node); node != (ring); node = (next), next = RingNext(node))ThreadSig ((Sig)0x519286ED) ss_h  tract_h   bt_h BTSize(n) (((n) + MPS_WORD_WIDTH-1) / MPS_WORD_WIDTH * sizeof(Word))BTGet(a,i) ((Bool)(((a)[((i) >> MPS_WORD_SHIFT)] >> ((i) & ~((Word)-1 << MPS_WORD_SHIFT))) & (Word)1))BTSet(a,i) BEGIN (a)[((i)>>MPS_WORD_SHIFT)] |= (Word)1<<((i)&~((Word)-1<>MPS_WORD_SHIFT)] &= ~((Word)1 << ((i) & ~((Word)-1<base)&TractPool(tract) ((tract)->pool)'TractP(tract) ((tract)->p)(TractSetP(tract,pp) ((void)((tract)->p = (pp))))TractHasSeg(tract) ((Bool)(tract)->hasSeg)*TractSetHasSeg(tract,b) ((void)((tract)->hasSeg = (b)))+TractWhite(tract) ((tract)->white),TractSetWhite(tract,w) ((void)((tract)->white = (w)))8TRACT_SEG(segReturn,tract) (TractHasSeg(tract) && ((*(segReturn) = (Seg)TractP(tract)), TRUE));TRACT_SET_SEG(tract,seg) (TractSetHasSeg(tract, TRUE), TractSetP(tract, seg))>TRACT_UNSET_SEG(tract) (TractSetHasSeg(tract, FALSE), TractSetP(tract, NULL))nPageTract(page) (&(page)->the.tractStruct)rPageOfTract(tract) PARENT(PageStruct, the.tractStruct, (tract))vPagePool(page) ((page)->the.rest.pool)}PageIsAllocated(page) ((page)->the.rest.pool != NULL)PageType(page) ((page)->the.rest.type)ChunkSig ((Sig)0x519C804C)ChunkArena(chunk) ((chunk)->arena)ChunkPageSize(chunk) ((chunk)->pageSize)ChunkPageShift(chunk) ((chunk)->pageShift)ChunkPagesToSize(chunk,pages) ((Size)(pages) << (chunk)->pageShift)ChunkSizeToPages(chunk,size) ((Count)((size) >> (chunk)->pageShift))CHUNK_OF_ADDR(chunkReturn,arena,addr) (((arena)->chunkCache.base <= (addr) && (addr) < (arena)->chunkCache.limit) ? (*(chunkReturn) = (arena)->chunkCache.chunk, TRUE) : ChunkOfAddr(chunkReturn, arena, addr))AddrPageBase(chunk,addr) AddrAlignDown((addr), ChunkPageSize(chunk))TRACT_OF_ADDR(tractReturn,arena,addr) BEGIN Arena _arena = (arena); Addr _addr = (addr); Chunk _chunk; Index _i; if (CHUNK_OF_ADDR(&_chunk, _arena, _addr)) { _i = INDEX_OF_ADDR(_chunk, _addr); if (BTGet(_chunk->allocTable, _i)) *(tractReturn) = PageTract(&_chunk->pageTable[_i]); else *(tractReturn) = NULL; } else *(tractReturn) = NULL; ENDINDEX_OF_ADDR(chunk,addr) ((Index)ChunkSizeToPages(chunk, AddrOffset((chunk)->base, addr)))PageIndexBase(chunk,i) AddrAdd((chunk)->base, ChunkPagesToSize(chunk, i))TractAverContiguousRange(arena,rangeBase,rangeLimit) BEGIN Chunk _ch = NULL; UNUSED(_ch); AVER(ChunkOfAddr(&_ch, arena, rangeBase) && (rangeLimit) <= _ch->limit); ENDTRACT_TRACT_FOR(tract,addr,arena,firstTract,limit) tract = (firstTract); addr = TractBase(tract); TractAverContiguousRange(arena, addr, limit); for(; tract != NULL; (addr = AddrAdd(addr, (arena)->alignment)), (addr < (limit) ? (tract = PageTract(PageOfTract(tract) + 1)) : (tract = NULL) ))TRACT_FOR(tract,addr,arena,base,limit) TRACT_TRACT_FOR(tract, addr, arena, TractOfBaseAddr(arena, base), limit)mpmst_h protocol_h DERIVE_LOCAL(name) protocol ## nameDERIVE_STRUCT(name) name ## StructDERIVE_ENSURE(name) name ## GetDERIVE_ENSURE_OLD(name) Ensure ## nameDERIVE_ENSURE_INTERNAL(name) protocolGet ## nameDERIVE_GUARDIAN(name) protocol ## name ## GuardianDERIVE_STATIC_STORAGE(name) protocol ## name ## StructProtocolClassSetSuperclassPoly(class,super) (((ProtocolClass)(class))->superclass) = (ProtocolClass)(super)$DEFINE_CLASS(className,var) static Bool DERIVE_GUARDIAN(className) = FALSE; static DERIVE_STRUCT(className) DERIVE_STATIC_STORAGE(className); static void DERIVE_ENSURE_INTERNAL(className)(className); extern className DERIVE_ENSURE(className)(void); className DERIVE_ENSURE(className)(void) { if (DERIVE_GUARDIAN(className) == FALSE) { LockClaimGlobalRecursive(); if (DERIVE_GUARDIAN(className) == FALSE) { DERIVE_ENSURE_INTERNAL(className) (&DERIVE_STATIC_STORAGE(className)); DERIVE_GUARDIAN(className) = TRUE; } LockReleaseGlobalRecursive(); } return &DERIVE_STATIC_STORAGE(className); } extern className DERIVE_ENSURE_OLD(className)(void); className DERIVE_ENSURE_OLD(className)(void) { return DERIVE_ENSURE(className)(); } static void DERIVE_ENSURE_INTERNAL(className) (className var)AINHERIT_CLASS(this,parentName) BEGIN parentName DERIVE_LOCAL(parentName) = DERIVE_ENSURE(parentName)(); *this = *(DERIVE_LOCAL(parentName)); ProtocolClassSetSuperclassPoly(this, DERIVE_LOCAL(parentName)); ENDODEFINE_ALIAS_CLASS(className,typeName,var) typedef typeName className; typedef DERIVE_STRUCT(typeName) DERIVE_STRUCT(className); DEFINE_CLASS(className, var)VProtocolClassSig ((Sig)0x519B60C7)WProtocolInstSig ((Sig)0x519B6014)ProtocolClassSuperclassPoly(class) (((ProtocolClass)(class))->superclass)ClassOfPoly(inst) ((ProtocolInst)(inst)->class)IsSubclassPoly(sub,super) ProtocolIsSubclass((ProtocolClass)(sub), (ProtocolClass)(super))SUPERCLASS(className) ProtocolClassSuperclassPoly(DERIVE_ENSURE(className)())chain_h GenDescSig ((Sig)0x5199E4DE)+PoolGenSig ((Sig)0x519B009E);ChainSig ((Sig)0x519C8A14)XPoolGenNr(gen) ((gen)->nr)/PoolClassSig ((Sig)0x519C7A55)]PoolSig ((Sig)0x519B0019)}MFSSig ((Sig)0x5193F599)MVSig ((Sig)0x5193B999)ReservoirSig ((Sig)0x5196e599)MessageClassSig ((Sig)0x519359c1)MessageSig ((Sig)0x5193e559)SegClassSig ((Sig)0x5195E9C7)SegSig ((Sig)0x5195E999)GCSegSig ((Sig)0x5199C5E9)SegPrefSig ((Sig)0x5195E9B6)BufferClassSig ((Sig)0x519B0FC7)BufferSig ((Sig)0x519B0FFE)SegBufSig ((Sig)0x51959B0F)FormatSig ((Sig)0x519F63A2)ScanStateSig ((Sig)0x5195CA45)TraceSig ((Sig)0x51924ACE)ChunkCacheEntrySig ((Sig)0x519C80CE)ArenaClassSig ((Sig)0x519A6C1A)GlobalsSig ((Sig)0x519970BA)ArenaSig ((Sig)0x519A6E4A)%BoolCheck(b) ((unsigned)(b) <= 1)(FUNCHECK(f) (FunCheck((Fun)f))4WordIsAligned(w,a) (((w) & ((a) - 1)) == 0)7WordAlignUp(w,a) (((w) + (a) - 1) & ~((Word)(a) - 1));WordRoundUp(w,r) (((w)+(r)-1) - ((w)+(r)-1)%(r))>WordAlignDown(w,a) ((w) & ~((Word)(a) - 1))@size_tAlignUp(s,a) ((size_t)WordAlignUp((Word)(s), a))BPointerAdd(p,s) ((void *)((char *)(p) + (s)))CPointerSub(p,s) ((void *)((char *)(p) - (s)))EPointerOffset(base,limit) ((size_t)((char *)(limit) - (char *)(base)))HPointerAlignUp(p,s) ((void *)WordAlignUp((Word)(p), (Align)(s)))KAddrAdd(p,s) ((Addr)PointerAdd((void *)(p), s))LAddrSub(p,s) ((Addr)PointerSub((void *)(p), s))NAddrOffset(b,l) ((Size)(PointerOffset((void *)(b), (void *)(l))))RAddrAlignDown(p,a) ((Addr)WordAlignDown((Word)(p), a))TAlignWord(s) ((Word)(s))VAddrIsAligned(p,a) WordIsAligned((Word)(p), a)WAddrAlignUp(p,a) ((Addr)WordAlignUp((Word)(p), a))YSizeIsAligned(s,a) WordIsAligned((Word)(s), a)ZSizeAlignUp(s,a) ((Size)WordAlignUp((Word)(s), a))[SizeAlignDown(s,a) ((Size)WordAlignDown((Word)(s), a))]SizeRoundUp(s,r) ((Size)WordRoundUp((Word)(s), (Size)(r)))_IndexIsAligned(s,a) WordIsAligned((Word)(s), a)`IndexAlignUp(s,a) ((Index)WordAlignUp((Word)(s), a))aIndexAlignDown(s,a) ((Index)WordAlignDown((Word)(s), a))cAlignIsAligned(a1,a2) WordIsAligned((Word)(a1), a2)iAddrSet(target,value,size) mps_lib_memset(target, (int)(value), size)mAddrCopy(target,source,size) mps_lib_memcpy(target, source, size)qAddrComp(a,b,size) mps_lib_memcmp(a, b, size)wADDR_PTR(type,addr) ((type *)(addr))PoolArena(pool) ((pool)->arena)PoolAlignment(pool) ((pool)->alignment)PoolSegRing(pool) (&(pool)->segRing)PoolFix(pool,ss,seg,refIO) ((*(pool)->fix)(pool, ss, seg, refIO))ClassOfPool(pool) ((pool)->class)SuperclassOfPool(pool) ((PoolClass)ProtocolClassSuperclassPoly((pool)->class))DEFINE_POOL_CLASS(className,var) DEFINE_ALIAS_CLASS(className, PoolClass, var)POOL_SUPERCLASS(className) ((PoolClass)SUPERCLASS(className))TraceSetSingle(trace) BS_SINGLE(TraceSet, (trace)->ti)TraceSetIsSingle(ts) BS_IS_SINGLE(ts)TraceSetIsMember(ts,trace) BS_IS_MEMBER(ts, (trace)->ti)TraceSetAdd(ts,trace) BS_ADD(TraceSet, ts, (trace)->ti)TraceSetDel(ts,trace) BS_DEL(TraceSet, ts, (trace)->ti)TraceSetUnion(ts1,ts2) BS_UNION(ts1, ts2)TraceSetInter(ts1,ts2) BS_INTER(ts1, ts2)TraceSetDiff(ts1,ts2) BS_DIFF(ts1, ts2)TraceSetSuper(ts1,ts2) BS_SUPER(ts1, ts2)TraceSetSub(ts1,ts2) BS_SUB(ts1, ts2)TraceSetComp(ts) BS_COMP(ts)TRACE_SET_ITER(ti,trace,ts,arena) for(ti = 0, trace = ArenaTrace(arena, ti); ti < TraceLIMIT; ++ti, trace = ArenaTrace(arena, ti)) BEGIN if (TraceSetIsMember(ts, trace)) {TRACE_SET_ITER_END(ti,trace,ts,arena) } ENDTRACE_SCAN_BEGIN(ss) BEGIN Shift SCANzoneShift = (ss)->zoneShift; ZoneSet SCANwhite = (ss)->white; RefSet SCANsummary = (ss)->unfixedSummary; Word SCANt; {TRACE_FIX1(ss,ref) (SCANt = (Word)1 << ((Word)(ref) >> SCANzoneShift & (MPS_WORD_WIDTH-1)), SCANsummary |= SCANt, SCANwhite & SCANt)TRACE_FIX2(ss,refIO) ((*(ss)->fix)(ss, refIO))TRACE_FIX(ss,refIO) (TRACE_FIX1(ss, *(refIO)) ? TRACE_FIX2(ss, refIO) : ResOK)TRACE_SCAN_END(ss) } (ss)->unfixedSummary = SCANsummary; ENDDEFINE_ARENA_CLASS(className,var) DEFINE_ALIAS_CLASS(className, ArenaClass, var)ARENA_SUPERCLASS(className) ((ArenaClass)SUPERCLASS(className))ArenaGlobals(arena) (&(arena)->globals)GlobalsArena(glob) PARENT(ArenaStruct, globals, glob)ArenaRootRing(arena) (&(arena)->rootRing)ArenaTraceRing(arena) (&(arena)->traceRing)ArenaThreadRing(arena) (&(arena)->threadRing)ArenaEpoch(arena) ((arena)->epoch)ArenaTrace(arena,ti) (&(arena)->trace[ti])ArenaZoneShift(arena) ((arena)->zoneShift)ArenaAlign(arena) ((arena)->alignment)ArenaGreyRing(arena,rank) (&(arena)->greyRing[rank])ArenaReservoir(arena) (&(arena)->reservoirStruct)DEFINE_SEG_CLASS(className,var) DEFINE_ALIAS_CLASS(className, SegClass, var)SEG_SUPERCLASS(className) ((SegClass)SUPERCLASS(className))ClassOfSeg(seg) ((seg)->class)SegBase(seg) (TractBase((seg)->firstTract))SegLimit(seg) ((seg)->limit)SegPool(seg) (TractPool((seg)->firstTract))SegRankSet(seg) ((RankSet)(seg)->rankSet)SegPM(seg) ((AccessSet)(seg)->pm)SegSM(seg) ((AccessSet)(seg)->sm)SegDepth(seg) ((unsigned)(seg)->depth)SegGrey(seg) ((TraceSet)(seg)->grey)SegWhite(seg) ((TraceSet)(seg)->white)SegNailed(seg) ((TraceSet)(seg)->nailed)SegOfPoolRing(node) (RING_ELT(Seg, poolRing, (node)))SegOfGreyRing(node) (&(RING_ELT(GCSeg, greyRing, (node)) ->segStruct))SegSummary(seg) (((GCSeg)(seg))->summary)SegSetPM(seg,mode) ((void)((seg)->pm = (mode)))SegSetSM(seg,mode) ((void)((seg)->sm = (mode)))SegSetDepth(seg,d) ((void)((seg)->depth = (d)))SegSetNailed(seg,ts) ((void)((seg)->nailed = (ts)))BUFFER_RESERVE(pReturn,buffer,size,withReservoirPermit) (AddrAdd(BufferAlloc(buffer), size) > BufferAlloc(buffer) && AddrAdd(BufferAlloc(buffer), size) <= BufferAP(buffer)->limit ? (*(pReturn) = BufferAlloc(buffer), BufferAP(buffer)->alloc = AddrAdd(BufferAlloc(buffer), size), ResOK) : BufferFill(pReturn, buffer, size, withReservoirPermit))BUFFER_COMMIT(buffer,p,size) (BufferAP(buffer)->init = BufferAlloc(buffer), BufferAP(buffer)->limit != 0 || BufferTrip(buffer, p, size))BufferAP(buffer) (&(buffer)->apStruct)BufferOfAP(ap) PARENT(BufferStruct, apStruct, ap)BufferArena(buffer) ((buffer)->arena)BufferPool(buffer) ((buffer)->pool)BufferBase(buffer) ((buffer)->base)BufferGetInit(buffer) (BufferAP(buffer)->init)BufferAlloc(buffer) (BufferAP(buffer)->alloc)BufferLimit(buffer) ((buffer)->poolLimit)DEFINE_BUFFER_CLASS(className,var) DEFINE_ALIAS_CLASS(className, BufferClass, var)BUFFER_SUPERCLASS(className) ((BufferClass)SUPERCLASS(className))RankSetIsMember(rs,r) BS_IS_MEMBER((rs), (r))RankSetSingle(r) BS_SINGLE(RankSet, (r))RankSetIsSingle(r) BS_IS_SINGLE(r)RankSetUnion(rs1,rs2) BS_UNION((rs1), (rs2))RankSetDel(rs,r) BS_DEL(RankSet, (rs), (r))AddrZone(arena,addr) (((Word)(addr) >> (arena)->zoneShift) & (MPS_WORD_WIDTH - 1))RefSetUnion(rs1,rs2) BS_UNION((rs1), (rs2))RefSetInter(rs1,rs2) BS_INTER((rs1), (rs2))RefSetDiff(rs1,rs2) BS_DIFF((rs1), (rs2))RefSetAdd(arena,rs,addr) BS_ADD(RefSet, rs, AddrZone(arena, addr))RefSetIsMember(arena,rs,addr) BS_IS_MEMBER(rs, AddrZone(arena, addr))RefSetSuper(rs1,rs2) BS_SUPER((rs1), (rs2))RefSetSub(rs1,rs2) BS_SUB((rs1), (rs2))ZoneSetUnion(zs1,zs2) BS_UNION(zs1, zs2)ZoneSetInter(zs1,zs2) BS_INTER(zs1, zs2)ZoneSetDiff(zs1,zs2) BS_DIFF(zs1, zs2)ZoneSetAdd(arena,zs,addr) BS_ADD(ZoneSet, zs, AddrZone(arena, addr))ZoneSetIsMember(arena,zs,addr) BS_IS_MEMBER(zs, AddrZone(arena, addr))ZoneSetSub(zs1,zs2) BS_SUB(zs1, zs2)ZoneSetSuper(zs1,zs2) BS_SUPER(zs1, zs2)ZoneSetComp(zs) BS_COMP(zs)STATISTIC(gather) BEGIN (gather); ENDSTATISTIC_STAT(gather) BEGIN gather; ENDSTATISTIC_WRITE(format,arg) (format), (arg),SplayNode2Tag(node) PARENT(tagStruct, splayNode, (node))$TagInitMethodCheck(f) FUNCHECK(f)VDebugPoolDebugMixin(pool) (((pool)->class->debugMixin)(pool))ObjectsStepMethodCheck(f) ((f) != NULL)dbgpool.cJan 17 200703:39:25$Id: //info.ravenbrook.com/project/mps/master/code/dbgpool.c#11 $free space corrupted on alloc dbgpool.c 311fencepost check on free dbgpool.c 404fencepost check requested by client dbgpool.c 573free space corrupted on release dbgpool.c 628free space corrupted on client check dbgpool.c 639 | AB "AB , AB 8 AB D AB (P,AB F_.. P. c.|LAB BJ. AB F[. |AB F[. PnAB FU. CAB FY.$AB Fd. b. AB Fh. [AB FO.|yAB DO.cAB EO.(\AB FG.]. g. `AB FJ.$`rAB FN.y. L.2AB O.5AB DG.@5AB DG.xIAB DG.2AB O.5AB DG.0 $AB 0&PoolDebugMixinCheck&PoolNoDebugMixinf.DebugPoolCheckFences.DebugPoolFreeSplat.DebugPoolFreeCheck/DebugPoolCheckFreeSpace/PoolClassMixInDebug0dbgpoolSrcIdT allocTablefenceSizeDebugPoolFreeSplatalignFailPoolDescribeMethodpageTableLimitaddr2greySegMaxSplayUpdateNodeMethodnameaddr1pageSizeFormatPadMethodsteprankrootSerialchunkRingArenaAllocMethodDebugPoolAllocreservoirSizeactiveTracesformatfoundationLockPoolBufferClassMethodSplayNodeStructTraceFixMethodsuperclassthreadRingunitsPerExtentPageTagCompfillMutatorSizepoolSerialfreeTemplateBoolprehistoryArenaFreeMethodSegStructsetRankSetDebugPoolInitunsigned intGNU C 3.4.6 [FreeBSD] 20060305BufferRankSetMethodextendArenaChunkFinishMethodfillInternalSizeBufferReassignSegMethodreassignSegisCollectedpoolReadyscmidforwardedSizeforwardedCountArenaSpareCommitExceededMethodProtocolClassmergegreyRingfinishshort intAlignArenaDescribeMethodprotocoldescribefillSizesegScanCountPoolmodePoolDebugMixinStructrememberedSummaryRingprevfixRefCountcommittedfenceTemplatehasSegEpochsetBufferapStructsplayNodeemptyMutatorSizefenceCheckGenDescStructPoolFramePushMethodfreeSplatPoolFinishMethodtagFreebusyTraceslwPopPendingchunkfreeCheckAllocupdateNodespanstagDataallocBasesuspendedpollThresholdArenaStructenabledMessageTypesmpsVersionStringfinalPoolSizefreeListframePopGlobalsStructreservoirStructChainStructbaseindexAccessSetframeptrhistorySegSetRankSummaryMethodFileSrcIdStructlong long unsigned intfileoffsetchunkFinishtraceshDepthtractListattrgenCountSegClassStructrateMFSStructFreeBlockStepMethodPoolClassStructglobalsprimaryArenaChunkInitMethodtagFailarenaBufferFinishMethodFormatVarietyPoolWalkMethodskipDebugPoolFreeCheckPoolFreeMethodmortalitycontrolPoolStructtagInitproflowmessageRingsize_tmoveAPStructTractStructrampEndmayMoveBootBlockpoolLimitChunkclampedPoolReclaimMethodunroundedUnitSizeshCachetracedTimereclaimCountpageTablePagesfreePoolFixMethodPoolClassMixInDebugwithReservoirSegPrefWordmps_lib_stream_sFormatStructDebugPoolFinishpreservedInPlaceCountfreewalkframePushFormattedObjectsStepMethodargsSegClassgensTraceStateCountPageStructisMovedsetRankSummarySegDescribeMethodbufferClassPoolDebugMixininsidePollreclaimAddrreservoirLimitcharscannedSizeserialreserveBufferStructFormatScanMethodchunkSerialSegFinishMethodfenceFreeMFSHeaderStructSerialTagWalksplitalignedSizeFormatClassMethodArenaspacehighBufferDescribeMethodBufferModelimittypeArenaInitMethodlockrampCountnodeObjectsStepMethodPoolFixEmergencyMethodinSegzoneShiftdummypagesoptionsisGennailedfreeCheckfreeCheckFreerightchainva_listTagTrivInitChainDebugPoolCheckFenceslong long intMVStructclientNewLockStructZoneSetTractBufferSegMethoddepthPoolRampEndMethodlocusRingfixEmergencyTracegreylastWorldCollectPoolDebugMixinMethoddebugpageShifttagPoolChunkCacheEntryStructBufferClassStructArenaClassStructtagStructrememberedSummaryIndexgreySegCountisMutatorArenaFinishMethodfixedSummarylastTractfreeCheckingStepwhiteSegRefCountframePopPendingscansingleCopiedSizeSegSetBufferMethodProtocolInstStructAddrStructrampBeginSplayTreebufferPoolRampBeginMethodsizecompareProtocolInstBufferSetRankSetMethodPoolDebugOptionsCheckinitAtFlipPoolStructpoolRingdetachspareCommitLimittopGenPoolWhitenMethodSegSetSummaryMethodspanPoolStructPoolInitMethodArenaClassTraceIdpoolPoolNoDebugMixinaccesschainRingPoolGreyMethodwasMarkedmissingTagsMutatorFaultContextvarietyemptyInternalSizeSrcIdarenaRingsegRefCountavgSizecopyFormatPoolDebugMixinCheckPoolScanMethodFormatCopyMethodlostcapacitywhitenScanStatetractStructcondemnedrootbufferRingChunkStructflippedTracesrootScanCountenabledrootScanSizepointlessScanCountallocRankshCacheLimitPoolDebugOptionsStructsegCopiedSizeBufferInitMethodlong intsetSummaryBufferDetachMethoddbgpool.cnotCondemnedextendByfreeSizeTraceSetstatepreservedInPlaceSizenextSegBufferMethodbuild_timePoolClassProtocolCoerceInstMethodCompareemergencyPoolBlackenMethodwhitepoolStruct__size_tFormatSkipMethodrootRingunitSizeSegInitMethodTagInitMethodleftsegScanSizecopiedSizeSplayTreeStructArenaExtendMethodScanStateStructSegSetWhiteMethodunfixedSummarypageTableBaselastTractBasethreadSerialsetGreytracedSize__va_listwalksetWhitePoolAllocMethodRingStructrankSetlong unsigned intPoolFramePopPendingMethodSrcIdStructBootBlockStructwriteBarrierHitCountMutatorFaultContextStructdbgpoolSrcIdinitAttrbufferLoggingProtocolClassStructclassbufferFillIndexspareCommitExceededFormatIsMovedMethodmaxSizeSplayCompareMethodchunkInitPoolAccessMethodsnapCountArenaReservedMethodattachnailCounttagSizeunsigned char__uint32_tspareCommittedinsideShieldPoolDebugOptionsRingSegSplitMethodblockPoolStructRefSetAllocFrameStructPoolFramePopMethodfenceAlloctagAllocBufferClassformatSerialaddrsegRingAllocFrameFormatMoveMethodcoerceClassDebugPoolFreeReservoirStructbuild_datesingleScanSizeBufferreadBarrierHitCountpageTableheaderSizecoerceInstfenceCheckingStepdebugMixinchunkCachesigned charSegMergeMethodSegPrefStructmps_lib_FILEPoolBufferFillMethodreclaimSizebufferSerialshort unsigned intzonesPoolFreeWalkMethodbufferEmptyProtocolCoerceClassMethodreservedRankSetisFinalPoolDebugPoolCheckFreeSpacedoublesingleScanCountfirstTractalignmentPoolBufferEmptyMethodBufferAttachMethodrestSegSetRankSetMethodShiftemptySize/home/hannes/dylan/mps/codeuserdataTraceStructdoneSplayNodeglobalRingformatRingallocMutatorSizecommitLimitrootCopiedSizeSegSetGreyMethodshCacheIepochblackenaReturnlabelledtracesGCC: (GNU) 3.4.6 [FreeBSD] 20060305.symtab.strtab.shstrtab.rel.text.rel.data.bss.debug_abbrev.rel.debug_info.rel.debug_line.debug_macinfo.rodata.str1.1.rodata.str1.4.rel.rodata.rel.debug_frame.rel.debug_pubnames.rel.debug_aranges.debug_str.comment4T  ) % x/ 4 F6 0B xVI<R  b?vq22 /< L`  w  0,% % (     '"/D EP,S|Lcm|wPnC [|yc\``r22 , .8 ?LWeu.7FT5i@5|xI50 $dbgpool.cFileSrcIdStructTagTrivInitTagCompPoolDebugOptionsCheckDebugPoolInitDebugPoolFinishfreeSplatfreeCheckfreeCheckAllocfreeCheckFreefenceAllocfenceCheckfenceFreetagAlloctagFreeDebugPoolAllocDebugPoolFreeTagWalkfenceCheckingStepfreeCheckingStepdbgpoolSrcIdPoolDebugMixinCheckPoolNoDebugMixinPoolClassMFSPoolCreateSplayTreeInitSplayTreeFinishPoolDestroySegOfAddrShieldExposemps_lib_memcpyShieldCovermps_lib_memcmpmps_lib_assert_failPoolAllocSplayNodeInitSplayTreeInsertSplayTreeSearchSplayTreeDeleteSplayNodeFinishPoolFreeSplayTreeFirstSplayTreeNextDebugPoolCheckFencesDebugPoolFreeSplatDebugPoolFreeCheckDebugPoolCheckFreeSpacePoolFreeWalkPoolClassMixInDebug(()BK*+,-.(/T/k0-.1 1=0 2T/o//111H M2345637>8M9:; 2+ 2 2 ! @9 @ G N   #!#%#*#1#8#?#M#X#_#f#m#t#{#############(#3#9#Z#e#v#|############ ####.#9#T#e#k############-#<#K#Z#i#y###########,#;#Z#i#q###########%#4#C#R#a#p######### ##(#6#D#R#`#n########## ##&#4#B#P#^#l#z###########"#0#>#L#Z#h#v####### # #) #8 #G #V #e #t # # # # # # # # # # # #( #7 #F #U #d #s # # # # # # # # # # #: #I #X #g #v # # # # # # # # # # # #+ #@ #V #d #r # # # # # # # # # # #0 #> #L #Z #h #v # # # # # # # # ###!#0#@#U#########,#>#Q#f#n#|############$#2#O#d#{########## #/#>#M#\#k#z########## #0#@#P#`#p########### #0#@#P#`#p########### #0#@#P#`#p######## ##'#6#E#T#c#r############-#;#I#W#e#s############G#d#######I#f#####U#r##### #+#M#s#####6#A#b######0#`####"#M#t#### ##>#`#####;#R#x#### # # #? #J #_ #g #u # # # # # # # # #)!#4!#?!#e!#m!#{!#!#!#!#!#!#!#!#!#!#"#"#("#?"#J"#V"#g"#|"#"#"#"#"#"#"#"#(##Y##h##~#################### $#$#%$#3$#A$#^$#j$#y$#$#$#$#$#$#$#$#$#$#%#"%#-%#9%#E%#W%#%#%#%#%#%#%#&#&#&8&#K&#V&Z&n&#{&#&#&#&&&#&#&&&#&#&&'#"'&'-'#:'#T'#b'#o'#}'#'#''#''#'''#'#'#'''#'#(#(#&(#3(#@(#\(#o(#{(((#(#(#(#(#(#(#)#)#%)/)#;)?)F)#T)#c)#q)#)#)#)))#)#)#*# ***#%*#4*#B*#Q*#}*#*#*#***#*#*#*#+# + ++#"+#?+#M+#`+#l+p+w+#+#+#+#+#+++#,#!,#0,#`,#l,p,w,#,#,#,#,#,#,,#,,-#-#+-#:-#u-#}---#-#-#-#-#---#...#.#;.#J.#l.#t.x..#.#.#...#.#.#.#.#.//#/#$/#3/#F/#N/R/Y/#h/#w/#/#///#/#/#///#/#/ 0#0%     0 4H L` dx |    $ (H Ll p     H Ll p     , 0L Pdbgpooli.o/ 1169001565 1001 1001 100644 59432 ` ELF d4(UVS]s V$4$e[^ÐUVS]s V$4$e[^C% $ > $ > : ; I I&I : ;  : ; I8 < : ; I  : ;I8 : ;I8  : ; I8  : ; I 8  : ;I 8  : ;I 8  : ; ' II' ' I : ;  : ;  : ; I: ;II!I/ .? : ; ' @ : ; I 4: ; I 4: ; I !4: ; I?  %Wr#yint 8We == _L |I e7zFE5 "i"$#%#&# '# "L 2  . Sigl ResE l"ou  #Y'$Y%Y&Yo'W-(W Ref)d ,YQ -Y& .W/W1{ 2W 3W4W]5W6W7W BT:MY;^d uY @> D## kE#  F# G# H# I# g J5#$ K#( segL@#, 5Ma#0  N#4 3O#8 sigPC#<}AWC ad# bd# pcd# gdd# e# f#^ D<D sigC# # 8# # ; !# ## # # #$ 8 #( Y  #, pad #0 > #4 {#8F 4GS XGsig`C#a#b# c# ; d!# e!#zf# |g!#$#h#,i#0fixj#4ks#87ls#@ms#H# ns#PH6H2##k3# 4# 5#6-#7# 8#$ 9/#(:_#,;#0<#4 =#8 >!#< ?L#@@s#D A#HfixB#L C#PD #T E#X F=#\G_#`H#d I#hJ#lK#paL:#tMQ#x Nw#|%O#sigPC# O O sigC# ti# # # # # # * # {# {#$ >{#( {#, 7 #0 #4 #8 #< {#@ #D x#H {#L #P #T {#X #\ E #` w #d #h t#l #p  #t + #x  {#|  # p  {# s# n# P  * TP fix# Y# # B # sigC# #  # p# # ` #$ #( E #, w #0 #4 t#8 +#< {#@ #D p {#H {#L {#P Q5 ;  LQsig >C# ?# @!# A # B# Cz##Y R   R #p#Xd#  # W# -S   8SsigC## #!# W{# #Xd#pd# #$#(C#, "#0( #4? T sigC#  # Xd# pd# ?# 2?#UJPk-Utheh!# SegVv|P[V sigC# P#  # ^  !# p d#o  W#pm "#sm "#  #  # #5#X[aNLX##k# ##T#R #   #$$*#(q#,g#0 #4@#8L#<r#@?#DsigC#HZY_>Z sig0C# c1# 2# 3# 4# gen5# \ H\ &## k'$#  (# )# *# +F# ,c#$ -#( .#, /#0 0#4 Y1"#8 2H#< 3e#@ sig4C#DW^(^ Fo%# p#t r#x t#| u$# <w$# y{# z{# |{# n }{# # ## m  # d# N # !# # $#  o## !# U# !# C# # # !# # # k %# ( {# + {# {# # { #  # %# s# 7 s# Y# p-%# # !# # # p=%# sigC#.t_ sigBC# E!# F# |Is# J# ?K# Ls# 7Ms#( Ns#0 Os#8 # Ps#@ S#H V#L ^ Y!#P .Z#X ]!#\ u^#d a!#h d#p d me 0esig+C# ,d# -{#9.d#  /{#03!#1{# 2# 3# 4(!#$g hh2## #X{#\{#`sigC#dn &@N@8N oQWc~pnt{:qQrNd{tNN{d Ku "d{Vv-3HN SwSYe xpvN'N dl"ddW%+TNkd{8 _eqk|k |[kxk  k *jk 5;LkjOW]rNk/}Nkkddd8}8 Nj8vjC5jddd{] _ KQakjlrj1 jjkhNj N8j#/%:@_N{jpd{Y‘Nj{-jddc!Nkd" ,2LNk W]sk ~ ke ̥N kN kGW !'=ju HN_jVjpNj+כNjOjkl$:EKx\bwN N ddFdd dd*t `' - > d{E T Z    # #$ # % #   s) #* #WF     A! !(!I    &Z e>!D!U!8`!f! w!}!! l!#l!#}! !g e#fE#"h c!Vg!-iP"Y\"""g"\sig}C#~"#"#"#  ar"x"" asigC#"# m""""g""g"x"""""""""o#H$ sig C# # {# !s#  "s# #!#H $#o#S o$t2##Y{#X {#\{#` Y#d$#h #lsigC#p $#$ `2##$#X$# {#Q {#>{#]{# {#!#sigC# $gd  .e%k-%$=%!M%%b!+U!U!S ! !V% !(,WU!'U!S !) !*V !!! /usr/include/usr/include/sys/usr/include/machinedbgpool.hsplay.hmpmtypes.hconfig.hmpstd.hmisc.hstddef.hcdefs.h_null.h_types.h_types.hmpslib.hstdarg.hmps.hlimits.hlimits.h_limits.hsyslimits.hmpm.hcheck.hevent.heventcom.heventgen.hlock.hth.hring.hss.htract.hbt.hmpmst.hprotocol.hchain.hdbgpooli.c!;;__STDC_HOSTED__ 1__GNUC__ 3__GNUC_MINOR__ 4__GNUC_PATCHLEVEL__ 6__SIZE_TYPE__ unsigned int__PTRDIFF_TYPE__ int__WCHAR_TYPE__ int__WINT_TYPE__ unsigned int __GXX_ABI_VERSION 1002 __SCHAR_MAX__ 127 __SHRT_MAX__ 32767 __INT_MAX__ 2147483647 __LONG_MAX__ 2147483647L__LONG_LONG_MAX__ 9223372036854775807LL__WCHAR_MAX__ 2147483647__CHAR_BIT__ 8__FLT_EVAL_METHOD__ 2__FLT_RADIX__ 2__FLT_MANT_DIG__ 24__FLT_DIG__ 6__FLT_MIN_EXP__ (-125)__FLT_MIN_10_EXP__ (-37)__FLT_MAX_EXP__ 128__FLT_MAX_10_EXP__ 38__FLT_MAX__ 3.40282347e+38F__FLT_MIN__ 1.17549435e-38F__FLT_EPSILON__ 1.19209290e-7F__FLT_DENORM_MIN__ 1.40129846e-45F__FLT_HAS_INFINITY__ 1__FLT_HAS_QUIET_NAN__ 1__DBL_MANT_DIG__ 53 __DBL_DIG__ 15!__DBL_MIN_EXP__ (-1021)"__DBL_MIN_10_EXP__ (-307)#__DBL_MAX_EXP__ 1024$__DBL_MAX_10_EXP__ 308%__DBL_MAX__ 1.7976931348623157e+308&__DBL_MIN__ 2.2250738585072014e-308'__DBL_EPSILON__ 2.2204460492503131e-16(__DBL_DENORM_MIN__ 4.9406564584124654e-324)__DBL_HAS_INFINITY__ 1*__DBL_HAS_QUIET_NAN__ 1+__LDBL_MANT_DIG__ 53,__LDBL_DIG__ 15-__LDBL_MIN_EXP__ (-16381).__LDBL_MIN_10_EXP__ (-4931)/__LDBL_MAX_EXP__ 163840__LDBL_MAX_10_EXP__ 49321__DECIMAL_DIG__ 172__LDBL_MAX__ 1.1897314953572316e+4932L3__LDBL_MIN__ 3.3621031431120935e-4932L4__LDBL_EPSILON__ 2.2204460492503131e-16L5__LDBL_DENORM_MIN__ 7.4653686412953080e-4948L6__LDBL_HAS_INFINITY__ 17__LDBL_HAS_QUIET_NAN__ 18__REGISTER_PREFIX__ 9__USER_LABEL_PREFIX__ :__VERSION__ "3.4.6 [FreeBSD] 20060305";__OPTIMIZE__ 1<__FINITE_MATH_ONLY__ 0=__STRICT_ANSI__ 1@__i386 1A__i386__ 1B__tune_i386__ 1C__FreeBSD__ 6D__unix 1E__unix__ 1F__KPRINTF_ATTRIBUTE__ 1J__FreeBSD_cc_version 602001K__ELF__ 1_REENTRANT 1CONFIG_PROD_DYLAN 1CONFIG_VAR_HI 1NDEBUG 1  dbgpool_h   splay_h  mpmtypes_h config_h !CONFIG_DEBUG "CHECK_DEFAULT CheckNONE6CHECK_NONE 7MPS_ASSERT_STRING "nonasserted"?EVENT_NONE @MPS_LOG_STRING "nonlogging"EDIAGNOSTICS FMPS_DEBUG_STRING "debug"LMPS_VARIETY_STRING MPS_ASSERT_STRING "." MPS_LOG_STRING "." MPS_DEBUG_STRINGRmpstd_h MPS_PF_FRI4GC MPS_PF_STRING "fri4gc"MPS_OS_FR MPS_ARCH_I4 MPS_BUILD_GC MPS_T_WORD unsigned longMPS_WORD_WIDTH 32MPS_WORD_SHIFT 5MPS_PF_ALIGN 4EPVMDefaultSubsequentSegSIZE (64ul * 1024)ARENA_CONTROL_EXTENDBY ((Size)4096)ARENA_CONTROL_AVGSIZE ((Size)32)ARENA_CONTROL_MAXSIZE ((Size)65536)ArenaPollALLOCTIME (65536.0)ARENA_ZONESHIFT ((Shift)20)ARENA_CLIENT_PAGE_SIZE ((Size)8192)ArenaDefaultZONESET (ZoneSetUNIV << (MPS_WORD_WIDTH / 2))SegPrefDEFAULT { SegPrefSig, TRUE, ArenaDefaultZONESET, FALSE, FALSE, (Serial)0, }LDHistoryLENGTH ((Size)4)StackProbeDEPTH ((Size)0)ShieldCacheSIZE ((size_t)16)ShieldDepthWIDTH (4)VMANPageALIGNMENT ((Align)4096)VMJunkBYTE ((unsigned char)0xA9)TraceLIMIT ((size_t)1)TraceCopyScanRATIO (1.5)RememberedSummaryBLOCK 15EventBufferSIZE ((size_t)4096)EventStringLengthMAX ((size_t)255)ASSERT_BUFFER_SIZE ((Size)512)MPS_PROD_STRING "dylan"MPS_PROD_DYLAN ARENA_INIT_SPARE_COMMIT_LIMIT ((Size)10uL*1024uL*1024uL)THREAD_MULTI PROTECTION DONGLE_NONE PROD_CHECK_DEFAULT CheckSHALLOWARENA_SIZE ((Size)1<<30)misc_h '_STDDEF_H_ )%_SYS_CDEFS_H_ +__BEGIN_DECLS ,__END_DECLS 8__GNUCLIKE_ASM 39__GNUCLIKE_MATH_BUILTIN_CONSTANTS =__GNUCLIKE___TYPEOF 1>__GNUCLIKE___OFFSETOF 1?__GNUCLIKE___SECTION 1A__GNUCLIKE_ATTRIBUTE_MODE_DI 1D__GNUCLIKE_CTOR_SECTION_HANDLING 1G__GNUCLIKE_BUILTIN_CONSTANT_P 1N__GNUCLIKE_BUILTIN_VARARGS 1O__GNUCLIKE_BUILTIN_STDARG 1P__GNUCLIKE_BUILTIN_VAALIST 1T__GNUC_VA_LIST_COMPATIBILITY 1X__GNUCLIKE_BUILTIN_NEXT_ARG 1Y__GNUCLIKE_MATH_BUILTIN_RELOPS \__GNUCLIKE_BUILTIN_MEMCPY 1___CC_SUPPORTS_INLINE 1`__CC_SUPPORTS___INLINE 1a__CC_SUPPORTS___INLINE__ 1c__CC_SUPPORTS___FUNC__ 1d__CC_SUPPORTS_WARNING 1f__CC_SUPPORTS_VARADIC_XXX 1h__CC_SUPPORTS_DYNAMIC_ARRAY_INIT 1k__CC_INT_IS_32BIT 1s__GNUC_PREREQ__(ma,mi) (__GNUC__ > (ma) || __GNUC__ == (ma) && __GNUC_MINOR__ >= (mi))__P(protos) protos__CONCAT1(x,y) x ## y__CONCAT(x,y) __CONCAT1(x,y)__STRING(x) #x__XSTRING(x) __STRING(x)__const const__signed signed__volatile volatile__dead2 __attribute__((__noreturn__))__pure2 __attribute__((__const__))__unused __attribute__((__unused__))__used __attribute__((__used__))__packed __attribute__((__packed__))__aligned(x) __attribute__((__aligned__(x)))__section(x) __attribute__((__section__(x)))__pure __attribute__((__pure__))__always_inline __attribute__((__always_inline__))__nonnull(x) __attribute__((__nonnull__(x)))__restrict __predict_true(exp) __builtin_expect((exp), 1)__predict_false(exp) __builtin_expect((exp), 0)__offsetof(type,field) ((size_t)(&((type *)0)->field))__rangeof(type,start,end) (__offsetof(type, end) - __offsetof(type, start))__printflike(fmtarg,firstvararg) __attribute__((__format__ (__printf__, fmtarg, firstvararg)))__scanflike(fmtarg,firstvararg) __attribute__((__format__ (__scanf__, fmtarg, firstvararg)))__format_arg(fmtarg) __attribute__((__format_arg__ (fmtarg)))__printf0like(fmtarg,firstvararg) __attribute__((__format__ (__printf0__, fmtarg, firstvararg)))__strong_reference(sym,aliassym) extern __typeof (sym) aliassym __attribute__ ((__alias__ (#sym)));__weak_reference(sym,alias) __asm__(".weak " #alias); __asm__(".equ " #alias ", " #sym)__warn_references(sym,msg) __asm__(".section .gnu.warning." #sym); __asm__(".asciz \"" msg "\""); __asm__(".previous")__IDSTRING(name,string) __asm__(".ident\t\"" string "\"")__FBSDID(s) __IDSTRING(__CONCAT(__rcsid_,__LINE__),s)__RCSID(s) __IDSTRING(__CONCAT(__rcsid_,__LINE__),s)__RCSID_SOURCE(s) __IDSTRING(__CONCAT(__rcsid_source_,__LINE__),s)__SCCSID(s) __IDSTRING(__CONCAT(__sccsid_,__LINE__),s)__COPYRIGHT(s) __IDSTRING(__CONCAT(__copyright_,__LINE__),s)__DECONST(type,var) ((type)(uintptr_t)(const void *)(var))__DEVOLATILE(type,var) ((type)(uintptr_t)(volatile void *)(var))__DEQUALIFY(type,var) ((type)(uintptr_t)(const volatile void *)(var))__POSIX_VISIBLE 200112__XSI_VISIBLE 600__BSD_VISIBLE 1__ISO_C_VISIBLE 1999*  NULL ((void *)0)+ _SYS__TYPES_H_ ! (_MACHINE__TYPES_H_ .__NO_STRICT_ALIGNMENT __GNUC_VA_LIST 2_RUNE_T_DECLARED 8_SIZE_T_DECLARED >_WCHAR_T_DECLARED Boffsetof(type,member) __offsetof(type, member)*SRCID(id,scmid) static SrcIdStruct FileSrcIdStruct = {__FILE__, (scmid), __DATE__, __TIME__}; SrcId id ## SrcId = &FileSrcIdStruct;BEGIN do {> (i)) & 1)BS_UNION(s1,s2) ((s1) | (s2))BS_ADD(ty,s,i) BS_UNION((s), BS_SINGLE(ty, (i)))BS_INTER(s1,s2) ((s1) & (s2))BS_DIFF(s1,s2) BS_INTER((s1), BS_COMP(s2))BS_DEL(ty,s,i) BS_DIFF((s), BS_SINGLE(ty, (i)))BS_SUPER(s1,s2) (BS_INTER((s1), (s2)) == (s2))BS_SUB(s1,s2) BS_SUPER((s2), (s1))BS_IS_SINGLE(s) (((s) & ((s)-1)) == 0)BS_SYM_DIFF(s1,s2) ((s1) ^ (s2)) mpslib_h mps_lib_EOF (mps_lib_get_EOF())mps_lib_stderr (mps_lib_get_stderr())mps_lib_stdout (mps_lib_get_stdout()) '_MACHINE_STDARG_H_ -_VA_LIST_DECLARED 3va_start(ap,last) __builtin_stdarg_start((ap), (last))6va_arg(ap,type) __builtin_va_arg((ap), type):va_copy(dest,src) __builtin_va_copy((dest), (src))>va_end(ap) __builtin_va_end(ap)SigInvalid ((Sig)0x51915BAD)SizeMAX ((Size)-1)AccessSetEMPTY ((AccessSet)0)AccessREAD ((AccessSet)(1<<0))AccessWRITE ((AccessSet)(1<<1))AccessSetWIDTH (2)RefSetEMPTY BS_EMPTY(RefSet)RefSetUNIV BS_UNIV(RefSet)ZoneSetEMPTY BS_EMPTY(ZoneSet)ZoneSetUNIV BS_UNIV(ZoneSet)TraceSetEMPTY BS_EMPTY(TraceSet)TraceSetUNIV ((TraceSet)((1u << TraceLIMIT) - 1))RankSetEMPTY BS_EMPTY(RankSet)RankSetUNIV ((RankSet)((1u << RankLIMIT) - 1))AttrFMT ((Attr)(1<<0))AttrSCAN ((Attr)(1<<1))AttrPM_NO_READ ((Attr)(1<<2))AttrPM_NO_WRITE ((Attr)(1<<3))AttrALLOC ((Attr)(1<<4))AttrFREE ((Attr)(1<<5))AttrBUF ((Attr)(1<<6))AttrBUF_RESERVE ((Attr)(1<<7))AttrBUF_ALLOC ((Attr)(1<<8))AttrGC ((Attr)(1<<9))AttrINCR_RB ((Attr)(1<<10))AttrINCR_WB ((Attr)(1<<11))AttrMOVINGGC ((Attr)(1<<12))AttrMASK (AttrFMT | AttrSCAN | AttrPM_NO_READ | AttrPM_NO_WRITE | AttrALLOC | AttrFREE | AttrBUF | AttrBUF_RESERVE | AttrBUF_ALLOC | AttrGC | AttrINCR_RB | AttrINCR_WB | AttrMOVINGGC)BufferModeATTACHED ((BufferMode)(1<<0))BufferModeFLIPPED ((BufferMode)(1<<1))BufferModeLOGGED ((BufferMode)(1<<2))BufferModeTRANSITION ((BufferMode)(1<<3))RootModeCONSTANT ((RootMode)1<<0)RootModePROTECTABLE ((RootMode)1<<1)RootModePROTECTABLE_INNER ((RootMode)1<<2)STATISTIC_DECL(field) field(PoolDebugMixinSig ((Sig)0x519B0DB9)  mps_h &_LIMITS_H_ +_POSIX_ARG_MAX 4096,_POSIX_CHILD_MAX 25-_POSIX_LINK_MAX 8._POSIX_MAX_CANON 255/_POSIX_MAX_INPUT 2550_POSIX_NAME_MAX 141_POSIX_NGROUPS_MAX 82_POSIX_OPEN_MAX 203_POSIX_PATH_MAX 2564_POSIX_PIPE_BUF 5125_POSIX_SSIZE_MAX 327676_POSIX_STREAM_MAX 87_POSIX_TZNAME_MAX 69BC_BASE_MAX 99:BC_DIM_MAX 2048;BC_SCALE_MAX 99EXPR_NEST_MAX 32?LINE_MAX 2048@RE_DUP_MAX 255B_POSIX2_BC_BASE_MAX 99C_POSIX2_BC_DIM_MAX 2048D_POSIX2_BC_SCALE_MAX 99E_POSIX2_BC_STRING_MAX 1000F_POSIX2_EQUIV_CLASS_MAX 2G_POSIX2_EXPR_NEST_MAX 32H_POSIX2_LINE_MAX 2048I_POSIX2_RE_DUP_MAX 255M_POSIX_AIO_LISTIO_MAX 16N_POSIX_AIO_MAX 1O_POSIX_DELAYTIMER_MAX 32P_POSIX_MQ_OPEN_MAX 8Q_POSIX_MQ_PRIO_MAX 32R_POSIX_RTSIG_MAX 8S_POSIX_SEM_NSEMS_MAX 256T_POSIX_SEM_VALUE_MAX 32767U_POSIX_SIGQUEUE_MAX 32V_POSIX_TIMER_MAX 32Z_POSIX_THREAD_DESTRUCTOR_ITERATIONS 4[_POSIX_THREAD_KEYS_MAX 128\_POSIX_THREAD_THREADS_MAX 64`_POSIX_HOST_NAME_MAX 255a_POSIX_LOGIN_NAME_MAX 9b_POSIX_SS_REPL_MAX 4c_POSIX_SYMLINK_MAX 255d_POSIX_SYMLOOP_MAX 8e_POSIX_TRACE_EVENT_NAME_MAX 30f_POSIX_TRACE_NAME_MAX 8g_POSIX_TRACE_SYS_MAX 8h_POSIX_TRACE_USER_EVENT_MAX 32i_POSIX_TTY_NAME_MAX 9j_POSIX2_CHARCLASS_NAME_MAX 14k_POSIX2_COLL_WEIGHTS_MAX 2m_POSIX_RE_DUP_MAX _POSIX2_RE_DUP_MAXq_XOPEN_IOV_MAX 16r_XOPEN_NAME_MAX 255s_XOPEN_PATH_MAX 1024tPASS_MAX 128vNL_ARGMAX 99wNL_LANGMAX 31xNL_MSGMAX 32767yNL_NMAX 1zNL_SETMAX 255{NL_TEXTMAX 2048~MB_LEN_MAX 6!_SYS_LIMITS_H_ $"_MACHINE__LIMITS_H_ /__CHAR_BIT 81__SCHAR_MAX 0x7f2__SCHAR_MIN (-0x7f - 1)4__UCHAR_MAX 0xff6__USHRT_MAX 0xffff7__SHRT_MAX 0x7fff8__SHRT_MIN (-0x7fff - 1):__UINT_MAX 0xffffffffU;__INT_MAX 0x7fffffff<__INT_MIN (-0x7fffffff - 1)D__ULONG_MAX 0xffffffffULE__LONG_MAX 0x7fffffffLF__LONG_MIN (-0x7fffffffL - 1)J__ULLONG_MAX 0xffffffffffffffffULLK__LLONG_MAX 0x7fffffffffffffffLLL__LLONG_MIN (-0x7fffffffffffffffLL - 1)N__SSIZE_MAX __INT_MAXP__SIZE_T_MAX __UINT_MAXR__OFF_MAX __LLONG_MAXS__OFF_MIN __LLONG_MINV__UQUAD_MAX __ULLONG_MAXW__QUAD_MAX __LLONG_MAXX__QUAD_MIN __LLONG_MIN]__LONG_BIT 32___WORD_BIT 32&CHAR_BIT __CHAR_BIT(SCHAR_MAX __SCHAR_MAX)SCHAR_MIN __SCHAR_MIN+UCHAR_MAX __UCHAR_MAX1CHAR_MAX SCHAR_MAX2CHAR_MIN SCHAR_MIN5USHRT_MAX __USHRT_MAX6SHRT_MAX __SHRT_MAX7SHRT_MIN __SHRT_MIN9UINT_MAX __UINT_MAX:INT_MAX __INT_MAX;INT_MIN __INT_MIN=ULONG_MAX __ULONG_MAX>LONG_MAX __LONG_MAX?LONG_MIN __LONG_MINHSSIZE_MAX __SSIZE_MAXLSIZE_T_MAX __SIZE_T_MAXNOFF_MAX __OFF_MAXOOFF_MIN __OFF_MINSGID_MAX UINT_MAXTUID_MAX UINT_MAXVUQUAD_MAX (__UQUAD_MAX)WQUAD_MAX (__QUAD_MAX)XQUAD_MIN (__QUAD_MIN)\LONG_BIT __LONG_BIT]WORD_BIT __WORD_BIT"_SYS_SYSLIMITS_H_ 4ARG_MAX 2621447CHILD_MAX 409LINK_MAX 32767:MAX_CANON 255;MAX_INPUT 255 (sac)->mps_middle) { _mps_i = 0; while (_mps_s > (sac)->mps_freelists[_mps_i].mps_size) _mps_i += 2; } else { _mps_i = 1; while (_mps_s <= (sac)->mps_freelists[_mps_i].mps_size) _mps_i += 2; } if ((sac)->mps_freelists[_mps_i].mps_count != 0) { (p_o) = (sac)->mps_freelists[_mps_i].mps_blocks; (sac)->mps_freelists[_mps_i].mps_blocks = *(mps_addr_t *)(p_o); --(sac)->mps_freelists[_mps_i].mps_count; (res_o) = MPS_RES_OK; } else (res_o) = mps_sac_fill(&(p_o), sac, _mps_s, has_reservoir_permit); MPS_ENDMPS_SAC_FREE_FAST(sac,p,size) MPS_BEGIN size_t _mps_i, _mps_s; _mps_s = (size); if (_mps_s > (sac)->mps_middle) { _mps_i = 0; while (_mps_s > (sac)->mps_freelists[_mps_i].mps_size) _mps_i += 2; } else { _mps_i = 1; while (_mps_s <= (sac)->mps_freelists[_mps_i].mps_size) _mps_i += 2; } if ((sac)->mps_freelists[_mps_i].mps_count < (sac)->mps_freelists[_mps_i].mps_count_max) { *(mps_addr_t *)(p) = (sac)->mps_freelists[_mps_i].mps_blocks; (sac)->mps_freelists[_mps_i].mps_blocks = (p); ++(sac)->mps_freelists[_mps_i].mps_count; } else mps_sac_empty(sac, p, _mps_s); MPS_ENDMPS_SAC_ALLOC(res_o,p_o,sac,size,has_reservoir_permit) MPS_SAC_ALLOC_FAST(res_o, p_o, sac, size, has_reservoir_permit)MPS_SAC_FREE(sac,p,size) MPS_SAC_FREE_FAST(sac, p, size)mps_reserve(_p_o,_mps_ap,_size) ((char *)(_mps_ap)->alloc + (_size) > (char *)(_mps_ap)->alloc && (char *)(_mps_ap)->alloc + (_size) <= (char *)(_mps_ap)->limit ? ((_mps_ap)->alloc = (mps_addr_t)((char *)(_mps_ap)->alloc + (_size)), *(_p_o) = (_mps_ap)->init, MPS_RES_OK) : mps_ap_fill(_p_o, _mps_ap, _size))MPS_RESERVE_BLOCK(_res_v,_p_v,_mps_ap,_size) MPS_BEGIN char *_alloc = (char *)(_mps_ap)->alloc; char *_next = _alloc + (_size); if(_next > _alloc && _next <= (char *)(_mps_ap)->limit) { (_mps_ap)->alloc = (mps_addr_t)_next; (_p_v) = (_mps_ap)->init; (_res_v) = MPS_RES_OK; } else (_res_v) = mps_ap_fill(&(_p_v), _mps_ap, _size); MPS_ENDMPS_RESERVE_WITH_RESERVOIR_PERMIT_BLOCK(_res_v,_p_v,_mps_ap,_size) MPS_BEGIN char *_alloc = (char *)(_mps_ap)->alloc; char *_next = _alloc + (_size); if(_next > _alloc && _next <= (char *)(_mps_ap)->limit) { (_mps_ap)->alloc = (mps_addr_t)_next; (_p_v) = (_mps_ap)->init; (_res_v) = MPS_RES_OK; } else (_res_v) = mps_ap_fill_with_reservoir_permit(&(_p_v), _mps_ap, _size); MPS_ENDmps_commit(_mps_ap,_p,_size) ((_mps_ap)->init = (_mps_ap)->alloc, (_mps_ap)->limit != 0 || mps_ap_trip(_mps_ap, _p, _size))MPS_SCAN_BEGIN(ss) MPS_BEGIN mps_ss_t _ss = (ss); mps_word_t _mps_w0 = (_ss)->w0; mps_word_t _mps_w1 = (_ss)->w1; mps_word_t _mps_w2 = (_ss)->w2; mps_word_t _mps_wt; {MPS_FIX1(ss,ref) (_mps_wt = 1uL << ((mps_word_t)(ref) >> _mps_w0 & (sizeof(mps_word_t) * CHAR_BIT - 1)), _mps_w2 |= _mps_wt, _mps_w1 & _mps_wt)MPS_FIX2(ss,ref_io) ((*(ss)->fix)(ss, ref_io))MPS_FIX12(ss,ref_io) (MPS_FIX1(ss, *(ref_io)) ? MPS_FIX2(ss, ref_io) : MPS_RES_OK)MPS_FIX(ss,ref_io) MPS_FIX12(ss, ref_io)MPS_FIX_CALL(ss,call) MPS_BEGIN (call); _mps_w2 |= (ss)->w2; MPS_ENDMPS_SCAN_END(ss) } (ss)->w2 = _mps_w2; MPS_END  mpm_h check_h 0AVER(cond) DISCARD(cond)1AVERT(type,val) DISCARD(type ## Check(val))2AVER_CRITICAL(cond) DISCARD(cond)3AVERT_CRITICAL(type,val) DISCARD(type ## Check(val))MASSERT(cond,condstring) BEGIN if (cond) NOOP; else mps_lib_assert_fail(condstring "\n" __FILE__ "\n" STR(__LINE__)); END_NOTREACHED NOOPjCHECKT(type,val) ((val) != NULL && (val)->sig == type ## Sig)pCHECKS(type,val) DISCARD(CHECKT(type, val))qCHECKL(cond) DISCARD(cond)rCHECKD(type,val) DISCARD(CHECKT(type, val))sCHECKD_NOSIG(type,val) DISCARD((val) != NULL)tCHECKU(type,val) DISCARD(CHECKT(type, val))uCHECKU_NOSIG(type,val) DISCARD((val) != NULL)CHECKLVALUE(lv1,lv2) ((void)sizeof((lv1) = (lv2)), (void)sizeof((lv2) = (lv1)), TRUE)CHECKTYPE(t1,t2) (sizeof(t1) == sizeof(t2) && CHECKLVALUE(*((t1 *)0), *((t2 *)0)))CHECKFIELDAPPROX(s1,f1,s2,f2) (sizeof(((s1 *)0)->f1) == sizeof(((s2 *)0)->f2) && offsetof(s1, f1) == offsetof(s2, f2))CHECKFIELD(s1,f1,s2,f2) (CHECKFIELDAPPROX(s1, f1, s2, f2) && CHECKLVALUE(((s1 *)0)->f1, ((s2 *)0)->f2))event_h  eventcom_h !EventNameMAX ((size_t)19)"EventCodeMAX ((EventCode)0x0069)&EVENT_0(type) NOOPEVENT_A(type,p0) NOOPEVENT_AW(type,p0,p1) NOOPEVENT_P(type,p0) NOOPEVENT_PAA(type,p0,p1,p2) NOOPEVENT_PAW(type,p0,p1,p2) NOOPEVENT_PAWA(type,p0,p1,p2,p3) NOOPEVENT_PDDWWW(type,p0,p1,p2,p3,p4,p5) NOOPEVENT_PP(type,p0,p1) NOOPEVENT_PPAU(type,p0,p1,p2,p3) NOOPEVENT_PPAWP(type,p0,p1,p2,p3,p4) NOOPEVENT_PPP(type,p0,p1,p2) NOOPEVENT_PPPA(type,p0,p1,p2,p3) NOOPEVENT_PPPU(type,p0,p1,p2,p3) NOOPEVENT_PPPUU(type,p0,p1,p2,p3,p4) NOOPEVENT_PPU(type,p0,p1,p2) NOOPEVENT_PPUU(type,p0,p1,p2,p3) NOOPEVENT_PPUWWW(type,p0,p1,p2,p3,p4,p5) NOOPEVENT_PPWW(type,p0,p1,p2,p3) NOOPEVENT_PPWWW(type,p0,p1,p2,p3,p4) NOOPEVENT_PPWWWUUU(type,p0,p1,p2,p3,p4,p5,p6,p7) NOOPEVENT_PU(type,p0,p1) NOOPEVENT_PW(type,p0,p1) NOOPEVENT_PWA(type,p0,p1,p2) NOOPEVENT_PWAW(type,p0,p1,p2,p3) NOOPEVENT_PWP(type,p0,p1,p2) NOOPEVENT_PWU(type,p0,p1,p2) NOOPEVENT_PWW(type,p0,p1,p2) NOOPEVENT_PWWWWDD(type,p0,p1,p2,p3,p4,p5,p6) NOOPEVENT_PWWWWW(type,p0,p1,p2,p3,p4,p5) NOOPEVENT_PWWWWWWWWW(type,p0,p1,p2,p3,p4,p5,p6,p7,p8,p9) NOOPEVENT_PWWWWWWWWWWWW(type,p0,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11,p12) NOOPEVENT_UUPA(type,p0,p1,p2,p3) NOOPEVENT_UUPP(type,p0,p1,p2,p3) NOOPEVENT_UUPPP(type,p0,p1,p2,p3,p4) NOOPEVENT_WS(type,p0,p1,l1) NOOP:EventEventTime ((EventType)0xEF213E99);EventPoolInit ((EventType)0xEFB07141)EventPoolFree ((EventType)0xEFB07F6E)?EventArenaCreateVM ((EventType)0xEFA64CF3)@EventArenaCreateVMNZ ((EventType)0xEFA64CF2)AEventArenaCreateCL ((EventType)0xEFA64CC7)BEventArenaDestroy ((EventType)0xEFA64DE5)CEventArenaAlloc ((EventType)0xEFA64A77)DEventArenaFree ((EventType)0xEFA64F6E)EEventSegAlloc ((EventType)0xEF5E9A77)FEventSegFree ((EventType)0xEF5E9F6E)GEventSegMerge ((EventType)0xEF5E93E6)HEventSegSplit ((EventType)0xEF5E95B7)IEventAMCGenCreate ((EventType)0xEFA3C94C)JEventAMCGenDestroy ((EventType)0xEFA3C94D)KEventAMCInit ((EventType)0xEFA3C141)LEventAMCFinish ((EventType)0xEFA3CF14)MEventAMCTraceBegin ((EventType)0xEFA3C26B)NEventAMCScanBegin ((EventType)0xEFA3C5CB)OEventAMCScanEnd ((EventType)0xEFA3C5CE)PEventAMCFix ((EventType)0xEFA3CF18)QEventAMCFixInPlace ((EventType)0xEFA3CF8A)REventAMCFixForward ((EventType)0xEFA3CF8F)SEventAMCReclaim ((EventType)0xEFA3C6EC)TEventTraceStart ((EventType)0xEF26AC52)UEventTraceCreate ((EventType)0xEF26ACC6)VEventTraceDestroy ((EventType)0xEF26ACDE)WEventSegSetGrey ((EventType)0xEF59596A)XEventTraceFlipBegin ((EventType)0xEF26AF7B)YEventTraceFlipEnd ((EventType)0xEF26AF7E)ZEventTraceReclaim ((EventType)0xEF26A6EC)[EventTraceScanSeg ((EventType)0xEF26A559)\EventTraceScanSingleRef ((EventType)0xEF26A556)^EventTraceAccess ((EventType)0xEF26AACC)_EventTracePoll ((EventType)0xEF26AB01)`EventTraceStep ((EventType)0xEF26A52B)aEventTraceFix ((EventType)0xEF26AF18)bEventTraceFixSeg ((EventType)0xEF26AF85)cEventTraceFixWhite ((EventType)0xEF26AF83)dEventTraceScanArea ((EventType)0xEF26A5CA)eEventTraceScanAreaTagged ((EventType)0xEF26A5C2)fEventVMCreate ((EventType)0xEFF3C6EA)gEventVMDestroy ((EventType)0xEFF3DE52)hEventVMMap ((EventType)0xEFF33AB9)iEventVMUnmap ((EventType)0xEFF3043B)jEventIntern ((EventType)0xEF142E64)kEventArenaExtend ((EventType)0xEFA64E82)lEventArenaRetract ((EventType)0xEFA646E2)mEventRootScan ((EventType)0xEF625CA4)nEventLabel ((EventType)0xEF7ABE79)oEventTraceSegGreyen ((EventType)0xEF26A599)pEventBufferReserve ((EventType)0xEFB0FF6E)qEventBufferCommit ((EventType)0xEFB0FFC0)rEventBufferInit ((EventType)0xEFB0FF14)sEventBufferInitSeg ((EventType)0xEFB0F15E)tEventBufferInitRank ((EventType)0xEFB0F16A)uEventBufferInitEPVM ((EventType)0xEFB0F1EF)vEventBufferFinish ((EventType)0xEFB0FFF1)wEventBufferFill ((EventType)0xEFB0FFF7)xEventBufferEmpty ((EventType)0xEFB0FFE3)yEventArenaAllocFail ((EventType)0xEFA64A7F)zEventSegAllocFail ((EventType)0xEF5E9A7F){EventMeterInit ((EventType)0xEF3E2141)|EventMeterValues ((EventType)0xEF3E2FA7)}EventCBSInit ((EventType)0xEFCB5141)~EventTraceStatCondemn ((EventType)0xEF26A5C0)EventTraceStatScan ((EventType)0xEF26A55C)EventTraceStatFix ((EventType)0xEF26A5F8)EventTraceStatReclaim ((EventType)0xEF26A56E)EventArenaWriteFaults ((EventType)0xEFA6436F)EventPoolInitMV ((EventType)0xEFB0713F)EventPoolInitMVFF ((EventType)0xEFB071FF)EventPoolInitMFS ((EventType)0xEFB07135)EventPoolInitEPVM ((EventType)0xEFB071EF)EventPoolInitEPDL ((EventType)0xEFB071E7)EventPoolInitAMS ((EventType)0xEFB071A5)EventPoolInitAMC ((EventType)0xEFB071AC)EventPoolInitAMCZ ((EventType)0xEFB071A2)EventPoolInitAWL ((EventType)0xEFB071A3)EventPoolInitLO ((EventType)0xEFB07170)EventPoolInitSNC ((EventType)0xEFB07154)EventPoolInitMVT ((EventType)0xEFB07132)EventPoolPush ((EventType)0xEFB07B58)EventPoolPop ((EventType)0xEFB07B0B)EventReservoirLimitSet ((EventType)0xEF6E5713)EventCommitLimitSet ((EventType)0xEFC03713)EventSpareCommitLimitSet ((EventType)0xEF5BC713)hEventInit() NOOPiEventFinish() NOOPjEventControl(r,f) (UNUSED(r), UNUSED(f), (Word)0)kEventInternString(s) (UNUSED(s), (Word)0)lEventInternGenString(l,s) (UNUSED(l), UNUSED(s), (Word)0)mEventLabelAddr(a,i) BEGIN UNUSED(a); UNUSED(i); ENDPlock_h ULockSig ((Sig)0x51970CC9) th_h  ring_h RingNONE ((Ring)0)$RingInit(ring) BEGIN Ring _ring = (ring); AVER(_ring != NULL); _ring->next = _ring; _ring->prev = _ring; AVER(RingCheck(_ring)); END/RingFinish(ring) BEGIN Ring _ring = (ring); AVER(RingCheckSingle(_ring)); _ring->next = RingNONE; _ring->prev = RingNONE; END9RingAppend(ring,new) BEGIN Ring _ring = (ring), _new = (new); AVER(RingCheck(_ring)); AVER(RingCheckSingle(_new)); _new->prev = _ring->prev; _new->next = _ring; _ring->prev->next = _new; _ring->prev = _new; ENDFRingInsert(ring,new) BEGIN Ring _ring = (ring), _new = (new); AVER(RingCheck(_ring)); AVER(RingCheckSingle(_new)); _new->prev = _ring; _new->next = _ring->next; _ring->next->prev = _new; _ring->next = _new; ENDSRingRemove(old) BEGIN Ring _old = (old); AVER(RingCheck(_old)); AVER(!RingIsSingle(_old)); _old->next->prev = _old->prev; _old->prev->next = _old->next; _old->next = _old; _old->prev = _old; END`RingNext(ring) ((ring)->next)dRingPrev(ring) ((ring)->prev)gRING_ELT(type,field,node) ((type)(void *)((char *)(node) - (size_t)(&((type)0)->field)))kRING_FOR(node,ring,next) for(node = RingNext(ring), next = RingNext(node); node != (ring); node = (next), next = RingNext(node))ThreadSig ((Sig)0x519286ED) ss_h  tract_h   bt_h BTSize(n) (((n) + MPS_WORD_WIDTH-1) / MPS_WORD_WIDTH * sizeof(Word))BTGet(a,i) ((Bool)(((a)[((i) >> MPS_WORD_SHIFT)] >> ((i) & ~((Word)-1 << MPS_WORD_SHIFT))) & (Word)1))BTSet(a,i) BEGIN (a)[((i)>>MPS_WORD_SHIFT)] |= (Word)1<<((i)&~((Word)-1<>MPS_WORD_SHIFT)] &= ~((Word)1 << ((i) & ~((Word)-1<base)&TractPool(tract) ((tract)->pool)'TractP(tract) ((tract)->p)(TractSetP(tract,pp) ((void)((tract)->p = (pp))))TractHasSeg(tract) ((Bool)(tract)->hasSeg)*TractSetHasSeg(tract,b) ((void)((tract)->hasSeg = (b)))+TractWhite(tract) ((tract)->white),TractSetWhite(tract,w) ((void)((tract)->white = (w)))8TRACT_SEG(segReturn,tract) (TractHasSeg(tract) && ((*(segReturn) = (Seg)TractP(tract)), TRUE));TRACT_SET_SEG(tract,seg) (TractSetHasSeg(tract, TRUE), TractSetP(tract, seg))>TRACT_UNSET_SEG(tract) (TractSetHasSeg(tract, FALSE), TractSetP(tract, NULL))nPageTract(page) (&(page)->the.tractStruct)rPageOfTract(tract) PARENT(PageStruct, the.tractStruct, (tract))vPagePool(page) ((page)->the.rest.pool)}PageIsAllocated(page) ((page)->the.rest.pool != NULL)PageType(page) ((page)->the.rest.type)ChunkSig ((Sig)0x519C804C)ChunkArena(chunk) ((chunk)->arena)ChunkPageSize(chunk) ((chunk)->pageSize)ChunkPageShift(chunk) ((chunk)->pageShift)ChunkPagesToSize(chunk,pages) ((Size)(pages) << (chunk)->pageShift)ChunkSizeToPages(chunk,size) ((Count)((size) >> (chunk)->pageShift))CHUNK_OF_ADDR(chunkReturn,arena,addr) (((arena)->chunkCache.base <= (addr) && (addr) < (arena)->chunkCache.limit) ? (*(chunkReturn) = (arena)->chunkCache.chunk, TRUE) : ChunkOfAddr(chunkReturn, arena, addr))AddrPageBase(chunk,addr) AddrAlignDown((addr), ChunkPageSize(chunk))TRACT_OF_ADDR(tractReturn,arena,addr) BEGIN Arena _arena = (arena); Addr _addr = (addr); Chunk _chunk; Index _i; if (CHUNK_OF_ADDR(&_chunk, _arena, _addr)) { _i = INDEX_OF_ADDR(_chunk, _addr); if (BTGet(_chunk->allocTable, _i)) *(tractReturn) = PageTract(&_chunk->pageTable[_i]); else *(tractReturn) = NULL; } else *(tractReturn) = NULL; ENDINDEX_OF_ADDR(chunk,addr) ((Index)ChunkSizeToPages(chunk, AddrOffset((chunk)->base, addr)))PageIndexBase(chunk,i) AddrAdd((chunk)->base, ChunkPagesToSize(chunk, i))TractAverContiguousRange(arena,rangeBase,rangeLimit) BEGIN Chunk _ch = NULL; UNUSED(_ch); AVER(ChunkOfAddr(&_ch, arena, rangeBase) && (rangeLimit) <= _ch->limit); ENDTRACT_TRACT_FOR(tract,addr,arena,firstTract,limit) tract = (firstTract); addr = TractBase(tract); TractAverContiguousRange(arena, addr, limit); for(; tract != NULL; (addr = AddrAdd(addr, (arena)->alignment)), (addr < (limit) ? (tract = PageTract(PageOfTract(tract) + 1)) : (tract = NULL) ))TRACT_FOR(tract,addr,arena,base,limit) TRACT_TRACT_FOR(tract, addr, arena, TractOfBaseAddr(arena, base), limit)mpmst_h protocol_h DERIVE_LOCAL(name) protocol ## nameDERIVE_STRUCT(name) name ## StructDERIVE_ENSURE(name) name ## GetDERIVE_ENSURE_OLD(name) Ensure ## nameDERIVE_ENSURE_INTERNAL(name) protocolGet ## nameDERIVE_GUARDIAN(name) protocol ## name ## GuardianDERIVE_STATIC_STORAGE(name) protocol ## name ## StructProtocolClassSetSuperclassPoly(class,super) (((ProtocolClass)(class))->superclass) = (ProtocolClass)(super)$DEFINE_CLASS(className,var) static Bool DERIVE_GUARDIAN(className) = FALSE; static DERIVE_STRUCT(className) DERIVE_STATIC_STORAGE(className); static void DERIVE_ENSURE_INTERNAL(className)(className); extern className DERIVE_ENSURE(className)(void); className DERIVE_ENSURE(className)(void) { if (DERIVE_GUARDIAN(className) == FALSE) { LockClaimGlobalRecursive(); if (DERIVE_GUARDIAN(className) == FALSE) { DERIVE_ENSURE_INTERNAL(className) (&DERIVE_STATIC_STORAGE(className)); DERIVE_GUARDIAN(className) = TRUE; } LockReleaseGlobalRecursive(); } return &DERIVE_STATIC_STORAGE(className); } extern className DERIVE_ENSURE_OLD(className)(void); className DERIVE_ENSURE_OLD(className)(void) { return DERIVE_ENSURE(className)(); } static void DERIVE_ENSURE_INTERNAL(className) (className var)AINHERIT_CLASS(this,parentName) BEGIN parentName DERIVE_LOCAL(parentName) = DERIVE_ENSURE(parentName)(); *this = *(DERIVE_LOCAL(parentName)); ProtocolClassSetSuperclassPoly(this, DERIVE_LOCAL(parentName)); ENDODEFINE_ALIAS_CLASS(className,typeName,var) typedef typeName className; typedef DERIVE_STRUCT(typeName) DERIVE_STRUCT(className); DEFINE_CLASS(className, var)VProtocolClassSig ((Sig)0x519B60C7)WProtocolInstSig ((Sig)0x519B6014)ProtocolClassSuperclassPoly(class) (((ProtocolClass)(class))->superclass)ClassOfPoly(inst) ((ProtocolInst)(inst)->class)IsSubclassPoly(sub,super) ProtocolIsSubclass((ProtocolClass)(sub), (ProtocolClass)(super))SUPERCLASS(className) ProtocolClassSuperclassPoly(DERIVE_ENSURE(className)()) chain_h GenDescSig ((Sig)0x5199E4DE)+PoolGenSig ((Sig)0x519B009E);ChainSig ((Sig)0x519C8A14)XPoolGenNr(gen) ((gen)->nr)/PoolClassSig ((Sig)0x519C7A55)]PoolSig ((Sig)0x519B0019)}MFSSig ((Sig)0x5193F599)MVSig ((Sig)0x5193B999)ReservoirSig ((Sig)0x5196e599)MessageClassSig ((Sig)0x519359c1)MessageSig ((Sig)0x5193e559)SegClassSig ((Sig)0x5195E9C7)SegSig ((Sig)0x5195E999)GCSegSig ((Sig)0x5199C5E9)SegPrefSig ((Sig)0x5195E9B6)BufferClassSig ((Sig)0x519B0FC7)BufferSig ((Sig)0x519B0FFE)SegBufSig ((Sig)0x51959B0F)FormatSig ((Sig)0x519F63A2)ScanStateSig ((Sig)0x5195CA45)TraceSig ((Sig)0x51924ACE)ChunkCacheEntrySig ((Sig)0x519C80CE)ArenaClassSig ((Sig)0x519A6C1A)GlobalsSig ((Sig)0x519970BA)ArenaSig ((Sig)0x519A6E4A)%BoolCheck(b) ((unsigned)(b) <= 1)(FUNCHECK(f) (FunCheck((Fun)f))4WordIsAligned(w,a) (((w) & ((a) - 1)) == 0)7WordAlignUp(w,a) (((w) + (a) - 1) & ~((Word)(a) - 1));WordRoundUp(w,r) (((w)+(r)-1) - ((w)+(r)-1)%(r))>WordAlignDown(w,a) ((w) & ~((Word)(a) - 1))@size_tAlignUp(s,a) ((size_t)WordAlignUp((Word)(s), a))BPointerAdd(p,s) ((void *)((char *)(p) + (s)))CPointerSub(p,s) ((void *)((char *)(p) - (s)))EPointerOffset(base,limit) ((size_t)((char *)(limit) - (char *)(base)))HPointerAlignUp(p,s) ((void *)WordAlignUp((Word)(p), (Align)(s)))KAddrAdd(p,s) ((Addr)PointerAdd((void *)(p), s))LAddrSub(p,s) ((Addr)PointerSub((void *)(p), s))NAddrOffset(b,l) ((Size)(PointerOffset((void *)(b), (void *)(l))))RAddrAlignDown(p,a) ((Addr)WordAlignDown((Word)(p), a))TAlignWord(s) ((Word)(s))VAddrIsAligned(p,a) WordIsAligned((Word)(p), a)WAddrAlignUp(p,a) ((Addr)WordAlignUp((Word)(p), a))YSizeIsAligned(s,a) WordIsAligned((Word)(s), a)ZSizeAlignUp(s,a) ((Size)WordAlignUp((Word)(s), a))[SizeAlignDown(s,a) ((Size)WordAlignDown((Word)(s), a))]SizeRoundUp(s,r) ((Size)WordRoundUp((Word)(s), (Size)(r)))_IndexIsAligned(s,a) WordIsAligned((Word)(s), a)`IndexAlignUp(s,a) ((Index)WordAlignUp((Word)(s), a))aIndexAlignDown(s,a) ((Index)WordAlignDown((Word)(s), a))cAlignIsAligned(a1,a2) WordIsAligned((Word)(a1), a2)iAddrSet(target,value,size) mps_lib_memset(target, (int)(value), size)mAddrCopy(target,source,size) mps_lib_memcpy(target, source, size)qAddrComp(a,b,size) mps_lib_memcmp(a, b, size)wADDR_PTR(type,addr) ((type *)(addr))PoolArena(pool) ((pool)->arena)PoolAlignment(pool) ((pool)->alignment)PoolSegRing(pool) (&(pool)->segRing)PoolFix(pool,ss,seg,refIO) ((*(pool)->fix)(pool, ss, seg, refIO))ClassOfPool(pool) ((pool)->class)SuperclassOfPool(pool) ((PoolClass)ProtocolClassSuperclassPoly((pool)->class))DEFINE_POOL_CLASS(className,var) DEFINE_ALIAS_CLASS(className, PoolClass, var)POOL_SUPERCLASS(className) ((PoolClass)SUPERCLASS(className))TraceSetSingle(trace) BS_SINGLE(TraceSet, (trace)->ti)TraceSetIsSingle(ts) BS_IS_SINGLE(ts)TraceSetIsMember(ts,trace) BS_IS_MEMBER(ts, (trace)->ti)TraceSetAdd(ts,trace) BS_ADD(TraceSet, ts, (trace)->ti)TraceSetDel(ts,trace) BS_DEL(TraceSet, ts, (trace)->ti)TraceSetUnion(ts1,ts2) BS_UNION(ts1, ts2)TraceSetInter(ts1,ts2) BS_INTER(ts1, ts2)TraceSetDiff(ts1,ts2) BS_DIFF(ts1, ts2)TraceSetSuper(ts1,ts2) BS_SUPER(ts1, ts2)TraceSetSub(ts1,ts2) BS_SUB(ts1, ts2)TraceSetComp(ts) BS_COMP(ts)TRACE_SET_ITER(ti,trace,ts,arena) for(ti = 0, trace = ArenaTrace(arena, ti); ti < TraceLIMIT; ++ti, trace = ArenaTrace(arena, ti)) BEGIN if (TraceSetIsMember(ts, trace)) {TRACE_SET_ITER_END(ti,trace,ts,arena) } ENDTRACE_SCAN_BEGIN(ss) BEGIN Shift SCANzoneShift = (ss)->zoneShift; ZoneSet SCANwhite = (ss)->white; RefSet SCANsummary = (ss)->unfixedSummary; Word SCANt; {TRACE_FIX1(ss,ref) (SCANt = (Word)1 << ((Word)(ref) >> SCANzoneShift & (MPS_WORD_WIDTH-1)), SCANsummary |= SCANt, SCANwhite & SCANt)TRACE_FIX2(ss,refIO) ((*(ss)->fix)(ss, refIO))TRACE_FIX(ss,refIO) (TRACE_FIX1(ss, *(refIO)) ? TRACE_FIX2(ss, refIO) : ResOK)TRACE_SCAN_END(ss) } (ss)->unfixedSummary = SCANsummary; ENDDEFINE_ARENA_CLASS(className,var) DEFINE_ALIAS_CLASS(className, ArenaClass, var)ARENA_SUPERCLASS(className) ((ArenaClass)SUPERCLASS(className))ArenaGlobals(arena) (&(arena)->globals)GlobalsArena(glob) PARENT(ArenaStruct, globals, glob)ArenaRootRing(arena) (&(arena)->rootRing)ArenaTraceRing(arena) (&(arena)->traceRing)ArenaThreadRing(arena) (&(arena)->threadRing)ArenaEpoch(arena) ((arena)->epoch)ArenaTrace(arena,ti) (&(arena)->trace[ti])ArenaZoneShift(arena) ((arena)->zoneShift)ArenaAlign(arena) ((arena)->alignment)ArenaGreyRing(arena,rank) (&(arena)->greyRing[rank])ArenaReservoir(arena) (&(arena)->reservoirStruct)DEFINE_SEG_CLASS(className,var) DEFINE_ALIAS_CLASS(className, SegClass, var)SEG_SUPERCLASS(className) ((SegClass)SUPERCLASS(className))ClassOfSeg(seg) ((seg)->class)SegBase(seg) (TractBase((seg)->firstTract))SegLimit(seg) ((seg)->limit)SegPool(seg) (TractPool((seg)->firstTract))SegRankSet(seg) ((RankSet)(seg)->rankSet)SegPM(seg) ((AccessSet)(seg)->pm)SegSM(seg) ((AccessSet)(seg)->sm)SegDepth(seg) ((unsigned)(seg)->depth)SegGrey(seg) ((TraceSet)(seg)->grey)SegWhite(seg) ((TraceSet)(seg)->white)SegNailed(seg) ((TraceSet)(seg)->nailed)SegOfPoolRing(node) (RING_ELT(Seg, poolRing, (node)))SegOfGreyRing(node) (&(RING_ELT(GCSeg, greyRing, (node)) ->segStruct))SegSummary(seg) (((GCSeg)(seg))->summary)SegSetPM(seg,mode) ((void)((seg)->pm = (mode)))SegSetSM(seg,mode) ((void)((seg)->sm = (mode)))SegSetDepth(seg,d) ((void)((seg)->depth = (d)))SegSetNailed(seg,ts) ((void)((seg)->nailed = (ts)))BUFFER_RESERVE(pReturn,buffer,size,withReservoirPermit) (AddrAdd(BufferAlloc(buffer), size) > BufferAlloc(buffer) && AddrAdd(BufferAlloc(buffer), size) <= BufferAP(buffer)->limit ? (*(pReturn) = BufferAlloc(buffer), BufferAP(buffer)->alloc = AddrAdd(BufferAlloc(buffer), size), ResOK) : BufferFill(pReturn, buffer, size, withReservoirPermit))BUFFER_COMMIT(buffer,p,size) (BufferAP(buffer)->init = BufferAlloc(buffer), BufferAP(buffer)->limit != 0 || BufferTrip(buffer, p, size))BufferAP(buffer) (&(buffer)->apStruct)BufferOfAP(ap) PARENT(BufferStruct, apStruct, ap)BufferArena(buffer) ((buffer)->arena)BufferPool(buffer) ((buffer)->pool)BufferBase(buffer) ((buffer)->base)BufferGetInit(buffer) (BufferAP(buffer)->init)BufferAlloc(buffer) (BufferAP(buffer)->alloc)BufferLimit(buffer) ((buffer)->poolLimit)DEFINE_BUFFER_CLASS(className,var) DEFINE_ALIAS_CLASS(className, BufferClass, var)BUFFER_SUPERCLASS(className) ((BufferClass)SUPERCLASS(className))RankSetIsMember(rs,r) BS_IS_MEMBER((rs), (r))RankSetSingle(r) BS_SINGLE(RankSet, (r))RankSetIsSingle(r) BS_IS_SINGLE(r)RankSetUnion(rs1,rs2) BS_UNION((rs1), (rs2))RankSetDel(rs,r) BS_DEL(RankSet, (rs), (r))AddrZone(arena,addr) (((Word)(addr) >> (arena)->zoneShift) & (MPS_WORD_WIDTH - 1))RefSetUnion(rs1,rs2) BS_UNION((rs1), (rs2))RefSetInter(rs1,rs2) BS_INTER((rs1), (rs2))RefSetDiff(rs1,rs2) BS_DIFF((rs1), (rs2))RefSetAdd(arena,rs,addr) BS_ADD(RefSet, rs, AddrZone(arena, addr))RefSetIsMember(arena,rs,addr) BS_IS_MEMBER(rs, AddrZone(arena, addr))RefSetSuper(rs1,rs2) BS_SUPER((rs1), (rs2))RefSetSub(rs1,rs2) BS_SUB((rs1), (rs2))ZoneSetUnion(zs1,zs2) BS_UNION(zs1, zs2)ZoneSetInter(zs1,zs2) BS_INTER(zs1, zs2)ZoneSetDiff(zs1,zs2) BS_DIFF(zs1, zs2)ZoneSetAdd(arena,zs,addr) BS_ADD(ZoneSet, zs, AddrZone(arena, addr))ZoneSetIsMember(arena,zs,addr) BS_IS_MEMBER(zs, AddrZone(arena, addr))ZoneSetSub(zs1,zs2) BS_SUB(zs1, zs2)ZoneSetSuper(zs1,zs2) BS_SUPER(zs1, zs2)ZoneSetComp(zs) BS_COMP(zs)STATISTIC(gather) BEGIN (gather); ENDSTATISTIC_STAT(gather) BEGIN gather; ENDSTATISTIC_WRITE(format,arg) (format), (arg),dbgpooli.cJan 17 200703:39:25$Id: //info.ravenbrook.com/project/mps/master/code/dbgpooli.c#4 $ | +AB BJ.,+AB BJ.\%M%mps_pool_check_fenceposts%mps_pool_check_free_space%dbgpooliSrcIdWallocTablefenceSizePoolClassPoolDescribeMethodpageTableLimitSplayUpdateNodeMethodpageSizeFormatPadMethodrankrootSerialchunkRingArenaAllocMethodreservoirSizeactiveTracesformatLockPoolBufferClassMethodSplayNodeStructTraceFixMethodsuperclassshDepthunitsPerExtentPagefillMutatorSizepoolSerialfreeTemplateBoolArenaFreeMethodSegStructunsigned intGNU C 3.4.6 [FreeBSD] 20060305BufferRankSetMethodrootCopiedSizeextendArenaChunkFinishMethodfillInternalSizeindexBufferReassignSegMethodisCollectedpoolReadyscmidforwardedSizeforwardedCountArenaSpareCommitExceededMethodProtocolClasssetWhitegreyRingshort intAlignArenaDescribeMethodprotocoldescribefillSizesegScanCountPoolmodePoolDebugMixinStructrememberedSummaryRingprevcommittedfenceTemplatehasSegEpochsetBufferapStructemptyMutatorSizeGenDescStructPoolFramePushMethodPoolFinishMethodbusyTracesmergelwPopPendingchunkupdateNodespanssegCopiedSizeallocBasesuspendedArenaStructenabledMessageTypesmpsVersionStringfinalPoolSizeframePopwasMarkedlabelledGlobalsStructreservoirStructChainStructbaseAccessSetframeptrhistorySegSetRankSummaryMethodFileSrcIdStructlong long unsigned intfilemps_pool_smps_pool_tvarietychunkFinishtracetractListattrgenCountSegClassStructrateMFSStructFreeBlockStepMethodPoolClassStructglobalsprimaryArenaChunkInitMethodnamelimitBufferFinishMethodFormatVarietyPoolWalkMethodPoolFreeMethodmortalitynotCondemnedtagInitproflowmessageRingsize_tmoveAPStructTractStructrampEndmayMoveBootBlockpoolLimitChunkreassignSegclampedPoolReclaimMethodunroundedUnitSizeshCachereclaimCountfreePoolFixMethodSegPrefWordmps_lib_stream_sFormatStructcommitLimitpreservedInPlaceCountfreewalkframePushFormattedObjectsStepMethodSegClassgensTraceStateCountPageStructisMovedsetRankSummarySegDescribeMethodbufferClassPoolDebugMixinsegRinginsidePollunitSizereclaimAddrreservoirLimitcharscannedSizeserialreserveBufferStructspanPoolStructFormatScanMethodchunkSerialSegFinishMethodMFSHeaderStructSerialLockStructsplitFormatClassMethodArenaspacehighBufferDescribeMethodBufferModefixRefCounttypeArenaInitMethodlockrampCountPoolFixEmergencyMethodzoneShiftpagesisGennailedrightchaindbgpooli.cva_listChainlong long intMVStructpageTablePagestracedTimeunfixedSummaryZoneSetTractBufferSegMethoddepthPoolRampEndMethodlocusRingfixEmergencyTracegreylastWorldCollectPoolDebugMixinMethodpageShifttagPoolstateChunkCacheEntryStructBufferClassStructArenaClassStructrememberedSummaryIndexgreySegCountisMutatorArenaFinishMethodfixedSummarylastTractwhiteSegRefCountframePopPendingscansingleCopiedSizeSegSetBufferMethodProtocolInstStructAddrStructrampBeginSplayTreebufferPoolRampBeginMethodsizecompareProtocolInstshCacheIBufferSetRankSetMethodinitAtFlipPoolStructpoolRingdetachspareCommitLimittopGenPoolWhitenMethodSegSetSummaryMethodPoolInitMethodArenaClassTraceIdskipaccesschainRingPoolGreyMethodwhitemissingTagsMutatorFaultContextsetRankSetemptyInternalSizeSrcIdarenaRingsegRefCountavgSizecopyFormatPoolScanMethodFormatCopyMethodarenalostcapacitywhitenScanStatetractStructcondemnedrootbufferRingChunkStructflippedTracesrootScanCountenabledrootScanSizepointlessScanCountallocRankshCacheLimitBufferInitMethodlong intsetSummaryBufferDetachMethodpreservedInPlaceSizeextendByfreeSizeTraceSetnextSegBufferMethodbuild_timeoffsetthreadRingmps_pool_check_free_spaceProtocolCoerceInstMethodrootRingCompareemergencyPoolBlackenMethodpoolStruct__size_tFormatSkipMethodSegInitMethodTagInitMethodleftsegScanSizecopiedSizeSplayTreeStructArenaExtendMethodScanStateStructSegSetWhiteMethodpageTableBaseprehistorylastTractBasethreadSerialfreeListtracedSize__va_listPoolAllocMethodrankSetlong unsigned intPoolFramePopPendingMethodSrcIdStructBootBlockStructwriteBarrierHitCountMutatorFaultContextStructdbgpooliSrcIdallocMutatorSizeinitAttrbufferLoggingProtocolClassStructclassbufferFillIndexspareCommitExceededFormatIsMovedMethodmaxSizeSplayCompareMethodchunkInitPoolAccessMethodsnapCountArenaReservedMethodattachnailCounttagSizeunsigned char__uint32_tspareCommittedinsideShieldRingSegSplitMethodsingleScanSizeblockPoolStructRefSetAllocFrameStructPoolFramePopMethodfoundationBufferClassformatSerialmps_pool_check_fencepostspollThresholdAllocFrameFormatMoveMethodcoerceClassReservoirStructbuild_datewalkBufferreadBarrierHitCountpageTableheaderSizecoerceInstdebugMixinchunkCachesigned charSegMergeMethodSegPrefStructmps_lib_FILEPoolBufferFillMethodreclaimSizebufferSerialshort unsigned intzonesRingStructPoolFreeWalkMethodbufferEmptyProtocolCoerceClassMethodreservedRankSetisFinalPooldoublesingleScanCountfirstTractalignmentPoolBufferEmptyMethodBufferAttachMethodrestSegSetRankSetMethodShiftemptySizesetGreycontrolPoolStruct/home/hannes/dylan/mps/codeTraceStructSplayNodegreySegMaxglobalRingformatRingfinishmps_poolSegSetGreyMethodpoolepochblackentracesGCC: (GNU) 3.4.6 [FreeBSD] 20060305.symtab.strtab.shstrtab.rel.text.rel.data.bss.debug_abbrev.rel.debug_info.rel.debug_line.debug_macinfo.rodata.str1.1.rodata.str1.4.rel.rodata.rel.debug_frame.rel.debug_pubnames.rel.debug_aranges.debug_str.comment4W 0)% /4FL%B V7(R  b*͏q2 2BL \T `   00'W%| ,     *+DOdo,+dbgpooli.cFileSrcIdStructdbgpooliSrcIdmps_pool_check_fencepostsArenaEnterDebugPoolCheckFencesArenaLeavemps_pool_check_free_spaceDebugPoolCheckFreeSpace <DL  !%*18?MX_fmt{(39Zev| #.9Tek-<KZiy,;Ziq%4CRap (6DR`n &4BP^lz"0>LZhv  ) 8 G V e t            ( 7 F U d s           : I X g v            + @ V d r           0 > L Z h v         !0@U,>Qfn|$2Od{ />M\kz 0@P`p 0@P`p 0@P`p '6ETcr-;IWesGd#IfUr +Ms6Ab0`"Mt >`;Rx   ? J _ g u         )!4!V!g!m!!!!!!!!!!""'"="K"Y"h"}""""##)#7#E#S#a#p########## $$$$-$;$I$X$g$v$$$$$$$$$%S%Z%^%e%r%}%%%%%%%%% %%     8 <boot.o/ 1169001565 1001 1001 100644 35200 ` ELF ؀4(UÉUEU PPUP +QÉUE@ @@[QÐUUB+BÉUM EQJ!9Q v9Qv,E9Qw 9v9A s AEvC% $ > $ > : ; I I&I : ;  : ; I8 : ; I  : ; I8 .? : ; ' I@ : ; I .? : ; ' @ 4: ; I 4: ; I?  b7intp 8Wq$ _L7zE" F"$ #1% #{& #' #  Sigl ResE ;9?R; sig#\,#,#A,# R?   U . 1! .U 0P \0,R A0,R'6E0SU D.P PRTbU Q.R b!dU aP a.Q a aPGc,RQc,P,an /usr/include/usr/include/sys/usr/include/machineboot.hmpmtypes.hconfig.hmpstd.hmisc.hstddef.hcdefs.h_null.h_types.h_types.hmpslib.hstdarg.hmpm.hcheck.hevent.heventcom.heventgen.hlock.hth.hring.hss.htract.hbt.hmpmst.hprotocol.hchain.hboot.c 9 ::dgfHdAfd G sY:V__STDC_HOSTED__ 1__GNUC__ 3__GNUC_MINOR__ 4__GNUC_PATCHLEVEL__ 6__SIZE_TYPE__ unsigned int__PTRDIFF_TYPE__ int__WCHAR_TYPE__ int__WINT_TYPE__ unsigned int __GXX_ABI_VERSION 1002 __SCHAR_MAX__ 127 __SHRT_MAX__ 32767 __INT_MAX__ 2147483647 __LONG_MAX__ 2147483647L__LONG_LONG_MAX__ 9223372036854775807LL__WCHAR_MAX__ 2147483647__CHAR_BIT__ 8__FLT_EVAL_METHOD__ 2__FLT_RADIX__ 2__FLT_MANT_DIG__ 24__FLT_DIG__ 6__FLT_MIN_EXP__ (-125)__FLT_MIN_10_EXP__ (-37)__FLT_MAX_EXP__ 128__FLT_MAX_10_EXP__ 38__FLT_MAX__ 3.40282347e+38F__FLT_MIN__ 1.17549435e-38F__FLT_EPSILON__ 1.19209290e-7F__FLT_DENORM_MIN__ 1.40129846e-45F__FLT_HAS_INFINITY__ 1__FLT_HAS_QUIET_NAN__ 1__DBL_MANT_DIG__ 53 __DBL_DIG__ 15!__DBL_MIN_EXP__ (-1021)"__DBL_MIN_10_EXP__ (-307)#__DBL_MAX_EXP__ 1024$__DBL_MAX_10_EXP__ 308%__DBL_MAX__ 1.7976931348623157e+308&__DBL_MIN__ 2.2250738585072014e-308'__DBL_EPSILON__ 2.2204460492503131e-16(__DBL_DENORM_MIN__ 4.9406564584124654e-324)__DBL_HAS_INFINITY__ 1*__DBL_HAS_QUIET_NAN__ 1+__LDBL_MANT_DIG__ 53,__LDBL_DIG__ 15-__LDBL_MIN_EXP__ (-16381).__LDBL_MIN_10_EXP__ (-4931)/__LDBL_MAX_EXP__ 163840__LDBL_MAX_10_EXP__ 49321__DECIMAL_DIG__ 172__LDBL_MAX__ 1.1897314953572316e+4932L3__LDBL_MIN__ 3.3621031431120935e-4932L4__LDBL_EPSILON__ 2.2204460492503131e-16L5__LDBL_DENORM_MIN__ 7.4653686412953080e-4948L6__LDBL_HAS_INFINITY__ 17__LDBL_HAS_QUIET_NAN__ 18__REGISTER_PREFIX__ 9__USER_LABEL_PREFIX__ :__VERSION__ "3.4.6 [FreeBSD] 20060305";__OPTIMIZE__ 1<__FINITE_MATH_ONLY__ 0=__STRICT_ANSI__ 1@__i386 1A__i386__ 1B__tune_i386__ 1C__FreeBSD__ 6D__unix 1E__unix__ 1F__KPRINTF_ATTRIBUTE__ 1J__FreeBSD_cc_version 602001K__ELF__ 1_REENTRANT 1CONFIG_PROD_DYLAN 1CONFIG_VAR_HI 1NDEBUG 1 boot_h  mpmtypes_h config_h !CONFIG_DEBUG "CHECK_DEFAULT CheckNONE6CHECK_NONE 7MPS_ASSERT_STRING "nonasserted"?EVENT_NONE @MPS_LOG_STRING "nonlogging"EDIAGNOSTICS FMPS_DEBUG_STRING "debug"LMPS_VARIETY_STRING MPS_ASSERT_STRING "." MPS_LOG_STRING "." MPS_DEBUG_STRINGRmpstd_h MPS_PF_FRI4GC MPS_PF_STRING "fri4gc"MPS_OS_FR MPS_ARCH_I4 MPS_BUILD_GC MPS_T_WORD unsigned longMPS_WORD_WIDTH 32MPS_WORD_SHIFT 5MPS_PF_ALIGN 4EPVMDefaultSubsequentSegSIZE (64ul * 1024)ARENA_CONTROL_EXTENDBY ((Size)4096)ARENA_CONTROL_AVGSIZE ((Size)32)ARENA_CONTROL_MAXSIZE ((Size)65536)ArenaPollALLOCTIME (65536.0)ARENA_ZONESHIFT ((Shift)20)ARENA_CLIENT_PAGE_SIZE ((Size)8192)ArenaDefaultZONESET (ZoneSetUNIV << (MPS_WORD_WIDTH / 2))SegPrefDEFAULT { SegPrefSig, TRUE, ArenaDefaultZONESET, FALSE, FALSE, (Serial)0, }LDHistoryLENGTH ((Size)4)StackProbeDEPTH ((Size)0)ShieldCacheSIZE ((size_t)16)ShieldDepthWIDTH (4)VMANPageALIGNMENT ((Align)4096)VMJunkBYTE ((unsigned char)0xA9)TraceLIMIT ((size_t)1)TraceCopyScanRATIO (1.5)RememberedSummaryBLOCK 15EventBufferSIZE ((size_t)4096)EventStringLengthMAX ((size_t)255)ASSERT_BUFFER_SIZE ((Size)512)MPS_PROD_STRING "dylan"MPS_PROD_DYLAN ARENA_INIT_SPARE_COMMIT_LIMIT ((Size)10uL*1024uL*1024uL)THREAD_MULTI PROTECTION DONGLE_NONE PROD_CHECK_DEFAULT CheckSHALLOWARENA_SIZE ((Size)1<<30)misc_h '_STDDEF_H_ )%_SYS_CDEFS_H_ +__BEGIN_DECLS ,__END_DECLS 8__GNUCLIKE_ASM 39__GNUCLIKE_MATH_BUILTIN_CONSTANTS =__GNUCLIKE___TYPEOF 1>__GNUCLIKE___OFFSETOF 1?__GNUCLIKE___SECTION 1A__GNUCLIKE_ATTRIBUTE_MODE_DI 1D__GNUCLIKE_CTOR_SECTION_HANDLING 1G__GNUCLIKE_BUILTIN_CONSTANT_P 1N__GNUCLIKE_BUILTIN_VARARGS 1O__GNUCLIKE_BUILTIN_STDARG 1P__GNUCLIKE_BUILTIN_VAALIST 1T__GNUC_VA_LIST_COMPATIBILITY 1X__GNUCLIKE_BUILTIN_NEXT_ARG 1Y__GNUCLIKE_MATH_BUILTIN_RELOPS \__GNUCLIKE_BUILTIN_MEMCPY 1___CC_SUPPORTS_INLINE 1`__CC_SUPPORTS___INLINE 1a__CC_SUPPORTS___INLINE__ 1c__CC_SUPPORTS___FUNC__ 1d__CC_SUPPORTS_WARNING 1f__CC_SUPPORTS_VARADIC_XXX 1h__CC_SUPPORTS_DYNAMIC_ARRAY_INIT 1k__CC_INT_IS_32BIT 1s__GNUC_PREREQ__(ma,mi) (__GNUC__ > (ma) || __GNUC__ == (ma) && __GNUC_MINOR__ >= (mi))__P(protos) protos__CONCAT1(x,y) x ## y__CONCAT(x,y) __CONCAT1(x,y)__STRING(x) #x__XSTRING(x) __STRING(x)__const const__signed signed__volatile volatile__dead2 __attribute__((__noreturn__))__pure2 __attribute__((__const__))__unused __attribute__((__unused__))__used __attribute__((__used__))__packed __attribute__((__packed__))__aligned(x) __attribute__((__aligned__(x)))__section(x) __attribute__((__section__(x)))__pure __attribute__((__pure__))__always_inline __attribute__((__always_inline__))__nonnull(x) __attribute__((__nonnull__(x)))__restrict __predict_true(exp) __builtin_expect((exp), 1)__predict_false(exp) __builtin_expect((exp), 0)__offsetof(type,field) ((size_t)(&((type *)0)->field))__rangeof(type,start,end) (__offsetof(type, end) - __offsetof(type, start))__printflike(fmtarg,firstvararg) __attribute__((__format__ (__printf__, fmtarg, firstvararg)))__scanflike(fmtarg,firstvararg) __attribute__((__format__ (__scanf__, fmtarg, firstvararg)))__format_arg(fmtarg) __attribute__((__format_arg__ (fmtarg)))__printf0like(fmtarg,firstvararg) __attribute__((__format__ (__printf0__, fmtarg, firstvararg)))__strong_reference(sym,aliassym) extern __typeof (sym) aliassym __attribute__ ((__alias__ (#sym)));__weak_reference(sym,alias) __asm__(".weak " #alias); __asm__(".equ " #alias ", " #sym)__warn_references(sym,msg) __asm__(".section .gnu.warning." #sym); __asm__(".asciz \"" msg "\""); __asm__(".previous")__IDSTRING(name,string) __asm__(".ident\t\"" string "\"")__FBSDID(s) __IDSTRING(__CONCAT(__rcsid_,__LINE__),s)__RCSID(s) __IDSTRING(__CONCAT(__rcsid_,__LINE__),s)__RCSID_SOURCE(s) __IDSTRING(__CONCAT(__rcsid_source_,__LINE__),s)__SCCSID(s) __IDSTRING(__CONCAT(__sccsid_,__LINE__),s)__COPYRIGHT(s) __IDSTRING(__CONCAT(__copyright_,__LINE__),s)__DECONST(type,var) ((type)(uintptr_t)(const void *)(var))__DEVOLATILE(type,var) ((type)(uintptr_t)(volatile void *)(var))__DEQUALIFY(type,var) ((type)(uintptr_t)(const volatile void *)(var))__POSIX_VISIBLE 200112__XSI_VISIBLE 600__BSD_VISIBLE 1__ISO_C_VISIBLE 1999* NULL ((void *)0)+ _SYS__TYPES_H_ ! (_MACHINE__TYPES_H_ .__NO_STRICT_ALIGNMENT __GNUC_VA_LIST 2_RUNE_T_DECLARED 8_SIZE_T_DECLARED >_WCHAR_T_DECLARED Boffsetof(type,member) __offsetof(type, member)*SRCID(id,scmid) static SrcIdStruct FileSrcIdStruct = {__FILE__, (scmid), __DATE__, __TIME__}; SrcId id ## SrcId = &FileSrcIdStruct;BEGIN do {> (i)) & 1)BS_UNION(s1,s2) ((s1) | (s2))BS_ADD(ty,s,i) BS_UNION((s), BS_SINGLE(ty, (i)))BS_INTER(s1,s2) ((s1) & (s2))BS_DIFF(s1,s2) BS_INTER((s1), BS_COMP(s2))BS_DEL(ty,s,i) BS_DIFF((s), BS_SINGLE(ty, (i)))BS_SUPER(s1,s2) (BS_INTER((s1), (s2)) == (s2))BS_SUB(s1,s2) BS_SUPER((s2), (s1))BS_IS_SINGLE(s) (((s) & ((s)-1)) == 0)BS_SYM_DIFF(s1,s2) ((s1) ^ (s2)) mpslib_h mps_lib_EOF (mps_lib_get_EOF())mps_lib_stderr (mps_lib_get_stderr())mps_lib_stdout (mps_lib_get_stdout()) '_MACHINE_STDARG_H_ -_VA_LIST_DECLARED 3va_start(ap,last) __builtin_stdarg_start((ap), (last))6va_arg(ap,type) __builtin_va_arg((ap), type):va_copy(dest,src) __builtin_va_copy((dest), (src))>va_end(ap) __builtin_va_end(ap)SigInvalid ((Sig)0x51915BAD)SizeMAX ((Size)-1)AccessSetEMPTY ((AccessSet)0)AccessREAD ((AccessSet)(1<<0))AccessWRITE ((AccessSet)(1<<1))AccessSetWIDTH (2)RefSetEMPTY BS_EMPTY(RefSet)RefSetUNIV BS_UNIV(RefSet)ZoneSetEMPTY BS_EMPTY(ZoneSet)ZoneSetUNIV BS_UNIV(ZoneSet)TraceSetEMPTY BS_EMPTY(TraceSet)TraceSetUNIV ((TraceSet)((1u << TraceLIMIT) - 1))RankSetEMPTY BS_EMPTY(RankSet)RankSetUNIV ((RankSet)((1u << RankLIMIT) - 1))AttrFMT ((Attr)(1<<0))AttrSCAN ((Attr)(1<<1))AttrPM_NO_READ ((Attr)(1<<2))AttrPM_NO_WRITE ((Attr)(1<<3))AttrALLOC ((Attr)(1<<4))AttrFREE ((Attr)(1<<5))AttrBUF ((Attr)(1<<6))AttrBUF_RESERVE ((Attr)(1<<7))AttrBUF_ALLOC ((Attr)(1<<8))AttrGC ((Attr)(1<<9))AttrINCR_RB ((Attr)(1<<10))AttrINCR_WB ((Attr)(1<<11))AttrMOVINGGC ((Attr)(1<<12))AttrMASK (AttrFMT | AttrSCAN | AttrPM_NO_READ | AttrPM_NO_WRITE | AttrALLOC | AttrFREE | AttrBUF | AttrBUF_RESERVE | AttrBUF_ALLOC | AttrGC | AttrINCR_RB | AttrINCR_WB | AttrMOVINGGC)BufferModeATTACHED ((BufferMode)(1<<0))BufferModeFLIPPED ((BufferMode)(1<<1))BufferModeLOGGED ((BufferMode)(1<<2))BufferModeTRANSITION ((BufferMode)(1<<3))RootModeCONSTANT ((RootMode)1<<0)RootModePROTECTABLE ((RootMode)1<<1)RootModePROTECTABLE_INNER ((RootMode)1<<2)STATISTIC_DECL(field) field  mpm_h check_h 0AVER(cond) DISCARD(cond)1AVERT(type,val) DISCARD(type ## Check(val))2AVER_CRITICAL(cond) DISCARD(cond)3AVERT_CRITICAL(type,val) DISCARD(type ## Check(val))MASSERT(cond,condstring) BEGIN if (cond) NOOP; else mps_lib_assert_fail(condstring "\n" __FILE__ "\n" STR(__LINE__)); END_NOTREACHED NOOPjCHECKT(type,val) ((val) != NULL && (val)->sig == type ## Sig)pCHECKS(type,val) DISCARD(CHECKT(type, val))qCHECKL(cond) DISCARD(cond)rCHECKD(type,val) DISCARD(CHECKT(type, val))sCHECKD_NOSIG(type,val) DISCARD((val) != NULL)tCHECKU(type,val) DISCARD(CHECKT(type, val))uCHECKU_NOSIG(type,val) DISCARD((val) != NULL)CHECKLVALUE(lv1,lv2) ((void)sizeof((lv1) = (lv2)), (void)sizeof((lv2) = (lv1)), TRUE)CHECKTYPE(t1,t2) (sizeof(t1) == sizeof(t2) && CHECKLVALUE(*((t1 *)0), *((t2 *)0)))CHECKFIELDAPPROX(s1,f1,s2,f2) (sizeof(((s1 *)0)->f1) == sizeof(((s2 *)0)->f2) && offsetof(s1, f1) == offsetof(s2, f2))CHECKFIELD(s1,f1,s2,f2) (CHECKFIELDAPPROX(s1, f1, s2, f2) && CHECKLVALUE(((s1 *)0)->f1, ((s2 *)0)->f2))event_h  eventcom_h !EventNameMAX ((size_t)19)"EventCodeMAX ((EventCode)0x0069)&EVENT_0(type) NOOPEVENT_A(type,p0) NOOPEVENT_AW(type,p0,p1) NOOPEVENT_P(type,p0) NOOPEVENT_PAA(type,p0,p1,p2) NOOPEVENT_PAW(type,p0,p1,p2) NOOPEVENT_PAWA(type,p0,p1,p2,p3) NOOPEVENT_PDDWWW(type,p0,p1,p2,p3,p4,p5) NOOPEVENT_PP(type,p0,p1) NOOPEVENT_PPAU(type,p0,p1,p2,p3) NOOPEVENT_PPAWP(type,p0,p1,p2,p3,p4) NOOPEVENT_PPP(type,p0,p1,p2) NOOPEVENT_PPPA(type,p0,p1,p2,p3) NOOPEVENT_PPPU(type,p0,p1,p2,p3) NOOPEVENT_PPPUU(type,p0,p1,p2,p3,p4) NOOPEVENT_PPU(type,p0,p1,p2) NOOPEVENT_PPUU(type,p0,p1,p2,p3) NOOPEVENT_PPUWWW(type,p0,p1,p2,p3,p4,p5) NOOPEVENT_PPWW(type,p0,p1,p2,p3) NOOPEVENT_PPWWW(type,p0,p1,p2,p3,p4) NOOPEVENT_PPWWWUUU(type,p0,p1,p2,p3,p4,p5,p6,p7) NOOPEVENT_PU(type,p0,p1) NOOPEVENT_PW(type,p0,p1) NOOPEVENT_PWA(type,p0,p1,p2) NOOPEVENT_PWAW(type,p0,p1,p2,p3) NOOPEVENT_PWP(type,p0,p1,p2) NOOPEVENT_PWU(type,p0,p1,p2) NOOPEVENT_PWW(type,p0,p1,p2) NOOPEVENT_PWWWWDD(type,p0,p1,p2,p3,p4,p5,p6) NOOPEVENT_PWWWWW(type,p0,p1,p2,p3,p4,p5) NOOPEVENT_PWWWWWWWWW(type,p0,p1,p2,p3,p4,p5,p6,p7,p8,p9) NOOPEVENT_PWWWWWWWWWWWW(type,p0,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11,p12) NOOPEVENT_UUPA(type,p0,p1,p2,p3) NOOPEVENT_UUPP(type,p0,p1,p2,p3) NOOPEVENT_UUPPP(type,p0,p1,p2,p3,p4) NOOPEVENT_WS(type,p0,p1,l1) NOOP:EventEventTime ((EventType)0xEF213E99);EventPoolInit ((EventType)0xEFB07141)EventPoolFree ((EventType)0xEFB07F6E)?EventArenaCreateVM ((EventType)0xEFA64CF3)@EventArenaCreateVMNZ ((EventType)0xEFA64CF2)AEventArenaCreateCL ((EventType)0xEFA64CC7)BEventArenaDestroy ((EventType)0xEFA64DE5)CEventArenaAlloc ((EventType)0xEFA64A77)DEventArenaFree ((EventType)0xEFA64F6E)EEventSegAlloc ((EventType)0xEF5E9A77)FEventSegFree ((EventType)0xEF5E9F6E)GEventSegMerge ((EventType)0xEF5E93E6)HEventSegSplit ((EventType)0xEF5E95B7)IEventAMCGenCreate ((EventType)0xEFA3C94C)JEventAMCGenDestroy ((EventType)0xEFA3C94D)KEventAMCInit ((EventType)0xEFA3C141)LEventAMCFinish ((EventType)0xEFA3CF14)MEventAMCTraceBegin ((EventType)0xEFA3C26B)NEventAMCScanBegin ((EventType)0xEFA3C5CB)OEventAMCScanEnd ((EventType)0xEFA3C5CE)PEventAMCFix ((EventType)0xEFA3CF18)QEventAMCFixInPlace ((EventType)0xEFA3CF8A)REventAMCFixForward ((EventType)0xEFA3CF8F)SEventAMCReclaim ((EventType)0xEFA3C6EC)TEventTraceStart ((EventType)0xEF26AC52)UEventTraceCreate ((EventType)0xEF26ACC6)VEventTraceDestroy ((EventType)0xEF26ACDE)WEventSegSetGrey ((EventType)0xEF59596A)XEventTraceFlipBegin ((EventType)0xEF26AF7B)YEventTraceFlipEnd ((EventType)0xEF26AF7E)ZEventTraceReclaim ((EventType)0xEF26A6EC)[EventTraceScanSeg ((EventType)0xEF26A559)\EventTraceScanSingleRef ((EventType)0xEF26A556)^EventTraceAccess ((EventType)0xEF26AACC)_EventTracePoll ((EventType)0xEF26AB01)`EventTraceStep ((EventType)0xEF26A52B)aEventTraceFix ((EventType)0xEF26AF18)bEventTraceFixSeg ((EventType)0xEF26AF85)cEventTraceFixWhite ((EventType)0xEF26AF83)dEventTraceScanArea ((EventType)0xEF26A5CA)eEventTraceScanAreaTagged ((EventType)0xEF26A5C2)fEventVMCreate ((EventType)0xEFF3C6EA)gEventVMDestroy ((EventType)0xEFF3DE52)hEventVMMap ((EventType)0xEFF33AB9)iEventVMUnmap ((EventType)0xEFF3043B)jEventIntern ((EventType)0xEF142E64)kEventArenaExtend ((EventType)0xEFA64E82)lEventArenaRetract ((EventType)0xEFA646E2)mEventRootScan ((EventType)0xEF625CA4)nEventLabel ((EventType)0xEF7ABE79)oEventTraceSegGreyen ((EventType)0xEF26A599)pEventBufferReserve ((EventType)0xEFB0FF6E)qEventBufferCommit ((EventType)0xEFB0FFC0)rEventBufferInit ((EventType)0xEFB0FF14)sEventBufferInitSeg ((EventType)0xEFB0F15E)tEventBufferInitRank ((EventType)0xEFB0F16A)uEventBufferInitEPVM ((EventType)0xEFB0F1EF)vEventBufferFinish ((EventType)0xEFB0FFF1)wEventBufferFill ((EventType)0xEFB0FFF7)xEventBufferEmpty ((EventType)0xEFB0FFE3)yEventArenaAllocFail ((EventType)0xEFA64A7F)zEventSegAllocFail ((EventType)0xEF5E9A7F){EventMeterInit ((EventType)0xEF3E2141)|EventMeterValues ((EventType)0xEF3E2FA7)}EventCBSInit ((EventType)0xEFCB5141)~EventTraceStatCondemn ((EventType)0xEF26A5C0)EventTraceStatScan ((EventType)0xEF26A55C)EventTraceStatFix ((EventType)0xEF26A5F8)EventTraceStatReclaim ((EventType)0xEF26A56E)EventArenaWriteFaults ((EventType)0xEFA6436F)EventPoolInitMV ((EventType)0xEFB0713F)EventPoolInitMVFF ((EventType)0xEFB071FF)EventPoolInitMFS ((EventType)0xEFB07135)EventPoolInitEPVM ((EventType)0xEFB071EF)EventPoolInitEPDL ((EventType)0xEFB071E7)EventPoolInitAMS ((EventType)0xEFB071A5)EventPoolInitAMC ((EventType)0xEFB071AC)EventPoolInitAMCZ ((EventType)0xEFB071A2)EventPoolInitAWL ((EventType)0xEFB071A3)EventPoolInitLO ((EventType)0xEFB07170)EventPoolInitSNC ((EventType)0xEFB07154)EventPoolInitMVT ((EventType)0xEFB07132)EventPoolPush ((EventType)0xEFB07B58)EventPoolPop ((EventType)0xEFB07B0B)EventReservoirLimitSet ((EventType)0xEF6E5713)EventCommitLimitSet ((EventType)0xEFC03713)EventSpareCommitLimitSet ((EventType)0xEF5BC713) hEventInit() NOOPiEventFinish() NOOPjEventControl(r,f) (UNUSED(r), UNUSED(f), (Word)0)kEventInternString(s) (UNUSED(s), (Word)0)lEventInternGenString(l,s) (UNUSED(l), UNUSED(s), (Word)0)mEventLabelAddr(a,i) BEGIN UNUSED(a); UNUSED(i); ENDPlock_h ULockSig ((Sig)0x51970CC9) th_h  ring_h RingNONE ((Ring)0)$RingInit(ring) BEGIN Ring _ring = (ring); AVER(_ring != NULL); _ring->next = _ring; _ring->prev = _ring; AVER(RingCheck(_ring)); END/RingFinish(ring) BEGIN Ring _ring = (ring); AVER(RingCheckSingle(_ring)); _ring->next = RingNONE; _ring->prev = RingNONE; END9RingAppend(ring,new) BEGIN Ring _ring = (ring), _new = (new); AVER(RingCheck(_ring)); AVER(RingCheckSingle(_new)); _new->prev = _ring->prev; _new->next = _ring; _ring->prev->next = _new; _ring->prev = _new; ENDFRingInsert(ring,new) BEGIN Ring _ring = (ring), _new = (new); AVER(RingCheck(_ring)); AVER(RingCheckSingle(_new)); _new->prev = _ring; _new->next = _ring->next; _ring->next->prev = _new; _ring->next = _new; ENDSRingRemove(old) BEGIN Ring _old = (old); AVER(RingCheck(_old)); AVER(!RingIsSingle(_old)); _old->next->prev = _old->prev; _old->prev->next = _old->next; _old->next = _old; _old->prev = _old; END`RingNext(ring) ((ring)->next)dRingPrev(ring) ((ring)->prev)gRING_ELT(type,field,node) ((type)(void *)((char *)(node) - (size_t)(&((type)0)->field)))kRING_FOR(node,ring,next) for(node = RingNext(ring), next = RingNext(node); node != (ring); node = (next), next = RingNext(node))ThreadSig ((Sig)0x519286ED) ss_h  tract_h   bt_h BTSize(n) (((n) + MPS_WORD_WIDTH-1) / MPS_WORD_WIDTH * sizeof(Word))BTGet(a,i) ((Bool)(((a)[((i) >> MPS_WORD_SHIFT)] >> ((i) & ~((Word)-1 << MPS_WORD_SHIFT))) & (Word)1))BTSet(a,i) BEGIN (a)[((i)>>MPS_WORD_SHIFT)] |= (Word)1<<((i)&~((Word)-1<>MPS_WORD_SHIFT)] &= ~((Word)1 << ((i) & ~((Word)-1<base)&TractPool(tract) ((tract)->pool)'TractP(tract) ((tract)->p)(TractSetP(tract,pp) ((void)((tract)->p = (pp))))TractHasSeg(tract) ((Bool)(tract)->hasSeg)*TractSetHasSeg(tract,b) ((void)((tract)->hasSeg = (b)))+TractWhite(tract) ((tract)->white),TractSetWhite(tract,w) ((void)((tract)->white = (w)))8TRACT_SEG(segReturn,tract) (TractHasSeg(tract) && ((*(segReturn) = (Seg)TractP(tract)), TRUE));TRACT_SET_SEG(tract,seg) (TractSetHasSeg(tract, TRUE), TractSetP(tract, seg))>TRACT_UNSET_SEG(tract) (TractSetHasSeg(tract, FALSE), TractSetP(tract, NULL))nPageTract(page) (&(page)->the.tractStruct)rPageOfTract(tract) PARENT(PageStruct, the.tractStruct, (tract))vPagePool(page) ((page)->the.rest.pool)}PageIsAllocated(page) ((page)->the.rest.pool != NULL)PageType(page) ((page)->the.rest.type)ChunkSig ((Sig)0x519C804C)ChunkArena(chunk) ((chunk)->arena)ChunkPageSize(chunk) ((chunk)->pageSize)ChunkPageShift(chunk) ((chunk)->pageShift)ChunkPagesToSize(chunk,pages) ((Size)(pages) << (chunk)->pageShift)ChunkSizeToPages(chunk,size) ((Count)((size) >> (chunk)->pageShift))CHUNK_OF_ADDR(chunkReturn,arena,addr) (((arena)->chunkCache.base <= (addr) && (addr) < (arena)->chunkCache.limit) ? (*(chunkReturn) = (arena)->chunkCache.chunk, TRUE) : ChunkOfAddr(chunkReturn, arena, addr))AddrPageBase(chunk,addr) AddrAlignDown((addr), ChunkPageSize(chunk))TRACT_OF_ADDR(tractReturn,arena,addr) BEGIN Arena _arena = (arena); Addr _addr = (addr); Chunk _chunk; Index _i; if (CHUNK_OF_ADDR(&_chunk, _arena, _addr)) { _i = INDEX_OF_ADDR(_chunk, _addr); if (BTGet(_chunk->allocTable, _i)) *(tractReturn) = PageTract(&_chunk->pageTable[_i]); else *(tractReturn) = NULL; } else *(tractReturn) = NULL; ENDINDEX_OF_ADDR(chunk,addr) ((Index)ChunkSizeToPages(chunk, AddrOffset((chunk)->base, addr)))PageIndexBase(chunk,i) AddrAdd((chunk)->base, ChunkPagesToSize(chunk, i))TractAverContiguousRange(arena,rangeBase,rangeLimit) BEGIN Chunk _ch = NULL; UNUSED(_ch); AVER(ChunkOfAddr(&_ch, arena, rangeBase) && (rangeLimit) <= _ch->limit); ENDTRACT_TRACT_FOR(tract,addr,arena,firstTract,limit) tract = (firstTract); addr = TractBase(tract); TractAverContiguousRange(arena, addr, limit); for(; tract != NULL; (addr = AddrAdd(addr, (arena)->alignment)), (addr < (limit) ? (tract = PageTract(PageOfTract(tract) + 1)) : (tract = NULL) ))TRACT_FOR(tract,addr,arena,base,limit) TRACT_TRACT_FOR(tract, addr, arena, TractOfBaseAddr(arena, base), limit)mpmst_h protocol_h DERIVE_LOCAL(name) protocol ## nameDERIVE_STRUCT(name) name ## StructDERIVE_ENSURE(name) name ## GetDERIVE_ENSURE_OLD(name) Ensure ## nameDERIVE_ENSURE_INTERNAL(name) protocolGet ## nameDERIVE_GUARDIAN(name) protocol ## name ## GuardianDERIVE_STATIC_STORAGE(name) protocol ## name ## StructProtocolClassSetSuperclassPoly(class,super) (((ProtocolClass)(class))->superclass) = (ProtocolClass)(super)$DEFINE_CLASS(className,var) static Bool DERIVE_GUARDIAN(className) = FALSE; static DERIVE_STRUCT(className) DERIVE_STATIC_STORAGE(className); static void DERIVE_ENSURE_INTERNAL(className)(className); extern className DERIVE_ENSURE(className)(void); className DERIVE_ENSURE(className)(void) { if (DERIVE_GUARDIAN(className) == FALSE) { LockClaimGlobalRecursive(); if (DERIVE_GUARDIAN(className) == FALSE) { DERIVE_ENSURE_INTERNAL(className) (&DERIVE_STATIC_STORAGE(className)); DERIVE_GUARDIAN(className) = TRUE; } LockReleaseGlobalRecursive(); } return &DERIVE_STATIC_STORAGE(className); } extern className DERIVE_ENSURE_OLD(className)(void); className DERIVE_ENSURE_OLD(className)(void) { return DERIVE_ENSURE(className)(); } static void DERIVE_ENSURE_INTERNAL(className) (className var)AINHERIT_CLASS(this,parentName) BEGIN parentName DERIVE_LOCAL(parentName) = DERIVE_ENSURE(parentName)(); *this = *(DERIVE_LOCAL(parentName)); ProtocolClassSetSuperclassPoly(this, DERIVE_LOCAL(parentName)); ENDODEFINE_ALIAS_CLASS(className,typeName,var) typedef typeName className; typedef DERIVE_STRUCT(typeName) DERIVE_STRUCT(className); DEFINE_CLASS(className, var)VProtocolClassSig ((Sig)0x519B60C7)WProtocolInstSig ((Sig)0x519B6014)ProtocolClassSuperclassPoly(class) (((ProtocolClass)(class))->superclass)ClassOfPoly(inst) ((ProtocolInst)(inst)->class)IsSubclassPoly(sub,super) ProtocolIsSubclass((ProtocolClass)(sub), (ProtocolClass)(super))SUPERCLASS(className) ProtocolClassSuperclassPoly(DERIVE_ENSURE(className)())chain_h GenDescSig ((Sig)0x5199E4DE)+PoolGenSig ((Sig)0x519B009E);ChainSig ((Sig)0x519C8A14)XPoolGenNr(gen) ((gen)->nr)/PoolClassSig ((Sig)0x519C7A55)]PoolSig ((Sig)0x519B0019)}MFSSig ((Sig)0x5193F599)MVSig ((Sig)0x5193B999)ReservoirSig ((Sig)0x5196e599)MessageClassSig ((Sig)0x519359c1)MessageSig ((Sig)0x5193e559)SegClassSig ((Sig)0x5195E9C7)SegSig ((Sig)0x5195E999)GCSegSig ((Sig)0x5199C5E9)SegPrefSig ((Sig)0x5195E9B6)BufferClassSig ((Sig)0x519B0FC7)BufferSig ((Sig)0x519B0FFE)SegBufSig ((Sig)0x51959B0F)FormatSig ((Sig)0x519F63A2)ScanStateSig ((Sig)0x5195CA45)TraceSig ((Sig)0x51924ACE)ChunkCacheEntrySig ((Sig)0x519C80CE)ArenaClassSig ((Sig)0x519A6C1A)GlobalsSig ((Sig)0x519970BA)ArenaSig ((Sig)0x519A6E4A)%BoolCheck(b) ((unsigned)(b) <= 1)(FUNCHECK(f) (FunCheck((Fun)f))4WordIsAligned(w,a) (((w) & ((a) - 1)) == 0)7WordAlignUp(w,a) (((w) + (a) - 1) & ~((Word)(a) - 1));WordRoundUp(w,r) (((w)+(r)-1) - ((w)+(r)-1)%(r))>WordAlignDown(w,a) ((w) & ~((Word)(a) - 1))@size_tAlignUp(s,a) ((size_t)WordAlignUp((Word)(s), a))BPointerAdd(p,s) ((void *)((char *)(p) + (s)))CPointerSub(p,s) ((void *)((char *)(p) - (s)))EPointerOffset(base,limit) ((size_t)((char *)(limit) - (char *)(base)))HPointerAlignUp(p,s) ((void *)WordAlignUp((Word)(p), (Align)(s)))KAddrAdd(p,s) ((Addr)PointerAdd((void *)(p), s))LAddrSub(p,s) ((Addr)PointerSub((void *)(p), s))NAddrOffset(b,l) ((Size)(PointerOffset((void *)(b), (void *)(l))))RAddrAlignDown(p,a) ((Addr)WordAlignDown((Word)(p), a))TAlignWord(s) ((Word)(s))VAddrIsAligned(p,a) WordIsAligned((Word)(p), a)WAddrAlignUp(p,a) ((Addr)WordAlignUp((Word)(p), a))YSizeIsAligned(s,a) WordIsAligned((Word)(s), a)ZSizeAlignUp(s,a) ((Size)WordAlignUp((Word)(s), a))[SizeAlignDown(s,a) ((Size)WordAlignDown((Word)(s), a))]SizeRoundUp(s,r) ((Size)WordRoundUp((Word)(s), (Size)(r)))_IndexIsAligned(s,a) WordIsAligned((Word)(s), a)`IndexAlignUp(s,a) ((Index)WordAlignUp((Word)(s), a))aIndexAlignDown(s,a) ((Index)WordAlignDown((Word)(s), a))cAlignIsAligned(a1,a2) WordIsAligned((Word)(a1), a2)iAddrSet(target,value,size) mps_lib_memset(target, (int)(value), size)mAddrCopy(target,source,size) mps_lib_memcpy(target, source, size)qAddrComp(a,b,size) mps_lib_memcmp(a, b, size)wADDR_PTR(type,addr) ((type *)(addr))PoolArena(pool) ((pool)->arena)PoolAlignment(pool) ((pool)->alignment)PoolSegRing(pool) (&(pool)->segRing)PoolFix(pool,ss,seg,refIO) ((*(pool)->fix)(pool, ss, seg, refIO))ClassOfPool(pool) ((pool)->class)SuperclassOfPool(pool) ((PoolClass)ProtocolClassSuperclassPoly((pool)->class))DEFINE_POOL_CLASS(className,var) DEFINE_ALIAS_CLASS(className, PoolClass, var)POOL_SUPERCLASS(className) ((PoolClass)SUPERCLASS(className))TraceSetSingle(trace) BS_SINGLE(TraceSet, (trace)->ti)TraceSetIsSingle(ts) BS_IS_SINGLE(ts)TraceSetIsMember(ts,trace) BS_IS_MEMBER(ts, (trace)->ti)TraceSetAdd(ts,trace) BS_ADD(TraceSet, ts, (trace)->ti)TraceSetDel(ts,trace) BS_DEL(TraceSet, ts, (trace)->ti)TraceSetUnion(ts1,ts2) BS_UNION(ts1, ts2)TraceSetInter(ts1,ts2) BS_INTER(ts1, ts2)TraceSetDiff(ts1,ts2) BS_DIFF(ts1, ts2)TraceSetSuper(ts1,ts2) BS_SUPER(ts1, ts2)TraceSetSub(ts1,ts2) BS_SUB(ts1, ts2)TraceSetComp(ts) BS_COMP(ts)TRACE_SET_ITER(ti,trace,ts,arena) for(ti = 0, trace = ArenaTrace(arena, ti); ti < TraceLIMIT; ++ti, trace = ArenaTrace(arena, ti)) BEGIN if (TraceSetIsMember(ts, trace)) {TRACE_SET_ITER_END(ti,trace,ts,arena) } ENDTRACE_SCAN_BEGIN(ss) BEGIN Shift SCANzoneShift = (ss)->zoneShift; ZoneSet SCANwhite = (ss)->white; RefSet SCANsummary = (ss)->unfixedSummary; Word SCANt; {TRACE_FIX1(ss,ref) (SCANt = (Word)1 << ((Word)(ref) >> SCANzoneShift & (MPS_WORD_WIDTH-1)), SCANsummary |= SCANt, SCANwhite & SCANt)TRACE_FIX2(ss,refIO) ((*(ss)->fix)(ss, refIO))TRACE_FIX(ss,refIO) (TRACE_FIX1(ss, *(refIO)) ? TRACE_FIX2(ss, refIO) : ResOK)TRACE_SCAN_END(ss) } (ss)->unfixedSummary = SCANsummary; ENDDEFINE_ARENA_CLASS(className,var) DEFINE_ALIAS_CLASS(className, ArenaClass, var)ARENA_SUPERCLASS(className) ((ArenaClass)SUPERCLASS(className))ArenaGlobals(arena) (&(arena)->globals)GlobalsArena(glob) PARENT(ArenaStruct, globals, glob)ArenaRootRing(arena) (&(arena)->rootRing)ArenaTraceRing(arena) (&(arena)->traceRing)ArenaThreadRing(arena) (&(arena)->threadRing)ArenaEpoch(arena) ((arena)->epoch)ArenaTrace(arena,ti) (&(arena)->trace[ti])ArenaZoneShift(arena) ((arena)->zoneShift)ArenaAlign(arena) ((arena)->alignment)ArenaGreyRing(arena,rank) (&(arena)->greyRing[rank])ArenaReservoir(arena) (&(arena)->reservoirStruct)DEFINE_SEG_CLASS(className,var) DEFINE_ALIAS_CLASS(className, SegClass, var)SEG_SUPERCLASS(className) ((SegClass)SUPERCLASS(className))ClassOfSeg(seg) ((seg)->class)SegBase(seg) (TractBase((seg)->firstTract))SegLimit(seg) ((seg)->limit)SegPool(seg) (TractPool((seg)->firstTract))SegRankSet(seg) ((RankSet)(seg)->rankSet)SegPM(seg) ((AccessSet)(seg)->pm)SegSM(seg) ((AccessSet)(seg)->sm)SegDepth(seg) ((unsigned)(seg)->depth)SegGrey(seg) ((TraceSet)(seg)->grey)SegWhite(seg) ((TraceSet)(seg)->white)SegNailed(seg) ((TraceSet)(seg)->nailed)SegOfPoolRing(node) (RING_ELT(Seg, poolRing, (node)))SegOfGreyRing(node) (&(RING_ELT(GCSeg, greyRing, (node)) ->segStruct))SegSummary(seg) (((GCSeg)(seg))->summary)SegSetPM(seg,mode) ((void)((seg)->pm = (mode)))SegSetSM(seg,mode) ((void)((seg)->sm = (mode)))SegSetDepth(seg,d) ((void)((seg)->depth = (d)))SegSetNailed(seg,ts) ((void)((seg)->nailed = (ts)))BUFFER_RESERVE(pReturn,buffer,size,withReservoirPermit) (AddrAdd(BufferAlloc(buffer), size) > BufferAlloc(buffer) && AddrAdd(BufferAlloc(buffer), size) <= BufferAP(buffer)->limit ? (*(pReturn) = BufferAlloc(buffer), BufferAP(buffer)->alloc = AddrAdd(BufferAlloc(buffer), size), ResOK) : BufferFill(pReturn, buffer, size, withReservoirPermit))BUFFER_COMMIT(buffer,p,size) (BufferAP(buffer)->init = BufferAlloc(buffer), BufferAP(buffer)->limit != 0 || BufferTrip(buffer, p, size))BufferAP(buffer) (&(buffer)->apStruct)BufferOfAP(ap) PARENT(BufferStruct, apStruct, ap)BufferArena(buffer) ((buffer)->arena)BufferPool(buffer) ((buffer)->pool)BufferBase(buffer) ((buffer)->base)BufferGetInit(buffer) (BufferAP(buffer)->init)BufferAlloc(buffer) (BufferAP(buffer)->alloc)BufferLimit(buffer) ((buffer)->poolLimit)DEFINE_BUFFER_CLASS(className,var) DEFINE_ALIAS_CLASS(className, BufferClass, var)BUFFER_SUPERCLASS(className) ((BufferClass)SUPERCLASS(className))RankSetIsMember(rs,r) BS_IS_MEMBER((rs), (r))RankSetSingle(r) BS_SINGLE(RankSet, (r))RankSetIsSingle(r) BS_IS_SINGLE(r)RankSetUnion(rs1,rs2) BS_UNION((rs1), (rs2))RankSetDel(rs,r) BS_DEL(RankSet, (rs), (r))AddrZone(arena,addr) (((Word)(addr) >> (arena)->zoneShift) & (MPS_WORD_WIDTH - 1))RefSetUnion(rs1,rs2) BS_UNION((rs1), (rs2))RefSetInter(rs1,rs2) BS_INTER((rs1), (rs2))RefSetDiff(rs1,rs2) BS_DIFF((rs1), (rs2))RefSetAdd(arena,rs,addr) BS_ADD(RefSet, rs, AddrZone(arena, addr))RefSetIsMember(arena,rs,addr) BS_IS_MEMBER(rs, AddrZone(arena, addr))RefSetSuper(rs1,rs2) BS_SUPER((rs1), (rs2))RefSetSub(rs1,rs2) BS_SUB((rs1), (rs2))ZoneSetUnion(zs1,zs2) BS_UNION(zs1, zs2)ZoneSetInter(zs1,zs2) BS_INTER(zs1, zs2)ZoneSetDiff(zs1,zs2) BS_DIFF(zs1, zs2)ZoneSetAdd(arena,zs,addr) BS_ADD(ZoneSet, zs, AddrZone(arena, addr))ZoneSetIsMember(arena,zs,addr) BS_IS_MEMBER(zs, AddrZone(arena, addr))ZoneSetSub(zs1,zs2) BS_SUB(zs1, zs2)ZoneSetSuper(zs1,zs2) BS_SUPER(zs1, zs2)ZoneSetComp(zs) BS_COMP(zs)STATISTIC(gather) BEGIN (gather); ENDSTATISTIC_STAT(gather) BEGIN gather; ENDSTATISTIC_WRITE(format,arg) (format), (arg),BootBlockSig ((Sig)0x519B002B)boot.cJan 17 200703:39:25$Id: //info.ravenbrook.com/project/mps/master/code/boot.c#8 $|  AB  "AB 0#AB TAB dRAB uBootBlockCheckBootBlockInitBootBlockFinish'BootAllocatedPBootAllocbootSrcIdBoolunsigned intGNU C 3.4.6 [FreeBSD] 20060305scmidshort intlimitblockBaseblockLimitbaseFileSrcIdStructlong long unsigned intfilepReturnsize_tBootBlockcharboot.clong long intbootsizebootSrcIdSrcIdBootAllocalloclong intbuild_timeBootBlockInitBootBlockCheck__size_tlong unsigned intBootBlockFinishSrcIdStructBootBlockStructunsigned char__uint32_tbuild_datesigned charshort unsigned intdoubleBootAllocated/home/hannes/dylan/mps/codealignGCC: (GNU) 3.4.6 [FreeBSD] 20060305.symtab.strtab.shstrtab.text.rel.data.bss.debug_abbrev.rel.debug_info.rel.debug_line.debug_macinfo.rodata.str1.1.rodata.str1.4.rel.rodata.rel.debug_frame.rel.debug_pubnames.rel.debug_aranges.debug_str.comment4%! І+0B> ؆RN ^ium2`||2||>|  | PX}y h}  p0}% hg     " 1 "?0#OT]dRboot.cFileSrcIdStructbootSrcIdBootBlockCheckBootBlockInitBootBlockFinishBootAllocatedBootAlloc  !%*18?MX_fmt{/DZhv-8<CVaely }     0 4H L` dx |meter.o/ 1169001565 1001 1001 100644 35964 ` ELF (4(UEU @PX@@ÉUVS]u KACCRQ,$d$KRV,$d$[%[9sss9svs[^UVS]u jsh3h'V …uu{t]CRP,$C$ssh2d$$h?shJshTd$$h^V@…ujhjV‰Ѝe[^UC% $ > $ > : ; I I&I : ;  : ; I8 < : ; I  : ; I8 .? : ; ' @ : ; I 4: ; I4: ; I .? : ; ' I@ 4: ; I  4: ; I?  AeGA~intl)";"$#1%#Z&# '# oq   ResE aK#$ P:@ #V#h#h# min# max #o 7*U/PR'sym X*,U)/S)VV+Q,h\-h].h[E<UD/SD)VresFP!UOh[ d<AUc/\p /usr/include/usr/include/sys/usr/include/machinemeter.hmpmtypes.hconfig.hmpstd.hmisc.hstddef.hcdefs.h_null.h_types.h_types.hmpslib.hstdarg.hmpm.hcheck.hevent.heventcom.heventgen.hlock.hth.hring.hss.htract.hbt.hmpmst.hprotocol.hchain.hmeter.cfVrV:rwMH:::HJV:V:M:*Id;@:*J =__STDC_HOSTED__ 1__GNUC__ 3__GNUC_MINOR__ 4__GNUC_PATCHLEVEL__ 6__SIZE_TYPE__ unsigned int__PTRDIFF_TYPE__ int__WCHAR_TYPE__ int__WINT_TYPE__ unsigned int __GXX_ABI_VERSION 1002 __SCHAR_MAX__ 127 __SHRT_MAX__ 32767 __INT_MAX__ 2147483647 __LONG_MAX__ 2147483647L__LONG_LONG_MAX__ 9223372036854775807LL__WCHAR_MAX__ 2147483647__CHAR_BIT__ 8__FLT_EVAL_METHOD__ 2__FLT_RADIX__ 2__FLT_MANT_DIG__ 24__FLT_DIG__ 6__FLT_MIN_EXP__ (-125)__FLT_MIN_10_EXP__ (-37)__FLT_MAX_EXP__ 128__FLT_MAX_10_EXP__ 38__FLT_MAX__ 3.40282347e+38F__FLT_MIN__ 1.17549435e-38F__FLT_EPSILON__ 1.19209290e-7F__FLT_DENORM_MIN__ 1.40129846e-45F__FLT_HAS_INFINITY__ 1__FLT_HAS_QUIET_NAN__ 1__DBL_MANT_DIG__ 53 __DBL_DIG__ 15!__DBL_MIN_EXP__ (-1021)"__DBL_MIN_10_EXP__ (-307)#__DBL_MAX_EXP__ 1024$__DBL_MAX_10_EXP__ 308%__DBL_MAX__ 1.7976931348623157e+308&__DBL_MIN__ 2.2250738585072014e-308'__DBL_EPSILON__ 2.2204460492503131e-16(__DBL_DENORM_MIN__ 4.9406564584124654e-324)__DBL_HAS_INFINITY__ 1*__DBL_HAS_QUIET_NAN__ 1+__LDBL_MANT_DIG__ 53,__LDBL_DIG__ 15-__LDBL_MIN_EXP__ (-16381).__LDBL_MIN_10_EXP__ (-4931)/__LDBL_MAX_EXP__ 163840__LDBL_MAX_10_EXP__ 49321__DECIMAL_DIG__ 172__LDBL_MAX__ 1.1897314953572316e+4932L3__LDBL_MIN__ 3.3621031431120935e-4932L4__LDBL_EPSILON__ 2.2204460492503131e-16L5__LDBL_DENORM_MIN__ 7.4653686412953080e-4948L6__LDBL_HAS_INFINITY__ 17__LDBL_HAS_QUIET_NAN__ 18__REGISTER_PREFIX__ 9__USER_LABEL_PREFIX__ :__VERSION__ "3.4.6 [FreeBSD] 20060305";__OPTIMIZE__ 1<__FINITE_MATH_ONLY__ 0=__STRICT_ANSI__ 1@__i386 1A__i386__ 1B__tune_i386__ 1C__FreeBSD__ 6D__unix 1E__unix__ 1F__KPRINTF_ATTRIBUTE__ 1J__FreeBSD_cc_version 602001K__ELF__ 1_REENTRANT 1CONFIG_PROD_DYLAN 1CONFIG_VAR_HI 1NDEBUG 1 meter_h mpmtypes_h config_h !CONFIG_DEBUG "CHECK_DEFAULT CheckNONE6CHECK_NONE 7MPS_ASSERT_STRING "nonasserted"?EVENT_NONE @MPS_LOG_STRING "nonlogging"EDIAGNOSTICS FMPS_DEBUG_STRING "debug"LMPS_VARIETY_STRING MPS_ASSERT_STRING "." MPS_LOG_STRING "." MPS_DEBUG_STRINGRmpstd_h MPS_PF_FRI4GC MPS_PF_STRING "fri4gc"MPS_OS_FR MPS_ARCH_I4 MPS_BUILD_GC MPS_T_WORD unsigned longMPS_WORD_WIDTH 32MPS_WORD_SHIFT 5MPS_PF_ALIGN 4EPVMDefaultSubsequentSegSIZE (64ul * 1024)ARENA_CONTROL_EXTENDBY ((Size)4096)ARENA_CONTROL_AVGSIZE ((Size)32)ARENA_CONTROL_MAXSIZE ((Size)65536)ArenaPollALLOCTIME (65536.0)ARENA_ZONESHIFT ((Shift)20)ARENA_CLIENT_PAGE_SIZE ((Size)8192)ArenaDefaultZONESET (ZoneSetUNIV << (MPS_WORD_WIDTH / 2))SegPrefDEFAULT { SegPrefSig, TRUE, ArenaDefaultZONESET, FALSE, FALSE, (Serial)0, }LDHistoryLENGTH ((Size)4)StackProbeDEPTH ((Size)0)ShieldCacheSIZE ((size_t)16)ShieldDepthWIDTH (4)VMANPageALIGNMENT ((Align)4096)VMJunkBYTE ((unsigned char)0xA9)TraceLIMIT ((size_t)1)TraceCopyScanRATIO (1.5)RememberedSummaryBLOCK 15EventBufferSIZE ((size_t)4096)EventStringLengthMAX ((size_t)255)ASSERT_BUFFER_SIZE ((Size)512)MPS_PROD_STRING "dylan"MPS_PROD_DYLAN ARENA_INIT_SPARE_COMMIT_LIMIT ((Size)10uL*1024uL*1024uL)THREAD_MULTI PROTECTION DONGLE_NONE PROD_CHECK_DEFAULT CheckSHALLOWARENA_SIZE ((Size)1<<30)misc_h '_STDDEF_H_ )%_SYS_CDEFS_H_ +__BEGIN_DECLS ,__END_DECLS 8__GNUCLIKE_ASM 39__GNUCLIKE_MATH_BUILTIN_CONSTANTS =__GNUCLIKE___TYPEOF 1>__GNUCLIKE___OFFSETOF 1?__GNUCLIKE___SECTION 1A__GNUCLIKE_ATTRIBUTE_MODE_DI 1D__GNUCLIKE_CTOR_SECTION_HANDLING 1G__GNUCLIKE_BUILTIN_CONSTANT_P 1N__GNUCLIKE_BUILTIN_VARARGS 1O__GNUCLIKE_BUILTIN_STDARG 1P__GNUCLIKE_BUILTIN_VAALIST 1T__GNUC_VA_LIST_COMPATIBILITY 1X__GNUCLIKE_BUILTIN_NEXT_ARG 1Y__GNUCLIKE_MATH_BUILTIN_RELOPS \__GNUCLIKE_BUILTIN_MEMCPY 1___CC_SUPPORTS_INLINE 1`__CC_SUPPORTS___INLINE 1a__CC_SUPPORTS___INLINE__ 1c__CC_SUPPORTS___FUNC__ 1d__CC_SUPPORTS_WARNING 1f__CC_SUPPORTS_VARADIC_XXX 1h__CC_SUPPORTS_DYNAMIC_ARRAY_INIT 1k__CC_INT_IS_32BIT 1s__GNUC_PREREQ__(ma,mi) (__GNUC__ > (ma) || __GNUC__ == (ma) && __GNUC_MINOR__ >= (mi))__P(protos) protos__CONCAT1(x,y) x ## y__CONCAT(x,y) __CONCAT1(x,y)__STRING(x) #x__XSTRING(x) __STRING(x)__const const__signed signed__volatile volatile__dead2 __attribute__((__noreturn__))__pure2 __attribute__((__const__))__unused __attribute__((__unused__))__used __attribute__((__used__))__packed __attribute__((__packed__))__aligned(x) __attribute__((__aligned__(x)))__section(x) __attribute__((__section__(x)))__pure __attribute__((__pure__))__always_inline __attribute__((__always_inline__))__nonnull(x) __attribute__((__nonnull__(x)))__restrict __predict_true(exp) __builtin_expect((exp), 1)__predict_false(exp) __builtin_expect((exp), 0)__offsetof(type,field) ((size_t)(&((type *)0)->field))__rangeof(type,start,end) (__offsetof(type, end) - __offsetof(type, start))__printflike(fmtarg,firstvararg) __attribute__((__format__ (__printf__, fmtarg, firstvararg)))__scanflike(fmtarg,firstvararg) __attribute__((__format__ (__scanf__, fmtarg, firstvararg)))__format_arg(fmtarg) __attribute__((__format_arg__ (fmtarg)))__printf0like(fmtarg,firstvararg) __attribute__((__format__ (__printf0__, fmtarg, firstvararg)))__strong_reference(sym,aliassym) extern __typeof (sym) aliassym __attribute__ ((__alias__ (#sym)));__weak_reference(sym,alias) __asm__(".weak " #alias); __asm__(".equ " #alias ", " #sym)__warn_references(sym,msg) __asm__(".section .gnu.warning." #sym); __asm__(".asciz \"" msg "\""); __asm__(".previous")__IDSTRING(name,string) __asm__(".ident\t\"" string "\"")__FBSDID(s) __IDSTRING(__CONCAT(__rcsid_,__LINE__),s)__RCSID(s) __IDSTRING(__CONCAT(__rcsid_,__LINE__),s)__RCSID_SOURCE(s) __IDSTRING(__CONCAT(__rcsid_source_,__LINE__),s)__SCCSID(s) __IDSTRING(__CONCAT(__sccsid_,__LINE__),s)__COPYRIGHT(s) __IDSTRING(__CONCAT(__copyright_,__LINE__),s)__DECONST(type,var) ((type)(uintptr_t)(const void *)(var))__DEVOLATILE(type,var) ((type)(uintptr_t)(volatile void *)(var))__DEQUALIFY(type,var) ((type)(uintptr_t)(const volatile void *)(var))__POSIX_VISIBLE 200112__XSI_VISIBLE 600__BSD_VISIBLE 1__ISO_C_VISIBLE 1999* NULL ((void *)0)+ _SYS__TYPES_H_ ! (_MACHINE__TYPES_H_ .__NO_STRICT_ALIGNMENT __GNUC_VA_LIST 2_RUNE_T_DECLARED 8_SIZE_T_DECLARED >_WCHAR_T_DECLARED Boffsetof(type,member) __offsetof(type, member)*SRCID(id,scmid) static SrcIdStruct FileSrcIdStruct = {__FILE__, (scmid), __DATE__, __TIME__}; SrcId id ## SrcId = &FileSrcIdStruct;BEGIN do {> (i)) & 1)BS_UNION(s1,s2) ((s1) | (s2))BS_ADD(ty,s,i) BS_UNION((s), BS_SINGLE(ty, (i)))BS_INTER(s1,s2) ((s1) & (s2))BS_DIFF(s1,s2) BS_INTER((s1), BS_COMP(s2))BS_DEL(ty,s,i) BS_DIFF((s), BS_SINGLE(ty, (i)))BS_SUPER(s1,s2) (BS_INTER((s1), (s2)) == (s2))BS_SUB(s1,s2) BS_SUPER((s2), (s1))BS_IS_SINGLE(s) (((s) & ((s)-1)) == 0)BS_SYM_DIFF(s1,s2) ((s1) ^ (s2)) mpslib_h mps_lib_EOF (mps_lib_get_EOF())mps_lib_stderr (mps_lib_get_stderr())mps_lib_stdout (mps_lib_get_stdout()) '_MACHINE_STDARG_H_ -_VA_LIST_DECLARED 3va_start(ap,last) __builtin_stdarg_start((ap), (last))6va_arg(ap,type) __builtin_va_arg((ap), type):va_copy(dest,src) __builtin_va_copy((dest), (src))>va_end(ap) __builtin_va_end(ap)SigInvalid ((Sig)0x51915BAD)SizeMAX ((Size)-1)AccessSetEMPTY ((AccessSet)0)AccessREAD ((AccessSet)(1<<0))AccessWRITE ((AccessSet)(1<<1))AccessSetWIDTH (2)RefSetEMPTY BS_EMPTY(RefSet)RefSetUNIV BS_UNIV(RefSet)ZoneSetEMPTY BS_EMPTY(ZoneSet)ZoneSetUNIV BS_UNIV(ZoneSet)TraceSetEMPTY BS_EMPTY(TraceSet)TraceSetUNIV ((TraceSet)((1u << TraceLIMIT) - 1))RankSetEMPTY BS_EMPTY(RankSet)RankSetUNIV ((RankSet)((1u << RankLIMIT) - 1))AttrFMT ((Attr)(1<<0))AttrSCAN ((Attr)(1<<1))AttrPM_NO_READ ((Attr)(1<<2))AttrPM_NO_WRITE ((Attr)(1<<3))AttrALLOC ((Attr)(1<<4))AttrFREE ((Attr)(1<<5))AttrBUF ((Attr)(1<<6))AttrBUF_RESERVE ((Attr)(1<<7))AttrBUF_ALLOC ((Attr)(1<<8))AttrGC ((Attr)(1<<9))AttrINCR_RB ((Attr)(1<<10))AttrINCR_WB ((Attr)(1<<11))AttrMOVINGGC ((Attr)(1<<12))AttrMASK (AttrFMT | AttrSCAN | AttrPM_NO_READ | AttrPM_NO_WRITE | AttrALLOC | AttrFREE | AttrBUF | AttrBUF_RESERVE | AttrBUF_ALLOC | AttrGC | AttrINCR_RB | AttrINCR_WB | AttrMOVINGGC)BufferModeATTACHED ((BufferMode)(1<<0))BufferModeFLIPPED ((BufferMode)(1<<1))BufferModeLOGGED ((BufferMode)(1<<2))BufferModeTRANSITION ((BufferMode)(1<<3))RootModeCONSTANT ((RootMode)1<<0)RootModePROTECTABLE ((RootMode)1<<1)RootModePROTECTABLE_INNER ((RootMode)1<<2)STATISTIC_DECL(field) field)METER_DECL(meter) STATISTIC_DECL(struct MeterStruct meter)*METER_INIT(meter,init,owner) BEGIN STATISTIC(MeterInit(&(meter), init, owner)); UNUSED(owner); END-METER_ACC(meter,delta) STATISTIC(MeterAccumulate(&(meter), delta))0METER_WRITE(meter,stream) MeterWrite(&(meter), stream)6METER_EMIT(meter) STATISTIC(MeterEmit(meter))  mpm_h check_h 0AVER(cond) DISCARD(cond)1AVERT(type,val) DISCARD(type ## Check(val))2AVER_CRITICAL(cond) DISCARD(cond)3AVERT_CRITICAL(type,val) DISCARD(type ## Check(val))MASSERT(cond,condstring) BEGIN if (cond) NOOP; else mps_lib_assert_fail(condstring "\n" __FILE__ "\n" STR(__LINE__)); END_NOTREACHED NOOPjCHECKT(type,val) ((val) != NULL && (val)->sig == type ## Sig)pCHECKS(type,val) DISCARD(CHECKT(type, val))qCHECKL(cond) DISCARD(cond)rCHECKD(type,val) DISCARD(CHECKT(type, val))sCHECKD_NOSIG(type,val) DISCARD((val) != NULL)tCHECKU(type,val) DISCARD(CHECKT(type, val))uCHECKU_NOSIG(type,val) DISCARD((val) != NULL)CHECKLVALUE(lv1,lv2) ((void)sizeof((lv1) = (lv2)), (void)sizeof((lv2) = (lv1)), TRUE)CHECKTYPE(t1,t2) (sizeof(t1) == sizeof(t2) && CHECKLVALUE(*((t1 *)0), *((t2 *)0)))CHECKFIELDAPPROX(s1,f1,s2,f2) (sizeof(((s1 *)0)->f1) == sizeof(((s2 *)0)->f2) && offsetof(s1, f1) == offsetof(s2, f2))CHECKFIELD(s1,f1,s2,f2) (CHECKFIELDAPPROX(s1, f1, s2, f2) && CHECKLVALUE(((s1 *)0)->f1, ((s2 *)0)->f2))event_h  eventcom_h !EventNameMAX ((size_t)19)"EventCodeMAX ((EventCode)0x0069)&EVENT_0(type) NOOPEVENT_A(type,p0) NOOPEVENT_AW(type,p0,p1) NOOPEVENT_P(type,p0) NOOPEVENT_PAA(type,p0,p1,p2) NOOPEVENT_PAW(type,p0,p1,p2) NOOPEVENT_PAWA(type,p0,p1,p2,p3) NOOPEVENT_PDDWWW(type,p0,p1,p2,p3,p4,p5) NOOPEVENT_PP(type,p0,p1) NOOPEVENT_PPAU(type,p0,p1,p2,p3) NOOPEVENT_PPAWP(type,p0,p1,p2,p3,p4) NOOPEVENT_PPP(type,p0,p1,p2) NOOPEVENT_PPPA(type,p0,p1,p2,p3) NOOPEVENT_PPPU(type,p0,p1,p2,p3) NOOPEVENT_PPPUU(type,p0,p1,p2,p3,p4) NOOPEVENT_PPU(type,p0,p1,p2) NOOPEVENT_PPUU(type,p0,p1,p2,p3) NOOPEVENT_PPUWWW(type,p0,p1,p2,p3,p4,p5) NOOPEVENT_PPWW(type,p0,p1,p2,p3) NOOPEVENT_PPWWW(type,p0,p1,p2,p3,p4) NOOPEVENT_PPWWWUUU(type,p0,p1,p2,p3,p4,p5,p6,p7) NOOPEVENT_PU(type,p0,p1) NOOPEVENT_PW(type,p0,p1) NOOPEVENT_PWA(type,p0,p1,p2) NOOPEVENT_PWAW(type,p0,p1,p2,p3) NOOPEVENT_PWP(type,p0,p1,p2) NOOPEVENT_PWU(type,p0,p1,p2) NOOPEVENT_PWW(type,p0,p1,p2) NOOPEVENT_PWWWWDD(type,p0,p1,p2,p3,p4,p5,p6) NOOPEVENT_PWWWWW(type,p0,p1,p2,p3,p4,p5) NOOPEVENT_PWWWWWWWWW(type,p0,p1,p2,p3,p4,p5,p6,p7,p8,p9) NOOPEVENT_PWWWWWWWWWWWW(type,p0,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11,p12) NOOPEVENT_UUPA(type,p0,p1,p2,p3) NOOPEVENT_UUPP(type,p0,p1,p2,p3) NOOPEVENT_UUPPP(type,p0,p1,p2,p3,p4) NOOPEVENT_WS(type,p0,p1,l1) NOOP:EventEventTime ((EventType)0xEF213E99);EventPoolInit ((EventType)0xEFB07141)EventPoolFree ((EventType)0xEFB07F6E)?EventArenaCreateVM ((EventType)0xEFA64CF3)@EventArenaCreateVMNZ ((EventType)0xEFA64CF2)AEventArenaCreateCL ((EventType)0xEFA64CC7)BEventArenaDestroy ((EventType)0xEFA64DE5)CEventArenaAlloc ((EventType)0xEFA64A77)DEventArenaFree ((EventType)0xEFA64F6E)EEventSegAlloc ((EventType)0xEF5E9A77)FEventSegFree ((EventType)0xEF5E9F6E)GEventSegMerge ((EventType)0xEF5E93E6)HEventSegSplit ((EventType)0xEF5E95B7)IEventAMCGenCreate ((EventType)0xEFA3C94C)JEventAMCGenDestroy ((EventType)0xEFA3C94D)KEventAMCInit ((EventType)0xEFA3C141)LEventAMCFinish ((EventType)0xEFA3CF14)MEventAMCTraceBegin ((EventType)0xEFA3C26B)NEventAMCScanBegin ((EventType)0xEFA3C5CB)OEventAMCScanEnd ((EventType)0xEFA3C5CE)PEventAMCFix ((EventType)0xEFA3CF18)QEventAMCFixInPlace ((EventType)0xEFA3CF8A)REventAMCFixForward ((EventType)0xEFA3CF8F)SEventAMCReclaim ((EventType)0xEFA3C6EC)TEventTraceStart ((EventType)0xEF26AC52)UEventTraceCreate ((EventType)0xEF26ACC6)VEventTraceDestroy ((EventType)0xEF26ACDE)WEventSegSetGrey ((EventType)0xEF59596A)XEventTraceFlipBegin ((EventType)0xEF26AF7B)YEventTraceFlipEnd ((EventType)0xEF26AF7E)ZEventTraceReclaim ((EventType)0xEF26A6EC)[EventTraceScanSeg ((EventType)0xEF26A559)\EventTraceScanSingleRef ((EventType)0xEF26A556)^EventTraceAccess ((EventType)0xEF26AACC)_EventTracePoll ((EventType)0xEF26AB01)`EventTraceStep ((EventType)0xEF26A52B)aEventTraceFix ((EventType)0xEF26AF18)bEventTraceFixSeg ((EventType)0xEF26AF85)cEventTraceFixWhite ((EventType)0xEF26AF83)dEventTraceScanArea ((EventType)0xEF26A5CA)eEventTraceScanAreaTagged ((EventType)0xEF26A5C2)fEventVMCreate ((EventType)0xEFF3C6EA)gEventVMDestroy ((EventType)0xEFF3DE52)hEventVMMap ((EventType)0xEFF33AB9)iEventVMUnmap ((EventType)0xEFF3043B)jEventIntern ((EventType)0xEF142E64)kEventArenaExtend ((EventType)0xEFA64E82)lEventArenaRetract ((EventType)0xEFA646E2)mEventRootScan ((EventType)0xEF625CA4)nEventLabel ((EventType)0xEF7ABE79)oEventTraceSegGreyen ((EventType)0xEF26A599)pEventBufferReserve ((EventType)0xEFB0FF6E)qEventBufferCommit ((EventType)0xEFB0FFC0)rEventBufferInit ((EventType)0xEFB0FF14)sEventBufferInitSeg ((EventType)0xEFB0F15E)tEventBufferInitRank ((EventType)0xEFB0F16A)uEventBufferInitEPVM ((EventType)0xEFB0F1EF)vEventBufferFinish ((EventType)0xEFB0FFF1)wEventBufferFill ((EventType)0xEFB0FFF7)xEventBufferEmpty ((EventType)0xEFB0FFE3)yEventArenaAllocFail ((EventType)0xEFA64A7F)zEventSegAllocFail ((EventType)0xEF5E9A7F){EventMeterInit ((EventType)0xEF3E2141)|EventMeterValues ((EventType)0xEF3E2FA7)}EventCBSInit ((EventType)0xEFCB5141)~EventTraceStatCondemn ((EventType)0xEF26A5C0)EventTraceStatScan ((EventType)0xEF26A55C)EventTraceStatFix ((EventType)0xEF26A5F8)EventTraceStatReclaim ((EventType)0xEF26A56E)EventArenaWriteFaults ((EventType)0xEFA6436F)EventPoolInitMV ((EventType)0xEFB0713F)EventPoolInitMVFF ((EventType)0xEFB071FF)EventPoolInitMFS ((EventType)0xEFB07135)EventPoolInitEPVM ((EventType)0xEFB071EF)EventPoolInitEPDL ((EventType)0xEFB071E7)EventPoolInitAMS ((EventType)0xEFB071A5)EventPoolInitAMC ((EventType)0xEFB071AC)EventPoolInitAMCZ ((EventType)0xEFB071A2)EventPoolInitAWL ((EventType)0xEFB071A3)EventPoolInitLO ((EventType)0xEFB07170)EventPoolInitSNC ((EventType)0xEFB07154)EventPoolInitMVT ((EventType)0xEFB07132)EventPoolPush ((EventType)0xEFB07B58)EventPoolPop ((EventType)0xEFB07B0B)EventReservoirLimitSet ((EventType)0xEF6E5713)EventCommitLimitSet ((EventType)0xEFC03713)EventSpareCommitLimitSet ((EventType)0xEF5BC713) hEventInit() NOOPiEventFinish() NOOPjEventControl(r,f) (UNUSED(r), UNUSED(f), (Word)0)kEventInternString(s) (UNUSED(s), (Word)0)lEventInternGenString(l,s) (UNUSED(l), UNUSED(s), (Word)0)mEventLabelAddr(a,i) BEGIN UNUSED(a); UNUSED(i); ENDPlock_h ULockSig ((Sig)0x51970CC9) th_h  ring_h RingNONE ((Ring)0)$RingInit(ring) BEGIN Ring _ring = (ring); AVER(_ring != NULL); _ring->next = _ring; _ring->prev = _ring; AVER(RingCheck(_ring)); END/RingFinish(ring) BEGIN Ring _ring = (ring); AVER(RingCheckSingle(_ring)); _ring->next = RingNONE; _ring->prev = RingNONE; END9RingAppend(ring,new) BEGIN Ring _ring = (ring), _new = (new); AVER(RingCheck(_ring)); AVER(RingCheckSingle(_new)); _new->prev = _ring->prev; _new->next = _ring; _ring->prev->next = _new; _ring->prev = _new; ENDFRingInsert(ring,new) BEGIN Ring _ring = (ring), _new = (new); AVER(RingCheck(_ring)); AVER(RingCheckSingle(_new)); _new->prev = _ring; _new->next = _ring->next; _ring->next->prev = _new; _ring->next = _new; ENDSRingRemove(old) BEGIN Ring _old = (old); AVER(RingCheck(_old)); AVER(!RingIsSingle(_old)); _old->next->prev = _old->prev; _old->prev->next = _old->next; _old->next = _old; _old->prev = _old; END`RingNext(ring) ((ring)->next)dRingPrev(ring) ((ring)->prev)gRING_ELT(type,field,node) ((type)(void *)((char *)(node) - (size_t)(&((type)0)->field)))kRING_FOR(node,ring,next) for(node = RingNext(ring), next = RingNext(node); node != (ring); node = (next), next = RingNext(node))ThreadSig ((Sig)0x519286ED) ss_h  tract_h   bt_h BTSize(n) (((n) + MPS_WORD_WIDTH-1) / MPS_WORD_WIDTH * sizeof(Word))BTGet(a,i) ((Bool)(((a)[((i) >> MPS_WORD_SHIFT)] >> ((i) & ~((Word)-1 << MPS_WORD_SHIFT))) & (Word)1))BTSet(a,i) BEGIN (a)[((i)>>MPS_WORD_SHIFT)] |= (Word)1<<((i)&~((Word)-1<>MPS_WORD_SHIFT)] &= ~((Word)1 << ((i) & ~((Word)-1<base)&TractPool(tract) ((tract)->pool)'TractP(tract) ((tract)->p)(TractSetP(tract,pp) ((void)((tract)->p = (pp))))TractHasSeg(tract) ((Bool)(tract)->hasSeg)*TractSetHasSeg(tract,b) ((void)((tract)->hasSeg = (b)))+TractWhite(tract) ((tract)->white),TractSetWhite(tract,w) ((void)((tract)->white = (w)))8TRACT_SEG(segReturn,tract) (TractHasSeg(tract) && ((*(segReturn) = (Seg)TractP(tract)), TRUE));TRACT_SET_SEG(tract,seg) (TractSetHasSeg(tract, TRUE), TractSetP(tract, seg))>TRACT_UNSET_SEG(tract) (TractSetHasSeg(tract, FALSE), TractSetP(tract, NULL))nPageTract(page) (&(page)->the.tractStruct)rPageOfTract(tract) PARENT(PageStruct, the.tractStruct, (tract))vPagePool(page) ((page)->the.rest.pool)}PageIsAllocated(page) ((page)->the.rest.pool != NULL)PageType(page) ((page)->the.rest.type)ChunkSig ((Sig)0x519C804C)ChunkArena(chunk) ((chunk)->arena)ChunkPageSize(chunk) ((chunk)->pageSize)ChunkPageShift(chunk) ((chunk)->pageShift)ChunkPagesToSize(chunk,pages) ((Size)(pages) << (chunk)->pageShift)ChunkSizeToPages(chunk,size) ((Count)((size) >> (chunk)->pageShift))CHUNK_OF_ADDR(chunkReturn,arena,addr) (((arena)->chunkCache.base <= (addr) && (addr) < (arena)->chunkCache.limit) ? (*(chunkReturn) = (arena)->chunkCache.chunk, TRUE) : ChunkOfAddr(chunkReturn, arena, addr))AddrPageBase(chunk,addr) AddrAlignDown((addr), ChunkPageSize(chunk))TRACT_OF_ADDR(tractReturn,arena,addr) BEGIN Arena _arena = (arena); Addr _addr = (addr); Chunk _chunk; Index _i; if (CHUNK_OF_ADDR(&_chunk, _arena, _addr)) { _i = INDEX_OF_ADDR(_chunk, _addr); if (BTGet(_chunk->allocTable, _i)) *(tractReturn) = PageTract(&_chunk->pageTable[_i]); else *(tractReturn) = NULL; } else *(tractReturn) = NULL; ENDINDEX_OF_ADDR(chunk,addr) ((Index)ChunkSizeToPages(chunk, AddrOffset((chunk)->base, addr)))PageIndexBase(chunk,i) AddrAdd((chunk)->base, ChunkPagesToSize(chunk, i))TractAverContiguousRange(arena,rangeBase,rangeLimit) BEGIN Chunk _ch = NULL; UNUSED(_ch); AVER(ChunkOfAddr(&_ch, arena, rangeBase) && (rangeLimit) <= _ch->limit); ENDTRACT_TRACT_FOR(tract,addr,arena,firstTract,limit) tract = (firstTract); addr = TractBase(tract); TractAverContiguousRange(arena, addr, limit); for(; tract != NULL; (addr = AddrAdd(addr, (arena)->alignment)), (addr < (limit) ? (tract = PageTract(PageOfTract(tract) + 1)) : (tract = NULL) ))TRACT_FOR(tract,addr,arena,base,limit) TRACT_TRACT_FOR(tract, addr, arena, TractOfBaseAddr(arena, base), limit)mpmst_h protocol_h DERIVE_LOCAL(name) protocol ## nameDERIVE_STRUCT(name) name ## StructDERIVE_ENSURE(name) name ## GetDERIVE_ENSURE_OLD(name) Ensure ## nameDERIVE_ENSURE_INTERNAL(name) protocolGet ## nameDERIVE_GUARDIAN(name) protocol ## name ## GuardianDERIVE_STATIC_STORAGE(name) protocol ## name ## StructProtocolClassSetSuperclassPoly(class,super) (((ProtocolClass)(class))->superclass) = (ProtocolClass)(super)$DEFINE_CLASS(className,var) static Bool DERIVE_GUARDIAN(className) = FALSE; static DERIVE_STRUCT(className) DERIVE_STATIC_STORAGE(className); static void DERIVE_ENSURE_INTERNAL(className)(className); extern className DERIVE_ENSURE(className)(void); className DERIVE_ENSURE(className)(void) { if (DERIVE_GUARDIAN(className) == FALSE) { LockClaimGlobalRecursive(); if (DERIVE_GUARDIAN(className) == FALSE) { DERIVE_ENSURE_INTERNAL(className) (&DERIVE_STATIC_STORAGE(className)); DERIVE_GUARDIAN(className) = TRUE; } LockReleaseGlobalRecursive(); } return &DERIVE_STATIC_STORAGE(className); } extern className DERIVE_ENSURE_OLD(className)(void); className DERIVE_ENSURE_OLD(className)(void) { return DERIVE_ENSURE(className)(); } static void DERIVE_ENSURE_INTERNAL(className) (className var)AINHERIT_CLASS(this,parentName) BEGIN parentName DERIVE_LOCAL(parentName) = DERIVE_ENSURE(parentName)(); *this = *(DERIVE_LOCAL(parentName)); ProtocolClassSetSuperclassPoly(this, DERIVE_LOCAL(parentName)); ENDODEFINE_ALIAS_CLASS(className,typeName,var) typedef typeName className; typedef DERIVE_STRUCT(typeName) DERIVE_STRUCT(className); DEFINE_CLASS(className, var)VProtocolClassSig ((Sig)0x519B60C7)WProtocolInstSig ((Sig)0x519B6014)ProtocolClassSuperclassPoly(class) (((ProtocolClass)(class))->superclass)ClassOfPoly(inst) ((ProtocolInst)(inst)->class)IsSubclassPoly(sub,super) ProtocolIsSubclass((ProtocolClass)(sub), (ProtocolClass)(super))SUPERCLASS(className) ProtocolClassSuperclassPoly(DERIVE_ENSURE(className)())chain_h GenDescSig ((Sig)0x5199E4DE)+PoolGenSig ((Sig)0x519B009E);ChainSig ((Sig)0x519C8A14)XPoolGenNr(gen) ((gen)->nr)/PoolClassSig ((Sig)0x519C7A55)]PoolSig ((Sig)0x519B0019)}MFSSig ((Sig)0x5193F599)MVSig ((Sig)0x5193B999)ReservoirSig ((Sig)0x5196e599)MessageClassSig ((Sig)0x519359c1)MessageSig ((Sig)0x5193e559)SegClassSig ((Sig)0x5195E9C7)SegSig ((Sig)0x5195E999)GCSegSig ((Sig)0x5199C5E9)SegPrefSig ((Sig)0x5195E9B6)BufferClassSig ((Sig)0x519B0FC7)BufferSig ((Sig)0x519B0FFE)SegBufSig ((Sig)0x51959B0F)FormatSig ((Sig)0x519F63A2)ScanStateSig ((Sig)0x5195CA45)TraceSig ((Sig)0x51924ACE)ChunkCacheEntrySig ((Sig)0x519C80CE)ArenaClassSig ((Sig)0x519A6C1A)GlobalsSig ((Sig)0x519970BA)ArenaSig ((Sig)0x519A6E4A)%BoolCheck(b) ((unsigned)(b) <= 1)(FUNCHECK(f) (FunCheck((Fun)f))4WordIsAligned(w,a) (((w) & ((a) - 1)) == 0)7WordAlignUp(w,a) (((w) + (a) - 1) & ~((Word)(a) - 1));WordRoundUp(w,r) (((w)+(r)-1) - ((w)+(r)-1)%(r))>WordAlignDown(w,a) ((w) & ~((Word)(a) - 1))@size_tAlignUp(s,a) ((size_t)WordAlignUp((Word)(s), a))BPointerAdd(p,s) ((void *)((char *)(p) + (s)))CPointerSub(p,s) ((void *)((char *)(p) - (s)))EPointerOffset(base,limit) ((size_t)((char *)(limit) - (char *)(base)))HPointerAlignUp(p,s) ((void *)WordAlignUp((Word)(p), (Align)(s)))KAddrAdd(p,s) ((Addr)PointerAdd((void *)(p), s))LAddrSub(p,s) ((Addr)PointerSub((void *)(p), s))NAddrOffset(b,l) ((Size)(PointerOffset((void *)(b), (void *)(l))))RAddrAlignDown(p,a) ((Addr)WordAlignDown((Word)(p), a))TAlignWord(s) ((Word)(s))VAddrIsAligned(p,a) WordIsAligned((Word)(p), a)WAddrAlignUp(p,a) ((Addr)WordAlignUp((Word)(p), a))YSizeIsAligned(s,a) WordIsAligned((Word)(s), a)ZSizeAlignUp(s,a) ((Size)WordAlignUp((Word)(s), a))[SizeAlignDown(s,a) ((Size)WordAlignDown((Word)(s), a))]SizeRoundUp(s,r) ((Size)WordRoundUp((Word)(s), (Size)(r)))_IndexIsAligned(s,a) WordIsAligned((Word)(s), a)`IndexAlignUp(s,a) ((Index)WordAlignUp((Word)(s), a))aIndexAlignDown(s,a) ((Index)WordAlignDown((Word)(s), a))cAlignIsAligned(a1,a2) WordIsAligned((Word)(a1), a2)iAddrSet(target,value,size) mps_lib_memset(target, (int)(value), size)mAddrCopy(target,source,size) mps_lib_memcpy(target, source, size)qAddrComp(a,b,size) mps_lib_memcmp(a, b, size)wADDR_PTR(type,addr) ((type *)(addr))PoolArena(pool) ((pool)->arena)PoolAlignment(pool) ((pool)->alignment)PoolSegRing(pool) (&(pool)->segRing)PoolFix(pool,ss,seg,refIO) ((*(pool)->fix)(pool, ss, seg, refIO))ClassOfPool(pool) ((pool)->class)SuperclassOfPool(pool) ((PoolClass)ProtocolClassSuperclassPoly((pool)->class))DEFINE_POOL_CLASS(className,var) DEFINE_ALIAS_CLASS(className, PoolClass, var)POOL_SUPERCLASS(className) ((PoolClass)SUPERCLASS(className))TraceSetSingle(trace) BS_SINGLE(TraceSet, (trace)->ti)TraceSetIsSingle(ts) BS_IS_SINGLE(ts)TraceSetIsMember(ts,trace) BS_IS_MEMBER(ts, (trace)->ti)TraceSetAdd(ts,trace) BS_ADD(TraceSet, ts, (trace)->ti)TraceSetDel(ts,trace) BS_DEL(TraceSet, ts, (trace)->ti)TraceSetUnion(ts1,ts2) BS_UNION(ts1, ts2)TraceSetInter(ts1,ts2) BS_INTER(ts1, ts2)TraceSetDiff(ts1,ts2) BS_DIFF(ts1, ts2)TraceSetSuper(ts1,ts2) BS_SUPER(ts1, ts2)TraceSetSub(ts1,ts2) BS_SUB(ts1, ts2)TraceSetComp(ts) BS_COMP(ts)TRACE_SET_ITER(ti,trace,ts,arena) for(ti = 0, trace = ArenaTrace(arena, ti); ti < TraceLIMIT; ++ti, trace = ArenaTrace(arena, ti)) BEGIN if (TraceSetIsMember(ts, trace)) {TRACE_SET_ITER_END(ti,trace,ts,arena) } ENDTRACE_SCAN_BEGIN(ss) BEGIN Shift SCANzoneShift = (ss)->zoneShift; ZoneSet SCANwhite = (ss)->white; RefSet SCANsummary = (ss)->unfixedSummary; Word SCANt; {TRACE_FIX1(ss,ref) (SCANt = (Word)1 << ((Word)(ref) >> SCANzoneShift & (MPS_WORD_WIDTH-1)), SCANsummary |= SCANt, SCANwhite & SCANt)TRACE_FIX2(ss,refIO) ((*(ss)->fix)(ss, refIO))TRACE_FIX(ss,refIO) (TRACE_FIX1(ss, *(refIO)) ? TRACE_FIX2(ss, refIO) : ResOK)TRACE_SCAN_END(ss) } (ss)->unfixedSummary = SCANsummary; ENDDEFINE_ARENA_CLASS(className,var) DEFINE_ALIAS_CLASS(className, ArenaClass, var)ARENA_SUPERCLASS(className) ((ArenaClass)SUPERCLASS(className))ArenaGlobals(arena) (&(arena)->globals)GlobalsArena(glob) PARENT(ArenaStruct, globals, glob)ArenaRootRing(arena) (&(arena)->rootRing)ArenaTraceRing(arena) (&(arena)->traceRing)ArenaThreadRing(arena) (&(arena)->threadRing)ArenaEpoch(arena) ((arena)->epoch)ArenaTrace(arena,ti) (&(arena)->trace[ti])ArenaZoneShift(arena) ((arena)->zoneShift)ArenaAlign(arena) ((arena)->alignment)ArenaGreyRing(arena,rank) (&(arena)->greyRing[rank])ArenaReservoir(arena) (&(arena)->reservoirStruct)DEFINE_SEG_CLASS(className,var) DEFINE_ALIAS_CLASS(className, SegClass, var)SEG_SUPERCLASS(className) ((SegClass)SUPERCLASS(className))ClassOfSeg(seg) ((seg)->class)SegBase(seg) (TractBase((seg)->firstTract))SegLimit(seg) ((seg)->limit)SegPool(seg) (TractPool((seg)->firstTract))SegRankSet(seg) ((RankSet)(seg)->rankSet)SegPM(seg) ((AccessSet)(seg)->pm)SegSM(seg) ((AccessSet)(seg)->sm)SegDepth(seg) ((unsigned)(seg)->depth)SegGrey(seg) ((TraceSet)(seg)->grey)SegWhite(seg) ((TraceSet)(seg)->white)SegNailed(seg) ((TraceSet)(seg)->nailed)SegOfPoolRing(node) (RING_ELT(Seg, poolRing, (node)))SegOfGreyRing(node) (&(RING_ELT(GCSeg, greyRing, (node)) ->segStruct))SegSummary(seg) (((GCSeg)(seg))->summary)SegSetPM(seg,mode) ((void)((seg)->pm = (mode)))SegSetSM(seg,mode) ((void)((seg)->sm = (mode)))SegSetDepth(seg,d) ((void)((seg)->depth = (d)))SegSetNailed(seg,ts) ((void)((seg)->nailed = (ts)))BUFFER_RESERVE(pReturn,buffer,size,withReservoirPermit) (AddrAdd(BufferAlloc(buffer), size) > BufferAlloc(buffer) && AddrAdd(BufferAlloc(buffer), size) <= BufferAP(buffer)->limit ? (*(pReturn) = BufferAlloc(buffer), BufferAP(buffer)->alloc = AddrAdd(BufferAlloc(buffer), size), ResOK) : BufferFill(pReturn, buffer, size, withReservoirPermit))BUFFER_COMMIT(buffer,p,size) (BufferAP(buffer)->init = BufferAlloc(buffer), BufferAP(buffer)->limit != 0 || BufferTrip(buffer, p, size))BufferAP(buffer) (&(buffer)->apStruct)BufferOfAP(ap) PARENT(BufferStruct, apStruct, ap)BufferArena(buffer) ((buffer)->arena)BufferPool(buffer) ((buffer)->pool)BufferBase(buffer) ((buffer)->base)BufferGetInit(buffer) (BufferAP(buffer)->init)BufferAlloc(buffer) (BufferAP(buffer)->alloc)BufferLimit(buffer) ((buffer)->poolLimit)DEFINE_BUFFER_CLASS(className,var) DEFINE_ALIAS_CLASS(className, BufferClass, var)BUFFER_SUPERCLASS(className) ((BufferClass)SUPERCLASS(className))RankSetIsMember(rs,r) BS_IS_MEMBER((rs), (r))RankSetSingle(r) BS_SINGLE(RankSet, (r))RankSetIsSingle(r) BS_IS_SINGLE(r)RankSetUnion(rs1,rs2) BS_UNION((rs1), (rs2))RankSetDel(rs,r) BS_DEL(RankSet, (rs), (r))AddrZone(arena,addr) (((Word)(addr) >> (arena)->zoneShift) & (MPS_WORD_WIDTH - 1))RefSetUnion(rs1,rs2) BS_UNION((rs1), (rs2))RefSetInter(rs1,rs2) BS_INTER((rs1), (rs2))RefSetDiff(rs1,rs2) BS_DIFF((rs1), (rs2))RefSetAdd(arena,rs,addr) BS_ADD(RefSet, rs, AddrZone(arena, addr))RefSetIsMember(arena,rs,addr) BS_IS_MEMBER(rs, AddrZone(arena, addr))RefSetSuper(rs1,rs2) BS_SUPER((rs1), (rs2))RefSetSub(rs1,rs2) BS_SUB((rs1), (rs2))ZoneSetUnion(zs1,zs2) BS_UNION(zs1, zs2)ZoneSetInter(zs1,zs2) BS_INTER(zs1, zs2)ZoneSetDiff(zs1,zs2) BS_DIFF(zs1, zs2)ZoneSetAdd(arena,zs,addr) BS_ADD(ZoneSet, zs, AddrZone(arena, addr))ZoneSetIsMember(arena,zs,addr) BS_IS_MEMBER(zs, AddrZone(arena, addr))ZoneSetSub(zs1,zs2) BS_SUB(zs1, zs2)ZoneSetSuper(zs1,zs2) BS_SUPER(zs1, zs2)ZoneSetComp(zs) BS_COMP(zs)STATISTIC(gather) BEGIN (gather); ENDSTATISTIC_STAT(gather) BEGIN gather; ENDSTATISTIC_WRITE(format,arg) (format), (arg),meter.cJan 17 200703:39:25count: $Umeter $S {, mean^2: $D, mean: $D, min: $U, max: $U, total: $D} $Id: //info.ravenbrook.com/project/mps/master/code/meter.c#9 $?| *AB ,dAB B$AB B[. c.@Y.<AB \MeterInitMeterAccumulateXMeterWriteMeterEmitmeterSrcIdAnameunsigned intGNU C 3.4.6 [FreeBSD] 20060305scmidMeterInitshort intSizeMetercountFileSrcIdStructlong long unsigned intfileMeterAccumulatedcountMeterEmitWordmps_lib_stream_sCountcharstreamownermeterSrcIdlong long intMeterStructSrcIdlong intbuild_timemeter.cMeterWritelong unsigned intSrcIdStructunsigned charmeanbuild_datesigned charmps_lib_FILEshort unsigned inttotaldoublemeanSquaredamount/home/hannes/dylan/mps/codemeterGCC: (GNU) 3.4.6 [FreeBSD] 20060305.symtab.strtab.shstrtab.rel.text.rel.data.bss.debug_abbrev.rel.debug_info.rel.debug_line.debug_macinfo.rodata.str1.1.rodata.str1.4.rel.rodata.rodata.cst8.rel.debug_frame.rel.debug_pubnames.rel.debug_aranges.debug_str.comment4A t`)x% ԉ/|4|FB ܉ VR  bD'wq2k~m2~?  (0 $@` d  l0<%4 Z     $*.,d>IP<meter.cFileSrcIdStructmeterSrcIdMeterInitMeterAccumulateMeterWriteWriteFMeterEmitm        ' -  !%*18?MT[bipw~0EM[iw $1>K^imt     04PTx|splay.o/ 1169001566 1001 1001 100644 46888 ` ELF 4(UÉUÉUEU UP@ÉUE@ÍvUE@ÍvUE@ÍvUUE p0PRRUSU] [ÍvUSU] A@@[UVSUu YA~t3Vle[^ÐUVSUu CC~tsV3e[^ÐUWVS }U}t[M BEtHþ9tCsމ9uSW;]t؉vCSW;]u}t\U BMEBt[þ9t 3މ;EuSWy;]t؉6SW^;]utu WDe[^_UWVS}uU BEuE1uW։ÃuEU EPEE܉Evfw t`REmSWփtw t*%tMEPURzN; u EPUREPG{UREP(UREPCvEXSWփtwtP{ttUREP{u UREPUR-;t`EPUREPURz OuW։ÃuEPEPL#EPEPOuuuuuu EU B U؉e[^_UWVS ]u }{us{v3WSEPkuduWtu*sEPV@sEF{tuSEVS;Ѝe[^_ÐUWVS ]u }3WSEPth>uFCP~uCCFEC3WSEPu*EUP{tuSVЍe[^_ÍvUE 0uPEP8t UEÍvUVSu^;u EHF6u VEPuEX~tSVuVEe[^ÉUVSu^{u EKvCFC6u VEPluE~tSVuV|Ee[^ÉUWVS } ]u3VSEPuf}uEJuVtt0EVSUEUVSЍe[^_ÐUExu E0u PEPqEÍvUVS]u3VSEPIVSe[^UWVSu] }jhS…>t/WS6…uvjh S…u]SV׃…uL~t/jh$S…u-WSvd…ujh(S‰Ѝe[^_ÉUWVS E] PUp UPx;tVu3W҃uVuSWU҃Ѝe[^_ÍvUWVS E] PUp UPx{tVusW҃uVuSWU҃Ѝe[^_ÍvUWVS<] u}CEątWVPSUu AuЉ}ԋEEȋEẺ]hEPSEPUt UċEЍe[^_ÉUWVS<] u}CEątWVPSUu AuЉ}ԋEEȋEẺ]h4 EPSEPt UċEЍe[^_ÉUE Pt EÉUVSu] 6uVEPss3SVVe[^ÍvUVS]u j3h+Sh9V …u0{tuVs…ujhEV‰Ѝe[^C% $ > $ > : ; I I&I : ;  : ; I8 < : ; I  ' I I' .? : ; ' I@ : ; I .? : ; ' @ .: ; ' @ 4: ; I : ; I  4: ;I  .: ;' I@ : ;I : ;I 4: ;I  : ; U U.? : ;' I@ 4: ;I! : ;" : ;I8 # : ;I8 $: ;I%4: ;I&.? : ;' @ '4: ; I?  } M xDiintkBU/8kfE"/"l$#%#&#N'# o   ResE $*a ##$#!%a#lr8)a#4*a#L;   a   a  a3  a a a>D Y a 8+r&( U'2 U 1aw;2U9P9R:RI4IU HaPA_ULaU TaPfV_dyU^Pg|UfR faPZ{UzR_zSaURS=U'RVaS{SU'RVaSPTDUWtopa aaRaya| aSaVaP& 'aS'aV'aP~QDUPP keyQWQVYSYhtopTa`Ta\yTadUSVSu;N`QsaSxPpaSPSUS aVkeyWapV5TUS aVkeyW.ahdelapalPB)UBPBPkeyB Ca|oXa,UXVkeyX YaSYatY}aU}Vkey} ~aS~atUqWSkeyVap `aUP  a|h 6a USa V b at  U aV-SA3WresP! &"g!#""##p###s$a# "%#$& $&%   )1 Ukey(P (aS%:* +p,aVg-l.R/WC oH4 UkeyGP GaS%:I JpKaVgLlMRNW Pw  UsPsSgtPuvVvaW xaDHy Hc  UPSgPVaW aDH H  UPP aR&  UV aSkey b|at] & M US-VA3resPE'Bp /usr/include/usr/include/sys/usr/include/machinesplay.hmpmtypes.hconfig.hmpstd.hmisc.hstddef.hcdefs.h_null.h_types.h_types.hmpslib.hstdarg.hmpm.hcheck.hevent.heventcom.heventgen.hlock.hth.hring.hss.htract.hbt.hmpmst.hprotocol.hchain.hsplay.c'?=hVdtKgdtYgdrYerdY + dHf c rHt 9VVH-d HVV-ddWi,ZR::,h>Q,,::#dei,ZD,,,v>_,,,,#d  Hd;e(VsVƂ dsVXW UVN/VUV$+V3+V<WH %dTKX:,r.:r: cdV $__GNUCLIKE___OFFSETOF 1?__GNUCLIKE___SECTION 1A__GNUCLIKE_ATTRIBUTE_MODE_DI 1D__GNUCLIKE_CTOR_SECTION_HANDLING 1G__GNUCLIKE_BUILTIN_CONSTANT_P 1N__GNUCLIKE_BUILTIN_VARARGS 1O__GNUCLIKE_BUILTIN_STDARG 1P__GNUCLIKE_BUILTIN_VAALIST 1T__GNUC_VA_LIST_COMPATIBILITY 1X__GNUCLIKE_BUILTIN_NEXT_ARG 1Y__GNUCLIKE_MATH_BUILTIN_RELOPS \__GNUCLIKE_BUILTIN_MEMCPY 1___CC_SUPPORTS_INLINE 1`__CC_SUPPORTS___INLINE 1a__CC_SUPPORTS___INLINE__ 1c__CC_SUPPORTS___FUNC__ 1d__CC_SUPPORTS_WARNING 1f__CC_SUPPORTS_VARADIC_XXX 1h__CC_SUPPORTS_DYNAMIC_ARRAY_INIT 1k__CC_INT_IS_32BIT 1s__GNUC_PREREQ__(ma,mi) (__GNUC__ > (ma) || __GNUC__ == (ma) && __GNUC_MINOR__ >= (mi))__P(protos) protos__CONCAT1(x,y) x ## y__CONCAT(x,y) __CONCAT1(x,y)__STRING(x) #x__XSTRING(x) __STRING(x)__const const__signed signed__volatile volatile__dead2 __attribute__((__noreturn__))__pure2 __attribute__((__const__))__unused __attribute__((__unused__))__used __attribute__((__used__))__packed __attribute__((__packed__))__aligned(x) __attribute__((__aligned__(x)))__section(x) __attribute__((__section__(x)))__pure __attribute__((__pure__))__always_inline __attribute__((__always_inline__))__nonnull(x) __attribute__((__nonnull__(x)))__restrict __predict_true(exp) __builtin_expect((exp), 1)__predict_false(exp) __builtin_expect((exp), 0)__offsetof(type,field) ((size_t)(&((type *)0)->field))__rangeof(type,start,end) (__offsetof(type, end) - __offsetof(type, start))__printflike(fmtarg,firstvararg) __attribute__((__format__ (__printf__, fmtarg, firstvararg)))__scanflike(fmtarg,firstvararg) __attribute__((__format__ (__scanf__, fmtarg, firstvararg)))__format_arg(fmtarg) __attribute__((__format_arg__ (fmtarg)))__printf0like(fmtarg,firstvararg) __attribute__((__format__ (__printf0__, fmtarg, firstvararg)))__strong_reference(sym,aliassym) extern __typeof (sym) aliassym __attribute__ ((__alias__ (#sym)));__weak_reference(sym,alias) __asm__(".weak " #alias); __asm__(".equ " #alias ", " #sym)__warn_references(sym,msg) __asm__(".section .gnu.warning." #sym); __asm__(".asciz \"" msg "\""); __asm__(".previous")__IDSTRING(name,string) __asm__(".ident\t\"" string "\"")__FBSDID(s) __IDSTRING(__CONCAT(__rcsid_,__LINE__),s)__RCSID(s) __IDSTRING(__CONCAT(__rcsid_,__LINE__),s)__RCSID_SOURCE(s) __IDSTRING(__CONCAT(__rcsid_source_,__LINE__),s)__SCCSID(s) __IDSTRING(__CONCAT(__sccsid_,__LINE__),s)__COPYRIGHT(s) __IDSTRING(__CONCAT(__copyright_,__LINE__),s)__DECONST(type,var) ((type)(uintptr_t)(const void *)(var))__DEVOLATILE(type,var) ((type)(uintptr_t)(volatile void *)(var))__DEQUALIFY(type,var) ((type)(uintptr_t)(const volatile void *)(var))__POSIX_VISIBLE 200112__XSI_VISIBLE 600__BSD_VISIBLE 1__ISO_C_VISIBLE 1999* NULL ((void *)0)+ _SYS__TYPES_H_ ! (_MACHINE__TYPES_H_ .__NO_STRICT_ALIGNMENT __GNUC_VA_LIST 2_RUNE_T_DECLARED 8_SIZE_T_DECLARED >_WCHAR_T_DECLARED Boffsetof(type,member) __offsetof(type, member)*SRCID(id,scmid) static SrcIdStruct FileSrcIdStruct = {__FILE__, (scmid), __DATE__, __TIME__}; SrcId id ## SrcId = &FileSrcIdStruct;BEGIN do {> (i)) & 1)BS_UNION(s1,s2) ((s1) | (s2))BS_ADD(ty,s,i) BS_UNION((s), BS_SINGLE(ty, (i)))BS_INTER(s1,s2) ((s1) & (s2))BS_DIFF(s1,s2) BS_INTER((s1), BS_COMP(s2))BS_DEL(ty,s,i) BS_DIFF((s), BS_SINGLE(ty, (i)))BS_SUPER(s1,s2) (BS_INTER((s1), (s2)) == (s2))BS_SUB(s1,s2) BS_SUPER((s2), (s1))BS_IS_SINGLE(s) (((s) & ((s)-1)) == 0)BS_SYM_DIFF(s1,s2) ((s1) ^ (s2)) mpslib_h mps_lib_EOF (mps_lib_get_EOF())mps_lib_stderr (mps_lib_get_stderr())mps_lib_stdout (mps_lib_get_stdout()) '_MACHINE_STDARG_H_ -_VA_LIST_DECLARED 3va_start(ap,last) __builtin_stdarg_start((ap), (last))6va_arg(ap,type) __builtin_va_arg((ap), type):va_copy(dest,src) __builtin_va_copy((dest), (src))>va_end(ap) __builtin_va_end(ap)SigInvalid ((Sig)0x51915BAD)SizeMAX ((Size)-1)AccessSetEMPTY ((AccessSet)0)AccessREAD ((AccessSet)(1<<0))AccessWRITE ((AccessSet)(1<<1))AccessSetWIDTH (2)RefSetEMPTY BS_EMPTY(RefSet)RefSetUNIV BS_UNIV(RefSet)ZoneSetEMPTY BS_EMPTY(ZoneSet)ZoneSetUNIV BS_UNIV(ZoneSet)TraceSetEMPTY BS_EMPTY(TraceSet)TraceSetUNIV ((TraceSet)((1u << TraceLIMIT) - 1))RankSetEMPTY BS_EMPTY(RankSet)RankSetUNIV ((RankSet)((1u << RankLIMIT) - 1))AttrFMT ((Attr)(1<<0))AttrSCAN ((Attr)(1<<1))AttrPM_NO_READ ((Attr)(1<<2))AttrPM_NO_WRITE ((Attr)(1<<3))AttrALLOC ((Attr)(1<<4))AttrFREE ((Attr)(1<<5))AttrBUF ((Attr)(1<<6))AttrBUF_RESERVE ((Attr)(1<<7))AttrBUF_ALLOC ((Attr)(1<<8))AttrGC ((Attr)(1<<9))AttrINCR_RB ((Attr)(1<<10))AttrINCR_WB ((Attr)(1<<11))AttrMOVINGGC ((Attr)(1<<12))AttrMASK (AttrFMT | AttrSCAN | AttrPM_NO_READ | AttrPM_NO_WRITE | AttrALLOC | AttrFREE | AttrBUF | AttrBUF_RESERVE | AttrBUF_ALLOC | AttrGC | AttrINCR_RB | AttrINCR_WB | AttrMOVINGGC)BufferModeATTACHED ((BufferMode)(1<<0))BufferModeFLIPPED ((BufferMode)(1<<1))BufferModeLOGGED ((BufferMode)(1<<2))BufferModeTRANSITION ((BufferMode)(1<<3))RootModeCONSTANT ((RootMode)1<<0)RootModePROTECTABLE ((RootMode)1<<1)RootModePROTECTABLE_INNER ((RootMode)1<<2)STATISTIC_DECL(field) field  mpm_h check_h 0AVER(cond) DISCARD(cond)1AVERT(type,val) DISCARD(type ## Check(val))2AVER_CRITICAL(cond) DISCARD(cond)3AVERT_CRITICAL(type,val) DISCARD(type ## Check(val))MASSERT(cond,condstring) BEGIN if (cond) NOOP; else mps_lib_assert_fail(condstring "\n" __FILE__ "\n" STR(__LINE__)); END_NOTREACHED NOOPjCHECKT(type,val) ((val) != NULL && (val)->sig == type ## Sig)pCHECKS(type,val) DISCARD(CHECKT(type, val))qCHECKL(cond) DISCARD(cond)rCHECKD(type,val) DISCARD(CHECKT(type, val))sCHECKD_NOSIG(type,val) DISCARD((val) != NULL)tCHECKU(type,val) DISCARD(CHECKT(type, val))uCHECKU_NOSIG(type,val) DISCARD((val) != NULL)CHECKLVALUE(lv1,lv2) ((void)sizeof((lv1) = (lv2)), (void)sizeof((lv2) = (lv1)), TRUE)CHECKTYPE(t1,t2) (sizeof(t1) == sizeof(t2) && CHECKLVALUE(*((t1 *)0), *((t2 *)0)))CHECKFIELDAPPROX(s1,f1,s2,f2) (sizeof(((s1 *)0)->f1) == sizeof(((s2 *)0)->f2) && offsetof(s1, f1) == offsetof(s2, f2))CHECKFIELD(s1,f1,s2,f2) (CHECKFIELDAPPROX(s1, f1, s2, f2) && CHECKLVALUE(((s1 *)0)->f1, ((s2 *)0)->f2))event_h  eventcom_h !EventNameMAX ((size_t)19)"EventCodeMAX ((EventCode)0x0069)&EVENT_0(type) NOOPEVENT_A(type,p0) NOOPEVENT_AW(type,p0,p1) NOOPEVENT_P(type,p0) NOOPEVENT_PAA(type,p0,p1,p2) NOOPEVENT_PAW(type,p0,p1,p2) NOOPEVENT_PAWA(type,p0,p1,p2,p3) NOOPEVENT_PDDWWW(type,p0,p1,p2,p3,p4,p5) NOOPEVENT_PP(type,p0,p1) NOOPEVENT_PPAU(type,p0,p1,p2,p3) NOOPEVENT_PPAWP(type,p0,p1,p2,p3,p4) NOOPEVENT_PPP(type,p0,p1,p2) NOOPEVENT_PPPA(type,p0,p1,p2,p3) NOOPEVENT_PPPU(type,p0,p1,p2,p3) NOOPEVENT_PPPUU(type,p0,p1,p2,p3,p4) NOOPEVENT_PPU(type,p0,p1,p2) NOOPEVENT_PPUU(type,p0,p1,p2,p3) NOOPEVENT_PPUWWW(type,p0,p1,p2,p3,p4,p5) NOOPEVENT_PPWW(type,p0,p1,p2,p3) NOOPEVENT_PPWWW(type,p0,p1,p2,p3,p4) NOOPEVENT_PPWWWUUU(type,p0,p1,p2,p3,p4,p5,p6,p7) NOOPEVENT_PU(type,p0,p1) NOOPEVENT_PW(type,p0,p1) NOOPEVENT_PWA(type,p0,p1,p2) NOOPEVENT_PWAW(type,p0,p1,p2,p3) NOOPEVENT_PWP(type,p0,p1,p2) NOOPEVENT_PWU(type,p0,p1,p2) NOOPEVENT_PWW(type,p0,p1,p2) NOOPEVENT_PWWWWDD(type,p0,p1,p2,p3,p4,p5,p6) NOOPEVENT_PWWWWW(type,p0,p1,p2,p3,p4,p5) NOOPEVENT_PWWWWWWWWW(type,p0,p1,p2,p3,p4,p5,p6,p7,p8,p9) NOOPEVENT_PWWWWWWWWWWWW(type,p0,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11,p12) NOOPEVENT_UUPA(type,p0,p1,p2,p3) NOOPEVENT_UUPP(type,p0,p1,p2,p3) NOOPEVENT_UUPPP(type,p0,p1,p2,p3,p4) NOOPEVENT_WS(type,p0,p1,l1) NOOP:EventEventTime ((EventType)0xEF213E99);EventPoolInit ((EventType)0xEFB07141)EventPoolFree ((EventType)0xEFB07F6E)?EventArenaCreateVM ((EventType)0xEFA64CF3)@EventArenaCreateVMNZ ((EventType)0xEFA64CF2)AEventArenaCreateCL ((EventType)0xEFA64CC7)BEventArenaDestroy ((EventType)0xEFA64DE5)CEventArenaAlloc ((EventType)0xEFA64A77)DEventArenaFree ((EventType)0xEFA64F6E)EEventSegAlloc ((EventType)0xEF5E9A77)FEventSegFree ((EventType)0xEF5E9F6E)GEventSegMerge ((EventType)0xEF5E93E6)HEventSegSplit ((EventType)0xEF5E95B7)IEventAMCGenCreate ((EventType)0xEFA3C94C)JEventAMCGenDestroy ((EventType)0xEFA3C94D)KEventAMCInit ((EventType)0xEFA3C141)LEventAMCFinish ((EventType)0xEFA3CF14)MEventAMCTraceBegin ((EventType)0xEFA3C26B)NEventAMCScanBegin ((EventType)0xEFA3C5CB)OEventAMCScanEnd ((EventType)0xEFA3C5CE)PEventAMCFix ((EventType)0xEFA3CF18)QEventAMCFixInPlace ((EventType)0xEFA3CF8A)REventAMCFixForward ((EventType)0xEFA3CF8F)SEventAMCReclaim ((EventType)0xEFA3C6EC)TEventTraceStart ((EventType)0xEF26AC52)UEventTraceCreate ((EventType)0xEF26ACC6)VEventTraceDestroy ((EventType)0xEF26ACDE)WEventSegSetGrey ((EventType)0xEF59596A)XEventTraceFlipBegin ((EventType)0xEF26AF7B)YEventTraceFlipEnd ((EventType)0xEF26AF7E)ZEventTraceReclaim ((EventType)0xEF26A6EC)[EventTraceScanSeg ((EventType)0xEF26A559)\EventTraceScanSingleRef ((EventType)0xEF26A556)^EventTraceAccess ((EventType)0xEF26AACC)_EventTracePoll ((EventType)0xEF26AB01)`EventTraceStep ((EventType)0xEF26A52B)aEventTraceFix ((EventType)0xEF26AF18)bEventTraceFixSeg ((EventType)0xEF26AF85)cEventTraceFixWhite ((EventType)0xEF26AF83)dEventTraceScanArea ((EventType)0xEF26A5CA)eEventTraceScanAreaTagged ((EventType)0xEF26A5C2)fEventVMCreate ((EventType)0xEFF3C6EA)gEventVMDestroy ((EventType)0xEFF3DE52)hEventVMMap ((EventType)0xEFF33AB9)iEventVMUnmap ((EventType)0xEFF3043B)jEventIntern ((EventType)0xEF142E64)kEventArenaExtend ((EventType)0xEFA64E82)lEventArenaRetract ((EventType)0xEFA646E2)mEventRootScan ((EventType)0xEF625CA4)nEventLabel ((EventType)0xEF7ABE79)oEventTraceSegGreyen ((EventType)0xEF26A599)pEventBufferReserve ((EventType)0xEFB0FF6E)qEventBufferCommit ((EventType)0xEFB0FFC0)rEventBufferInit ((EventType)0xEFB0FF14)sEventBufferInitSeg ((EventType)0xEFB0F15E)tEventBufferInitRank ((EventType)0xEFB0F16A)uEventBufferInitEPVM ((EventType)0xEFB0F1EF)vEventBufferFinish ((EventType)0xEFB0FFF1)wEventBufferFill ((EventType)0xEFB0FFF7)xEventBufferEmpty ((EventType)0xEFB0FFE3)yEventArenaAllocFail ((EventType)0xEFA64A7F)zEventSegAllocFail ((EventType)0xEF5E9A7F){EventMeterInit ((EventType)0xEF3E2141)|EventMeterValues ((EventType)0xEF3E2FA7)}EventCBSInit ((EventType)0xEFCB5141)~EventTraceStatCondemn ((EventType)0xEF26A5C0)EventTraceStatScan ((EventType)0xEF26A55C)EventTraceStatFix ((EventType)0xEF26A5F8)EventTraceStatReclaim ((EventType)0xEF26A56E)EventArenaWriteFaults ((EventType)0xEFA6436F)EventPoolInitMV ((EventType)0xEFB0713F)EventPoolInitMVFF ((EventType)0xEFB071FF)EventPoolInitMFS ((EventType)0xEFB07135)EventPoolInitEPVM ((EventType)0xEFB071EF)EventPoolInitEPDL ((EventType)0xEFB071E7)EventPoolInitAMS ((EventType)0xEFB071A5)EventPoolInitAMC ((EventType)0xEFB071AC)EventPoolInitAMCZ ((EventType)0xEFB071A2)EventPoolInitAWL ((EventType)0xEFB071A3)EventPoolInitLO ((EventType)0xEFB07170)EventPoolInitSNC ((EventType)0xEFB07154)EventPoolInitMVT ((EventType)0xEFB07132)EventPoolPush ((EventType)0xEFB07B58)EventPoolPop ((EventType)0xEFB07B0B)EventReservoirLimitSet ((EventType)0xEF6E5713)EventCommitLimitSet ((EventType)0xEFC03713)EventSpareCommitLimitSet ((EventType)0xEF5BC713) hEventInit() NOOPiEventFinish() NOOPjEventControl(r,f) (UNUSED(r), UNUSED(f), (Word)0)kEventInternString(s) (UNUSED(s), (Word)0)lEventInternGenString(l,s) (UNUSED(l), UNUSED(s), (Word)0)mEventLabelAddr(a,i) BEGIN UNUSED(a); UNUSED(i); ENDPlock_h ULockSig ((Sig)0x51970CC9) th_h  ring_h RingNONE ((Ring)0)$RingInit(ring) BEGIN Ring _ring = (ring); AVER(_ring != NULL); _ring->next = _ring; _ring->prev = _ring; AVER(RingCheck(_ring)); END/RingFinish(ring) BEGIN Ring _ring = (ring); AVER(RingCheckSingle(_ring)); _ring->next = RingNONE; _ring->prev = RingNONE; END9RingAppend(ring,new) BEGIN Ring _ring = (ring), _new = (new); AVER(RingCheck(_ring)); AVER(RingCheckSingle(_new)); _new->prev = _ring->prev; _new->next = _ring; _ring->prev->next = _new; _ring->prev = _new; ENDFRingInsert(ring,new) BEGIN Ring _ring = (ring), _new = (new); AVER(RingCheck(_ring)); AVER(RingCheckSingle(_new)); _new->prev = _ring; _new->next = _ring->next; _ring->next->prev = _new; _ring->next = _new; ENDSRingRemove(old) BEGIN Ring _old = (old); AVER(RingCheck(_old)); AVER(!RingIsSingle(_old)); _old->next->prev = _old->prev; _old->prev->next = _old->next; _old->next = _old; _old->prev = _old; END`RingNext(ring) ((ring)->next)dRingPrev(ring) ((ring)->prev)gRING_ELT(type,field,node) ((type)(void *)((char *)(node) - (size_t)(&((type)0)->field)))kRING_FOR(node,ring,next) for(node = RingNext(ring), next = RingNext(node); node != (ring); node = (next), next = RingNext(node))ThreadSig ((Sig)0x519286ED) ss_h  tract_h   bt_h BTSize(n) (((n) + MPS_WORD_WIDTH-1) / MPS_WORD_WIDTH * sizeof(Word))BTGet(a,i) ((Bool)(((a)[((i) >> MPS_WORD_SHIFT)] >> ((i) & ~((Word)-1 << MPS_WORD_SHIFT))) & (Word)1))BTSet(a,i) BEGIN (a)[((i)>>MPS_WORD_SHIFT)] |= (Word)1<<((i)&~((Word)-1<>MPS_WORD_SHIFT)] &= ~((Word)1 << ((i) & ~((Word)-1<base)&TractPool(tract) ((tract)->pool)'TractP(tract) ((tract)->p)(TractSetP(tract,pp) ((void)((tract)->p = (pp))))TractHasSeg(tract) ((Bool)(tract)->hasSeg)*TractSetHasSeg(tract,b) ((void)((tract)->hasSeg = (b)))+TractWhite(tract) ((tract)->white),TractSetWhite(tract,w) ((void)((tract)->white = (w)))8TRACT_SEG(segReturn,tract) (TractHasSeg(tract) && ((*(segReturn) = (Seg)TractP(tract)), TRUE));TRACT_SET_SEG(tract,seg) (TractSetHasSeg(tract, TRUE), TractSetP(tract, seg))>TRACT_UNSET_SEG(tract) (TractSetHasSeg(tract, FALSE), TractSetP(tract, NULL))nPageTract(page) (&(page)->the.tractStruct)rPageOfTract(tract) PARENT(PageStruct, the.tractStruct, (tract))vPagePool(page) ((page)->the.rest.pool)}PageIsAllocated(page) ((page)->the.rest.pool != NULL)PageType(page) ((page)->the.rest.type)ChunkSig ((Sig)0x519C804C)ChunkArena(chunk) ((chunk)->arena)ChunkPageSize(chunk) ((chunk)->pageSize)ChunkPageShift(chunk) ((chunk)->pageShift)ChunkPagesToSize(chunk,pages) ((Size)(pages) << (chunk)->pageShift)ChunkSizeToPages(chunk,size) ((Count)((size) >> (chunk)->pageShift))CHUNK_OF_ADDR(chunkReturn,arena,addr) (((arena)->chunkCache.base <= (addr) && (addr) < (arena)->chunkCache.limit) ? (*(chunkReturn) = (arena)->chunkCache.chunk, TRUE) : ChunkOfAddr(chunkReturn, arena, addr))AddrPageBase(chunk,addr) AddrAlignDown((addr), ChunkPageSize(chunk))TRACT_OF_ADDR(tractReturn,arena,addr) BEGIN Arena _arena = (arena); Addr _addr = (addr); Chunk _chunk; Index _i; if (CHUNK_OF_ADDR(&_chunk, _arena, _addr)) { _i = INDEX_OF_ADDR(_chunk, _addr); if (BTGet(_chunk->allocTable, _i)) *(tractReturn) = PageTract(&_chunk->pageTable[_i]); else *(tractReturn) = NULL; } else *(tractReturn) = NULL; ENDINDEX_OF_ADDR(chunk,addr) ((Index)ChunkSizeToPages(chunk, AddrOffset((chunk)->base, addr)))PageIndexBase(chunk,i) AddrAdd((chunk)->base, ChunkPagesToSize(chunk, i))TractAverContiguousRange(arena,rangeBase,rangeLimit) BEGIN Chunk _ch = NULL; UNUSED(_ch); AVER(ChunkOfAddr(&_ch, arena, rangeBase) && (rangeLimit) <= _ch->limit); ENDTRACT_TRACT_FOR(tract,addr,arena,firstTract,limit) tract = (firstTract); addr = TractBase(tract); TractAverContiguousRange(arena, addr, limit); for(; tract != NULL; (addr = AddrAdd(addr, (arena)->alignment)), (addr < (limit) ? (tract = PageTract(PageOfTract(tract) + 1)) : (tract = NULL) ))TRACT_FOR(tract,addr,arena,base,limit) TRACT_TRACT_FOR(tract, addr, arena, TractOfBaseAddr(arena, base), limit)mpmst_h protocol_h DERIVE_LOCAL(name) protocol ## nameDERIVE_STRUCT(name) name ## StructDERIVE_ENSURE(name) name ## GetDERIVE_ENSURE_OLD(name) Ensure ## nameDERIVE_ENSURE_INTERNAL(name) protocolGet ## nameDERIVE_GUARDIAN(name) protocol ## name ## GuardianDERIVE_STATIC_STORAGE(name) protocol ## name ## StructProtocolClassSetSuperclassPoly(class,super) (((ProtocolClass)(class))->superclass) = (ProtocolClass)(super)$DEFINE_CLASS(className,var) static Bool DERIVE_GUARDIAN(className) = FALSE; static DERIVE_STRUCT(className) DERIVE_STATIC_STORAGE(className); static void DERIVE_ENSURE_INTERNAL(className)(className); extern className DERIVE_ENSURE(className)(void); className DERIVE_ENSURE(className)(void) { if (DERIVE_GUARDIAN(className) == FALSE) { LockClaimGlobalRecursive(); if (DERIVE_GUARDIAN(className) == FALSE) { DERIVE_ENSURE_INTERNAL(className) (&DERIVE_STATIC_STORAGE(className)); DERIVE_GUARDIAN(className) = TRUE; } LockReleaseGlobalRecursive(); } return &DERIVE_STATIC_STORAGE(className); } extern className DERIVE_ENSURE_OLD(className)(void); className DERIVE_ENSURE_OLD(className)(void) { return DERIVE_ENSURE(className)(); } static void DERIVE_ENSURE_INTERNAL(className) (className var)AINHERIT_CLASS(this,parentName) BEGIN parentName DERIVE_LOCAL(parentName) = DERIVE_ENSURE(parentName)(); *this = *(DERIVE_LOCAL(parentName)); ProtocolClassSetSuperclassPoly(this, DERIVE_LOCAL(parentName)); ENDODEFINE_ALIAS_CLASS(className,typeName,var) typedef typeName className; typedef DERIVE_STRUCT(typeName) DERIVE_STRUCT(className); DEFINE_CLASS(className, var)VProtocolClassSig ((Sig)0x519B60C7)WProtocolInstSig ((Sig)0x519B6014)ProtocolClassSuperclassPoly(class) (((ProtocolClass)(class))->superclass)ClassOfPoly(inst) ((ProtocolInst)(inst)->class)IsSubclassPoly(sub,super) ProtocolIsSubclass((ProtocolClass)(sub), (ProtocolClass)(super))SUPERCLASS(className) ProtocolClassSuperclassPoly(DERIVE_ENSURE(className)())chain_h GenDescSig ((Sig)0x5199E4DE)+PoolGenSig ((Sig)0x519B009E);ChainSig ((Sig)0x519C8A14)XPoolGenNr(gen) ((gen)->nr)/PoolClassSig ((Sig)0x519C7A55)]PoolSig ((Sig)0x519B0019)}MFSSig ((Sig)0x5193F599)MVSig ((Sig)0x5193B999)ReservoirSig ((Sig)0x5196e599)MessageClassSig ((Sig)0x519359c1)MessageSig ((Sig)0x5193e559)SegClassSig ((Sig)0x5195E9C7)SegSig ((Sig)0x5195E999)GCSegSig ((Sig)0x5199C5E9)SegPrefSig ((Sig)0x5195E9B6)BufferClassSig ((Sig)0x519B0FC7)BufferSig ((Sig)0x519B0FFE)SegBufSig ((Sig)0x51959B0F)FormatSig ((Sig)0x519F63A2)ScanStateSig ((Sig)0x5195CA45)TraceSig ((Sig)0x51924ACE)ChunkCacheEntrySig ((Sig)0x519C80CE)ArenaClassSig ((Sig)0x519A6C1A)GlobalsSig ((Sig)0x519970BA)ArenaSig ((Sig)0x519A6E4A)%BoolCheck(b) ((unsigned)(b) <= 1)(FUNCHECK(f) (FunCheck((Fun)f))4WordIsAligned(w,a) (((w) & ((a) - 1)) == 0)7WordAlignUp(w,a) (((w) + (a) - 1) & ~((Word)(a) - 1));WordRoundUp(w,r) (((w)+(r)-1) - ((w)+(r)-1)%(r))>WordAlignDown(w,a) ((w) & ~((Word)(a) - 1))@size_tAlignUp(s,a) ((size_t)WordAlignUp((Word)(s), a))BPointerAdd(p,s) ((void *)((char *)(p) + (s)))CPointerSub(p,s) ((void *)((char *)(p) - (s)))EPointerOffset(base,limit) ((size_t)((char *)(limit) - (char *)(base)))HPointerAlignUp(p,s) ((void *)WordAlignUp((Word)(p), (Align)(s)))KAddrAdd(p,s) ((Addr)PointerAdd((void *)(p), s))LAddrSub(p,s) ((Addr)PointerSub((void *)(p), s))NAddrOffset(b,l) ((Size)(PointerOffset((void *)(b), (void *)(l))))RAddrAlignDown(p,a) ((Addr)WordAlignDown((Word)(p), a))TAlignWord(s) ((Word)(s))VAddrIsAligned(p,a) WordIsAligned((Word)(p), a)WAddrAlignUp(p,a) ((Addr)WordAlignUp((Word)(p), a))YSizeIsAligned(s,a) WordIsAligned((Word)(s), a)ZSizeAlignUp(s,a) ((Size)WordAlignUp((Word)(s), a))[SizeAlignDown(s,a) ((Size)WordAlignDown((Word)(s), a))]SizeRoundUp(s,r) ((Size)WordRoundUp((Word)(s), (Size)(r)))_IndexIsAligned(s,a) WordIsAligned((Word)(s), a)`IndexAlignUp(s,a) ((Index)WordAlignUp((Word)(s), a))aIndexAlignDown(s,a) ((Index)WordAlignDown((Word)(s), a))cAlignIsAligned(a1,a2) WordIsAligned((Word)(a1), a2)iAddrSet(target,value,size) mps_lib_memset(target, (int)(value), size)mAddrCopy(target,source,size) mps_lib_memcpy(target, source, size)qAddrComp(a,b,size) mps_lib_memcmp(a, b, size)wADDR_PTR(type,addr) ((type *)(addr))PoolArena(pool) ((pool)->arena)PoolAlignment(pool) ((pool)->alignment)PoolSegRing(pool) (&(pool)->segRing)PoolFix(pool,ss,seg,refIO) ((*(pool)->fix)(pool, ss, seg, refIO))ClassOfPool(pool) ((pool)->class)SuperclassOfPool(pool) ((PoolClass)ProtocolClassSuperclassPoly((pool)->class))DEFINE_POOL_CLASS(className,var) DEFINE_ALIAS_CLASS(className, PoolClass, var)POOL_SUPERCLASS(className) ((PoolClass)SUPERCLASS(className))TraceSetSingle(trace) BS_SINGLE(TraceSet, (trace)->ti)TraceSetIsSingle(ts) BS_IS_SINGLE(ts)TraceSetIsMember(ts,trace) BS_IS_MEMBER(ts, (trace)->ti)TraceSetAdd(ts,trace) BS_ADD(TraceSet, ts, (trace)->ti)TraceSetDel(ts,trace) BS_DEL(TraceSet, ts, (trace)->ti)TraceSetUnion(ts1,ts2) BS_UNION(ts1, ts2)TraceSetInter(ts1,ts2) BS_INTER(ts1, ts2)TraceSetDiff(ts1,ts2) BS_DIFF(ts1, ts2)TraceSetSuper(ts1,ts2) BS_SUPER(ts1, ts2)TraceSetSub(ts1,ts2) BS_SUB(ts1, ts2)TraceSetComp(ts) BS_COMP(ts)TRACE_SET_ITER(ti,trace,ts,arena) for(ti = 0, trace = ArenaTrace(arena, ti); ti < TraceLIMIT; ++ti, trace = ArenaTrace(arena, ti)) BEGIN if (TraceSetIsMember(ts, trace)) {TRACE_SET_ITER_END(ti,trace,ts,arena) } ENDTRACE_SCAN_BEGIN(ss) BEGIN Shift SCANzoneShift = (ss)->zoneShift; ZoneSet SCANwhite = (ss)->white; RefSet SCANsummary = (ss)->unfixedSummary; Word SCANt; {TRACE_FIX1(ss,ref) (SCANt = (Word)1 << ((Word)(ref) >> SCANzoneShift & (MPS_WORD_WIDTH-1)), SCANsummary |= SCANt, SCANwhite & SCANt)TRACE_FIX2(ss,refIO) ((*(ss)->fix)(ss, refIO))TRACE_FIX(ss,refIO) (TRACE_FIX1(ss, *(refIO)) ? TRACE_FIX2(ss, refIO) : ResOK)TRACE_SCAN_END(ss) } (ss)->unfixedSummary = SCANsummary; ENDDEFINE_ARENA_CLASS(className,var) DEFINE_ALIAS_CLASS(className, ArenaClass, var)ARENA_SUPERCLASS(className) ((ArenaClass)SUPERCLASS(className))ArenaGlobals(arena) (&(arena)->globals)GlobalsArena(glob) PARENT(ArenaStruct, globals, glob)ArenaRootRing(arena) (&(arena)->rootRing)ArenaTraceRing(arena) (&(arena)->traceRing)ArenaThreadRing(arena) (&(arena)->threadRing)ArenaEpoch(arena) ((arena)->epoch)ArenaTrace(arena,ti) (&(arena)->trace[ti])ArenaZoneShift(arena) ((arena)->zoneShift)ArenaAlign(arena) ((arena)->alignment)ArenaGreyRing(arena,rank) (&(arena)->greyRing[rank])ArenaReservoir(arena) (&(arena)->reservoirStruct)DEFINE_SEG_CLASS(className,var) DEFINE_ALIAS_CLASS(className, SegClass, var)SEG_SUPERCLASS(className) ((SegClass)SUPERCLASS(className))ClassOfSeg(seg) ((seg)->class)SegBase(seg) (TractBase((seg)->firstTract))SegLimit(seg) ((seg)->limit)SegPool(seg) (TractPool((seg)->firstTract))SegRankSet(seg) ((RankSet)(seg)->rankSet)SegPM(seg) ((AccessSet)(seg)->pm)SegSM(seg) ((AccessSet)(seg)->sm)SegDepth(seg) ((unsigned)(seg)->depth)SegGrey(seg) ((TraceSet)(seg)->grey)SegWhite(seg) ((TraceSet)(seg)->white)SegNailed(seg) ((TraceSet)(seg)->nailed)SegOfPoolRing(node) (RING_ELT(Seg, poolRing, (node)))SegOfGreyRing(node) (&(RING_ELT(GCSeg, greyRing, (node)) ->segStruct))SegSummary(seg) (((GCSeg)(seg))->summary)SegSetPM(seg,mode) ((void)((seg)->pm = (mode)))SegSetSM(seg,mode) ((void)((seg)->sm = (mode)))SegSetDepth(seg,d) ((void)((seg)->depth = (d)))SegSetNailed(seg,ts) ((void)((seg)->nailed = (ts)))BUFFER_RESERVE(pReturn,buffer,size,withReservoirPermit) (AddrAdd(BufferAlloc(buffer), size) > BufferAlloc(buffer) && AddrAdd(BufferAlloc(buffer), size) <= BufferAP(buffer)->limit ? (*(pReturn) = BufferAlloc(buffer), BufferAP(buffer)->alloc = AddrAdd(BufferAlloc(buffer), size), ResOK) : BufferFill(pReturn, buffer, size, withReservoirPermit))BUFFER_COMMIT(buffer,p,size) (BufferAP(buffer)->init = BufferAlloc(buffer), BufferAP(buffer)->limit != 0 || BufferTrip(buffer, p, size))BufferAP(buffer) (&(buffer)->apStruct)BufferOfAP(ap) PARENT(BufferStruct, apStruct, ap)BufferArena(buffer) ((buffer)->arena)BufferPool(buffer) ((buffer)->pool)BufferBase(buffer) ((buffer)->base)BufferGetInit(buffer) (BufferAP(buffer)->init)BufferAlloc(buffer) (BufferAP(buffer)->alloc)BufferLimit(buffer) ((buffer)->poolLimit)DEFINE_BUFFER_CLASS(className,var) DEFINE_ALIAS_CLASS(className, BufferClass, var)BUFFER_SUPERCLASS(className) ((BufferClass)SUPERCLASS(className))RankSetIsMember(rs,r) BS_IS_MEMBER((rs), (r))RankSetSingle(r) BS_SINGLE(RankSet, (r))RankSetIsSingle(r) BS_IS_SINGLE(r)RankSetUnion(rs1,rs2) BS_UNION((rs1), (rs2))RankSetDel(rs,r) BS_DEL(RankSet, (rs), (r))AddrZone(arena,addr) (((Word)(addr) >> (arena)->zoneShift) & (MPS_WORD_WIDTH - 1))RefSetUnion(rs1,rs2) BS_UNION((rs1), (rs2))RefSetInter(rs1,rs2) BS_INTER((rs1), (rs2))RefSetDiff(rs1,rs2) BS_DIFF((rs1), (rs2))RefSetAdd(arena,rs,addr) BS_ADD(RefSet, rs, AddrZone(arena, addr))RefSetIsMember(arena,rs,addr) BS_IS_MEMBER(rs, AddrZone(arena, addr))RefSetSuper(rs1,rs2) BS_SUPER((rs1), (rs2))RefSetSub(rs1,rs2) BS_SUB((rs1), (rs2))ZoneSetUnion(zs1,zs2) BS_UNION(zs1, zs2)ZoneSetInter(zs1,zs2) BS_INTER(zs1, zs2)ZoneSetDiff(zs1,zs2) BS_DIFF(zs1, zs2)ZoneSetAdd(arena,zs,addr) BS_ADD(ZoneSet, zs, AddrZone(arena, addr))ZoneSetIsMember(arena,zs,addr) BS_IS_MEMBER(zs, AddrZone(arena, addr))ZoneSetSub(zs1,zs2) BS_SUB(zs1, zs2)ZoneSetSuper(zs1,zs2) BS_SUPER(zs1, zs2)ZoneSetComp(zs) BS_COMP(zs)STATISTIC(gather) BEGIN (gather); ENDSTATISTIC_STAT(gather) BEGIN gather; ENDSTATISTIC_WRITE(format,arg) (format), (arg),SplayTreeRoot(t) RVALUE((t)->root)SplayTreeSetRoot(t,r) BEGIN ((t)->root = (r)); ENDSplayNodeLeftChild(n) RVALUE((n)->left)SplayNodeSetLeftChild(n,child) BEGIN ((n)->left = (child)); ENDSplayNodeRightChild(n) RVALUE((n)->right)SplayNodeSetRightChild(n,child) BEGIN ((n)->right = (child)); END#SplayCompare(tree,key,node) (((tree)->compare)((key), (node)))splay.cJan 17 200703:39:26( / \ ) compare $F Splay $P { } $Id: //info.ravenbrook.com/project/mps/master/code/splay.c#10 $|  AB  AB AB 4AB LAB dAB |AB P.%AB A(AB A7AB Bb.7AB Bc. TAB F~.HDhAB Fm.b.N.k.f.M.O.e.h.M.~.T.G. AB F_.$TAB FQ.o.5AB P.,nAB Ei.rAB Eo. AB FQ.1AB _.,AB EN. AB FQ. ]AB Ff. 4 ]AB Fh. ~AB FW.  ~AB FW. AB  1AB EP. eAB BY. ^.f dSplayTreeCheckSplayNodeCheckSplayTreeInitSplayNodeInitSplayNodeFinishASplayTreeFinish~SplayTreeInsertSplayTreeDeleteVSplayTreeSearchYSplayTreeNeighboursSplayTreeFirst SplayTreeNextC SplayFindFirst SplayFindLastc SplayRoot SplayNodeRefresh SplayTreeDescriben splaySrcIdM RYY`parentSplayRootSplayUpdateNodeMethodnodeIOrightHalfSplayNodeStructclosureStructSplayTreeFinishBoolunsigned intGNU C 3.4.6 [FreeBSD] 20060305scmidsplay.cshort intzeroKeynodeReturnsplaySrcIdclosurePSplayNodeRefreshfoundSplayNodeUpdateupdateNodeSplayFindClosureStructoldKeySplayTreeCheckSplayTreeDeleteFileSrcIdStructlong long unsigned intfileleftReturnnode2rightChildleftLastrightToprightReturnleftChildcompareTopLeftSplayAssemblenodeLeftleftIOterminalZigmps_lib_stream_streecharnodeoldRoottestTreeSplayFindLaststreamrightclosurelong long intSplayFindFirstSplayNodeFinishSplayFindLastComparetopLeftnodeRightSplayTestTreeMethodSplayTreecompareoldNodeSplayFindFirstCompareSplayNodeCheckSplayTreeNeighboursSplayTreeSuccessorSrcIdSplaySplayrootSplayTreeDescribelong intnodeDescribebuild_timesidesrightIOtestNodetopRightrightFirstSplayFindClosureCompareSplayNodeInitnewRootcompareTopassemblelefttopIOSplayTreeStructSplayRotateLeftSplayNodeDescribecompareTopRightclosureSlong unsigned intSrcIdStructSplayCompareMethodterminalZagSplayLinkRightunsigned charSplayTreeInitSplayTestNodeMethodcompareMethodSplayRotateRightbuild_dateSplayLinkLeftSplayTreeSearchneighbourSplayNodeDescribeMethodsigned charmps_lib_FILEshort unsigned intdoubleSplayTreeNext/home/hannes/dylan/mps/codeSplayTreeFirstSplayTreePredecessorSplayNodeleftTopSplayTreeInsertGCC: (GNU) 3.4.6 [FreeBSD] 20060305.symtab.strtab.shstrtab.rel.text.rel.data.bss.debug_abbrev.rel.debug_info.rel.debug_line.debug_macinfo.rodata.str1.1.rodata.str1.4.rel.rodata.rel.debug_frame.rel.debug_pubnames.rel.debug_aranges.debug_ranges.debug_str.comment4M  ) % / 4 (F B pV1FR  bwNwq2ŕI2@P ` @ j   00ڛ%       |)%8(F7V7gTuDh,nr ]4 ]  4*L:dJZTj5z1, ~ ~  1 esplay.cFileSrcIdStructSplayNodeUpdateSplayLinkRightSplayLinkLeftSplayRotateLeftSplayRotateRightSplayAssembleSplaySplaySplayTreePredecessorSplayTreeSuccessorSplayNodeDescribeSplayFindFirstCompareSplayFindLastComparesplaySrcIdSplayTreeCheckSplayNodeCheckSplayTreeInitSplayNodeInitSplayNodeFinishSplayTreeFinishSplayTreeInsertSplayTreeDeleteSplayTreeSearchSplayTreeNeighboursSplayTreeFirstSplayTreeNextWriteFSplayFindFirstSplayFindLastSplayRootSplayNodeRefreshSplayTreeDescribe#$! ',X ^, , , ]      ,8  > ,  !%*18?MT[bipw~/7ESbw4Zjuy")-4GNRYkrv} #0BIMTan  %3AUael{ &+9=BRWein9H\hls<J_kov   $ 2 A Y m y }         0 < @ U c o ~            ' 5 I U Y ` n |             ) 7 E T i u y             $ 2 @ ^ j  o |     04HL`dx| <@`d48TXx| $DHhlcbs.o/ 1169001566 1001 1001 100644 75980 ` ELF 4(UEU PUE ÉUE@4ÐUE@4ÐUÉUÉUUB +BÉUSU] tK ;Sr9[UE P +P;UÐUU E9BUSU]M A +At R9vЅt S9vЉA[ÐUWVS ] u,}0tE(uPhlS$h PuCP …C ECECECE C E$C$s,{0E(C(C4C8C<C@CDShCHP Sh.ChP ShIPǃQS)Ѝe[^_ÉUS]SCHPCh$$ǃ[Q$sC8C@]ÍvUWVS]u F +~s CHP FPVSK FF {t9{$w jWVSSjVse[^_ÉUWVS ]} G +w{0tGPWS{tE9C$w9s$v VPWSS{ t9s$w VuWSS e[^_UWVS ]} G +w{0tGPWS{tE9C$v9s$w VPWSS{tE9C$w VPWSSe[^_UWVS u}jjvEP…uY] SE C{ )lj{v FHP CPSVF ~t9~$w WjSVVЍe[^_ÐUWVS$}]w GHPEPWEPEPV}uEEE@ ;EЃ}u ut9^9^tMIM vMM]tN MtbUB +BE܋^ +NM9r"VW@EX uPW |UZRW^ uVWWMA +QY RQW9t F +VEFRVWSuWuEUE Me[^_ÍvUWVS }EE0U 8w, V SWVEPEP]à uUEUE V؍e[^_Uuu uEPEPÉUWVSEp HP E PuEP/MU9Q A;E uAE9A uQuA +QEARQu!U9Q u +QE A RQuYu )ڋy +E9rF)ډq RQu WuuthUz,tdWuRMYA )ڋEARQuw u SuHtUz,tu SRe[^_ÍvUWVSu] }vu)Wu VTÃuWu V Ãu VV؍e[^_UUM tjrr rhdQUMU tt RQÉUWVS}w GHPjWÃt:uSWU t&w GHP CPSVÃuȍe[^_US]Suu StS]ÐUVS]U uB +B;C$r6RSVvȍe[^ÍvUS]SDEEUE BRhSS3]ÉUS]U MB +B9v9Aw PPRSSv]ÉUS]U MB +B9w9Av PPRSSv]ÉUVS]u SC$EEp9s$vPhSM9s$sEPh@S1s$S[e[^UÉUVS]uME$twt t 4 v)˅tVSuU EE 0e[^ÍvUWVS uEEVVv FHPujhhVEPà tEx@ EEH ~8tQv $ > : ; I I&I : ;  : ; I8 < : ; I  : ;I8 : ;I8  : ; I8  : ; I 8  : ;I 8  : ;I 8  : ; ' II' ' I : ;  : ;  : ; I: ;II!I/ .: ; ' I@ : ; I 4: ; I : ; I !.: ; ' @ ".? : ; ' I@ #4: ; I $ % &4: ;I '.? : ;' I@ (: ;I ): ;I *4: ;I +.? : ;' @ ,.: ;' @ -4: ;I..: ;' I@ / : ;04: ;I1 : ;2 : ;34: ; I?  ; lQ ?int 8W    Z _L" |- a7z E"U"$#| %#&#'# " 2 % . Sigl ResE l@"ou g#Y $Y%Y&Y'W (W Ref)d f ,Y-Y.W/W1{,2W!3W|4W 5W^ 6W7W BT:MY;^d  Y@> 2D$# E# F# G)# BHT# KIq# J#$ K3#( segL#, M#0 N#4 O#8 sigPC#<AWyC ad# bd# Rcd# @ dd# e# f#c D<D sigC# # 8# # RX## # 3# 0# ~Q#$ s#( ~#, pad#0 #4 {#8F C GXGsig`C# a#b#c# RdX##D eX##f# gX##$h#, i#0fixj=#4 ks#8ls#@ms#Hns#PHBH22$#3#4#'5#6-# 7Y# B8#$ 9#(:#,;#0D<-#4=Y#8>#<f ?#@A@#D3A#HfixB=#LLCm#P Dx#TIE#XF#\G#`H#dI(#hJO#lK#pL#tM#xyN#| O#sigPC#O s O sigC# ti# # # # # # !* # {# N{#$ {#( {#, #0 \#4 s #8 X#< {#@ #D d#H {#L #P C#T {#X - #\ #` #d #h #l #p  #t  #x  {#|  # M {# # # P  * @TP fix# Y# # 0# sigC# #  # # # c#$ - #( #, #0 #4 #8 #< {#@ #D M{#H n{#L {#PQ5 ;  tQsig>C#?#@X## A #B#gC,%#R   R!#p#;d# #  W# S   ! 8SsigC# ##\ X## {#o#;d#Rd#  #$#(C#,##0, #4?'T sigC# ? # ;d# Rd# ?# ?# UJPk Utheh## SegVv|PV sigC# P# k  # I X## R d#  W#pm "#sm "#f  # #H  ##hX[aNKLX2$### #B#T# \v#$#( #,8#0 #4-#8#<2#@#DsigC#H~ZY_Z sig0C# 1# 2# 3# 4# gen5#]\oH\ 2&$# ' # (# ')# *# B+# 4,#$ / -#( .#, /'#0 0h#4 /1#8 2#< 3#@ sig4C#D^E(^ To&# p#t r#x t#| us&# 9 w~&# %y{# pz{# o|{# }{# # #  # d#  # \ X## # &# T!%# YX## C# X## C# 6# &# X## # # &# w{# 9{# I {# k# c #  # &# s# s# Y# &# # X## # # &# sigC#t_ sigBC# AEX## F# Is# )J# K# Ls# Ms#( Ns#0 Os#8 Ps#@ .S#H + V#L IYX##P Z#X ]X##\ ^#d aX##h d#pd m e  dg#) K xhhl2%#K #X{#\v{#`sigC#dnN8op{O qr 'Nd{ t28\N\bN{d usyd{vN S4w wxN' $N $05;[dlflddNkd{8kk -k&8>Tk _evkjkokjoNkNkkddd8 4:TNj8_eqj1 |jddd{_kjjXj"3jk>DYNj-djN8nN\{d{ -N\\j{8>YjddqdjNkd"ZșNk kO k7N7 kHNmN k$H]SҎj ӵj Nj(Njy39OjTZ`k*l.݋[)޲xNI  0N dd;AQdd\bsdd; \d{;   # #>s# s#min{#max {#"( . e   # # $ #%e #p v  [)e # *e #W    e     e e e  &. [+v CBS!#!J"" # ## p$#new%"#9 &"#'"# ("# 5){#$*#( +#,,#0R-#40."#8 /#<0##@g1#D3#HZ4#h5#sig6C#*U"[""E:!#;;d#R`U)cbs!S(J"W(P{&{V,+`U)cbs!S(J"W(P{&{V.,% N[U)cbs!V(;d (RdW&J"S*resNP*pdp&{W/}Q.-,N\U(\P(\P)cbs!W(;d(RdS*resNP&dh&'dd& e l&=e p&J"`&J"V&R&lP&P{R/z/%&{\&{X$-:W0 d%\|&dS..n<NgU(;\(;\ )cbs;!W&;=dV&R=dS&>p$.&J"l&J"R&=J"P&KdQ&KdP%P&x#h&\x#R&=x#P&ydQ&ydP./_NhU)cbs!V(;dS(RdW*resNl&{P$/&"R&"P*new"h% &#Q&\#R*new#d,Z0O W U)cbs!V*resNP&;dp&Rdt/=M $A0& "S% P &\%#S'0INX ( U(G\P(G\P)cbsH!V(;HdW(RHdS&Jdl&'Jdp*resKNS/p 'k1 }N( F U)cbs|!(;|d (R|d*res~NP&dx&'d|.i2NH U)cbs!(;d (Rd*resNP& J"Q&Ee p&P{R/ / / % &{R&{P$O2 \ 0j d%\ &/dS.2N U)cbs!V(;dS(RdW*resNR&dl&dp&"R&"P.t3=N & U)cbs!S(;d (RdV0d&dP&#W&\#R'3PHN( U)cbsG!V(;Gd (RGdW*resINS'4NjN U(iJ"R(biQ-reskN.S4yN U(Exe Q(bxR-reszN,4n  lU)cbs!W(" (&Ee S& V0 J"+5RlU)cbs!S(" (1,5& p# f"#&5XD55.5U)cbs!S(J"R)pV*bQ085+5; U)cbs!S("P(P&,5p2 6 old{# new{# 5r865.6]>U)cbs!S(J"R)pQ0,6&{P.6@vU)cbs!S(J"R)pQ0,6&{P+>7xU)cbs!S(5{V& 6p.i7U('#(u7{77N!dd,C8A.UU(*\P(*\P)cbs+!(;+dS(R+dV(+{Q(9 ,i7 ('-#P&v /R%4D-resRN'M9e`XU(^\(^\ )cbs_!V(_{('_#&aS&;bdW&Rbdl&ci7h$9&ise p%&zJ"P$49$&"R%2T&\#P'W:qU(\(\ )cbs!V({('#&S&;dW&Rdl&i7h$":&ie p%&J"P$>:D&"R%R&\#P'|;< U( \( \ )cbs !S(' #& W&; dh&R dd&i7`&{V$I;`&e p&kP%`&"J"P&i#e l$e;f&3"P%0\I#';cbNU)cbsa!S(baV*rescNP#3, /usr/include/usr/include/sys/usr/include/machinecbs.hmeter.hmpmtypes.hconfig.hmpstd.hmisc.hstddef.hcdefs.h_null.h_types.h_types.hmpslib.hstdarg.hsplay.hpoolmfs.hmpm.hcheck.hevent.heventcom.heventgen.hlock.hth.hring.hss.htract.hbt.hmpmst.hprotocol.hchain.hcbs.cede.fe G<<d:;,vuJejYM<*JdY:deJH:si;rds 9\%gC H:gHsH;VtVtaq"VVTXH(IXHsH;str jV!He. G.?_ __GNUCLIKE___OFFSETOF 1?__GNUCLIKE___SECTION 1A__GNUCLIKE_ATTRIBUTE_MODE_DI 1D__GNUCLIKE_CTOR_SECTION_HANDLING 1G__GNUCLIKE_BUILTIN_CONSTANT_P 1N__GNUCLIKE_BUILTIN_VARARGS 1O__GNUCLIKE_BUILTIN_STDARG 1P__GNUCLIKE_BUILTIN_VAALIST 1T__GNUC_VA_LIST_COMPATIBILITY 1X__GNUCLIKE_BUILTIN_NEXT_ARG 1Y__GNUCLIKE_MATH_BUILTIN_RELOPS \__GNUCLIKE_BUILTIN_MEMCPY 1___CC_SUPPORTS_INLINE 1`__CC_SUPPORTS___INLINE 1a__CC_SUPPORTS___INLINE__ 1c__CC_SUPPORTS___FUNC__ 1d__CC_SUPPORTS_WARNING 1f__CC_SUPPORTS_VARADIC_XXX 1h__CC_SUPPORTS_DYNAMIC_ARRAY_INIT 1k__CC_INT_IS_32BIT 1s__GNUC_PREREQ__(ma,mi) (__GNUC__ > (ma) || __GNUC__ == (ma) && __GNUC_MINOR__ >= (mi))__P(protos) protos__CONCAT1(x,y) x ## y__CONCAT(x,y) __CONCAT1(x,y)__STRING(x) #x__XSTRING(x) __STRING(x)__const const__signed signed__volatile volatile__dead2 __attribute__((__noreturn__))__pure2 __attribute__((__const__))__unused __attribute__((__unused__))__used __attribute__((__used__))__packed __attribute__((__packed__))__aligned(x) __attribute__((__aligned__(x)))__section(x) __attribute__((__section__(x)))__pure __attribute__((__pure__))__always_inline __attribute__((__always_inline__))__nonnull(x) __attribute__((__nonnull__(x)))__restrict __predict_true(exp) __builtin_expect((exp), 1)__predict_false(exp) __builtin_expect((exp), 0)__offsetof(type,field) ((size_t)(&((type *)0)->field))__rangeof(type,start,end) (__offsetof(type, end) - __offsetof(type, start))__printflike(fmtarg,firstvararg) __attribute__((__format__ (__printf__, fmtarg, firstvararg)))__scanflike(fmtarg,firstvararg) __attribute__((__format__ (__scanf__, fmtarg, firstvararg)))__format_arg(fmtarg) __attribute__((__format_arg__ (fmtarg)))__printf0like(fmtarg,firstvararg) __attribute__((__format__ (__printf0__, fmtarg, firstvararg)))__strong_reference(sym,aliassym) extern __typeof (sym) aliassym __attribute__ ((__alias__ (#sym)));__weak_reference(sym,alias) __asm__(".weak " #alias); __asm__(".equ " #alias ", " #sym)__warn_references(sym,msg) __asm__(".section .gnu.warning." #sym); __asm__(".asciz \"" msg "\""); __asm__(".previous")__IDSTRING(name,string) __asm__(".ident\t\"" string "\"")__FBSDID(s) __IDSTRING(__CONCAT(__rcsid_,__LINE__),s)__RCSID(s) __IDSTRING(__CONCAT(__rcsid_,__LINE__),s)__RCSID_SOURCE(s) __IDSTRING(__CONCAT(__rcsid_source_,__LINE__),s)__SCCSID(s) __IDSTRING(__CONCAT(__sccsid_,__LINE__),s)__COPYRIGHT(s) __IDSTRING(__CONCAT(__copyright_,__LINE__),s)__DECONST(type,var) ((type)(uintptr_t)(const void *)(var))__DEVOLATILE(type,var) ((type)(uintptr_t)(volatile void *)(var))__DEQUALIFY(type,var) ((type)(uintptr_t)(const volatile void *)(var))__POSIX_VISIBLE 200112__XSI_VISIBLE 600__BSD_VISIBLE 1__ISO_C_VISIBLE 1999*  NULL ((void *)0)+ _SYS__TYPES_H_ ! (_MACHINE__TYPES_H_ .__NO_STRICT_ALIGNMENT __GNUC_VA_LIST 2_RUNE_T_DECLARED 8_SIZE_T_DECLARED >_WCHAR_T_DECLARED Boffsetof(type,member) __offsetof(type, member)*SRCID(id,scmid) static SrcIdStruct FileSrcIdStruct = {__FILE__, (scmid), __DATE__, __TIME__}; SrcId id ## SrcId = &FileSrcIdStruct;BEGIN do {> (i)) & 1)BS_UNION(s1,s2) ((s1) | (s2))BS_ADD(ty,s,i) BS_UNION((s), BS_SINGLE(ty, (i)))BS_INTER(s1,s2) ((s1) & (s2))BS_DIFF(s1,s2) BS_INTER((s1), BS_COMP(s2))BS_DEL(ty,s,i) BS_DIFF((s), BS_SINGLE(ty, (i)))BS_SUPER(s1,s2) (BS_INTER((s1), (s2)) == (s2))BS_SUB(s1,s2) BS_SUPER((s2), (s1))BS_IS_SINGLE(s) (((s) & ((s)-1)) == 0)BS_SYM_DIFF(s1,s2) ((s1) ^ (s2)) mpslib_h mps_lib_EOF (mps_lib_get_EOF())mps_lib_stderr (mps_lib_get_stderr())mps_lib_stdout (mps_lib_get_stdout()) '_MACHINE_STDARG_H_ -_VA_LIST_DECLARED 3va_start(ap,last) __builtin_stdarg_start((ap), (last))6va_arg(ap,type) __builtin_va_arg((ap), type):va_copy(dest,src) __builtin_va_copy((dest), (src))>va_end(ap) __builtin_va_end(ap)SigInvalid ((Sig)0x51915BAD)SizeMAX ((Size)-1)AccessSetEMPTY ((AccessSet)0)AccessREAD ((AccessSet)(1<<0))AccessWRITE ((AccessSet)(1<<1))AccessSetWIDTH (2)RefSetEMPTY BS_EMPTY(RefSet)RefSetUNIV BS_UNIV(RefSet)ZoneSetEMPTY BS_EMPTY(ZoneSet)ZoneSetUNIV BS_UNIV(ZoneSet)TraceSetEMPTY BS_EMPTY(TraceSet)TraceSetUNIV ((TraceSet)((1u << TraceLIMIT) - 1))RankSetEMPTY BS_EMPTY(RankSet)RankSetUNIV ((RankSet)((1u << RankLIMIT) - 1))AttrFMT ((Attr)(1<<0))AttrSCAN ((Attr)(1<<1))AttrPM_NO_READ ((Attr)(1<<2))AttrPM_NO_WRITE ((Attr)(1<<3))AttrALLOC ((Attr)(1<<4))AttrFREE ((Attr)(1<<5))AttrBUF ((Attr)(1<<6))AttrBUF_RESERVE ((Attr)(1<<7))AttrBUF_ALLOC ((Attr)(1<<8))AttrGC ((Attr)(1<<9))AttrINCR_RB ((Attr)(1<<10))AttrINCR_WB ((Attr)(1<<11))AttrMOVINGGC ((Attr)(1<<12))AttrMASK (AttrFMT | AttrSCAN | AttrPM_NO_READ | AttrPM_NO_WRITE | AttrALLOC | AttrFREE | AttrBUF | AttrBUF_RESERVE | AttrBUF_ALLOC | AttrGC | AttrINCR_RB | AttrINCR_WB | AttrMOVINGGC)BufferModeATTACHED ((BufferMode)(1<<0))BufferModeFLIPPED ((BufferMode)(1<<1))BufferModeLOGGED ((BufferMode)(1<<2))BufferModeTRANSITION ((BufferMode)(1<<3))RootModeCONSTANT ((RootMode)1<<0)RootModePROTECTABLE ((RootMode)1<<1)RootModePROTECTABLE_INNER ((RootMode)1<<2)STATISTIC_DECL(field) field)METER_DECL(meter) STATISTIC_DECL(struct MeterStruct meter)*METER_INIT(meter,init,owner) BEGIN STATISTIC(MeterInit(&(meter), init, owner)); UNUSED(owner); END-METER_ACC(meter,delta) STATISTIC(MeterAccumulate(&(meter), delta))0METER_WRITE(meter,stream) MeterWrite(&(meter), stream)6METER_EMIT(meter) STATISTIC(MeterEmit(meter))  splay_h CBSSig ((Sig)0x519CB599)[CBSBlockBase(block) ((block)->base)]CBSBlockLimit(block) ((block)->limit)^CBSBlockSize(block) AddrOffset((block)->base, (block)->limit)poolmfs_h  mpm_h check_h 0AVER(cond) DISCARD(cond)1AVERT(type,val) DISCARD(type ## Check(val))2AVER_CRITICAL(cond) DISCARD(cond)3AVERT_CRITICAL(type,val) DISCARD(type ## Check(val))MASSERT(cond,condstring) BEGIN if (cond) NOOP; else mps_lib_assert_fail(condstring "\n" __FILE__ "\n" STR(__LINE__)); END_NOTREACHED NOOPjCHECKT(type,val) ((val) != NULL && (val)->sig == type ## Sig)pCHECKS(type,val) DISCARD(CHECKT(type, val))qCHECKL(cond) DISCARD(cond)rCHECKD(type,val) DISCARD(CHECKT(type, val))sCHECKD_NOSIG(type,val) DISCARD((val) != NULL)tCHECKU(type,val) DISCARD(CHECKT(type, val))uCHECKU_NOSIG(type,val) DISCARD((val) != NULL)CHECKLVALUE(lv1,lv2) ((void)sizeof((lv1) = (lv2)), (void)sizeof((lv2) = (lv1)), TRUE)CHECKTYPE(t1,t2) (sizeof(t1) == sizeof(t2) && CHECKLVALUE(*((t1 *)0), *((t2 *)0)))CHECKFIELDAPPROX(s1,f1,s2,f2) (sizeof(((s1 *)0)->f1) == sizeof(((s2 *)0)->f2) && offsetof(s1, f1) == offsetof(s2, f2))CHECKFIELD(s1,f1,s2,f2) (CHECKFIELDAPPROX(s1, f1, s2, f2) && CHECKLVALUE(((s1 *)0)->f1, ((s2 *)0)->f2))event_h  eventcom_h !EventNameMAX ((size_t)19)"EventCodeMAX ((EventCode)0x0069)&EVENT_0(type) NOOPEVENT_A(type,p0) NOOPEVENT_AW(type,p0,p1) NOOPEVENT_P(type,p0) NOOPEVENT_PAA(type,p0,p1,p2) NOOPEVENT_PAW(type,p0,p1,p2) NOOPEVENT_PAWA(type,p0,p1,p2,p3) NOOPEVENT_PDDWWW(type,p0,p1,p2,p3,p4,p5) NOOPEVENT_PP(type,p0,p1) NOOPEVENT_PPAU(type,p0,p1,p2,p3) NOOPEVENT_PPAWP(type,p0,p1,p2,p3,p4) NOOPEVENT_PPP(type,p0,p1,p2) NOOPEVENT_PPPA(type,p0,p1,p2,p3) NOOPEVENT_PPPU(type,p0,p1,p2,p3) NOOPEVENT_PPPUU(type,p0,p1,p2,p3,p4) NOOPEVENT_PPU(type,p0,p1,p2) NOOPEVENT_PPUU(type,p0,p1,p2,p3) NOOPEVENT_PPUWWW(type,p0,p1,p2,p3,p4,p5) NOOPEVENT_PPWW(type,p0,p1,p2,p3) NOOPEVENT_PPWWW(type,p0,p1,p2,p3,p4) NOOPEVENT_PPWWWUUU(type,p0,p1,p2,p3,p4,p5,p6,p7) NOOPEVENT_PU(type,p0,p1) NOOPEVENT_PW(type,p0,p1) NOOPEVENT_PWA(type,p0,p1,p2) NOOPEVENT_PWAW(type,p0,p1,p2,p3) NOOPEVENT_PWP(type,p0,p1,p2) NOOPEVENT_PWU(type,p0,p1,p2) NOOPEVENT_PWW(type,p0,p1,p2) NOOPEVENT_PWWWWDD(type,p0,p1,p2,p3,p4,p5,p6) NOOPEVENT_PWWWWW(type,p0,p1,p2,p3,p4,p5) NOOPEVENT_PWWWWWWWWW(type,p0,p1,p2,p3,p4,p5,p6,p7,p8,p9) NOOPEVENT_PWWWWWWWWWWWW(type,p0,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11,p12) NOOPEVENT_UUPA(type,p0,p1,p2,p3) NOOPEVENT_UUPP(type,p0,p1,p2,p3) NOOPEVENT_UUPPP(type,p0,p1,p2,p3,p4) NOOPEVENT_WS(type,p0,p1,l1) NOOP:EventEventTime ((EventType)0xEF213E99);EventPoolInit ((EventType)0xEFB07141)EventPoolFree ((EventType)0xEFB07F6E)?EventArenaCreateVM ((EventType)0xEFA64CF3)@EventArenaCreateVMNZ ((EventType)0xEFA64CF2)AEventArenaCreateCL ((EventType)0xEFA64CC7)BEventArenaDestroy ((EventType)0xEFA64DE5)CEventArenaAlloc ((EventType)0xEFA64A77)DEventArenaFree ((EventType)0xEFA64F6E)EEventSegAlloc ((EventType)0xEF5E9A77)FEventSegFree ((EventType)0xEF5E9F6E)GEventSegMerge ((EventType)0xEF5E93E6)HEventSegSplit ((EventType)0xEF5E95B7)IEventAMCGenCreate ((EventType)0xEFA3C94C)JEventAMCGenDestroy ((EventType)0xEFA3C94D)KEventAMCInit ((EventType)0xEFA3C141)LEventAMCFinish ((EventType)0xEFA3CF14)MEventAMCTraceBegin ((EventType)0xEFA3C26B)NEventAMCScanBegin ((EventType)0xEFA3C5CB)OEventAMCScanEnd ((EventType)0xEFA3C5CE)PEventAMCFix ((EventType)0xEFA3CF18)QEventAMCFixInPlace ((EventType)0xEFA3CF8A)REventAMCFixForward ((EventType)0xEFA3CF8F)SEventAMCReclaim ((EventType)0xEFA3C6EC)TEventTraceStart ((EventType)0xEF26AC52)UEventTraceCreate ((EventType)0xEF26ACC6)VEventTraceDestroy ((EventType)0xEF26ACDE)WEventSegSetGrey ((EventType)0xEF59596A)XEventTraceFlipBegin ((EventType)0xEF26AF7B)YEventTraceFlipEnd ((EventType)0xEF26AF7E)ZEventTraceReclaim ((EventType)0xEF26A6EC)[EventTraceScanSeg ((EventType)0xEF26A559)\EventTraceScanSingleRef ((EventType)0xEF26A556)^EventTraceAccess ((EventType)0xEF26AACC)_EventTracePoll ((EventType)0xEF26AB01)`EventTraceStep ((EventType)0xEF26A52B)aEventTraceFix ((EventType)0xEF26AF18)bEventTraceFixSeg ((EventType)0xEF26AF85)cEventTraceFixWhite ((EventType)0xEF26AF83)dEventTraceScanArea ((EventType)0xEF26A5CA)eEventTraceScanAreaTagged ((EventType)0xEF26A5C2)fEventVMCreate ((EventType)0xEFF3C6EA)gEventVMDestroy ((EventType)0xEFF3DE52)hEventVMMap ((EventType)0xEFF33AB9)iEventVMUnmap ((EventType)0xEFF3043B)jEventIntern ((EventType)0xEF142E64)kEventArenaExtend ((EventType)0xEFA64E82)lEventArenaRetract ((EventType)0xEFA646E2)mEventRootScan ((EventType)0xEF625CA4)nEventLabel ((EventType)0xEF7ABE79)oEventTraceSegGreyen ((EventType)0xEF26A599)pEventBufferReserve ((EventType)0xEFB0FF6E)qEventBufferCommit ((EventType)0xEFB0FFC0)rEventBufferInit ((EventType)0xEFB0FF14)sEventBufferInitSeg ((EventType)0xEFB0F15E)tEventBufferInitRank ((EventType)0xEFB0F16A)uEventBufferInitEPVM ((EventType)0xEFB0F1EF)vEventBufferFinish ((EventType)0xEFB0FFF1)wEventBufferFill ((EventType)0xEFB0FFF7)xEventBufferEmpty ((EventType)0xEFB0FFE3)yEventArenaAllocFail ((EventType)0xEFA64A7F)zEventSegAllocFail ((EventType)0xEF5E9A7F){EventMeterInit ((EventType)0xEF3E2141)|EventMeterValues ((EventType)0xEF3E2FA7)}EventCBSInit ((EventType)0xEFCB5141)~EventTraceStatCondemn ((EventType)0xEF26A5C0)EventTraceStatScan ((EventType)0xEF26A55C)EventTraceStatFix ((EventType)0xEF26A5F8)EventTraceStatReclaim ((EventType)0xEF26A56E)EventArenaWriteFaults ((EventType)0xEFA6436F)EventPoolInitMV ((EventType)0xEFB0713F)EventPoolInitMVFF ((EventType)0xEFB071FF)EventPoolInitMFS ((EventType)0xEFB07135)EventPoolInitEPVM ((EventType)0xEFB071EF)EventPoolInitEPDL ((EventType)0xEFB071E7)EventPoolInitAMS ((EventType)0xEFB071A5)EventPoolInitAMC ((EventType)0xEFB071AC)EventPoolInitAMCZ ((EventType)0xEFB071A2)EventPoolInitAWL ((EventType)0xEFB071A3)EventPoolInitLO ((EventType)0xEFB07170)EventPoolInitSNC ((EventType)0xEFB07154)EventPoolInitMVT ((EventType)0xEFB07132)EventPoolPush ((EventType)0xEFB07B58)EventPoolPop ((EventType)0xEFB07B0B)EventReservoirLimitSet ((EventType)0xEF6E5713)EventCommitLimitSet ((EventType)0xEFC03713)EventSpareCommitLimitSet ((EventType)0xEF5BC713)hEventInit() NOOPiEventFinish() NOOPjEventControl(r,f) (UNUSED(r), UNUSED(f), (Word)0)kEventInternString(s) (UNUSED(s), (Word)0)lEventInternGenString(l,s) (UNUSED(l), UNUSED(s), (Word)0)mEventLabelAddr(a,i) BEGIN UNUSED(a); UNUSED(i); ENDPlock_h ULockSig ((Sig)0x51970CC9) th_h  ring_h RingNONE ((Ring)0)$RingInit(ring) BEGIN Ring _ring = (ring); AVER(_ring != NULL); _ring->next = _ring; _ring->prev = _ring; AVER(RingCheck(_ring)); END/RingFinish(ring) BEGIN Ring _ring = (ring); AVER(RingCheckSingle(_ring)); _ring->next = RingNONE; _ring->prev = RingNONE; END9RingAppend(ring,new) BEGIN Ring _ring = (ring), _new = (new); AVER(RingCheck(_ring)); AVER(RingCheckSingle(_new)); _new->prev = _ring->prev; _new->next = _ring; _ring->prev->next = _new; _ring->prev = _new; ENDFRingInsert(ring,new) BEGIN Ring _ring = (ring), _new = (new); AVER(RingCheck(_ring)); AVER(RingCheckSingle(_new)); _new->prev = _ring; _new->next = _ring->next; _ring->next->prev = _new; _ring->next = _new; ENDSRingRemove(old) BEGIN Ring _old = (old); AVER(RingCheck(_old)); AVER(!RingIsSingle(_old)); _old->next->prev = _old->prev; _old->prev->next = _old->next; _old->next = _old; _old->prev = _old; END`RingNext(ring) ((ring)->next)dRingPrev(ring) ((ring)->prev)gRING_ELT(type,field,node) ((type)(void *)((char *)(node) - (size_t)(&((type)0)->field)))kRING_FOR(node,ring,next) for(node = RingNext(ring), next = RingNext(node); node != (ring); node = (next), next = RingNext(node))ThreadSig ((Sig)0x519286ED) ss_h  tract_h   bt_h BTSize(n) (((n) + MPS_WORD_WIDTH-1) / MPS_WORD_WIDTH * sizeof(Word))BTGet(a,i) ((Bool)(((a)[((i) >> MPS_WORD_SHIFT)] >> ((i) & ~((Word)-1 << MPS_WORD_SHIFT))) & (Word)1))BTSet(a,i) BEGIN (a)[((i)>>MPS_WORD_SHIFT)] |= (Word)1<<((i)&~((Word)-1<>MPS_WORD_SHIFT)] &= ~((Word)1 << ((i) & ~((Word)-1<base)&TractPool(tract) ((tract)->pool)'TractP(tract) ((tract)->p)(TractSetP(tract,pp) ((void)((tract)->p = (pp))))TractHasSeg(tract) ((Bool)(tract)->hasSeg)*TractSetHasSeg(tract,b) ((void)((tract)->hasSeg = (b)))+TractWhite(tract) ((tract)->white),TractSetWhite(tract,w) ((void)((tract)->white = (w)))8TRACT_SEG(segReturn,tract) (TractHasSeg(tract) && ((*(segReturn) = (Seg)TractP(tract)), TRUE));TRACT_SET_SEG(tract,seg) (TractSetHasSeg(tract, TRUE), TractSetP(tract, seg))>TRACT_UNSET_SEG(tract) (TractSetHasSeg(tract, FALSE), TractSetP(tract, NULL))nPageTract(page) (&(page)->the.tractStruct)rPageOfTract(tract) PARENT(PageStruct, the.tractStruct, (tract))vPagePool(page) ((page)->the.rest.pool)}PageIsAllocated(page) ((page)->the.rest.pool != NULL)PageType(page) ((page)->the.rest.type)ChunkSig ((Sig)0x519C804C)ChunkArena(chunk) ((chunk)->arena)ChunkPageSize(chunk) ((chunk)->pageSize)ChunkPageShift(chunk) ((chunk)->pageShift)ChunkPagesToSize(chunk,pages) ((Size)(pages) << (chunk)->pageShift)ChunkSizeToPages(chunk,size) ((Count)((size) >> (chunk)->pageShift))CHUNK_OF_ADDR(chunkReturn,arena,addr) (((arena)->chunkCache.base <= (addr) && (addr) < (arena)->chunkCache.limit) ? (*(chunkReturn) = (arena)->chunkCache.chunk, TRUE) : ChunkOfAddr(chunkReturn, arena, addr))AddrPageBase(chunk,addr) AddrAlignDown((addr), ChunkPageSize(chunk))TRACT_OF_ADDR(tractReturn,arena,addr) BEGIN Arena _arena = (arena); Addr _addr = (addr); Chunk _chunk; Index _i; if (CHUNK_OF_ADDR(&_chunk, _arena, _addr)) { _i = INDEX_OF_ADDR(_chunk, _addr); if (BTGet(_chunk->allocTable, _i)) *(tractReturn) = PageTract(&_chunk->pageTable[_i]); else *(tractReturn) = NULL; } else *(tractReturn) = NULL; ENDINDEX_OF_ADDR(chunk,addr) ((Index)ChunkSizeToPages(chunk, AddrOffset((chunk)->base, addr)))PageIndexBase(chunk,i) AddrAdd((chunk)->base, ChunkPagesToSize(chunk, i))TractAverContiguousRange(arena,rangeBase,rangeLimit) BEGIN Chunk _ch = NULL; UNUSED(_ch); AVER(ChunkOfAddr(&_ch, arena, rangeBase) && (rangeLimit) <= _ch->limit); ENDTRACT_TRACT_FOR(tract,addr,arena,firstTract,limit) tract = (firstTract); addr = TractBase(tract); TractAverContiguousRange(arena, addr, limit); for(; tract != NULL; (addr = AddrAdd(addr, (arena)->alignment)), (addr < (limit) ? (tract = PageTract(PageOfTract(tract) + 1)) : (tract = NULL) ))TRACT_FOR(tract,addr,arena,base,limit) TRACT_TRACT_FOR(tract, addr, arena, TractOfBaseAddr(arena, base), limit)mpmst_h protocol_h DERIVE_LOCAL(name) protocol ## nameDERIVE_STRUCT(name) name ## StructDERIVE_ENSURE(name) name ## GetDERIVE_ENSURE_OLD(name) Ensure ## nameDERIVE_ENSURE_INTERNAL(name) protocolGet ## nameDERIVE_GUARDIAN(name) protocol ## name ## GuardianDERIVE_STATIC_STORAGE(name) protocol ## name ## StructProtocolClassSetSuperclassPoly(class,super) (((ProtocolClass)(class))->superclass) = (ProtocolClass)(super)$DEFINE_CLASS(className,var) static Bool DERIVE_GUARDIAN(className) = FALSE; static DERIVE_STRUCT(className) DERIVE_STATIC_STORAGE(className); static void DERIVE_ENSURE_INTERNAL(className)(className); extern className DERIVE_ENSURE(className)(void); className DERIVE_ENSURE(className)(void) { if (DERIVE_GUARDIAN(className) == FALSE) { LockClaimGlobalRecursive(); if (DERIVE_GUARDIAN(className) == FALSE) { DERIVE_ENSURE_INTERNAL(className) (&DERIVE_STATIC_STORAGE(className)); DERIVE_GUARDIAN(className) = TRUE; } LockReleaseGlobalRecursive(); } return &DERIVE_STATIC_STORAGE(className); } extern className DERIVE_ENSURE_OLD(className)(void); className DERIVE_ENSURE_OLD(className)(void) { return DERIVE_ENSURE(className)(); } static void DERIVE_ENSURE_INTERNAL(className) (className var)AINHERIT_CLASS(this,parentName) BEGIN parentName DERIVE_LOCAL(parentName) = DERIVE_ENSURE(parentName)(); *this = *(DERIVE_LOCAL(parentName)); ProtocolClassSetSuperclassPoly(this, DERIVE_LOCAL(parentName)); ENDODEFINE_ALIAS_CLASS(className,typeName,var) typedef typeName className; typedef DERIVE_STRUCT(typeName) DERIVE_STRUCT(className); DEFINE_CLASS(className, var)VProtocolClassSig ((Sig)0x519B60C7)WProtocolInstSig ((Sig)0x519B6014)ProtocolClassSuperclassPoly(class) (((ProtocolClass)(class))->superclass)ClassOfPoly(inst) ((ProtocolInst)(inst)->class)IsSubclassPoly(sub,super) ProtocolIsSubclass((ProtocolClass)(sub), (ProtocolClass)(super))SUPERCLASS(className) ProtocolClassSuperclassPoly(DERIVE_ENSURE(className)())chain_h GenDescSig ((Sig)0x5199E4DE)+PoolGenSig ((Sig)0x519B009E);ChainSig ((Sig)0x519C8A14)XPoolGenNr(gen) ((gen)->nr)/PoolClassSig ((Sig)0x519C7A55)]PoolSig ((Sig)0x519B0019)}MFSSig ((Sig)0x5193F599)MVSig ((Sig)0x5193B999)ReservoirSig ((Sig)0x5196e599)MessageClassSig ((Sig)0x519359c1)MessageSig ((Sig)0x5193e559)SegClassSig ((Sig)0x5195E9C7)SegSig ((Sig)0x5195E999)GCSegSig ((Sig)0x5199C5E9)SegPrefSig ((Sig)0x5195E9B6)BufferClassSig ((Sig)0x519B0FC7)BufferSig ((Sig)0x519B0FFE)SegBufSig ((Sig)0x51959B0F)FormatSig ((Sig)0x519F63A2)ScanStateSig ((Sig)0x5195CA45)TraceSig ((Sig)0x51924ACE)ChunkCacheEntrySig ((Sig)0x519C80CE)ArenaClassSig ((Sig)0x519A6C1A)GlobalsSig ((Sig)0x519970BA)ArenaSig ((Sig)0x519A6E4A)%BoolCheck(b) ((unsigned)(b) <= 1)(FUNCHECK(f) (FunCheck((Fun)f))4WordIsAligned(w,a) (((w) & ((a) - 1)) == 0)7WordAlignUp(w,a) (((w) + (a) - 1) & ~((Word)(a) - 1));WordRoundUp(w,r) (((w)+(r)-1) - ((w)+(r)-1)%(r))>WordAlignDown(w,a) ((w) & ~((Word)(a) - 1))@size_tAlignUp(s,a) ((size_t)WordAlignUp((Word)(s), a))BPointerAdd(p,s) ((void *)((char *)(p) + (s)))CPointerSub(p,s) ((void *)((char *)(p) - (s)))EPointerOffset(base,limit) ((size_t)((char *)(limit) - (char *)(base)))HPointerAlignUp(p,s) ((void *)WordAlignUp((Word)(p), (Align)(s)))KAddrAdd(p,s) ((Addr)PointerAdd((void *)(p), s))LAddrSub(p,s) ((Addr)PointerSub((void *)(p), s))NAddrOffset(b,l) ((Size)(PointerOffset((void *)(b), (void *)(l))))RAddrAlignDown(p,a) ((Addr)WordAlignDown((Word)(p), a))TAlignWord(s) ((Word)(s))VAddrIsAligned(p,a) WordIsAligned((Word)(p), a)WAddrAlignUp(p,a) ((Addr)WordAlignUp((Word)(p), a))YSizeIsAligned(s,a) WordIsAligned((Word)(s), a)ZSizeAlignUp(s,a) ((Size)WordAlignUp((Word)(s), a))[SizeAlignDown(s,a) ((Size)WordAlignDown((Word)(s), a))]SizeRoundUp(s,r) ((Size)WordRoundUp((Word)(s), (Size)(r)))_IndexIsAligned(s,a) WordIsAligned((Word)(s), a)`IndexAlignUp(s,a) ((Index)WordAlignUp((Word)(s), a))aIndexAlignDown(s,a) ((Index)WordAlignDown((Word)(s), a))cAlignIsAligned(a1,a2) WordIsAligned((Word)(a1), a2)iAddrSet(target,value,size) mps_lib_memset(target, (int)(value), size)mAddrCopy(target,source,size) mps_lib_memcpy(target, source, size)qAddrComp(a,b,size) mps_lib_memcmp(a, b, size)wADDR_PTR(type,addr) ((type *)(addr))PoolArena(pool) ((pool)->arena)PoolAlignment(pool) ((pool)->alignment)PoolSegRing(pool) (&(pool)->segRing)PoolFix(pool,ss,seg,refIO) ((*(pool)->fix)(pool, ss, seg, refIO))ClassOfPool(pool) ((pool)->class)SuperclassOfPool(pool) ((PoolClass)ProtocolClassSuperclassPoly((pool)->class))DEFINE_POOL_CLASS(className,var) DEFINE_ALIAS_CLASS(className, PoolClass, var)POOL_SUPERCLASS(className) ((PoolClass)SUPERCLASS(className))TraceSetSingle(trace) BS_SINGLE(TraceSet, (trace)->ti)TraceSetIsSingle(ts) BS_IS_SINGLE(ts)TraceSetIsMember(ts,trace) BS_IS_MEMBER(ts, (trace)->ti)TraceSetAdd(ts,trace) BS_ADD(TraceSet, ts, (trace)->ti)TraceSetDel(ts,trace) BS_DEL(TraceSet, ts, (trace)->ti)TraceSetUnion(ts1,ts2) BS_UNION(ts1, ts2)TraceSetInter(ts1,ts2) BS_INTER(ts1, ts2)TraceSetDiff(ts1,ts2) BS_DIFF(ts1, ts2)TraceSetSuper(ts1,ts2) BS_SUPER(ts1, ts2)TraceSetSub(ts1,ts2) BS_SUB(ts1, ts2)TraceSetComp(ts) BS_COMP(ts)TRACE_SET_ITER(ti,trace,ts,arena) for(ti = 0, trace = ArenaTrace(arena, ti); ti < TraceLIMIT; ++ti, trace = ArenaTrace(arena, ti)) BEGIN if (TraceSetIsMember(ts, trace)) {TRACE_SET_ITER_END(ti,trace,ts,arena) } ENDTRACE_SCAN_BEGIN(ss) BEGIN Shift SCANzoneShift = (ss)->zoneShift; ZoneSet SCANwhite = (ss)->white; RefSet SCANsummary = (ss)->unfixedSummary; Word SCANt; {TRACE_FIX1(ss,ref) (SCANt = (Word)1 << ((Word)(ref) >> SCANzoneShift & (MPS_WORD_WIDTH-1)), SCANsummary |= SCANt, SCANwhite & SCANt)TRACE_FIX2(ss,refIO) ((*(ss)->fix)(ss, refIO))TRACE_FIX(ss,refIO) (TRACE_FIX1(ss, *(refIO)) ? TRACE_FIX2(ss, refIO) : ResOK)TRACE_SCAN_END(ss) } (ss)->unfixedSummary = SCANsummary; ENDDEFINE_ARENA_CLASS(className,var) DEFINE_ALIAS_CLASS(className, ArenaClass, var)ARENA_SUPERCLASS(className) ((ArenaClass)SUPERCLASS(className))ArenaGlobals(arena) (&(arena)->globals)GlobalsArena(glob) PARENT(ArenaStruct, globals, glob)ArenaRootRing(arena) (&(arena)->rootRing)ArenaTraceRing(arena) (&(arena)->traceRing)ArenaThreadRing(arena) (&(arena)->threadRing)ArenaEpoch(arena) ((arena)->epoch)ArenaTrace(arena,ti) (&(arena)->trace[ti])ArenaZoneShift(arena) ((arena)->zoneShift)ArenaAlign(arena) ((arena)->alignment)ArenaGreyRing(arena,rank) (&(arena)->greyRing[rank])ArenaReservoir(arena) (&(arena)->reservoirStruct)DEFINE_SEG_CLASS(className,var) DEFINE_ALIAS_CLASS(className, SegClass, var)SEG_SUPERCLASS(className) ((SegClass)SUPERCLASS(className))ClassOfSeg(seg) ((seg)->class)SegBase(seg) (TractBase((seg)->firstTract))SegLimit(seg) ((seg)->limit)SegPool(seg) (TractPool((seg)->firstTract))SegRankSet(seg) ((RankSet)(seg)->rankSet)SegPM(seg) ((AccessSet)(seg)->pm)SegSM(seg) ((AccessSet)(seg)->sm)SegDepth(seg) ((unsigned)(seg)->depth)SegGrey(seg) ((TraceSet)(seg)->grey)SegWhite(seg) ((TraceSet)(seg)->white)SegNailed(seg) ((TraceSet)(seg)->nailed)SegOfPoolRing(node) (RING_ELT(Seg, poolRing, (node)))SegOfGreyRing(node) (&(RING_ELT(GCSeg, greyRing, (node)) ->segStruct))SegSummary(seg) (((GCSeg)(seg))->summary)SegSetPM(seg,mode) ((void)((seg)->pm = (mode)))SegSetSM(seg,mode) ((void)((seg)->sm = (mode)))SegSetDepth(seg,d) ((void)((seg)->depth = (d)))SegSetNailed(seg,ts) ((void)((seg)->nailed = (ts)))BUFFER_RESERVE(pReturn,buffer,size,withReservoirPermit) (AddrAdd(BufferAlloc(buffer), size) > BufferAlloc(buffer) && AddrAdd(BufferAlloc(buffer), size) <= BufferAP(buffer)->limit ? (*(pReturn) = BufferAlloc(buffer), BufferAP(buffer)->alloc = AddrAdd(BufferAlloc(buffer), size), ResOK) : BufferFill(pReturn, buffer, size, withReservoirPermit))BUFFER_COMMIT(buffer,p,size) (BufferAP(buffer)->init = BufferAlloc(buffer), BufferAP(buffer)->limit != 0 || BufferTrip(buffer, p, size))BufferAP(buffer) (&(buffer)->apStruct)BufferOfAP(ap) PARENT(BufferStruct, apStruct, ap)BufferArena(buffer) ((buffer)->arena)BufferPool(buffer) ((buffer)->pool)BufferBase(buffer) ((buffer)->base)BufferGetInit(buffer) (BufferAP(buffer)->init)BufferAlloc(buffer) (BufferAP(buffer)->alloc)BufferLimit(buffer) ((buffer)->poolLimit)DEFINE_BUFFER_CLASS(className,var) DEFINE_ALIAS_CLASS(className, BufferClass, var)BUFFER_SUPERCLASS(className) ((BufferClass)SUPERCLASS(className))RankSetIsMember(rs,r) BS_IS_MEMBER((rs), (r))RankSetSingle(r) BS_SINGLE(RankSet, (r))RankSetIsSingle(r) BS_IS_SINGLE(r)RankSetUnion(rs1,rs2) BS_UNION((rs1), (rs2))RankSetDel(rs,r) BS_DEL(RankSet, (rs), (r))AddrZone(arena,addr) (((Word)(addr) >> (arena)->zoneShift) & (MPS_WORD_WIDTH - 1))RefSetUnion(rs1,rs2) BS_UNION((rs1), (rs2))RefSetInter(rs1,rs2) BS_INTER((rs1), (rs2))RefSetDiff(rs1,rs2) BS_DIFF((rs1), (rs2))RefSetAdd(arena,rs,addr) BS_ADD(RefSet, rs, AddrZone(arena, addr))RefSetIsMember(arena,rs,addr) BS_IS_MEMBER(rs, AddrZone(arena, addr))RefSetSuper(rs1,rs2) BS_SUPER((rs1), (rs2))RefSetSub(rs1,rs2) BS_SUB((rs1), (rs2))ZoneSetUnion(zs1,zs2) BS_UNION(zs1, zs2)ZoneSetInter(zs1,zs2) BS_INTER(zs1, zs2)ZoneSetDiff(zs1,zs2) BS_DIFF(zs1, zs2)ZoneSetAdd(arena,zs,addr) BS_ADD(ZoneSet, zs, AddrZone(arena, addr))ZoneSetIsMember(arena,zs,addr) BS_IS_MEMBER(zs, AddrZone(arena, addr))ZoneSetSub(zs1,zs2) BS_SUB(zs1, zs2)ZoneSetSuper(zs1,zs2) BS_SUPER(zs1, zs2)ZoneSetComp(zs) BS_COMP(zs)STATISTIC(gather) BEGIN (gather); ENDSTATISTIC_STAT(gather) BEGIN gather; ENDSTATISTIC_WRITE(format,arg) (format), (arg),cbsMinimumAlignment ((Align)sizeof(void *))cbsOfSplayTree(tree) PARENT(CBSStruct, splayTree, (tree))cbsBlockOfSplayNode(node) PARENT(CBSBlockStruct, splayNode, (node))splayTreeOfCBS(tree) (&((cbs)->splayTree))splayNodeOfCBSBlock(block) (&((block)->splayNode))keyOfCBSBlock(block) ((void *)&((block)->base))'CBSEmergencyBlockBase(block) ((Addr)(block))(CBSEmergencyBlockLimit(block) ((Addr)((block)[1])))CBSEmergencyBlockSize(block) (AddrOffset(CBSEmergencyBlockBase(block), CBSEmergencyBlockLimit(block)))+CBSEmergencyBlockNext(block) ((CBSEmergencyBlock)((block)[0]))-CBSEmergencyBlockSetNext(block,next) BEGIN (block)[0] = (void *)(next); END/CBSEmergencyBlockSetLimit(block,limit) BEGIN (block)[1] = (void *)(limit); END8CBSEmergencyGrainBase(grain) ((Addr)(grain))9CBSEmergencyGrainLimit(cbs,grain) AddrAdd(CBSEmergencyGrainBase(grain), CBSEmergencyGrainSize(cbs));CBSEmergencyGrainSize(cbs) ((cbs)->alignment)CBSEmergencyGrainSetNext(grain,next) BEGIN (grain)[0] = (void *)(next); ENDcbs.cJan 17 200703:39:26size of splay treesize of emergencyBlockListsize of emergencyGrainList[$P,$P) {$U} delete: $F new: $F blockPool: $P CBS $P { } $Id: //info.ravenbrook.com/project/mps/master/code/cbs.c#9 $| AB AB $AB 4AB D AB P AB \AB l,AB AAB AB 3AB A,"AB Ft.T. P. s.z. eAB DD.L. jAB FU. pAB F]. `pAB F]. AB FQ. \AB FM. oAB Fh.(h<AB F[.. U.(AB ES.a. o.d. 0X AB FJ.`.`. K.D. _.( AB T. H mAB FJ. AB FP. AB Fb.(( xAB FG.J.O. 0AB f.  *AB `. pAB FL. l'AB DD.L. F.9AB B`. 6AB DD.[.F.6AB D\.@6AB D\.$xhAB EG.c.j. AB  iAB BK.0X,AB FW.I.k. q.. I.0DAB FW.I.k. q.. I.03AB Fc.I.C. p.s. I. AB BT.0X.+;'CBSCheck'CBSBlockCheck$(CBSBlockSize*CBSInit*CBSFinishZ0CBSInsertReturningRange0CBSInsertt3CBSDelete3CBSBlockDescribe4CBSIterate5CBSIterateLarge6CBSSetMinSizeC8CBSFindFirstM9CBSFindLastW:CBSFindLargest|;CBSDescribe;cbsSrcIdProtocolCoerceClassMethodMutatorFaultContextmpsVersionStringchunksplayNodePoolBlackenMethodsize_tSegClassCBSFindLastfailPoolAllocclampedownerchunkSerialLockStructrankSetalignmentframePushcbsTestTreeoldRightSizeframePopPendingpageTableLimitrootunitsPerExtentPoolFreeMethodChunkCacheEntryStructrightSplayCBSBlockSizeSrcIdStructMFSHeaderStructPoolAccessMethodgreyRingdetachrightLimitisGensuperclassforwardedCountcoerceClassfoundblockPoolStructbase1rampCounttypeMeterStructArenaMutatorFaultContextStructdoublefindDeletemergepoolLimitfinishpoolRingarenaRinggreySegMaxgenspoolStructArenaDescribeMethodcbsDeleteFromEmergencyBlockListlimitIOLockforwardedSizeEpochreservoirLimitPoolFinishMethodleftCBSarenaArenaFreeMethodrootRingclosurePclosureSva_listlong intisFinalPoolPoolClassStructlimitrestPoolReclaimMethodArenaClassStructclassbufferClassepochleftBaseleftNewSizeWordSegSetWhiteMethodhistorywriteBarrierHitCountpageSizeheaderSizerankCBSSetMinSizebuild_timemortalityhigh__va_listTraceIdProtocolInstblackenrampBeginPoolRampBeginMethodSizesigned charReservoirStruct/home/hannes/dylan/mps/codesingleScanCountspacefreewalkextendsetRankSetCBSInsertReturningRangeCBSFindDeleteCheckSegFinishMethodspanPoolStructeglSearchPoolBufferClassMethodrightChildtractListglobalsgrainRingeglSizeCBSIterateMethodproflowcbsUpdateNodegrainLimitIndexPoolDescribeMethodFormatSkipMethodSegStructvarietyCBSBlockStructclosureBufferFinishMethodfoundationdescribeSplayNodecommittedoldBasecapacityScanStateStructoldSizerootScanSizeCBSFindFirstCBSSetMinSizeClosurecbsBlockDeleteleftMergeoldLeftSizeattrsnapCountdeleteMethodrememberedSummaryIndexfailNewreclaimSizePoolStructreassignSegtreerightNewSizeCBSFinishSegSetRankSummaryMethodcbsBlockShrinkpreservedInPlaceSizestreamnodecbsCoalesceWithEmergencyListssetSummarynewBaseRankSetArenaInitMethoddoneFormatPadMethodmayMovefileProtocolInstStructpagesCBSEmergencyBlockShifttraceskipthreadRingPoolFramePushMethodArenaChunkFinishMethodreserveCBSEnterbufferbusyTracesPoolAllocMethodmoveArenaExtendMethodflippedTracesrateleftcoerceInstunroundedUnitSizemps_lib_stream_ssegRefCountTracebufferFillsetRankSummarySplayTreeStructAccessSetChunkStructfixRefCountdeleteframeptrshDepthunsigned charCBSChangeSizeMethodrootScanCountisCollectedenabledmayUseInlineArenaAllocMethodCBSInsertlwPopPendinglong unsigned intallocBasespareCommitLimitnailCountformatshrinkextendByavgSizemeanSquaredpageTablePagesCBSIterateLargeAllocFrameStructchunkRinggreyfirstTractcallDeletelabelledfillMutatorSizePagePageStructpoolReadythreadSerialchunkFinishserialBufferFormatCopyMethodBootBlockStructBoolcbs.cCBSSetMinSizeClosureStructCBSCheckbufferLoggingreservoirStructPoolDebugMixinMethodAttrFormatoldLimitTraceStructProtocolClassMVStructsplayTreeSize__uint32_tProtocolCoerceInstMethodSegSetSummaryMethodBufferStructlong long intsegCopiedSizefreeListcbsBlockCBSFindDeletecbsBlockNewBufferAttachMethodbufferRingArenaSpareCommitExceededMethodcbsIterateInternalshCachePoolGreyMethodPoolBufferFillMethodSerialCBSInitreclaimeblSizedepthinitleftSplayCountfillSizerightupdateNodehasSegCBSEmergencyBlockInitFormatScanMethodspareCommitExceededPoolnailedcbsFlushEmergencyListsRefSetPoolDebugMixinscmidcomparecontrolPoolStructcountAddrStructallocMutatorSizesetGreyScanStateallocTractStructSegSplitMethodunitSizeunsigned intBufferReassignSegMethodGlobalsStructPoolInitMethodCBSFindLargestattachinCBSCBSIterateLargeClosurepageShiftPoolFramePopPendingMethodfailLimitCheckwhitenCompareBufferRankSetMethodSegPrefStructPoolFixMethodsegRingPoolBufferEmptyMethodMFSStructzonesprimaryBufferModeSplayTreecbsInsertIntoTreetotalbufferEmptyCBSDeletePoolWhitenMethodnotEmptyChainStructreadBarrierHitCountSplayUpdateNodeMethodblockprehistoryFileSrcIdStructSegInitMethodreclaimCountZoneSetBufferClassStructSegSetGreyMethodGNU C 3.4.6 [FreeBSD] 20060305FormattedObjectsStepMethodSegClassStruct__size_tfixedSummaryblockPoolfailcbsSetMinSizeShrinknCoalescencescharCBSEmergencyGrainInitwalkArenaChunkInitMethodsizeAlignpreservedInPlaceCountBufferInitMethodlastTractrootCopiedSizeTraceSetCBSBlockscansetWhiteglobalRingfixEmergencyformatRingsegScanSizecommitLimitTraceStatesplayTreeiteratetracedSizeisMovedlong long unsigned intSrcIdinsideShieldRankcondemnedzoneShiftCBSLeaveTraceFixMethodcbsDeleteMethodlocusRingpoolCBSIterateLargeClosureStructformatSerialleftChildeblSearchPoolDebugMixinStructdebugMixinbuild_daterampEndPoolClassgenCountCBSSplayNodeDescribeinitAtFlipbaseReturnpageTablepoolSerialFormatIsMovedMethodsplaySearchPoolRampEndMethodPoolFramePopMethodchunkInitshCacheLimitmaxSizeCBSBlockDescribecbsAddToEmergencyListsreservoirSizeSegMergeMethodSplayCompareMethodsetBuffercopynewSizerememberedSummaryRingtracedTimeBufferClassgrowrootSerialChainframePopactiveTracesemptyMutatorSizeoffsetPoolFreeWalkMethodcbsFindDeleteRangetopGenSplayNodeStructsuspendedGenDescStructFormatClassMethodnameallocTableBufferDetachMethodlastTractBaseapStructSegSetRankSetMethodFreeBlockStepMethodAllocFramewhiteSegRefCountCBSBlockCheckchainnewLimitunfixedSummaryshort intlostnotCondemnedtractStructmoderightMergeshCacheIfillInternalSizecbsDeleteFromTreestateFormatMoveMethodBufferDescribeMethodcbsSplayCompareBufferSegMethodemptyInternalSizeCBSStructisMutatorlastWorldCollectfinalPoolemergencyBlockListsingleScanSizeCBSIteratecbsSetMinSizeGrowspareCommittedSegPrefspansblockBasecbsBlockGrowrightCBSpollThresholdmessageRingchunkCacheemptySizecbsIterateLargeActionfastFindbaseIOtracesbufferSerialPoolFixEmergencyMethodcbsSrcIdminSizecbsDeleteFromEmergencyGrainListArenaClassbase2copiedSizeAPStructpointlessScanCountwhiteemergencyGrainListblockLimitRingStructsplitemergencySegBufferMethodfreechainRingwasMarkedFormatVarietyenabledMessageTypesshort unsigned intprotocolbaseAddrArenaStructlimit2BufferSetRankSetMethodSegDescribeMethodfailSplayTreeSearchaccesscbsTestNodegreySegCountmps_lib_FILElimitReturnsegScanCountgrainBaseChunkArenaReservedMethodPoolScanMethodsingleCopiedSizeBootBlockinsidePollreservednextCBSEmergencyGrainPoolWalkMethodCBSDescribeSegSetBufferMethodProtocolClassStructprevpageTableBaseFormatStructscannedSizelockArenaFinishMethodTractGCC: (GNU) 3.4.6 [FreeBSD] 20060305.symtab.strtab.shstrtab.rel.text.rel.data.bss.debug_abbrev.rel.debug_info.rel.debug_line.debug_macinfo.rodata.str1.1.rodata.str1.4.rel.rodata.rel.debug_frame.rel.debug_pubnames.rel.debug_aranges.debug_str.comment4 |)% 4/4F;B <VSR % bXB|q22t= %  &|/ (  (0%`, P+    -C$L4Ul,eq}3jp`p\oh<  H m2 R r * p96@6 iD P \)"1?LWaekuX 1( ;K( xU 0fm|l'6xhX,D3 cbs.cFileSrcIdStructCBSEmergencyBlockInitCBSEmergencyGrainInitCBSEnterCBSLeavecbsSplayComparecbsTestNodecbsTestTreecbsUpdateNodecbsBlockDeletecbsBlockShrinkcbsBlockGrowcbsBlockNewcbsInsertIntoTreecbsCoalesceWithEmergencyListscbsAddToEmergencyListscbsFlushEmergencyListscbsDeleteFromTreecbsDeleteFromEmergencyBlockListcbsDeleteFromEmergencyGrainListCBSSplayNodeDescribecbsIterateInternalcbsIterateLargeActioncbsSetMinSizeGrowcbsSetMinSizeShrinkCBSFindDeleteCheckcbsFindDeleteRangecbsSrcIdCBSCheckCBSBlockCheckCBSBlockSizeCBSInitSplayTreeInitPoolClassMFSPoolCreateMeterInitCBSFinishMeterEmitSplayTreeFinishPoolDestroyMeterAccumulateSplayTreeDeletePoolFreeSplayNodeRefreshPoolAllocSplayNodeInitSplayTreeInsertSplayTreeNeighboursCBSInsertReturningRangeResIsAllocFailureCBSInsertSplayTreeSearchCBSDeleteCBSBlockDescribeWriteFSplayTreeFirstSplayTreeNextCBSIterateCBSIterateLargeCBSSetMinSizeCBSFindFirstSplayFindFirstCBSFindLastSplayFindLastCBSFindLargestSplayRootCBSDescribeSplayTreeDescribeMeterWrite!061J2Z3 4 4 446?6M6_7j89:;<<=>9+?s9@*999&99 9 B@ A\ 9o D 9 9  G F9HI9WI9N9 O9P 9:`9 R'927AN\q9: B J P VGgnTUUU G  *!*%***1*8*?*M*X*_*f*m*t*{*************(*3*9*Z*e*v*|************ **#*.*9*T*e*k************-*<*K*Z*i*y***********,*;*Z*i*q***********%*4*C*R*a*p********* **(*6*D*R*`*n********** **&*4*B*P*^*l*z***********"*0*>*L*Z*h*v******* * *) *8 *G *V *e *t * * * * * * * * * * * *( *7 *F *U *d *s * * * * * * * * * * *: *I *X *g *v * * * * * * * * * * * *+ *@ *V *d *r * * * * * * * * * * *0 *> *L *Z *h *v * * * * * * * * ***!*0*@*U*********,*>*Q*f*n*|************$*2*O*d*{********** */*>*M*\*k*z********** *0*@*P*`*p*********** *0*@*P*`*p*********** *0*@*P*`*p******** **'*6*E*T*c*r***************4*<*J*X*f******(*i*****+*\***** *.*U*w*******U*r******4*Z*****.*Z*****>*n*y*****)*P******1*R*t********* *3 *; *I *W *f *{ * * * * * * *!*(!*0!*>!*L!*h!*v!*!*!*!*!*!*!*!*!*!*"*"*"*,"*K"*`"*h"*v"*"*"*"*"*"* #*#*#*4#*<#*J#*Y#*d#*w#*#*#*#*#*#*#*#*#* $*$*/$*E$*T$*$*$*$*$*$*$*%*%*"%*3%*B%*J%*X%*f%*t%*%*%*%*%*%*%*%*%*%* &*&*(&*7&*F&*U&*t&*&*&*&*&*&*&* ' ''*!'*.'*>'*I'M'b'*o'*}'*'*'''*'''*''(* (((**(*5(9(@(*R(*](a(u(*(*(*(*(*(*(((*(*(*(*)*)*)**).)5)*C)*P)*^)*k)*v)*)*)))*)*)*)*)*)*)))*** **!**-*1*8**U**r******************+*++0+*J+*]+*e+i+~+*+*+*+*+++*+*+*+* ,,$,*3,*A,*j,*x,*,,*,,,*,*,*,*,*-*-*"-*1-*@-*N-*\-*j-*x-*----*-*---*---*-*---* .*&.*4.*B.*U.Y.^.*m.*{.*.*.*...*.*.*.*.*.*/ /!/*//*L/*^/b/g/*u/*///*/*/*///* 0*0*!0*0.030*B0F0K0*`0*l0p0w0*0*0*0*0*0*0*00*1 1!1*01*M1*\1*p1*|111*1*1*1*1*1*11*22* 2222*(2*:2>2C2*P2T2Y2*n2*z2~22*2*2*2*2*2*2*3 3!3*03*>3*J3*X3*f3*z3*333*3*3*333*3*4* 4$4+4*94*X4*`4d4y4*4*4*4*4*4*444*4* 5*-5*95*O5*[5_5t5*5*5*555*5*5*!6*-6*C6*O6S6h6*6*6*6*666*6*6*7*7 7!7*/7*C7*O7S7Z7*j7*7*777*7*7*7*7*8*8*8*-818I8*U8Y8`8*o8*8*8*8*8*8*8*888*99 9*9!9&9*5999>9*S9*_9c9j9*y9*9*9*9*9*9*9*999* :::*':+:0:*?:C:H:*]:*i:m:t:*:*:*:*:*:*:*:*:;;*;*";&;+;*9;*N;R;W;*f;j;o;*;*;;;*;*; ;*;,    '0'4H'L`'dx'|''''' '(',X'\|'''' '0'4T'X'''' '$D'Hh'l'''''4'8X'\x'|''''0'4d'h'version.o/ 1169001829 1001 1001 100644 34256 ` ELF X~4(UPortions copyright (c) 2006 Ravenbrook Limited and Global Graphics Software.@(#)Ravenbrook MPS, product.dylan, release/1.106.2, platform.fri4gc, variety.nonasserted.nonlogging.debug, compiled on Jan 17 2007 03:43:49C% $ > $ > : ; I I&I : ;  : ; I8 .? : ; ' I@ 4: ; I 4: ; I?  I !I/ k 82intzL1h""c$#,%#&#'# oo ; U < m :o }L )* \o } 5Lg /usr/include/usr/include/sys/usr/include/machinempm.hconfig.hmpstd.hmisc.hstddef.hcdefs.h_null.h_types.h_types.hcheck.hmpslib.hevent.heventcom.hmpmtypes.hstdarg.heventgen.hlock.hth.hring.hss.htract.hbt.hmpmst.hprotocol.hchain.hversion.c:;__STDC_HOSTED__ 1__GNUC__ 3__GNUC_MINOR__ 4__GNUC_PATCHLEVEL__ 6__SIZE_TYPE__ unsigned int__PTRDIFF_TYPE__ int__WCHAR_TYPE__ int__WINT_TYPE__ unsigned int __GXX_ABI_VERSION 1002 __SCHAR_MAX__ 127 __SHRT_MAX__ 32767 __INT_MAX__ 2147483647 __LONG_MAX__ 2147483647L__LONG_LONG_MAX__ 9223372036854775807LL__WCHAR_MAX__ 2147483647__CHAR_BIT__ 8__FLT_EVAL_METHOD__ 2__FLT_RADIX__ 2__FLT_MANT_DIG__ 24__FLT_DIG__ 6__FLT_MIN_EXP__ (-125)__FLT_MIN_10_EXP__ (-37)__FLT_MAX_EXP__ 128__FLT_MAX_10_EXP__ 38__FLT_MAX__ 3.40282347e+38F__FLT_MIN__ 1.17549435e-38F__FLT_EPSILON__ 1.19209290e-7F__FLT_DENORM_MIN__ 1.40129846e-45F__FLT_HAS_INFINITY__ 1__FLT_HAS_QUIET_NAN__ 1__DBL_MANT_DIG__ 53 __DBL_DIG__ 15!__DBL_MIN_EXP__ (-1021)"__DBL_MIN_10_EXP__ (-307)#__DBL_MAX_EXP__ 1024$__DBL_MAX_10_EXP__ 308%__DBL_MAX__ 1.7976931348623157e+308&__DBL_MIN__ 2.2250738585072014e-308'__DBL_EPSILON__ 2.2204460492503131e-16(__DBL_DENORM_MIN__ 4.9406564584124654e-324)__DBL_HAS_INFINITY__ 1*__DBL_HAS_QUIET_NAN__ 1+__LDBL_MANT_DIG__ 53,__LDBL_DIG__ 15-__LDBL_MIN_EXP__ (-16381).__LDBL_MIN_10_EXP__ (-4931)/__LDBL_MAX_EXP__ 163840__LDBL_MAX_10_EXP__ 49321__DECIMAL_DIG__ 172__LDBL_MAX__ 1.1897314953572316e+4932L3__LDBL_MIN__ 3.3621031431120935e-4932L4__LDBL_EPSILON__ 2.2204460492503131e-16L5__LDBL_DENORM_MIN__ 7.4653686412953080e-4948L6__LDBL_HAS_INFINITY__ 17__LDBL_HAS_QUIET_NAN__ 18__REGISTER_PREFIX__ 9__USER_LABEL_PREFIX__ :__VERSION__ "3.4.6 [FreeBSD] 20060305";__OPTIMIZE__ 1<__FINITE_MATH_ONLY__ 0=__STRICT_ANSI__ 1@__i386 1A__i386__ 1B__tune_i386__ 1C__FreeBSD__ 6D__unix 1E__unix__ 1F__KPRINTF_ATTRIBUTE__ 1J__FreeBSD_cc_version 602001K__ELF__ 1_REENTRANT 1CONFIG_PROD_DYLAN 1CONFIG_VAR_HI 1NDEBUG 1 mpm_h config_h !CONFIG_DEBUG "CHECK_DEFAULT CheckNONE6CHECK_NONE 7MPS_ASSERT_STRING "nonasserted"?EVENT_NONE @MPS_LOG_STRING "nonlogging"EDIAGNOSTICS FMPS_DEBUG_STRING "debug"LMPS_VARIETY_STRING MPS_ASSERT_STRING "." MPS_LOG_STRING "." MPS_DEBUG_STRINGRmpstd_h MPS_PF_FRI4GC MPS_PF_STRING "fri4gc"MPS_OS_FR MPS_ARCH_I4 MPS_BUILD_GC MPS_T_WORD unsigned longMPS_WORD_WIDTH 32MPS_WORD_SHIFT 5MPS_PF_ALIGN 4EPVMDefaultSubsequentSegSIZE (64ul * 1024)ARENA_CONTROL_EXTENDBY ((Size)4096)ARENA_CONTROL_AVGSIZE ((Size)32)ARENA_CONTROL_MAXSIZE ((Size)65536)ArenaPollALLOCTIME (65536.0)ARENA_ZONESHIFT ((Shift)20)ARENA_CLIENT_PAGE_SIZE ((Size)8192)ArenaDefaultZONESET (ZoneSetUNIV << (MPS_WORD_WIDTH / 2))SegPrefDEFAULT { SegPrefSig, TRUE, ArenaDefaultZONESET, FALSE, FALSE, (Serial)0, }LDHistoryLENGTH ((Size)4)StackProbeDEPTH ((Size)0)ShieldCacheSIZE ((size_t)16)ShieldDepthWIDTH (4)VMANPageALIGNMENT ((Align)4096)VMJunkBYTE ((unsigned char)0xA9)TraceLIMIT ((size_t)1)TraceCopyScanRATIO (1.5)RememberedSummaryBLOCK 15EventBufferSIZE ((size_t)4096)EventStringLengthMAX ((size_t)255)ASSERT_BUFFER_SIZE ((Size)512)MPS_PROD_STRING "dylan"MPS_PROD_DYLAN ARENA_INIT_SPARE_COMMIT_LIMIT ((Size)10uL*1024uL*1024uL)THREAD_MULTI PROTECTION DONGLE_NONE PROD_CHECK_DEFAULT CheckSHALLOWARENA_SIZE ((Size)1<<30)misc_h '_STDDEF_H_ )%_SYS_CDEFS_H_ +__BEGIN_DECLS ,__END_DECLS 8__GNUCLIKE_ASM 39__GNUCLIKE_MATH_BUILTIN_CONSTANTS =__GNUCLIKE___TYPEOF 1>__GNUCLIKE___OFFSETOF 1?__GNUCLIKE___SECTION 1A__GNUCLIKE_ATTRIBUTE_MODE_DI 1D__GNUCLIKE_CTOR_SECTION_HANDLING 1G__GNUCLIKE_BUILTIN_CONSTANT_P 1N__GNUCLIKE_BUILTIN_VARARGS 1O__GNUCLIKE_BUILTIN_STDARG 1P__GNUCLIKE_BUILTIN_VAALIST 1T__GNUC_VA_LIST_COMPATIBILITY 1X__GNUCLIKE_BUILTIN_NEXT_ARG 1Y__GNUCLIKE_MATH_BUILTIN_RELOPS \__GNUCLIKE_BUILTIN_MEMCPY 1___CC_SUPPORTS_INLINE 1`__CC_SUPPORTS___INLINE 1a__CC_SUPPORTS___INLINE__ 1c__CC_SUPPORTS___FUNC__ 1d__CC_SUPPORTS_WARNING 1f__CC_SUPPORTS_VARADIC_XXX 1h__CC_SUPPORTS_DYNAMIC_ARRAY_INIT 1k__CC_INT_IS_32BIT 1s__GNUC_PREREQ__(ma,mi) (__GNUC__ > (ma) || __GNUC__ == (ma) && __GNUC_MINOR__ >= (mi))__P(protos) protos__CONCAT1(x,y) x ## y__CONCAT(x,y) __CONCAT1(x,y)__STRING(x) #x__XSTRING(x) __STRING(x)__const const__signed signed__volatile volatile__dead2 __attribute__((__noreturn__))__pure2 __attribute__((__const__))__unused __attribute__((__unused__))__used __attribute__((__used__))__packed __attribute__((__packed__))__aligned(x) __attribute__((__aligned__(x)))__section(x) __attribute__((__section__(x)))__pure __attribute__((__pure__))__always_inline __attribute__((__always_inline__))__nonnull(x) __attribute__((__nonnull__(x)))__restrict __predict_true(exp) __builtin_expect((exp), 1)__predict_false(exp) __builtin_expect((exp), 0)__offsetof(type,field) ((size_t)(&((type *)0)->field))__rangeof(type,start,end) (__offsetof(type, end) - __offsetof(type, start))__printflike(fmtarg,firstvararg) __attribute__((__format__ (__printf__, fmtarg, firstvararg)))__scanflike(fmtarg,firstvararg) __attribute__((__format__ (__scanf__, fmtarg, firstvararg)))__format_arg(fmtarg) __attribute__((__format_arg__ (fmtarg)))__printf0like(fmtarg,firstvararg) __attribute__((__format__ (__printf0__, fmtarg, firstvararg)))__strong_reference(sym,aliassym) extern __typeof (sym) aliassym __attribute__ ((__alias__ (#sym)));__weak_reference(sym,alias) __asm__(".weak " #alias); __asm__(".equ " #alias ", " #sym)__warn_references(sym,msg) __asm__(".section .gnu.warning." #sym); __asm__(".asciz \"" msg "\""); __asm__(".previous")__IDSTRING(name,string) __asm__(".ident\t\"" string "\"")__FBSDID(s) __IDSTRING(__CONCAT(__rcsid_,__LINE__),s)__RCSID(s) __IDSTRING(__CONCAT(__rcsid_,__LINE__),s)__RCSID_SOURCE(s) __IDSTRING(__CONCAT(__rcsid_source_,__LINE__),s)__SCCSID(s) __IDSTRING(__CONCAT(__sccsid_,__LINE__),s)__COPYRIGHT(s) __IDSTRING(__CONCAT(__copyright_,__LINE__),s)__DECONST(type,var) ((type)(uintptr_t)(const void *)(var))__DEVOLATILE(type,var) ((type)(uintptr_t)(volatile void *)(var))__DEQUALIFY(type,var) ((type)(uintptr_t)(const volatile void *)(var))__POSIX_VISIBLE 200112__XSI_VISIBLE 600__BSD_VISIBLE 1__ISO_C_VISIBLE 1999* NULL ((void *)0)+_SYS__TYPES_H_ ! (_MACHINE__TYPES_H_ .__NO_STRICT_ALIGNMENT __GNUC_VA_LIST 2_RUNE_T_DECLARED 8_SIZE_T_DECLARED >_WCHAR_T_DECLARED Boffsetof(type,member) __offsetof(type, member)*SRCID(id,scmid) static SrcIdStruct FileSrcIdStruct = {__FILE__, (scmid), __DATE__, __TIME__}; SrcId id ## SrcId = &FileSrcIdStruct;BEGIN do {> (i)) & 1)BS_UNION(s1,s2) ((s1) | (s2))BS_ADD(ty,s,i) BS_UNION((s), BS_SINGLE(ty, (i)))BS_INTER(s1,s2) ((s1) & (s2))BS_DIFF(s1,s2) BS_INTER((s1), BS_COMP(s2))BS_DEL(ty,s,i) BS_DIFF((s), BS_SINGLE(ty, (i)))BS_SUPER(s1,s2) (BS_INTER((s1), (s2)) == (s2))BS_SUB(s1,s2) BS_SUPER((s2), (s1))BS_IS_SINGLE(s) (((s) & ((s)-1)) == 0)BS_SYM_DIFF(s1,s2) ((s1) ^ (s2)) check_h  mpslib_h mps_lib_EOF (mps_lib_get_EOF())mps_lib_stderr (mps_lib_get_stderr())mps_lib_stdout (mps_lib_get_stdout())0AVER(cond) DISCARD(cond)1AVERT(type,val) DISCARD(type ## Check(val))2AVER_CRITICAL(cond) DISCARD(cond)3AVERT_CRITICAL(type,val) DISCARD(type ## Check(val))MASSERT(cond,condstring) BEGIN if (cond) NOOP; else mps_lib_assert_fail(condstring "\n" __FILE__ "\n" STR(__LINE__)); END_NOTREACHED NOOPjCHECKT(type,val) ((val) != NULL && (val)->sig == type ## Sig)pCHECKS(type,val) DISCARD(CHECKT(type, val))qCHECKL(cond) DISCARD(cond)rCHECKD(type,val) DISCARD(CHECKT(type, val))sCHECKD_NOSIG(type,val) DISCARD((val) != NULL)tCHECKU(type,val) DISCARD(CHECKT(type, val))uCHECKU_NOSIG(type,val) DISCARD((val) != NULL)CHECKLVALUE(lv1,lv2) ((void)sizeof((lv1) = (lv2)), (void)sizeof((lv2) = (lv1)), TRUE)CHECKTYPE(t1,t2) (sizeof(t1) == sizeof(t2) && CHECKLVALUE(*((t1 *)0), *((t2 *)0)))CHECKFIELDAPPROX(s1,f1,s2,f2) (sizeof(((s1 *)0)->f1) == sizeof(((s2 *)0)->f2) && offsetof(s1, f1) == offsetof(s2, f2))CHECKFIELD(s1,f1,s2,f2) (CHECKFIELDAPPROX(s1, f1, s2, f2) && CHECKLVALUE(((s1 *)0)->f1, ((s2 *)0)->f2)) event_h   eventcom_h  mpmtypes_h '_MACHINE_STDARG_H_ -_VA_LIST_DECLARED 3va_start(ap,last) __builtin_stdarg_start((ap), (last))6va_arg(ap,type) __builtin_va_arg((ap), type):va_copy(dest,src) __builtin_va_copy((dest), (src))>va_end(ap) __builtin_va_end(ap)SigInvalid ((Sig)0x51915BAD)SizeMAX ((Size)-1)AccessSetEMPTY ((AccessSet)0)AccessREAD ((AccessSet)(1<<0))AccessWRITE ((AccessSet)(1<<1))AccessSetWIDTH (2)RefSetEMPTY BS_EMPTY(RefSet)RefSetUNIV BS_UNIV(RefSet)ZoneSetEMPTY BS_EMPTY(ZoneSet)ZoneSetUNIV BS_UNIV(ZoneSet)TraceSetEMPTY BS_EMPTY(TraceSet)TraceSetUNIV ((TraceSet)((1u << TraceLIMIT) - 1))RankSetEMPTY BS_EMPTY(RankSet)RankSetUNIV ((RankSet)((1u << RankLIMIT) - 1))AttrFMT ((Attr)(1<<0))AttrSCAN ((Attr)(1<<1))AttrPM_NO_READ ((Attr)(1<<2))AttrPM_NO_WRITE ((Attr)(1<<3))AttrALLOC ((Attr)(1<<4))AttrFREE ((Attr)(1<<5))AttrBUF ((Attr)(1<<6))AttrBUF_RESERVE ((Attr)(1<<7))AttrBUF_ALLOC ((Attr)(1<<8))AttrGC ((Attr)(1<<9))AttrINCR_RB ((Attr)(1<<10))AttrINCR_WB ((Attr)(1<<11))AttrMOVINGGC ((Attr)(1<<12))AttrMASK (AttrFMT | AttrSCAN | AttrPM_NO_READ | AttrPM_NO_WRITE | AttrALLOC | AttrFREE | AttrBUF | AttrBUF_RESERVE | AttrBUF_ALLOC | AttrGC | AttrINCR_RB | AttrINCR_WB | AttrMOVINGGC)BufferModeATTACHED ((BufferMode)(1<<0))BufferModeFLIPPED ((BufferMode)(1<<1))BufferModeLOGGED ((BufferMode)(1<<2))BufferModeTRANSITION ((BufferMode)(1<<3))RootModeCONSTANT ((RootMode)1<<0)RootModePROTECTABLE ((RootMode)1<<1)RootModePROTECTABLE_INNER ((RootMode)1<<2)STATISTIC_DECL(field) field!EventNameMAX ((size_t)19)"EventCodeMAX ((EventCode)0x0069)&EVENT_0(type) NOOPEVENT_A(type,p0) NOOPEVENT_AW(type,p0,p1) NOOPEVENT_P(type,p0) NOOPEVENT_PAA(type,p0,p1,p2) NOOPEVENT_PAW(type,p0,p1,p2) NOOPEVENT_PAWA(type,p0,p1,p2,p3) NOOPEVENT_PDDWWW(type,p0,p1,p2,p3,p4,p5) NOOPEVENT_PP(type,p0,p1) NOOPEVENT_PPAU(type,p0,p1,p2,p3) NOOPEVENT_PPAWP(type,p0,p1,p2,p3,p4) NOOPEVENT_PPP(type,p0,p1,p2) NOOPEVENT_PPPA(type,p0,p1,p2,p3) NOOPEVENT_PPPU(type,p0,p1,p2,p3) NOOPEVENT_PPPUU(type,p0,p1,p2,p3,p4) NOOPEVENT_PPU(type,p0,p1,p2) NOOPEVENT_PPUU(type,p0,p1,p2,p3) NOOPEVENT_PPUWWW(type,p0,p1,p2,p3,p4,p5) NOOPEVENT_PPWW(type,p0,p1,p2,p3) NOOPEVENT_PPWWW(type,p0,p1,p2,p3,p4) NOOPEVENT_PPWWWUUU(type,p0,p1,p2,p3,p4,p5,p6,p7) NOOPEVENT_PU(type,p0,p1) NOOPEVENT_PW(type,p0,p1) NOOPEVENT_PWA(type,p0,p1,p2) NOOPEVENT_PWAW(type,p0,p1,p2,p3) NOOPEVENT_PWP(type,p0,p1,p2) NOOPEVENT_PWU(type,p0,p1,p2) NOOPEVENT_PWW(type,p0,p1,p2) NOOPEVENT_PWWWWDD(type,p0,p1,p2,p3,p4,p5,p6) NOOPEVENT_PWWWWW(type,p0,p1,p2,p3,p4,p5) NOOPEVENT_PWWWWWWWWW(type,p0,p1,p2,p3,p4,p5,p6,p7,p8,p9) NOOPEVENT_PWWWWWWWWWWWW(type,p0,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11,p12) NOOPEVENT_UUPA(type,p0,p1,p2,p3) NOOPEVENT_UUPP(type,p0,p1,p2,p3) NOOPEVENT_UUPPP(type,p0,p1,p2,p3,p4) NOOPEVENT_WS(type,p0,p1,l1) NOOP:EventEventTime ((EventType)0xEF213E99);EventPoolInit ((EventType)0xEFB07141)EventPoolFree ((EventType)0xEFB07F6E)?EventArenaCreateVM ((EventType)0xEFA64CF3)@EventArenaCreateVMNZ ((EventType)0xEFA64CF2)AEventArenaCreateCL ((EventType)0xEFA64CC7)BEventArenaDestroy ((EventType)0xEFA64DE5)CEventArenaAlloc ((EventType)0xEFA64A77)DEventArenaFree ((EventType)0xEFA64F6E)EEventSegAlloc ((EventType)0xEF5E9A77)FEventSegFree ((EventType)0xEF5E9F6E)GEventSegMerge ((EventType)0xEF5E93E6)HEventSegSplit ((EventType)0xEF5E95B7)IEventAMCGenCreate ((EventType)0xEFA3C94C)JEventAMCGenDestroy ((EventType)0xEFA3C94D)KEventAMCInit ((EventType)0xEFA3C141)LEventAMCFinish ((EventType)0xEFA3CF14)MEventAMCTraceBegin ((EventType)0xEFA3C26B)NEventAMCScanBegin ((EventType)0xEFA3C5CB)OEventAMCScanEnd ((EventType)0xEFA3C5CE)PEventAMCFix ((EventType)0xEFA3CF18)QEventAMCFixInPlace ((EventType)0xEFA3CF8A)REventAMCFixForward ((EventType)0xEFA3CF8F)SEventAMCReclaim ((EventType)0xEFA3C6EC)TEventTraceStart ((EventType)0xEF26AC52)UEventTraceCreate ((EventType)0xEF26ACC6)VEventTraceDestroy ((EventType)0xEF26ACDE)WEventSegSetGrey ((EventType)0xEF59596A)XEventTraceFlipBegin ((EventType)0xEF26AF7B)YEventTraceFlipEnd ((EventType)0xEF26AF7E)ZEventTraceReclaim ((EventType)0xEF26A6EC)[EventTraceScanSeg ((EventType)0xEF26A559)\EventTraceScanSingleRef ((EventType)0xEF26A556)^EventTraceAccess ((EventType)0xEF26AACC)_EventTracePoll ((EventType)0xEF26AB01)`EventTraceStep ((EventType)0xEF26A52B)aEventTraceFix ((EventType)0xEF26AF18)bEventTraceFixSeg ((EventType)0xEF26AF85)cEventTraceFixWhite ((EventType)0xEF26AF83)dEventTraceScanArea ((EventType)0xEF26A5CA)eEventTraceScanAreaTagged ((EventType)0xEF26A5C2)fEventVMCreate ((EventType)0xEFF3C6EA)gEventVMDestroy ((EventType)0xEFF3DE52)hEventVMMap ((EventType)0xEFF33AB9)iEventVMUnmap ((EventType)0xEFF3043B)jEventIntern ((EventType)0xEF142E64)kEventArenaExtend ((EventType)0xEFA64E82)lEventArenaRetract ((EventType)0xEFA646E2)mEventRootScan ((EventType)0xEF625CA4)nEventLabel ((EventType)0xEF7ABE79)oEventTraceSegGreyen ((EventType)0xEF26A599)pEventBufferReserve ((EventType)0xEFB0FF6E)qEventBufferCommit ((EventType)0xEFB0FFC0)rEventBufferInit ((EventType)0xEFB0FF14)sEventBufferInitSeg ((EventType)0xEFB0F15E)tEventBufferInitRank ((EventType)0xEFB0F16A)uEventBufferInitEPVM ((EventType)0xEFB0F1EF)vEventBufferFinish ((EventType)0xEFB0FFF1)wEventBufferFill ((EventType)0xEFB0FFF7)xEventBufferEmpty ((EventType)0xEFB0FFE3)yEventArenaAllocFail ((EventType)0xEFA64A7F)zEventSegAllocFail ((EventType)0xEF5E9A7F){EventMeterInit ((EventType)0xEF3E2141)|EventMeterValues ((EventType)0xEF3E2FA7)}EventCBSInit ((EventType)0xEFCB5141)~EventTraceStatCondemn ((EventType)0xEF26A5C0)EventTraceStatScan ((EventType)0xEF26A55C)EventTraceStatFix ((EventType)0xEF26A5F8)EventTraceStatReclaim ((EventType)0xEF26A56E)EventArenaWriteFaults ((EventType)0xEFA6436F)EventPoolInitMV ((EventType)0xEFB0713F)EventPoolInitMVFF ((EventType)0xEFB071FF)EventPoolInitMFS ((EventType)0xEFB07135)EventPoolInitEPVM ((EventType)0xEFB071EF)EventPoolInitEPDL ((EventType)0xEFB071E7)EventPoolInitAMS ((EventType)0xEFB071A5)EventPoolInitAMC ((EventType)0xEFB071AC)EventPoolInitAMCZ ((EventType)0xEFB071A2)EventPoolInitAWL ((EventType)0xEFB071A3)EventPoolInitLO ((EventType)0xEFB07170)EventPoolInitSNC ((EventType)0xEFB07154)EventPoolInitMVT ((EventType)0xEFB07132)EventPoolPush ((EventType)0xEFB07B58)EventPoolPop ((EventType)0xEFB07B0B)EventReservoirLimitSet ((EventType)0xEF6E5713)EventCommitLimitSet ((EventType)0xEFC03713)EventSpareCommitLimitSet ((EventType)0xEF5BC713)hEventInit() NOOPiEventFinish() NOOPjEventControl(r,f) (UNUSED(r), UNUSED(f), (Word)0)kEventInternString(s) (UNUSED(s), (Word)0)lEventInternGenString(l,s) (UNUSED(l), UNUSED(s), (Word)0)mEventLabelAddr(a,i) BEGIN UNUSED(a); UNUSED(i); ENDPlock_h ULockSig ((Sig)0x51970CC9) th_h  ring_h RingNONE ((Ring)0)$RingInit(ring) BEGIN Ring _ring = (ring); AVER(_ring != NULL); _ring->next = _ring; _ring->prev = _ring; AVER(RingCheck(_ring)); END/RingFinish(ring) BEGIN Ring _ring = (ring); AVER(RingCheckSingle(_ring)); _ring->next = RingNONE; _ring->prev = RingNONE; END9RingAppend(ring,new) BEGIN Ring _ring = (ring), _new = (new); AVER(RingCheck(_ring)); AVER(RingCheckSingle(_new)); _new->prev = _ring->prev; _new->next = _ring; _ring->prev->next = _new; _ring->prev = _new; ENDFRingInsert(ring,new) BEGIN Ring _ring = (ring), _new = (new); AVER(RingCheck(_ring)); AVER(RingCheckSingle(_new)); _new->prev = _ring; _new->next = _ring->next; _ring->next->prev = _new; _ring->next = _new; ENDSRingRemove(old) BEGIN Ring _old = (old); AVER(RingCheck(_old)); AVER(!RingIsSingle(_old)); _old->next->prev = _old->prev; _old->prev->next = _old->next; _old->next = _old; _old->prev = _old; END`RingNext(ring) ((ring)->next)dRingPrev(ring) ((ring)->prev)gRING_ELT(type,field,node) ((type)(void *)((char *)(node) - (size_t)(&((type)0)->field)))kRING_FOR(node,ring,next) for(node = RingNext(ring), next = RingNext(node); node != (ring); node = (next), next = RingNext(node))ThreadSig ((Sig)0x519286ED) ss_h  tract_h   bt_h BTSize(n) (((n) + MPS_WORD_WIDTH-1) / MPS_WORD_WIDTH * sizeof(Word))BTGet(a,i) ((Bool)(((a)[((i) >> MPS_WORD_SHIFT)] >> ((i) & ~((Word)-1 << MPS_WORD_SHIFT))) & (Word)1))BTSet(a,i) BEGIN (a)[((i)>>MPS_WORD_SHIFT)] |= (Word)1<<((i)&~((Word)-1<>MPS_WORD_SHIFT)] &= ~((Word)1 << ((i) & ~((Word)-1<base)&TractPool(tract) ((tract)->pool)'TractP(tract) ((tract)->p)(TractSetP(tract,pp) ((void)((tract)->p = (pp))))TractHasSeg(tract) ((Bool)(tract)->hasSeg)*TractSetHasSeg(tract,b) ((void)((tract)->hasSeg = (b)))+TractWhite(tract) ((tract)->white),TractSetWhite(tract,w) ((void)((tract)->white = (w)))8TRACT_SEG(segReturn,tract) (TractHasSeg(tract) && ((*(segReturn) = (Seg)TractP(tract)), TRUE));TRACT_SET_SEG(tract,seg) (TractSetHasSeg(tract, TRUE), TractSetP(tract, seg))>TRACT_UNSET_SEG(tract) (TractSetHasSeg(tract, FALSE), TractSetP(tract, NULL))nPageTract(page) (&(page)->the.tractStruct)rPageOfTract(tract) PARENT(PageStruct, the.tractStruct, (tract))vPagePool(page) ((page)->the.rest.pool)}PageIsAllocated(page) ((page)->the.rest.pool != NULL)PageType(page) ((page)->the.rest.type)ChunkSig ((Sig)0x519C804C)ChunkArena(chunk) ((chunk)->arena)ChunkPageSize(chunk) ((chunk)->pageSize)ChunkPageShift(chunk) ((chunk)->pageShift)ChunkPagesToSize(chunk,pages) ((Size)(pages) << (chunk)->pageShift)ChunkSizeToPages(chunk,size) ((Count)((size) >> (chunk)->pageShift))CHUNK_OF_ADDR(chunkReturn,arena,addr) (((arena)->chunkCache.base <= (addr) && (addr) < (arena)->chunkCache.limit) ? (*(chunkReturn) = (arena)->chunkCache.chunk, TRUE) : ChunkOfAddr(chunkReturn, arena, addr))AddrPageBase(chunk,addr) AddrAlignDown((addr), ChunkPageSize(chunk))TRACT_OF_ADDR(tractReturn,arena,addr) BEGIN Arena _arena = (arena); Addr _addr = (addr); Chunk _chunk; Index _i; if (CHUNK_OF_ADDR(&_chunk, _arena, _addr)) { _i = INDEX_OF_ADDR(_chunk, _addr); if (BTGet(_chunk->allocTable, _i)) *(tractReturn) = PageTract(&_chunk->pageTable[_i]); else *(tractReturn) = NULL; } else *(tractReturn) = NULL; ENDINDEX_OF_ADDR(chunk,addr) ((Index)ChunkSizeToPages(chunk, AddrOffset((chunk)->base, addr)))PageIndexBase(chunk,i) AddrAdd((chunk)->base, ChunkPagesToSize(chunk, i))TractAverContiguousRange(arena,rangeBase,rangeLimit) BEGIN Chunk _ch = NULL; UNUSED(_ch); AVER(ChunkOfAddr(&_ch, arena, rangeBase) && (rangeLimit) <= _ch->limit); ENDTRACT_TRACT_FOR(tract,addr,arena,firstTract,limit) tract = (firstTract); addr = TractBase(tract); TractAverContiguousRange(arena, addr, limit); for(; tract != NULL; (addr = AddrAdd(addr, (arena)->alignment)), (addr < (limit) ? (tract = PageTract(PageOfTract(tract) + 1)) : (tract = NULL) ))TRACT_FOR(tract,addr,arena,base,limit) TRACT_TRACT_FOR(tract, addr, arena, TractOfBaseAddr(arena, base), limit)mpmst_h protocol_h DERIVE_LOCAL(name) protocol ## nameDERIVE_STRUCT(name) name ## StructDERIVE_ENSURE(name) name ## GetDERIVE_ENSURE_OLD(name) Ensure ## nameDERIVE_ENSURE_INTERNAL(name) protocolGet ## nameDERIVE_GUARDIAN(name) protocol ## name ## GuardianDERIVE_STATIC_STORAGE(name) protocol ## name ## StructProtocolClassSetSuperclassPoly(class,super) (((ProtocolClass)(class))->superclass) = (ProtocolClass)(super)$DEFINE_CLASS(className,var) static Bool DERIVE_GUARDIAN(className) = FALSE; static DERIVE_STRUCT(className) DERIVE_STATIC_STORAGE(className); static void DERIVE_ENSURE_INTERNAL(className)(className); extern className DERIVE_ENSURE(className)(void); className DERIVE_ENSURE(className)(void) { if (DERIVE_GUARDIAN(className) == FALSE) { LockClaimGlobalRecursive(); if (DERIVE_GUARDIAN(className) == FALSE) { DERIVE_ENSURE_INTERNAL(className) (&DERIVE_STATIC_STORAGE(className)); DERIVE_GUARDIAN(className) = TRUE; } LockReleaseGlobalRecursive(); } return &DERIVE_STATIC_STORAGE(className); } extern className DERIVE_ENSURE_OLD(className)(void); className DERIVE_ENSURE_OLD(className)(void) { return DERIVE_ENSURE(className)(); } static void DERIVE_ENSURE_INTERNAL(className) (className var)AINHERIT_CLASS(this,parentName) BEGIN parentName DERIVE_LOCAL(parentName) = DERIVE_ENSURE(parentName)(); *this = *(DERIVE_LOCAL(parentName)); ProtocolClassSetSuperclassPoly(this, DERIVE_LOCAL(parentName)); ENDODEFINE_ALIAS_CLASS(className,typeName,var) typedef typeName className; typedef DERIVE_STRUCT(typeName) DERIVE_STRUCT(className); DEFINE_CLASS(className, var)VProtocolClassSig ((Sig)0x519B60C7)WProtocolInstSig ((Sig)0x519B6014)ProtocolClassSuperclassPoly(class) (((ProtocolClass)(class))->superclass)ClassOfPoly(inst) ((ProtocolInst)(inst)->class)IsSubclassPoly(sub,super) ProtocolIsSubclass((ProtocolClass)(sub), (ProtocolClass)(super))SUPERCLASS(className) ProtocolClassSuperclassPoly(DERIVE_ENSURE(className)())chain_h GenDescSig ((Sig)0x5199E4DE)+PoolGenSig ((Sig)0x519B009E);ChainSig ((Sig)0x519C8A14)XPoolGenNr(gen) ((gen)->nr)/PoolClassSig ((Sig)0x519C7A55)]PoolSig ((Sig)0x519B0019)}MFSSig ((Sig)0x5193F599)MVSig ((Sig)0x5193B999)ReservoirSig ((Sig)0x5196e599)MessageClassSig ((Sig)0x519359c1)MessageSig ((Sig)0x5193e559)SegClassSig ((Sig)0x5195E9C7)SegSig ((Sig)0x5195E999)GCSegSig ((Sig)0x5199C5E9)SegPrefSig ((Sig)0x5195E9B6)BufferClassSig ((Sig)0x519B0FC7)BufferSig ((Sig)0x519B0FFE)SegBufSig ((Sig)0x51959B0F)FormatSig ((Sig)0x519F63A2)ScanStateSig ((Sig)0x5195CA45)TraceSig ((Sig)0x51924ACE)ChunkCacheEntrySig ((Sig)0x519C80CE)ArenaClassSig ((Sig)0x519A6C1A)GlobalsSig ((Sig)0x519970BA)ArenaSig ((Sig)0x519A6E4A)%BoolCheck(b) ((unsigned)(b) <= 1)(FUNCHECK(f) (FunCheck((Fun)f))4WordIsAligned(w,a) (((w) & ((a) - 1)) == 0)7WordAlignUp(w,a) (((w) + (a) - 1) & ~((Word)(a) - 1));WordRoundUp(w,r) (((w)+(r)-1) - ((w)+(r)-1)%(r))>WordAlignDown(w,a) ((w) & ~((Word)(a) - 1))@size_tAlignUp(s,a) ((size_t)WordAlignUp((Word)(s), a))BPointerAdd(p,s) ((void *)((char *)(p) + (s)))CPointerSub(p,s) ((void *)((char *)(p) - (s)))EPointerOffset(base,limit) ((size_t)((char *)(limit) - (char *)(base)))HPointerAlignUp(p,s) ((void *)WordAlignUp((Word)(p), (Align)(s)))KAddrAdd(p,s) ((Addr)PointerAdd((void *)(p), s))LAddrSub(p,s) ((Addr)PointerSub((void *)(p), s))NAddrOffset(b,l) ((Size)(PointerOffset((void *)(b), (void *)(l))))RAddrAlignDown(p,a) ((Addr)WordAlignDown((Word)(p), a))TAlignWord(s) ((Word)(s))VAddrIsAligned(p,a) WordIsAligned((Word)(p), a)WAddrAlignUp(p,a) ((Addr)WordAlignUp((Word)(p), a))YSizeIsAligned(s,a) WordIsAligned((Word)(s), a)ZSizeAlignUp(s,a) ((Size)WordAlignUp((Word)(s), a))[SizeAlignDown(s,a) ((Size)WordAlignDown((Word)(s), a))]SizeRoundUp(s,r) ((Size)WordRoundUp((Word)(s), (Size)(r)))_IndexIsAligned(s,a) WordIsAligned((Word)(s), a)`IndexAlignUp(s,a) ((Index)WordAlignUp((Word)(s), a))aIndexAlignDown(s,a) ((Index)WordAlignDown((Word)(s), a))cAlignIsAligned(a1,a2) WordIsAligned((Word)(a1), a2)iAddrSet(target,value,size) mps_lib_memset(target, (int)(value), size)mAddrCopy(target,source,size) mps_lib_memcpy(target, source, size)qAddrComp(a,b,size) mps_lib_memcmp(a, b, size)wADDR_PTR(type,addr) ((type *)(addr))PoolArena(pool) ((pool)->arena)PoolAlignment(pool) ((pool)->alignment)PoolSegRing(pool) (&(pool)->segRing)PoolFix(pool,ss,seg,refIO) ((*(pool)->fix)(pool, ss, seg, refIO))ClassOfPool(pool) ((pool)->class)SuperclassOfPool(pool) ((PoolClass)ProtocolClassSuperclassPoly((pool)->class))DEFINE_POOL_CLASS(className,var) DEFINE_ALIAS_CLASS(className, PoolClass, var)POOL_SUPERCLASS(className) ((PoolClass)SUPERCLASS(className))TraceSetSingle(trace) BS_SINGLE(TraceSet, (trace)->ti)TraceSetIsSingle(ts) BS_IS_SINGLE(ts)TraceSetIsMember(ts,trace) BS_IS_MEMBER(ts, (trace)->ti)TraceSetAdd(ts,trace) BS_ADD(TraceSet, ts, (trace)->ti)TraceSetDel(ts,trace) BS_DEL(TraceSet, ts, (trace)->ti)TraceSetUnion(ts1,ts2) BS_UNION(ts1, ts2)TraceSetInter(ts1,ts2) BS_INTER(ts1, ts2)TraceSetDiff(ts1,ts2) BS_DIFF(ts1, ts2)TraceSetSuper(ts1,ts2) BS_SUPER(ts1, ts2)TraceSetSub(ts1,ts2) BS_SUB(ts1, ts2)TraceSetComp(ts) BS_COMP(ts)TRACE_SET_ITER(ti,trace,ts,arena) for(ti = 0, trace = ArenaTrace(arena, ti); ti < TraceLIMIT; ++ti, trace = ArenaTrace(arena, ti)) BEGIN if (TraceSetIsMember(ts, trace)) {TRACE_SET_ITER_END(ti,trace,ts,arena) } ENDTRACE_SCAN_BEGIN(ss) BEGIN Shift SCANzoneShift = (ss)->zoneShift; ZoneSet SCANwhite = (ss)->white; RefSet SCANsummary = (ss)->unfixedSummary; Word SCANt; {TRACE_FIX1(ss,ref) (SCANt = (Word)1 << ((Word)(ref) >> SCANzoneShift & (MPS_WORD_WIDTH-1)), SCANsummary |= SCANt, SCANwhite & SCANt)TRACE_FIX2(ss,refIO) ((*(ss)->fix)(ss, refIO))TRACE_FIX(ss,refIO) (TRACE_FIX1(ss, *(refIO)) ? TRACE_FIX2(ss, refIO) : ResOK)TRACE_SCAN_END(ss) } (ss)->unfixedSummary = SCANsummary; ENDDEFINE_ARENA_CLASS(className,var) DEFINE_ALIAS_CLASS(className, ArenaClass, var)ARENA_SUPERCLASS(className) ((ArenaClass)SUPERCLASS(className))ArenaGlobals(arena) (&(arena)->globals)GlobalsArena(glob) PARENT(ArenaStruct, globals, glob)ArenaRootRing(arena) (&(arena)->rootRing)ArenaTraceRing(arena) (&(arena)->traceRing)ArenaThreadRing(arena) (&(arena)->threadRing)ArenaEpoch(arena) ((arena)->epoch)ArenaTrace(arena,ti) (&(arena)->trace[ti])ArenaZoneShift(arena) ((arena)->zoneShift)ArenaAlign(arena) ((arena)->alignment)ArenaGreyRing(arena,rank) (&(arena)->greyRing[rank])ArenaReservoir(arena) (&(arena)->reservoirStruct)DEFINE_SEG_CLASS(className,var) DEFINE_ALIAS_CLASS(className, SegClass, var)SEG_SUPERCLASS(className) ((SegClass)SUPERCLASS(className))ClassOfSeg(seg) ((seg)->class)SegBase(seg) (TractBase((seg)->firstTract))SegLimit(seg) ((seg)->limit)SegPool(seg) (TractPool((seg)->firstTract))SegRankSet(seg) ((RankSet)(seg)->rankSet)SegPM(seg) ((AccessSet)(seg)->pm)SegSM(seg) ((AccessSet)(seg)->sm)SegDepth(seg) ((unsigned)(seg)->depth)SegGrey(seg) ((TraceSet)(seg)->grey)SegWhite(seg) ((TraceSet)(seg)->white)SegNailed(seg) ((TraceSet)(seg)->nailed)SegOfPoolRing(node) (RING_ELT(Seg, poolRing, (node)))SegOfGreyRing(node) (&(RING_ELT(GCSeg, greyRing, (node)) ->segStruct))SegSummary(seg) (((GCSeg)(seg))->summary)SegSetPM(seg,mode) ((void)((seg)->pm = (mode)))SegSetSM(seg,mode) ((void)((seg)->sm = (mode)))SegSetDepth(seg,d) ((void)((seg)->depth = (d)))SegSetNailed(seg,ts) ((void)((seg)->nailed = (ts)))BUFFER_RESERVE(pReturn,buffer,size,withReservoirPermit) (AddrAdd(BufferAlloc(buffer), size) > BufferAlloc(buffer) && AddrAdd(BufferAlloc(buffer), size) <= BufferAP(buffer)->limit ? (*(pReturn) = BufferAlloc(buffer), BufferAP(buffer)->alloc = AddrAdd(BufferAlloc(buffer), size), ResOK) : BufferFill(pReturn, buffer, size, withReservoirPermit))BUFFER_COMMIT(buffer,p,size) (BufferAP(buffer)->init = BufferAlloc(buffer), BufferAP(buffer)->limit != 0 || BufferTrip(buffer, p, size))BufferAP(buffer) (&(buffer)->apStruct)BufferOfAP(ap) PARENT(BufferStruct, apStruct, ap)BufferArena(buffer) ((buffer)->arena)BufferPool(buffer) ((buffer)->pool)BufferBase(buffer) ((buffer)->base)BufferGetInit(buffer) (BufferAP(buffer)->init)BufferAlloc(buffer) (BufferAP(buffer)->alloc)BufferLimit(buffer) ((buffer)->poolLimit)DEFINE_BUFFER_CLASS(className,var) DEFINE_ALIAS_CLASS(className, BufferClass, var)BUFFER_SUPERCLASS(className) ((BufferClass)SUPERCLASS(className))RankSetIsMember(rs,r) BS_IS_MEMBER((rs), (r))RankSetSingle(r) BS_SINGLE(RankSet, (r))RankSetIsSingle(r) BS_IS_SINGLE(r)RankSetUnion(rs1,rs2) BS_UNION((rs1), (rs2))RankSetDel(rs,r) BS_DEL(RankSet, (rs), (r))AddrZone(arena,addr) (((Word)(addr) >> (arena)->zoneShift) & (MPS_WORD_WIDTH - 1))RefSetUnion(rs1,rs2) BS_UNION((rs1), (rs2))RefSetInter(rs1,rs2) BS_INTER((rs1), (rs2))RefSetDiff(rs1,rs2) BS_DIFF((rs1), (rs2))RefSetAdd(arena,rs,addr) BS_ADD(RefSet, rs, AddrZone(arena, addr))RefSetIsMember(arena,rs,addr) BS_IS_MEMBER(rs, AddrZone(arena, addr))RefSetSuper(rs1,rs2) BS_SUPER((rs1), (rs2))RefSetSub(rs1,rs2) BS_SUB((rs1), (rs2))ZoneSetUnion(zs1,zs2) BS_UNION(zs1, zs2)ZoneSetInter(zs1,zs2) BS_INTER(zs1, zs2)ZoneSetDiff(zs1,zs2) BS_DIFF(zs1, zs2)ZoneSetAdd(arena,zs,addr) BS_ADD(ZoneSet, zs, AddrZone(arena, addr))ZoneSetIsMember(arena,zs,addr) BS_IS_MEMBER(zs, AddrZone(arena, addr))ZoneSetSub(zs1,zs2) BS_SUB(zs1, zs2)ZoneSetSuper(zs1,zs2) BS_SUPER(zs1, zs2)ZoneSetComp(zs) BS_COMP(zs)STATISTIC(gather) BEGIN (gather); ENDSTATISTIC_STAT(gather) BEGIN gather; ENDSTATISTIC_WRITE(format,arg) (format), (arg), MPS_RELEASE "release/1.106.2"version.cJan 17 200703:43:49$Id: //info.ravenbrook.com/project/mps/master/code/version.c#11 $ |  AB ZoMPSVersionversionSrcId:MPSCopyrightNotice\MPSVersionString unsigned intGNU C 3.4.6 [FreeBSD] 20060305scmidshort intFileSrcIdStructlong long unsigned intfilecharversionSrcIdlong long intMPSVersionMPSCopyrightNoticeSrcIdversion.clong intbuild_timeMPSVersionStringlong unsigned intSrcIdStructunsigned charbuild_datesigned charshort unsigned intdouble/home/hannes/dylan/mps/codeGCC: (GNU) 3.4.6 [FreeBSD] 20060305.symtab.strtab.shstrtab.rel.text.rel.data.bss.debug_abbrev.rel.debug_info.rel.debug_line.debug_macinfo.rodata.str1.1.rodata.str1.4.rel.rodata.rel.debug_frame.rel.debug_pubnames.rel.debug_aranges.debug_str.comment4  H)@  % P/L4LFoB X(VkR  buq2z2zB<{ L{, x{^ {  0{TJ}%o}` W     ( M;L version.cFileSrcIdStructversionSrcIdMPSCopyrightNoticeMPSVersionStringMPSVersion  !%*18?MT[bipw~ &;H]jv     lockfr.o/ 1169001566 1001 1001 100644 50704 ` ELF 4(U ÉUÉUS]CEPjEPEPCPE$ Q]ÍvUS]CP[Q]ÍvUS]CPC]ÉUE@PÉUS]CPC]ÉUEHxu PvÉU55ÍvUhh5ÍvU5ÐUhh5ÍvU5C% $ > $ > : ; I I<  : ;  : ; I8 &I : ; I : ; I8 .? : ; ' I@ .? : ; ' I@ : ; I .? : ; ' @ 4: ; I 4: ; I.: ; ' @ .? : ; ' @ 4: ; I?  8SintA8WLA_LgBfCzZG2;[E#\# z#E1"(. 3x/"$#%#7&#'# SiglSF$ F sig..x#./l# mut.0#$.1 ].7 U .? U.>U.JiU.IS.Kxres.LEi.`lU._Sres.aE.oU.nSres.pE.U.Pres.Et.U.Sres.EE.U.Pres.EX.=Uz(.@eUres.E.h{Up.|Ures.E.U.%..%..H..B.a /usr/include/usr/include/sys/usr/include/machinepthread.hcdefs.htypes.hendian.h_types.h_types.h_pthreadtypes.hselect.h_sigset.h_timeval.htimespec.htime.htime.h_null.hsignal.hsignal.htrap.hlimits.hlimits.h_limits.hsyslimits.hsched.hsemaphore.herrno.hmpmtypes.hconfig.hmpstd.hmisc.hstddef.hmpslib.hstdarg.hlock.hmpm.hcheck.hevent.heventcom.heventgen.hth.hring.hss.htract.hbt.hmpmst.hprotocol.hchain.hlockfr.c.6;>r::Ǫ:e:d>rwr:M<;w:deGd[g:[d?g:[d__STDC_HOSTED__ 1__GNUC__ 3__GNUC_MINOR__ 4__GNUC_PATCHLEVEL__ 6__SIZE_TYPE__ unsigned int__PTRDIFF_TYPE__ int__WCHAR_TYPE__ int__WINT_TYPE__ unsigned int __GXX_ABI_VERSION 1002 __SCHAR_MAX__ 127 __SHRT_MAX__ 32767 __INT_MAX__ 2147483647 __LONG_MAX__ 2147483647L__LONG_LONG_MAX__ 9223372036854775807LL__WCHAR_MAX__ 2147483647__CHAR_BIT__ 8__FLT_EVAL_METHOD__ 2__FLT_RADIX__ 2__FLT_MANT_DIG__ 24__FLT_DIG__ 6__FLT_MIN_EXP__ (-125)__FLT_MIN_10_EXP__ (-37)__FLT_MAX_EXP__ 128__FLT_MAX_10_EXP__ 38__FLT_MAX__ 3.40282347e+38F__FLT_MIN__ 1.17549435e-38F__FLT_EPSILON__ 1.19209290e-7F__FLT_DENORM_MIN__ 1.40129846e-45F__FLT_HAS_INFINITY__ 1__FLT_HAS_QUIET_NAN__ 1__DBL_MANT_DIG__ 53 __DBL_DIG__ 15!__DBL_MIN_EXP__ (-1021)"__DBL_MIN_10_EXP__ (-307)#__DBL_MAX_EXP__ 1024$__DBL_MAX_10_EXP__ 308%__DBL_MAX__ 1.7976931348623157e+308&__DBL_MIN__ 2.2250738585072014e-308'__DBL_EPSILON__ 2.2204460492503131e-16(__DBL_DENORM_MIN__ 4.9406564584124654e-324)__DBL_HAS_INFINITY__ 1*__DBL_HAS_QUIET_NAN__ 1+__LDBL_MANT_DIG__ 53,__LDBL_DIG__ 15-__LDBL_MIN_EXP__ (-16381).__LDBL_MIN_10_EXP__ (-4931)/__LDBL_MAX_EXP__ 163840__LDBL_MAX_10_EXP__ 49321__DECIMAL_DIG__ 172__LDBL_MAX__ 1.1897314953572316e+4932L3__LDBL_MIN__ 3.3621031431120935e-4932L4__LDBL_EPSILON__ 2.2204460492503131e-16L5__LDBL_DENORM_MIN__ 7.4653686412953080e-4948L6__LDBL_HAS_INFINITY__ 17__LDBL_HAS_QUIET_NAN__ 18__REGISTER_PREFIX__ 9__USER_LABEL_PREFIX__ :__VERSION__ "3.4.6 [FreeBSD] 20060305";__OPTIMIZE__ 1<__FINITE_MATH_ONLY__ 0=__STRICT_ANSI__ 1@__i386 1A__i386__ 1B__tune_i386__ 1C__FreeBSD__ 6D__unix 1E__unix__ 1F__KPRINTF_ATTRIBUTE__ 1J__FreeBSD_cc_version 602001K__ELF__ 1_REENTRANT 1CONFIG_PROD_DYLAN 1CONFIG_VAR_HI 1NDEBUG 1$_PTHREAD_H_ )%_SYS_CDEFS_H_ +__BEGIN_DECLS ,__END_DECLS 8__GNUCLIKE_ASM 39__GNUCLIKE_MATH_BUILTIN_CONSTANTS =__GNUCLIKE___TYPEOF 1>__GNUCLIKE___OFFSETOF 1?__GNUCLIKE___SECTION 1A__GNUCLIKE_ATTRIBUTE_MODE_DI 1D__GNUCLIKE_CTOR_SECTION_HANDLING 1G__GNUCLIKE_BUILTIN_CONSTANT_P 1N__GNUCLIKE_BUILTIN_VARARGS 1O__GNUCLIKE_BUILTIN_STDARG 1P__GNUCLIKE_BUILTIN_VAALIST 1T__GNUC_VA_LIST_COMPATIBILITY 1X__GNUCLIKE_BUILTIN_NEXT_ARG 1Y__GNUCLIKE_MATH_BUILTIN_RELOPS \__GNUCLIKE_BUILTIN_MEMCPY 1___CC_SUPPORTS_INLINE 1`__CC_SUPPORTS___INLINE 1a__CC_SUPPORTS___INLINE__ 1c__CC_SUPPORTS___FUNC__ 1d__CC_SUPPORTS_WARNING 1f__CC_SUPPORTS_VARADIC_XXX 1h__CC_SUPPORTS_DYNAMIC_ARRAY_INIT 1k__CC_INT_IS_32BIT 1s__GNUC_PREREQ__(ma,mi) (__GNUC__ > (ma) || __GNUC__ == (ma) && __GNUC_MINOR__ >= (mi))__P(protos) protos__CONCAT1(x,y) x ## y__CONCAT(x,y) __CONCAT1(x,y)__STRING(x) #x__XSTRING(x) __STRING(x)__const const__signed signed__volatile volatile__dead2 __attribute__((__noreturn__))__pure2 __attribute__((__const__))__unused __attribute__((__unused__))__used __attribute__((__used__))__packed __attribute__((__packed__))__aligned(x) __attribute__((__aligned__(x)))__section(x) __attribute__((__section__(x)))__pure __attribute__((__pure__))__always_inline __attribute__((__always_inline__))__nonnull(x) __attribute__((__nonnull__(x)))__restrict __predict_true(exp) __builtin_expect((exp), 1)__predict_false(exp) __builtin_expect((exp), 0)__offsetof(type,field) ((size_t)(&((type *)0)->field))__rangeof(type,start,end) (__offsetof(type, end) - __offsetof(type, start))__printflike(fmtarg,firstvararg) __attribute__((__format__ (__printf__, fmtarg, firstvararg)))__scanflike(fmtarg,firstvararg) __attribute__((__format__ (__scanf__, fmtarg, firstvararg)))__format_arg(fmtarg) __attribute__((__format_arg__ (fmtarg)))__printf0like(fmtarg,firstvararg) __attribute__((__format__ (__printf0__, fmtarg, firstvararg)))__strong_reference(sym,aliassym) extern __typeof (sym) aliassym __attribute__ ((__alias__ (#sym)));__weak_reference(sym,alias) __asm__(".weak " #alias); __asm__(".equ " #alias ", " #sym)__warn_references(sym,msg) __asm__(".section .gnu.warning." #sym); __asm__(".asciz \"" msg "\""); __asm__(".previous")__IDSTRING(name,string) __asm__(".ident\t\"" string "\"")__FBSDID(s) __IDSTRING(__CONCAT(__rcsid_,__LINE__),s)__RCSID(s) __IDSTRING(__CONCAT(__rcsid_,__LINE__),s)__RCSID_SOURCE(s) __IDSTRING(__CONCAT(__rcsid_source_,__LINE__),s)__SCCSID(s) __IDSTRING(__CONCAT(__sccsid_,__LINE__),s)__COPYRIGHT(s) __IDSTRING(__CONCAT(__copyright_,__LINE__),s)__DECONST(type,var) ((type)(uintptr_t)(const void *)(var))__DEVOLATILE(type,var) ((type)(uintptr_t)(volatile void *)(var))__DEQUALIFY(type,var) ((type)(uintptr_t)(const volatile void *)(var))__POSIX_VISIBLE 200112__XSI_VISIBLE 600__BSD_VISIBLE 1__ISO_C_VISIBLE 1999*'_SYS_TYPES_H_ ,"_MACHINE_ENDIAN_H_ %_SYS__TYPES_H_ !(_MACHINE__TYPES_H_ .__NO_STRICT_ALIGNMENT __GNUC_VA_LIST ._QUAD_HIGHWORD 1/_QUAD_LOWWORD 05_LITTLE_ENDIAN 12346_BIG_ENDIAN 43217_PDP_ENDIAN 34129_BYTE_ORDER _LITTLE_ENDIAN@LITTLE_ENDIAN _LITTLE_ENDIANABIG_ENDIAN _BIG_ENDIANBPDP_ENDIAN _PDP_ENDIANCBYTE_ORDER _BYTE_ORDERH__word_swap_int_var(x) __extension__ ({ register __uint32_t __X = (x); __asm ("rorl $16, %0" : "+r" (__X)); __X; })O__word_swap_int_const(x) ((((x) & 0xffff0000) >> 16) | (((x) & 0x0000ffff) << 16))R__word_swap_int(x) (__builtin_constant_p(x) ? __word_swap_int_const(x) : __word_swap_int_var(x))[__byte_swap_int_var(x) __extension__ ({ register __uint32_t __X = (x); __asm ("bswap %0" : "+r" (__X)); __X; })b__byte_swap_int_const(x) ((((x) & 0xff000000) >> 24) | (((x) & 0x00ff0000) >> 8) | (((x) & 0x0000ff00) << 8) | (((x) & 0x000000ff) << 24))g__byte_swap_int(x) (__builtin_constant_p(x) ? __byte_swap_int_const(x) : __byte_swap_int_var(x))p__byte_swap_word_var(x) __extension__ ({ register __uint16_t __X = (x); __asm ("xchgb %h0, %b0" : "+q" (__X)); __X; })w__byte_swap_word_const(x) ((((x) & 0xff00) >> 8) | (((x) & 0x00ff) << 8)){__byte_swap_word(x) (__builtin_constant_p(x) ? __byte_swap_word_const(x) : __byte_swap_word_var(x))__htonl(x) __bswap32(x)__htons(x) __bswap16(x)__ntohl(x) __bswap32(x)__ntohs(x) __bswap16(x)/%_SYS__PTHREADTYPES_H_ A_INT8_T_DECLARED F_INT16_T_DECLARED K_INT32_T_DECLARED P_INT64_T_DECLARED U_UINT8_T_DECLARED Z_UINT16_T_DECLARED __UINT32_T_DECLARED d_UINT64_T_DECLARED j_INTPTR_T_DECLARED |_BLKSIZE_T_DECLARED _BLKCNT_T_DECLARED _CLOCK_T_DECLARED _CLOCKID_T_DECLARED _DEV_T_DECLARED _FFLAGS_T_DECLARED _FSBLKCNT_T_DECLARED _GID_T_DECLARED _IN_ADDR_T_DECLARED _IN_PORT_T_DECLARED _ID_T_DECLARED _INO_T_DECLARED _KEY_T_DECLARED _LWPID_T_DECLARED _MODE_T_DECLARED _NLINK_T_DECLARED _OFF_T_DECLARED _PID_T_DECLARED _RLIM_T_DECLARED _SIZE_T_DECLARED _SSIZE_T_DECLARED _SUSECONDS_T_DECLARED _TIME_T_DECLARED _TIMER_T_DECLARED _UID_T_DECLARED _USECONDS_T_DECLARED !_SYS_SELECT_H_ & '_SYS__SIGSET_H_ ,_SIG_WORDS 4-_SIG_MAXSIG 128._SIG_IDX(sig) ((sig) - 1)/_SIG_WORD(sig) (_SIG_IDX(sig) >> 5)0_SIG_BIT(sig) (1 << (_SIG_IDX(sig) & 31))1_SIG_VALID(sig) ((sig) <= _SIG_MAXSIG && (sig) > 0)' _SYS__TIMEVAL_H_ ( '_SYS_TIMESPEC_H_ 4TIMEVAL_TO_TIMESPEC(tv,ts) do { (ts)->tv_sec = (tv)->tv_sec; (ts)->tv_nsec = (tv)->tv_usec * 1000; } while (0)9TIMESPEC_TO_TIMEVAL(tv,ts) do { (tv)->tv_sec = (ts)->tv_sec; (tv)->tv_usec = (ts)->tv_nsec / 1000; } while (0)0_SIGSET_T_DECLARED ;FD_SETSIZE 1024U>_NFDBITS (sizeof(__fd_mask) * 8)@NFDBITS _NFDBITSD_howmany(x,y) (((x) + ((y) - 1)) / (y))Kfds_bits __fds_bitsN__fdset_mask(n) ((__fd_mask)1 << ((n) % _NFDBITS))OFD_CLR(n,p) ((p)->__fds_bits[(n)/_NFDBITS] &= ~__fdset_mask(n))QFD_COPY(f,t) (void)(*(t) = *(f))SFD_ISSET(n,p) (((p)->__fds_bits[(n)/_NFDBITS] & __fdset_mask(n)) != 0)TFD_SET(n,p) ((p)->__fds_bits[(n)/_NFDBITS] |= __fdset_mask(n))UFD_ZERO(p) do { fd_set *_p; __size_t _n; _p = (p); _n = _howmany(FD_SETSIZE, _NFDBITS); while (_n > 0) _p->__fds_bits[--_n] = 0; } while (0)e_SELECT_DECLARED major(x) ((int)(((u_int)(x) >> 8)&0xff))minor(x) ((int)((x)&0xffff00ff))makedev(x,y) ((dev_t)(((x) << 8) | (y)))_FTRUNCATE_DECLARED _LSEEK_DECLARED _MMAP_DECLARED _TRUNCATE_DECLARED , "_SYS_TIME_H_ ,DST_NONE 0-DST_USA 1.DST_AUST 2/DST_WET 30DST_MET 41DST_EET 52DST_CAN 6timerclear(tvp) ((tvp)->tv_sec = (tvp)->tv_usec = 0)timerisset(tvp) ((tvp)->tv_sec || (tvp)->tv_usec)timercmp(tvp,uvp,cmp) (((tvp)->tv_sec == (uvp)->tv_sec) ? ((tvp)->tv_usec cmp (uvp)->tv_usec) : ((tvp)->tv_sec cmp (uvp)->tv_sec))timeradd(tvp,uvp,vvp) do { (vvp)->tv_sec = (tvp)->tv_sec + (uvp)->tv_sec; (vvp)->tv_usec = (tvp)->tv_usec + (uvp)->tv_usec; if ((vvp)->tv_usec >= 1000000) { (vvp)->tv_sec++; (vvp)->tv_usec -= 1000000; } } while (0)timersub(tvp,uvp,vvp) do { (vvp)->tv_sec = (tvp)->tv_sec - (uvp)->tv_sec; (vvp)->tv_usec = (tvp)->tv_usec - (uvp)->tv_usec; if ((vvp)->tv_usec < 0) { (vvp)->tv_sec--; (vvp)->tv_usec += 1000000; } } while (0)ITIMER_REAL 0ITIMER_VIRTUAL 1ITIMER_PROF 2CLOCK_REALTIME 0CLOCK_VIRTUAL 1CLOCK_PROF 2CLOCK_MONOTONIC 4TIMER_RELTIME 0x0TIMER_ABSTIME 0x1 ._TIME_H_ 1 NULL ((void *)0)9CLK_TCK 128=CLOCKS_PER_SEC 128-'_SYS_SIGNAL_H_ -"_MACHINE_SIGNAL_H_ 2MINSIGSTKSZ (512 * 4)6%_MACHINE_TRAP_H_ ,T_PRIVINFLT 1-T_BPTFLT 3.T_ARITHTRAP 6/T_PROTFLT 90T_TRCTRAP 101T_PAGEFLT 122T_ALIGNFLT 144T_DIVIDE 185T_NMI 196T_OFLOW 207T_BOUND 218T_DNA 229T_DOUBLEFLT 23:T_FPOPFLT 24;T_TSSFLT 25T_MCHK 28?T_XMMFLT 29@T_RESERVED 30EILL_RESAD_FAULT T_RESADFLTFILL_PRIVIN_FAULT T_PRIVINFLTGILL_RESOP_FAULT T_RESOPFLTHILL_ALIGN_FAULT T_ALIGNFLTIILL_FPOP_FAULT T_FPOPFLTLFPE_INTOVF 1MFPE_INTDIV 2NFPE_FLTDIV 3OFPE_FLTOVF 4PFPE_FLTUND 5QFPE_FLTRES 6RFPE_FLTINV 7SFPE_FLTSUB 8VFPE_INTOVF_TRAP 0x1WFPE_INTDIV_TRAP 0x2XFPE_FLTDIV_TRAP 0x3YFPE_FLTOVF_TRAP 0x4ZFPE_FLTUND_TRAP 0x5[FPE_FPU_NP_TRAP 0x6\FPE_SUBRNG_TRAP 0x7_BUS_PAGE_FAULT T_PAGEFLT`BUS_SEGNP_FAULT T_SEGNPFLTaBUS_STK_FAULT T_STKFLTbBUS_SEGM_FAULT T_RESERVEDeT_USER 0x100sc_sp sc_espsc_fp sc_ebpsc_pc sc_eipsc_ps sc_eflsc_eflags sc_efl3SIGHUP 15SIGINT 27SIGQUIT 39SIGILL 4;SIGTRAP 5=SIGABRT 6?SIGIOT SIGABRT@SIGEMT 7BSIGFPE 8DSIGKILL 9GSIGBUS 10ISIGSEGV 11KSIGSYS 12NSIGPIPE 13OSIGALRM 14QSIGTERM 15SSIGURG 16VSIGSTOP 17WSIGTSTP 18XSIGCONT 19YSIGCHLD 20ZSIGTTIN 21[SIGTTOU 22^SIGIO 23aSIGXCPU 24bSIGXFSZ 25cSIGVTALRM 26dSIGPROF 27gSIGWINCH 28hSIGINFO 29kSIGUSR1 30lSIGUSR2 31oSIGTHR 32pSIGLWP SIGTHRvSIG_DFL ((__sighandler_t *)0)wSIG_IGN ((__sighandler_t *)1)xSIG_ERR ((__sighandler_t *)-1)sigev_signo __sigev_u.__sigev_signosigev_notify_kqueue __sigev_u.__sigev_notify_kqueueSIGEV_NONE 0SIGEV_SIGNAL 1SIGEV_KEVENT 3sa_handler __sigaction_u.__sa_handlersa_sigaction __sigaction_u.__sa_sigactionSA_NOCLDSTOP 0x0008SA_ONSTACK 0x0001SA_RESTART 0x0002SA_RESETHAND 0x0004SA_NODEFER 0x0010SA_NOCLDWAIT 0x0020SA_SIGINFO 0x0040NSIG 32SI_USER 0x10001SI_QUEUE 0x10002SI_TIMER 0x10003SI_ASYNCIO 0x10004SI_MESGQ 0x10005SI_UNDEFINED 0SS_ONSTACK 0x0001SS_DISABLE 0x0004SIGSTKSZ (MINSIGSTKSZ + 32768)SV_ONSTACK SA_ONSTACKSV_INTERRUPT SA_RESTARTSV_RESETHAND SA_RESETHANDSV_NODEFER SA_NODEFERSV_NOCLDSTOP SA_NOCLDSTOPSV_SIGINFO SA_SIGINFOsv_onstack sv_flagssigmask(m) (1 << ((m)-1))BADSIG SIG_ERRSIG_BLOCK 1SIG_UNBLOCK 2SIG_SETMASK 3.&_LIMITS_H_ +_POSIX_ARG_MAX 4096,_POSIX_CHILD_MAX 25-_POSIX_LINK_MAX 8._POSIX_MAX_CANON 255/_POSIX_MAX_INPUT 2550_POSIX_NAME_MAX 141_POSIX_NGROUPS_MAX 82_POSIX_OPEN_MAX 203_POSIX_PATH_MAX 2564_POSIX_PIPE_BUF 5125_POSIX_SSIZE_MAX 327676_POSIX_STREAM_MAX 87_POSIX_TZNAME_MAX 69BC_BASE_MAX 99:BC_DIM_MAX 2048;BC_SCALE_MAX 99EXPR_NEST_MAX 32?LINE_MAX 2048@RE_DUP_MAX 255B_POSIX2_BC_BASE_MAX 99C_POSIX2_BC_DIM_MAX 2048D_POSIX2_BC_SCALE_MAX 99E_POSIX2_BC_STRING_MAX 1000F_POSIX2_EQUIV_CLASS_MAX 2G_POSIX2_EXPR_NEST_MAX 32H_POSIX2_LINE_MAX 2048I_POSIX2_RE_DUP_MAX 255M_POSIX_AIO_LISTIO_MAX 16N_POSIX_AIO_MAX 1O_POSIX_DELAYTIMER_MAX 32P_POSIX_MQ_OPEN_MAX 8Q_POSIX_MQ_PRIO_MAX 32R_POSIX_RTSIG_MAX 8S_POSIX_SEM_NSEMS_MAX 256T_POSIX_SEM_VALUE_MAX 32767U_POSIX_SIGQUEUE_MAX 32V_POSIX_TIMER_MAX 32Z_POSIX_THREAD_DESTRUCTOR_ITERATIONS 4[_POSIX_THREAD_KEYS_MAX 128\_POSIX_THREAD_THREADS_MAX 64`_POSIX_HOST_NAME_MAX 255a_POSIX_LOGIN_NAME_MAX 9b_POSIX_SS_REPL_MAX 4c_POSIX_SYMLINK_MAX 255d_POSIX_SYMLOOP_MAX 8e_POSIX_TRACE_EVENT_NAME_MAX 30f_POSIX_TRACE_NAME_MAX 8g_POSIX_TRACE_SYS_MAX 8h_POSIX_TRACE_USER_EVENT_MAX 32i_POSIX_TTY_NAME_MAX 9j_POSIX2_CHARCLASS_NAME_MAX 14k_POSIX2_COLL_WEIGHTS_MAX 2m_POSIX_RE_DUP_MAX _POSIX2_RE_DUP_MAXq_XOPEN_IOV_MAX 16r_XOPEN_NAME_MAX 255s_XOPEN_PATH_MAX 1024tPASS_MAX 128vNL_ARGMAX 99wNL_LANGMAX 31xNL_MSGMAX 32767yNL_NMAX 1zNL_SETMAX 255{NL_TEXTMAX 2048~MB_LEN_MAX 6!_SYS_LIMITS_H_ $"_MACHINE__LIMITS_H_ /__CHAR_BIT 81__SCHAR_MAX 0x7f2__SCHAR_MIN (-0x7f - 1)4__UCHAR_MAX 0xff6__USHRT_MAX 0xffff7__SHRT_MAX 0x7fff8__SHRT_MIN (-0x7fff - 1):__UINT_MAX 0xffffffffU;__INT_MAX 0x7fffffff<__INT_MIN (-0x7fffffff - 1)D__ULONG_MAX 0xffffffffULE__LONG_MAX 0x7fffffffLF__LONG_MIN (-0x7fffffffL - 1)J__ULLONG_MAX 0xffffffffffffffffULLK__LLONG_MAX 0x7fffffffffffffffLLL__LLONG_MIN (-0x7fffffffffffffffLL - 1)N__SSIZE_MAX __INT_MAXP__SIZE_T_MAX __UINT_MAXR__OFF_MAX __LLONG_MAXS__OFF_MIN __LLONG_MINV__UQUAD_MAX __ULLONG_MAXW__QUAD_MAX __LLONG_MAXX__QUAD_MIN __LLONG_MIN]__LONG_BIT 32___WORD_BIT 32&CHAR_BIT __CHAR_BIT(SCHAR_MAX __SCHAR_MAX)SCHAR_MIN __SCHAR_MIN+UCHAR_MAX __UCHAR_MAX1CHAR_MAX SCHAR_MAX2CHAR_MIN SCHAR_MIN5USHRT_MAX __USHRT_MAX6SHRT_MAX __SHRT_MAX7SHRT_MIN __SHRT_MIN9UINT_MAX __UINT_MAX:INT_MAX __INT_MAX;INT_MIN __INT_MIN=ULONG_MAX __ULONG_MAX>LONG_MAX __LONG_MAX?LONG_MIN __LONG_MINHSSIZE_MAX __SSIZE_MAXLSIZE_T_MAX __SIZE_T_MAXNOFF_MAX __OFF_MAXOOFF_MIN __OFF_MINSGID_MAX UINT_MAXTUID_MAX UINT_MAXVUQUAD_MAX (__UQUAD_MAX)WQUAD_MAX (__QUAD_MAX)XQUAD_MIN (__QUAD_MIN)\LONG_BIT __LONG_BIT]WORD_BIT __WORD_BIT"_SYS_SYSLIMITS_H_ 4ARG_MAX 2621447CHILD_MAX 409LINK_MAX 32767:MAX_CANON 255;MAX_INPUT 255PTHREAD_SCOPE_SYSTEM 0x2?PTHREAD_INHERIT_SCHED 0x4@PTHREAD_NOFLOAT 0x8BPTHREAD_CREATE_DETACHED PTHREAD_DETACHEDCPTHREAD_CREATE_JOINABLE 0DPTHREAD_SCOPE_PROCESS 0EPTHREAD_EXPLICIT_SCHED 0JPTHREAD_PROCESS_PRIVATE 0KPTHREAD_PROCESS_SHARED 1PPTHREAD_CANCEL_ENABLE 0QPTHREAD_CANCEL_DISABLE 1RPTHREAD_CANCEL_DEFERRED 0SPTHREAD_CANCEL_ASYNCHRONOUS 2TPTHREAD_CANCELED ((void *) 1)YPTHREAD_NEEDS_INIT 0ZPTHREAD_DONE_INIT 1_PTHREAD_ONCE_INIT { PTHREAD_NEEDS_INIT, NULL }dPTHREAD_MUTEX_INITIALIZER NULLePTHREAD_COND_INITIALIZER NULLfPTHREAD_RWLOCK_INITIALIZER NULLlpthread_condattr_default NULLmpthread_mutexattr_default NULLnpthread_attr_default NULLqPTHREAD_PRIO_NONE 0rPTHREAD_PRIO_INHERIT 1sPTHREAD_PRIO_PROTECT 2PTHREAD_MUTEX_DEFAULT PTHREAD_MUTEX_ERRORCHECKMUTEX_TYPE_FAST PTHREAD_MUTEX_NORMALMUTEX_TYPE_COUNTING_FAST PTHREAD_MUTEX_RECURSIVE&_SEMAPHORE_H_ ,SEM_FAILED ((sem_t *)0)-SEM_VALUE_MAX (~0U)'_SYS_ERRNO_H_ .errno (* __error())1EPERM 12ENOENT 23ESRCH 34EINTR 45EIO 56ENXIO 67E2BIG 78ENOEXEC 89EBADF 9:ECHILD 10;EDEADLK 11=ENOMEM 12>EACCES 13?EFAULT 14AENOTBLK 15CEBUSY 16DEEXIST 17EEXDEV 18FENODEV 19GENOTDIR 20HEISDIR 21IEINVAL 22JENFILE 23KEMFILE 24LENOTTY 25NETXTBSY 26PEFBIG 27QENOSPC 28RESPIPE 29SEROFS 30TEMLINK 31UEPIPE 32XEDOM 33YERANGE 34\EAGAIN 35^EWOULDBLOCK EAGAIN_EINPROGRESS 36`EALREADY 37cENOTSOCK 38dEDESTADDRREQ 39eEMSGSIZE 40fEPROTOTYPE 41gENOPROTOOPT 42hEPROTONOSUPPORT 43iESOCKTNOSUPPORT 44jEOPNOTSUPP 45kENOTSUP EOPNOTSUPPlEPFNOSUPPORT 46mEAFNOSUPPORT 47nEADDRINUSE 48oEADDRNOTAVAIL 49rENETDOWN 50sENETUNREACH 51tENETRESET 52uECONNABORTED 53vECONNRESET 54wENOBUFS 55xEISCONN 56yENOTCONN 57zESHUTDOWN 58{ETOOMANYREFS 59|ETIMEDOUT 60}ECONNREFUSED 61ELOOP 62ENAMETOOLONG 63EHOSTDOWN 64EHOSTUNREACH 65ENOTEMPTY 66EPROCLIM 67EUSERS 68EDQUOT 69ESTALE 70EREMOTE 71EBADRPC 72ERPCMISMATCH 73EPROGUNAVAIL 74EPROGMISMATCH 75EPROCUNAVAIL 76ENOLCK 77ENOSYS 78EFTYPE 79EAUTH 80ENEEDAUTH 81EIDRM 82ENOMSG 83EOVERFLOW 84ECANCELED 85EILSEQ 86ENOATTR 87EDOOFUS 88EBADMSG 89EMULTIHOP 90ENOLINK 91EPROTO 92ELAST 92mpmtypes_h config_h !CONFIG_DEBUG "CHECK_DEFAULT CheckNONE6CHECK_NONE 7MPS_ASSERT_STRING "nonasserted"?EVENT_NONE @MPS_LOG_STRING "nonlogging"EDIAGNOSTICS FMPS_DEBUG_STRING "debug"LMPS_VARIETY_STRING MPS_ASSERT_STRING "." MPS_LOG_STRING "." MPS_DEBUG_STRINGRmpstd_h MPS_PF_FRI4GC MPS_PF_STRING "fri4gc"MPS_OS_FR MPS_ARCH_I4 MPS_BUILD_GC MPS_T_WORD unsigned longMPS_WORD_WIDTH 32MPS_WORD_SHIFT 5MPS_PF_ALIGN 4EPVMDefaultSubsequentSegSIZE (64ul * 1024)ARENA_CONTROL_EXTENDBY ((Size)4096)ARENA_CONTROL_AVGSIZE ((Size)32)ARENA_CONTROL_MAXSIZE ((Size)65536)ArenaPollALLOCTIME (65536.0)ARENA_ZONESHIFT ((Shift)20)ARENA_CLIENT_PAGE_SIZE ((Size)8192)ArenaDefaultZONESET (ZoneSetUNIV << (MPS_WORD_WIDTH / 2))SegPrefDEFAULT { SegPrefSig, TRUE, ArenaDefaultZONESET, FALSE, FALSE, (Serial)0, }LDHistoryLENGTH ((Size)4)StackProbeDEPTH ((Size)0)ShieldCacheSIZE ((size_t)16)ShieldDepthWIDTH (4)VMANPageALIGNMENT ((Align)4096)VMJunkBYTE ((unsigned char)0xA9)TraceLIMIT ((size_t)1)TraceCopyScanRATIO (1.5)RememberedSummaryBLOCK 15EventBufferSIZE ((size_t)4096)EventStringLengthMAX ((size_t)255)ASSERT_BUFFER_SIZE ((Size)512)MPS_PROD_STRING "dylan"MPS_PROD_DYLAN ARENA_INIT_SPARE_COMMIT_LIMIT ((Size)10uL*1024uL*1024uL)THREAD_MULTI PROTECTION DONGLE_NONE PROD_CHECK_DEFAULT CheckSHALLOWARENA_SIZE ((Size)1<<30)misc_h '_STDDEF_H_ 2_RUNE_T_DECLARED >_WCHAR_T_DECLARED Boffsetof(type,member) __offsetof(type, member)*SRCID(id,scmid) static SrcIdStruct FileSrcIdStruct = {__FILE__, (scmid), __DATE__, __TIME__}; SrcId id ## SrcId = &FileSrcIdStruct;BEGIN do {> (i)) & 1)BS_UNION(s1,s2) ((s1) | (s2))BS_ADD(ty,s,i) BS_UNION((s), BS_SINGLE(ty, (i)))BS_INTER(s1,s2) ((s1) & (s2))BS_DIFF(s1,s2) BS_INTER((s1), BS_COMP(s2))BS_DEL(ty,s,i) BS_DIFF((s), BS_SINGLE(ty, (i)))BS_SUPER(s1,s2) (BS_INTER((s1), (s2)) == (s2))BS_SUB(s1,s2) BS_SUPER((s2), (s1))BS_IS_SINGLE(s) (((s) & ((s)-1)) == 0)BS_SYM_DIFF(s1,s2) ((s1) ^ (s2))mpslib_h mps_lib_EOF (mps_lib_get_EOF())mps_lib_stderr (mps_lib_get_stderr())mps_lib_stdout (mps_lib_get_stdout())'_MACHINE_STDARG_H_ -_VA_LIST_DECLARED 3va_start(ap,last) __builtin_stdarg_start((ap), (last))6va_arg(ap,type) __builtin_va_arg((ap), type):va_copy(dest,src) __builtin_va_copy((dest), (src))>va_end(ap) __builtin_va_end(ap)SigInvalid ((Sig)0x51915BAD)SizeMAX ((Size)-1)AccessSetEMPTY ((AccessSet)0)AccessREAD ((AccessSet)(1<<0))AccessWRITE ((AccessSet)(1<<1))AccessSetWIDTH (2)RefSetEMPTY BS_EMPTY(RefSet)RefSetUNIV BS_UNIV(RefSet)ZoneSetEMPTY BS_EMPTY(ZoneSet)ZoneSetUNIV BS_UNIV(ZoneSet)TraceSetEMPTY BS_EMPTY(TraceSet)TraceSetUNIV ((TraceSet)((1u << TraceLIMIT) - 1))RankSetEMPTY BS_EMPTY(RankSet)RankSetUNIV ((RankSet)((1u << RankLIMIT) - 1))AttrFMT ((Attr)(1<<0))AttrSCAN ((Attr)(1<<1))AttrPM_NO_READ ((Attr)(1<<2))AttrPM_NO_WRITE ((Attr)(1<<3))AttrALLOC ((Attr)(1<<4))AttrFREE ((Attr)(1<<5))AttrBUF ((Attr)(1<<6))AttrBUF_RESERVE ((Attr)(1<<7))AttrBUF_ALLOC ((Attr)(1<<8))AttrGC ((Attr)(1<<9))AttrINCR_RB ((Attr)(1<<10))AttrINCR_WB ((Attr)(1<<11))AttrMOVINGGC ((Attr)(1<<12))AttrMASK (AttrFMT | AttrSCAN | AttrPM_NO_READ | AttrPM_NO_WRITE | AttrALLOC | AttrFREE | AttrBUF | AttrBUF_RESERVE | AttrBUF_ALLOC | AttrGC | AttrINCR_RB | AttrINCR_WB | AttrMOVINGGC)BufferModeATTACHED ((BufferMode)(1<<0))BufferModeFLIPPED ((BufferMode)(1<<1))BufferModeLOGGED ((BufferMode)(1<<2))BufferModeTRANSITION ((BufferMode)(1<<3))RootModeCONSTANT ((RootMode)1<<0)RootModePROTECTABLE ((RootMode)1<<1)RootModePROTECTABLE_INNER ((RootMode)1<<2)STATISTIC_DECL(field) field Plock_h R! mpm_h "check_h 0AVER(cond) DISCARD(cond)1AVERT(type,val) DISCARD(type ## Check(val))2AVER_CRITICAL(cond) DISCARD(cond)3AVERT_CRITICAL(type,val) DISCARD(type ## Check(val))MASSERT(cond,condstring) BEGIN if (cond) NOOP; else mps_lib_assert_fail(condstring "\n" __FILE__ "\n" STR(__LINE__)); END_NOTREACHED NOOPjCHECKT(type,val) ((val) != NULL && (val)->sig == type ## Sig)pCHECKS(type,val) DISCARD(CHECKT(type, val))qCHECKL(cond) DISCARD(cond)rCHECKD(type,val) DISCARD(CHECKT(type, val))sCHECKD_NOSIG(type,val) DISCARD((val) != NULL)tCHECKU(type,val) DISCARD(CHECKT(type, val))uCHECKU_NOSIG(type,val) DISCARD((val) != NULL)CHECKLVALUE(lv1,lv2) ((void)sizeof((lv1) = (lv2)), (void)sizeof((lv2) = (lv1)), TRUE)CHECKTYPE(t1,t2) (sizeof(t1) == sizeof(t2) && CHECKLVALUE(*((t1 *)0), *((t2 *)0)))CHECKFIELDAPPROX(s1,f1,s2,f2) (sizeof(((s1 *)0)->f1) == sizeof(((s2 *)0)->f2) && offsetof(s1, f1) == offsetof(s2, f2))CHECKFIELD(s1,f1,s2,f2) (CHECKFIELDAPPROX(s1, f1, s2, f2) && CHECKLVALUE(((s1 *)0)->f1, ((s2 *)0)->f2))#event_h $ eventcom_h !EventNameMAX ((size_t)19)"EventCodeMAX ((EventCode)0x0069)&%EVENT_0(type) NOOPEVENT_A(type,p0) NOOPEVENT_AW(type,p0,p1) NOOPEVENT_P(type,p0) NOOPEVENT_PAA(type,p0,p1,p2) NOOPEVENT_PAW(type,p0,p1,p2) NOOPEVENT_PAWA(type,p0,p1,p2,p3) NOOPEVENT_PDDWWW(type,p0,p1,p2,p3,p4,p5) NOOPEVENT_PP(type,p0,p1) NOOPEVENT_PPAU(type,p0,p1,p2,p3) NOOPEVENT_PPAWP(type,p0,p1,p2,p3,p4) NOOPEVENT_PPP(type,p0,p1,p2) NOOPEVENT_PPPA(type,p0,p1,p2,p3) NOOPEVENT_PPPU(type,p0,p1,p2,p3) NOOPEVENT_PPPUU(type,p0,p1,p2,p3,p4) NOOPEVENT_PPU(type,p0,p1,p2) NOOPEVENT_PPUU(type,p0,p1,p2,p3) NOOPEVENT_PPUWWW(type,p0,p1,p2,p3,p4,p5) NOOPEVENT_PPWW(type,p0,p1,p2,p3) NOOPEVENT_PPWWW(type,p0,p1,p2,p3,p4) NOOPEVENT_PPWWWUUU(type,p0,p1,p2,p3,p4,p5,p6,p7) NOOPEVENT_PU(type,p0,p1) NOOPEVENT_PW(type,p0,p1) NOOPEVENT_PWA(type,p0,p1,p2) NOOPEVENT_PWAW(type,p0,p1,p2,p3) NOOPEVENT_PWP(type,p0,p1,p2) NOOPEVENT_PWU(type,p0,p1,p2) NOOPEVENT_PWW(type,p0,p1,p2) NOOPEVENT_PWWWWDD(type,p0,p1,p2,p3,p4,p5,p6) NOOPEVENT_PWWWWW(type,p0,p1,p2,p3,p4,p5) NOOPEVENT_PWWWWWWWWW(type,p0,p1,p2,p3,p4,p5,p6,p7,p8,p9) NOOPEVENT_PWWWWWWWWWWWW(type,p0,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11,p12) NOOPEVENT_UUPA(type,p0,p1,p2,p3) NOOPEVENT_UUPP(type,p0,p1,p2,p3) NOOPEVENT_UUPPP(type,p0,p1,p2,p3,p4) NOOPEVENT_WS(type,p0,p1,l1) NOOP:EventEventTime ((EventType)0xEF213E99);EventPoolInit ((EventType)0xEFB07141)EventPoolFree ((EventType)0xEFB07F6E)?EventArenaCreateVM ((EventType)0xEFA64CF3)@EventArenaCreateVMNZ ((EventType)0xEFA64CF2)AEventArenaCreateCL ((EventType)0xEFA64CC7)BEventArenaDestroy ((EventType)0xEFA64DE5)CEventArenaAlloc ((EventType)0xEFA64A77)DEventArenaFree ((EventType)0xEFA64F6E)EEventSegAlloc ((EventType)0xEF5E9A77)FEventSegFree ((EventType)0xEF5E9F6E)GEventSegMerge ((EventType)0xEF5E93E6)HEventSegSplit ((EventType)0xEF5E95B7)IEventAMCGenCreate ((EventType)0xEFA3C94C)JEventAMCGenDestroy ((EventType)0xEFA3C94D)KEventAMCInit ((EventType)0xEFA3C141)LEventAMCFinish ((EventType)0xEFA3CF14)MEventAMCTraceBegin ((EventType)0xEFA3C26B)NEventAMCScanBegin ((EventType)0xEFA3C5CB)OEventAMCScanEnd ((EventType)0xEFA3C5CE)PEventAMCFix ((EventType)0xEFA3CF18)QEventAMCFixInPlace ((EventType)0xEFA3CF8A)REventAMCFixForward ((EventType)0xEFA3CF8F)SEventAMCReclaim ((EventType)0xEFA3C6EC)TEventTraceStart ((EventType)0xEF26AC52)UEventTraceCreate ((EventType)0xEF26ACC6)VEventTraceDestroy ((EventType)0xEF26ACDE)WEventSegSetGrey ((EventType)0xEF59596A)XEventTraceFlipBegin ((EventType)0xEF26AF7B)YEventTraceFlipEnd ((EventType)0xEF26AF7E)ZEventTraceReclaim ((EventType)0xEF26A6EC)[EventTraceScanSeg ((EventType)0xEF26A559)\EventTraceScanSingleRef ((EventType)0xEF26A556)^EventTraceAccess ((EventType)0xEF26AACC)_EventTracePoll ((EventType)0xEF26AB01)`EventTraceStep ((EventType)0xEF26A52B)aEventTraceFix ((EventType)0xEF26AF18)bEventTraceFixSeg ((EventType)0xEF26AF85)cEventTraceFixWhite ((EventType)0xEF26AF83)dEventTraceScanArea ((EventType)0xEF26A5CA)eEventTraceScanAreaTagged ((EventType)0xEF26A5C2)fEventVMCreate ((EventType)0xEFF3C6EA)gEventVMDestroy ((EventType)0xEFF3DE52)hEventVMMap ((EventType)0xEFF33AB9)iEventVMUnmap ((EventType)0xEFF3043B)jEventIntern ((EventType)0xEF142E64)kEventArenaExtend ((EventType)0xEFA64E82)lEventArenaRetract ((EventType)0xEFA646E2)mEventRootScan ((EventType)0xEF625CA4)nEventLabel ((EventType)0xEF7ABE79)oEventTraceSegGreyen ((EventType)0xEF26A599)pEventBufferReserve ((EventType)0xEFB0FF6E)qEventBufferCommit ((EventType)0xEFB0FFC0)rEventBufferInit ((EventType)0xEFB0FF14)sEventBufferInitSeg ((EventType)0xEFB0F15E)tEventBufferInitRank ((EventType)0xEFB0F16A)uEventBufferInitEPVM ((EventType)0xEFB0F1EF)vEventBufferFinish ((EventType)0xEFB0FFF1)wEventBufferFill ((EventType)0xEFB0FFF7)xEventBufferEmpty ((EventType)0xEFB0FFE3)yEventArenaAllocFail ((EventType)0xEFA64A7F)zEventSegAllocFail ((EventType)0xEF5E9A7F){EventMeterInit ((EventType)0xEF3E2141)|EventMeterValues ((EventType)0xEF3E2FA7)}EventCBSInit ((EventType)0xEFCB5141)~EventTraceStatCondemn ((EventType)0xEF26A5C0)EventTraceStatScan ((EventType)0xEF26A55C)EventTraceStatFix ((EventType)0xEF26A5F8)EventTraceStatReclaim ((EventType)0xEF26A56E)EventArenaWriteFaults ((EventType)0xEFA6436F)EventPoolInitMV ((EventType)0xEFB0713F)EventPoolInitMVFF ((EventType)0xEFB071FF)EventPoolInitMFS ((EventType)0xEFB07135)EventPoolInitEPVM ((EventType)0xEFB071EF)EventPoolInitEPDL ((EventType)0xEFB071E7)EventPoolInitAMS ((EventType)0xEFB071A5)EventPoolInitAMC ((EventType)0xEFB071AC)EventPoolInitAMCZ ((EventType)0xEFB071A2)EventPoolInitAWL ((EventType)0xEFB071A3)EventPoolInitLO ((EventType)0xEFB07170)EventPoolInitSNC ((EventType)0xEFB07154)EventPoolInitMVT ((EventType)0xEFB07132)EventPoolPush ((EventType)0xEFB07B58)EventPoolPop ((EventType)0xEFB07B0B)EventReservoirLimitSet ((EventType)0xEF6E5713)EventCommitLimitSet ((EventType)0xEFC03713)EventSpareCommitLimitSet ((EventType)0xEF5BC713)!hEventInit() NOOPiEventFinish() NOOPjEventControl(r,f) (UNUSED(r), UNUSED(f), (Word)0)kEventInternString(s) (UNUSED(s), (Word)0)lEventInternGenString(l,s) (UNUSED(l), UNUSED(s), (Word)0)mEventLabelAddr(a,i) BEGIN UNUSED(a); UNUSED(i); END & th_h ' ring_h RingNONE ((Ring)0)$RingInit(ring) BEGIN Ring _ring = (ring); AVER(_ring != NULL); _ring->next = _ring; _ring->prev = _ring; AVER(RingCheck(_ring)); END/RingFinish(ring) BEGIN Ring _ring = (ring); AVER(RingCheckSingle(_ring)); _ring->next = RingNONE; _ring->prev = RingNONE; END9RingAppend(ring,new) BEGIN Ring _ring = (ring), _new = (new); AVER(RingCheck(_ring)); AVER(RingCheckSingle(_new)); _new->prev = _ring->prev; _new->next = _ring; _ring->prev->next = _new; _ring->prev = _new; ENDFRingInsert(ring,new) BEGIN Ring _ring = (ring), _new = (new); AVER(RingCheck(_ring)); AVER(RingCheckSingle(_new)); _new->prev = _ring; _new->next = _ring->next; _ring->next->prev = _new; _ring->next = _new; ENDSRingRemove(old) BEGIN Ring _old = (old); AVER(RingCheck(_old)); AVER(!RingIsSingle(_old)); _old->next->prev = _old->prev; _old->prev->next = _old->next; _old->next = _old; _old->prev = _old; END`RingNext(ring) ((ring)->next)dRingPrev(ring) ((ring)->prev)gRING_ELT(type,field,node) ((type)(void *)((char *)(node) - (size_t)(&((type)0)->field)))kRING_FOR(node,ring,next) for(node = RingNext(ring), next = RingNext(node); node != (ring); node = (next), next = RingNext(node))ThreadSig ((Sig)0x519286ED)( ss_h ) tract_h  * bt_h BTSize(n) (((n) + MPS_WORD_WIDTH-1) / MPS_WORD_WIDTH * sizeof(Word))BTGet(a,i) ((Bool)(((a)[((i) >> MPS_WORD_SHIFT)] >> ((i) & ~((Word)-1 << MPS_WORD_SHIFT))) & (Word)1))BTSet(a,i) BEGIN (a)[((i)>>MPS_WORD_SHIFT)] |= (Word)1<<((i)&~((Word)-1<>MPS_WORD_SHIFT)] &= ~((Word)1 << ((i) & ~((Word)-1<base)&TractPool(tract) ((tract)->pool)'TractP(tract) ((tract)->p)(TractSetP(tract,pp) ((void)((tract)->p = (pp))))TractHasSeg(tract) ((Bool)(tract)->hasSeg)*TractSetHasSeg(tract,b) ((void)((tract)->hasSeg = (b)))+TractWhite(tract) ((tract)->white),TractSetWhite(tract,w) ((void)((tract)->white = (w)))8TRACT_SEG(segReturn,tract) (TractHasSeg(tract) && ((*(segReturn) = (Seg)TractP(tract)), TRUE));TRACT_SET_SEG(tract,seg) (TractSetHasSeg(tract, TRUE), TractSetP(tract, seg))>TRACT_UNSET_SEG(tract) (TractSetHasSeg(tract, FALSE), TractSetP(tract, NULL))nPageTract(page) (&(page)->the.tractStruct)rPageOfTract(tract) PARENT(PageStruct, the.tractStruct, (tract))vPagePool(page) ((page)->the.rest.pool)}PageIsAllocated(page) ((page)->the.rest.pool != NULL)PageType(page) ((page)->the.rest.type)ChunkSig ((Sig)0x519C804C)ChunkArena(chunk) ((chunk)->arena)ChunkPageSize(chunk) ((chunk)->pageSize)ChunkPageShift(chunk) ((chunk)->pageShift)ChunkPagesToSize(chunk,pages) ((Size)(pages) << (chunk)->pageShift)ChunkSizeToPages(chunk,size) ((Count)((size) >> (chunk)->pageShift))CHUNK_OF_ADDR(chunkReturn,arena,addr) (((arena)->chunkCache.base <= (addr) && (addr) < (arena)->chunkCache.limit) ? (*(chunkReturn) = (arena)->chunkCache.chunk, TRUE) : ChunkOfAddr(chunkReturn, arena, addr))AddrPageBase(chunk,addr) AddrAlignDown((addr), ChunkPageSize(chunk))TRACT_OF_ADDR(tractReturn,arena,addr) BEGIN Arena _arena = (arena); Addr _addr = (addr); Chunk _chunk; Index _i; if (CHUNK_OF_ADDR(&_chunk, _arena, _addr)) { _i = INDEX_OF_ADDR(_chunk, _addr); if (BTGet(_chunk->allocTable, _i)) *(tractReturn) = PageTract(&_chunk->pageTable[_i]); else *(tractReturn) = NULL; } else *(tractReturn) = NULL; ENDINDEX_OF_ADDR(chunk,addr) ((Index)ChunkSizeToPages(chunk, AddrOffset((chunk)->base, addr)))PageIndexBase(chunk,i) AddrAdd((chunk)->base, ChunkPagesToSize(chunk, i))TractAverContiguousRange(arena,rangeBase,rangeLimit) BEGIN Chunk _ch = NULL; UNUSED(_ch); AVER(ChunkOfAddr(&_ch, arena, rangeBase) && (rangeLimit) <= _ch->limit); ENDTRACT_TRACT_FOR(tract,addr,arena,firstTract,limit) tract = (firstTract); addr = TractBase(tract); TractAverContiguousRange(arena, addr, limit); for(; tract != NULL; (addr = AddrAdd(addr, (arena)->alignment)), (addr < (limit) ? (tract = PageTract(PageOfTract(tract) + 1)) : (tract = NULL) ))TRACT_FOR(tract,addr,arena,base,limit) TRACT_TRACT_FOR(tract, addr, arena, TractOfBaseAddr(arena, base), limit)+mpmst_h ,protocol_h DERIVE_LOCAL(name) protocol ## nameDERIVE_STRUCT(name) name ## StructDERIVE_ENSURE(name) name ## GetDERIVE_ENSURE_OLD(name) Ensure ## nameDERIVE_ENSURE_INTERNAL(name) protocolGet ## nameDERIVE_GUARDIAN(name) protocol ## name ## GuardianDERIVE_STATIC_STORAGE(name) protocol ## name ## StructProtocolClassSetSuperclassPoly(class,super) (((ProtocolClass)(class))->superclass) = (ProtocolClass)(super)$DEFINE_CLASS(className,var) static Bool DERIVE_GUARDIAN(className) = FALSE; static DERIVE_STRUCT(className) DERIVE_STATIC_STORAGE(className); static void DERIVE_ENSURE_INTERNAL(className)(className); extern className DERIVE_ENSURE(className)(void); className DERIVE_ENSURE(className)(void) { if (DERIVE_GUARDIAN(className) == FALSE) { LockClaimGlobalRecursive(); if (DERIVE_GUARDIAN(className) == FALSE) { DERIVE_ENSURE_INTERNAL(className) (&DERIVE_STATIC_STORAGE(className)); DERIVE_GUARDIAN(className) = TRUE; } LockReleaseGlobalRecursive(); } return &DERIVE_STATIC_STORAGE(className); } extern className DERIVE_ENSURE_OLD(className)(void); className DERIVE_ENSURE_OLD(className)(void) { return DERIVE_ENSURE(className)(); } static void DERIVE_ENSURE_INTERNAL(className) (className var)AINHERIT_CLASS(this,parentName) BEGIN parentName DERIVE_LOCAL(parentName) = DERIVE_ENSURE(parentName)(); *this = *(DERIVE_LOCAL(parentName)); ProtocolClassSetSuperclassPoly(this, DERIVE_LOCAL(parentName)); ENDODEFINE_ALIAS_CLASS(className,typeName,var) typedef typeName className; typedef DERIVE_STRUCT(typeName) DERIVE_STRUCT(className); DEFINE_CLASS(className, var)VProtocolClassSig ((Sig)0x519B60C7)WProtocolInstSig ((Sig)0x519B6014)ProtocolClassSuperclassPoly(class) (((ProtocolClass)(class))->superclass)ClassOfPoly(inst) ((ProtocolInst)(inst)->class)IsSubclassPoly(sub,super) ProtocolIsSubclass((ProtocolClass)(sub), (ProtocolClass)(super))SUPERCLASS(className) ProtocolClassSuperclassPoly(DERIVE_ENSURE(className)())-chain_h GenDescSig ((Sig)0x5199E4DE)+PoolGenSig ((Sig)0x519B009E);ChainSig ((Sig)0x519C8A14)XPoolGenNr(gen) ((gen)->nr)/PoolClassSig ((Sig)0x519C7A55)]PoolSig ((Sig)0x519B0019)}MFSSig ((Sig)0x5193F599)MVSig ((Sig)0x5193B999)ReservoirSig ((Sig)0x5196e599)MessageClassSig ((Sig)0x519359c1)MessageSig ((Sig)0x5193e559)SegClassSig ((Sig)0x5195E9C7)SegSig ((Sig)0x5195E999)GCSegSig ((Sig)0x5199C5E9)SegPrefSig ((Sig)0x5195E9B6)BufferClassSig ((Sig)0x519B0FC7)BufferSig ((Sig)0x519B0FFE)SegBufSig ((Sig)0x51959B0F)FormatSig ((Sig)0x519F63A2)ScanStateSig ((Sig)0x5195CA45)TraceSig ((Sig)0x51924ACE)ChunkCacheEntrySig ((Sig)0x519C80CE)ArenaClassSig ((Sig)0x519A6C1A)GlobalsSig ((Sig)0x519970BA)ArenaSig ((Sig)0x519A6E4A)%BoolCheck(b) ((unsigned)(b) <= 1)(FUNCHECK(f) (FunCheck((Fun)f))4WordIsAligned(w,a) (((w) & ((a) - 1)) == 0)7WordAlignUp(w,a) (((w) + (a) - 1) & ~((Word)(a) - 1));WordRoundUp(w,r) (((w)+(r)-1) - ((w)+(r)-1)%(r))>WordAlignDown(w,a) ((w) & ~((Word)(a) - 1))@size_tAlignUp(s,a) ((size_t)WordAlignUp((Word)(s), a))BPointerAdd(p,s) ((void *)((char *)(p) + (s)))CPointerSub(p,s) ((void *)((char *)(p) - (s)))EPointerOffset(base,limit) ((size_t)((char *)(limit) - (char *)(base)))HPointerAlignUp(p,s) ((void *)WordAlignUp((Word)(p), (Align)(s)))KAddrAdd(p,s) ((Addr)PointerAdd((void *)(p), s))LAddrSub(p,s) ((Addr)PointerSub((void *)(p), s))NAddrOffset(b,l) ((Size)(PointerOffset((void *)(b), (void *)(l))))RAddrAlignDown(p,a) ((Addr)WordAlignDown((Word)(p), a))TAlignWord(s) ((Word)(s))VAddrIsAligned(p,a) WordIsAligned((Word)(p), a)WAddrAlignUp(p,a) ((Addr)WordAlignUp((Word)(p), a))YSizeIsAligned(s,a) WordIsAligned((Word)(s), a)ZSizeAlignUp(s,a) ((Size)WordAlignUp((Word)(s), a))[SizeAlignDown(s,a) ((Size)WordAlignDown((Word)(s), a))]SizeRoundUp(s,r) ((Size)WordRoundUp((Word)(s), (Size)(r)))_IndexIsAligned(s,a) WordIsAligned((Word)(s), a)`IndexAlignUp(s,a) ((Index)WordAlignUp((Word)(s), a))aIndexAlignDown(s,a) ((Index)WordAlignDown((Word)(s), a))cAlignIsAligned(a1,a2) WordIsAligned((Word)(a1), a2)iAddrSet(target,value,size) mps_lib_memset(target, (int)(value), size)mAddrCopy(target,source,size) mps_lib_memcpy(target, source, size)qAddrComp(a,b,size) mps_lib_memcmp(a, b, size)wADDR_PTR(type,addr) ((type *)(addr))PoolArena(pool) ((pool)->arena)PoolAlignment(pool) ((pool)->alignment)PoolSegRing(pool) (&(pool)->segRing)PoolFix(pool,ss,seg,refIO) ((*(pool)->fix)(pool, ss, seg, refIO))ClassOfPool(pool) ((pool)->class)SuperclassOfPool(pool) ((PoolClass)ProtocolClassSuperclassPoly((pool)->class))DEFINE_POOL_CLASS(className,var) DEFINE_ALIAS_CLASS(className, PoolClass, var)POOL_SUPERCLASS(className) ((PoolClass)SUPERCLASS(className))TraceSetSingle(trace) BS_SINGLE(TraceSet, (trace)->ti)TraceSetIsSingle(ts) BS_IS_SINGLE(ts)TraceSetIsMember(ts,trace) BS_IS_MEMBER(ts, (trace)->ti)TraceSetAdd(ts,trace) BS_ADD(TraceSet, ts, (trace)->ti)TraceSetDel(ts,trace) BS_DEL(TraceSet, ts, (trace)->ti)TraceSetUnion(ts1,ts2) BS_UNION(ts1, ts2)TraceSetInter(ts1,ts2) BS_INTER(ts1, ts2)TraceSetDiff(ts1,ts2) BS_DIFF(ts1, ts2)TraceSetSuper(ts1,ts2) BS_SUPER(ts1, ts2)TraceSetSub(ts1,ts2) BS_SUB(ts1, ts2)TraceSetComp(ts) BS_COMP(ts)TRACE_SET_ITER(ti,trace,ts,arena) for(ti = 0, trace = ArenaTrace(arena, ti); ti < TraceLIMIT; ++ti, trace = ArenaTrace(arena, ti)) BEGIN if (TraceSetIsMember(ts, trace)) {TRACE_SET_ITER_END(ti,trace,ts,arena) } ENDTRACE_SCAN_BEGIN(ss) BEGIN Shift SCANzoneShift = (ss)->zoneShift; ZoneSet SCANwhite = (ss)->white; RefSet SCANsummary = (ss)->unfixedSummary; Word SCANt; {TRACE_FIX1(ss,ref) (SCANt = (Word)1 << ((Word)(ref) >> SCANzoneShift & (MPS_WORD_WIDTH-1)), SCANsummary |= SCANt, SCANwhite & SCANt)TRACE_FIX2(ss,refIO) ((*(ss)->fix)(ss, refIO))TRACE_FIX(ss,refIO) (TRACE_FIX1(ss, *(refIO)) ? TRACE_FIX2(ss, refIO) : ResOK)TRACE_SCAN_END(ss) } (ss)->unfixedSummary = SCANsummary; ENDDEFINE_ARENA_CLASS(className,var) DEFINE_ALIAS_CLASS(className, ArenaClass, var)ARENA_SUPERCLASS(className) ((ArenaClass)SUPERCLASS(className))ArenaGlobals(arena) (&(arena)->globals)GlobalsArena(glob) PARENT(ArenaStruct, globals, glob)ArenaRootRing(arena) (&(arena)->rootRing)ArenaTraceRing(arena) (&(arena)->traceRing)ArenaThreadRing(arena) (&(arena)->threadRing)ArenaEpoch(arena) ((arena)->epoch)ArenaTrace(arena,ti) (&(arena)->trace[ti])ArenaZoneShift(arena) ((arena)->zoneShift)ArenaAlign(arena) ((arena)->alignment)ArenaGreyRing(arena,rank) (&(arena)->greyRing[rank])ArenaReservoir(arena) (&(arena)->reservoirStruct)DEFINE_SEG_CLASS(className,var) DEFINE_ALIAS_CLASS(className, SegClass, var)SEG_SUPERCLASS(className) ((SegClass)SUPERCLASS(className))ClassOfSeg(seg) ((seg)->class)SegBase(seg) (TractBase((seg)->firstTract))SegLimit(seg) ((seg)->limit)SegPool(seg) (TractPool((seg)->firstTract))SegRankSet(seg) ((RankSet)(seg)->rankSet)SegPM(seg) ((AccessSet)(seg)->pm)SegSM(seg) ((AccessSet)(seg)->sm)SegDepth(seg) ((unsigned)(seg)->depth)SegGrey(seg) ((TraceSet)(seg)->grey)SegWhite(seg) ((TraceSet)(seg)->white)SegNailed(seg) ((TraceSet)(seg)->nailed)SegOfPoolRing(node) (RING_ELT(Seg, poolRing, (node)))SegOfGreyRing(node) (&(RING_ELT(GCSeg, greyRing, (node)) ->segStruct))SegSummary(seg) (((GCSeg)(seg))->summary)SegSetPM(seg,mode) ((void)((seg)->pm = (mode)))SegSetSM(seg,mode) ((void)((seg)->sm = (mode)))SegSetDepth(seg,d) ((void)((seg)->depth = (d)))SegSetNailed(seg,ts) ((void)((seg)->nailed = (ts)))BUFFER_RESERVE(pReturn,buffer,size,withReservoirPermit) (AddrAdd(BufferAlloc(buffer), size) > BufferAlloc(buffer) && AddrAdd(BufferAlloc(buffer), size) <= BufferAP(buffer)->limit ? (*(pReturn) = BufferAlloc(buffer), BufferAP(buffer)->alloc = AddrAdd(BufferAlloc(buffer), size), ResOK) : BufferFill(pReturn, buffer, size, withReservoirPermit))BUFFER_COMMIT(buffer,p,size) (BufferAP(buffer)->init = BufferAlloc(buffer), BufferAP(buffer)->limit != 0 || BufferTrip(buffer, p, size))BufferAP(buffer) (&(buffer)->apStruct)BufferOfAP(ap) PARENT(BufferStruct, apStruct, ap)BufferArena(buffer) ((buffer)->arena)BufferPool(buffer) ((buffer)->pool)BufferBase(buffer) ((buffer)->base)BufferGetInit(buffer) (BufferAP(buffer)->init)BufferAlloc(buffer) (BufferAP(buffer)->alloc)BufferLimit(buffer) ((buffer)->poolLimit)DEFINE_BUFFER_CLASS(className,var) DEFINE_ALIAS_CLASS(className, BufferClass, var)BUFFER_SUPERCLASS(className) ((BufferClass)SUPERCLASS(className))RankSetIsMember(rs,r) BS_IS_MEMBER((rs), (r))RankSetSingle(r) BS_SINGLE(RankSet, (r))RankSetIsSingle(r) BS_IS_SINGLE(r)RankSetUnion(rs1,rs2) BS_UNION((rs1), (rs2))RankSetDel(rs,r) BS_DEL(RankSet, (rs), (r))AddrZone(arena,addr) (((Word)(addr) >> (arena)->zoneShift) & (MPS_WORD_WIDTH - 1))RefSetUnion(rs1,rs2) BS_UNION((rs1), (rs2))RefSetInter(rs1,rs2) BS_INTER((rs1), (rs2))RefSetDiff(rs1,rs2) BS_DIFF((rs1), (rs2))RefSetAdd(arena,rs,addr) BS_ADD(RefSet, rs, AddrZone(arena, addr))RefSetIsMember(arena,rs,addr) BS_IS_MEMBER(rs, AddrZone(arena, addr))RefSetSuper(rs1,rs2) BS_SUPER((rs1), (rs2))RefSetSub(rs1,rs2) BS_SUB((rs1), (rs2))ZoneSetUnion(zs1,zs2) BS_UNION(zs1, zs2)ZoneSetInter(zs1,zs2) BS_INTER(zs1, zs2)ZoneSetDiff(zs1,zs2) BS_DIFF(zs1, zs2)ZoneSetAdd(arena,zs,addr) BS_ADD(ZoneSet, zs, AddrZone(arena, addr))ZoneSetIsMember(arena,zs,addr) BS_IS_MEMBER(zs, AddrZone(arena, addr))ZoneSetSub(zs1,zs2) BS_SUB(zs1, zs2)ZoneSetSuper(zs1,zs2) BS_SUPER(zs1, zs2)ZoneSetComp(zs) BS_COMP(zs)STATISTIC(gather) BEGIN (gather); ENDSTATISTIC_STAT(gather) BEGIN gather; ENDSTATISTIC_WRITE(format,arg) (format), (arg),ULockSig ((Sig)0x51970CC9)lockfr.cJan 17 200703:39:26$Id: //info.ravenbrook.com/project/mps/master/code/lockfr.c#7 $ |  AB  AB QAB DN.l!AB DG."AB DG.AB Q.AB DG.&AB V.!AB I.@%AB M.hAB I.|%AB M.AB I. <LockSizeLockCheckLockInitULockFinishLockClaimLockReleaseMPMLockClaimRecursiveLockReleaseRecursiveWLockClaimGlobalRecursivezLockReleaseGlobalRecursiveLockClaimGlobalLockReleaseGloballockfrSrcIdglobalLockStructlockfrSrcIdsize_tLockStructSrcIdStructstatedoubleglobalLockLockglobalLockInitlong intLockClaimGlobalbuild_timesigned char/home/hannes/dylan/mps/codeLockCheckattrLockReleaseRecursiveclaimsfileunsigned charlong unsigned intLockReleaseGlobalglobalRecLockBoolLockClaimGlobalRecursive__uint32_tlong long intpthread_once_tLockFinishLockClaimRecursivemutexscmidunsigned intpthread_mutex_tlockfr.cFileSrcIdStructGNU C 3.4.6 [FreeBSD] 20060305charLockReleaseGlobalRecursiveLockInit__size_tlong long unsigned intSrcIdbuild_dateisGlobalLockInitshort intLockSizepthread_mutexattr_tpthread_mutex_attrpthread_onceglobalRecLockStructshort unsigned intLockReleaseMPMpthread_mutexLockClaimlockGCC: (GNU) 3.4.6 [FreeBSD] 20060305.symtab.strtab.shstrtab.rel.text.rel.data.bss.debug_abbrev.rel.debug_info.rel.debug_line.debug_macinfo.rodata.str1.1.rodata.str1.4.rel.rodata.rel.debug_frame.rel.debug_pubnames.rel.debug_aranges.debug_str.comment4 ) % / 47F/<B 8VkR  b% q2°2@   0 ( ȳ  0ն%      % 6D Xi!x  Ql! ")<K`s&@%h|%lockfr.cFileSrcIdStructglobalLockglobalLockStructglobalRecLockglobalRecLockStructisGlobalLockInitglobalLockInitlockfrSrcIdLockSizeLockCheckLockInitpthread_mutexattr_initpthread_mutexattr_settypepthread_mutex_initpthread_mutexattr_destroyLockFinishpthread_mutex_destroyLockClaimpthread_mutex_lockLockReleaseMPMpthread_mutex_unlockLockClaimRecursiveLockReleaseRecursiveLockClaimGlobalRecursivepthread_onceLockReleaseGlobalRecursiveLockClaimGlobalLockReleaseGlobal.<LW{!#%#%$)27GLQ)Z_&pu')"$  !%*18?MX_fmt{8@N\j $(/<[bfm"&-FMQ]dh|  &+7p    04HLhl 8<TXptthfri4.o/ 1169001700 1001 1001 100644 69212 ` ELF  4(UÉUÉUWVS } jj8WEP…ui]C0s s v톒QC{C4s0CPBFS B0rEvЍe[^_ÉUS]S K BAB[QC BCP j8Su ]ÐUWVS }E09t,Xs0uu SU 69uԍe[^_US ]C4PCPtC4]ÉUhLuqÍvUS]{4t CPC4]ÍvUhu)ÍvUE ÐUE@ÐUWVS }] us0PtVWu[Q[4tLPX9s8VRWu$P3Wuvȍe[^_ÉUUjrRhr0h0BptPh9rRhJu @C% $ > $ > : ; I I&I : ;  : ; I8 < : ; I  : ;I8 : ;I8  : ; I8  : ; I 8  : ;I 8  : ;I 8  : ; ' II' ' I : ;  : ;  : ; I: ;II!I/  : ;.? : ; ' I@ : ; I 4: ; I !4: ; I " # $4: ; I%.? : ; ' @ &.: ; ' @ ': ; I (.? : ;' I@ ): ;I *4: ;I +4: ; I?  D+ 4R%int 8W , V _L |  h7zz E""$# %#&#'# " 2 Q . Sigl ResEt l?"ou G #Y $Y$%Y-&Y'W (W Ref)d k ,Yt -Y/.W/W1{2Wn 3W4W5W6W7W BT:MY ;^d W Y| @> # D!# ^E# (F# G# (H# W I# eJ6#$ K#( segLA#, Mb#0 N#4 7O#8 sigPC#< AWC ad# bd# cd# dd# Ae# If# D<D sigC# P # i8# #  # # ~# # F#$  #(  #, pad #0 \? #4 {#8F V G,XGsig`C#P a#\b#c#  d #}e #If#  g #$h#,i#0fixj#4 ks#8ls#@Kms#Hvns#PHH# 2!#^3#(4# 5#6-# 7# (8#$ 90#(:`#,;#0 <#4=#8h >"#<?M#@@t#D~A#HfixB#LPC#P D #TE#XF>#\G`#`H#dI#hJ#lK#pbL;#tMR#xNx#|O#sigPC# O O sigC# ti# # # # :# # * # ={# {#$ {#( ]{#, #0 L#4 #8 #< o{#@ #D #H : {#L n#P #T {#X #\ #` #d #h #l $ #p  #t  #x  {#| 3 # f {# g # # P  * TP fix# GY# # # sigC# # B # # # #$ #( #, #0 #4 #8 #< {#@ 3#D f{#H x{#L {#PQ5 ;   Qsig>C#?#@ #A #B#WCX"#R   Rj#p#:d# #  W# S   8SsigC#P ## # {#^ #:d#d# h#$#(cC#, #0#4?T sigC# ? # :d# d# ?# ?# UJPk" Utheh # SegVv|P_V sigC# \P#  # /  #  d#  W#pm "#sm "# # #[  # #oX[aN LX# !#^#(# #(U#P# $ #$+#( r#,x#0#4#8M#<s#@#DsigC#HZY_ Z sig0C# 1# 2# $3# l4# gen5#m\:H\ # &!# ^'## ((# )# *# (+G# 3,d#$ B -#( .#, /#0 0#4 \1##8 D 2I#< 3f#@ sig4C#D^D(^ =o## P p#t \r#x - t#| u## w## y{# z{# |{# }}{# G# # e # d#  #  # # -## ,M"#  # # ! # C# # o #  # 7 # "# ## 1{# f{# {# 3# + # q # ## s# s# Y# \ $# #  # n# U # $# sigC#3 t_ sigBC# E # F# Is# (J# K#  Ls# Ms#( Ns#0 KOs#8 vPs#@ .S#H  V#L /Y #P Z#X ] #\ ^#d a #h d#pbi8bsig17C#P 18#19# 1: # 1;_'#id1<&#0mfc1=i#4dtzd&#r e g 7hh\^"# #X{#\s{#`sigC#dn!'ANA8oRXdpou{ qRKrNd{0tNN{d u #d{v.4IN SwTZf gxqwN'QN  dldd&,UNkd{8`frk }k y}kCk  k+jkl6<MkjrX^sNk~Nkkddd8 ~TNj8j 6jddd{nfLRbkjy msj[j jkQNjA N8$06;A`N{kqd{Y ’Nj{ jddK"Nkd"i -3MNk X^tkV k̦N k N kVX "(>j7IO`jkqNjIלNj j]kl%;FLx*]cxN 1 N dd=dd@ dd#^ ( . ? d{LU [  [J #J #[[    gje#fE# hc g " iP  \ !E!\sig}C#r~ #t!#!# aP!V!!asigC#\ # m!!!!E! E!x!!!!   !M",$sigC# # {#!s# "s#`# #,$!M",o" t\^"#{#X{#\ {#`Y#dH "#h #lsigC#p ;" i"# `\^"#"#X"#{#{#{#~{# {# #sigC# "7gd  3 e#k $#$ +$F$834F$#V$LE5+$q$E$E$EV$$   ## z# <E# $^&T!"!(E#!)E#!*E#1!+E# O !,E#{!-E#H !.E#!/E#!0E# 4!1E#$!2E#(!3E#,!4E#0!5E#4 !6E#8!7E#<!8E#@!9E#D` !:E#H!;E#LP !=E#P!AE#T!EE#X!Fa$#\A!Jq$#`!K$#o !L$&kI .$# /^&# 1&# 2$# 3E#w 5&#i&&E 6i&&%@'' _'0sig0!C#id0"&#}0#i#0$ # 0% #0& ''1D UE1C'b1N UE1MW(1WNU1VW(P1VW res1XNP!E1YS p1Zp"4(FO!N1gJ V#!N1sJ R$1sJ %( 1}UE1|S1| "(!. 1J R#$N1J &1)1LU1J W,1=) !1J P!1J V!'1&p#<!E1S=)1)&t)o1LvUE1S res1NP%)1xU1J &)1UE1S%)E1U1J *1U1J !E1PD* 1UE1P* 1NU'ss1 WE1S 1V!'1&P res1NP#0 mfc1iS!1R!r1P$b 1d($++1!NU)E1 R){1  *res1"NP!8 11+11 /usr/include/usr/include/sys/usr/include/machineprmcfr.hmpm.hconfig.hmpstd.hmisc.hstddef.hcdefs.h_null.h_types.h_types.hcheck.hmpslib.hevent.heventcom.hmpmtypes.hstdarg.heventgen.hlock.hth.hring.hss.htract.hbt.hmpmst.hprotocol.hchain.hsignal.hsignal.h_sigset.hsignal.htrap.hucontext.hucontext.hpthread.htypes.hendian.h_pthreadtypes.hselect.h_timeval.htimespec.htime.htime.hlimits.hlimits.h_limits.hsyslimits.hsched.hpthrdext.hthfri4.c1@<:*I;dd:s;eVeՏk;Hrrvd\dd[QN-TM:*O-:*K0=__STDC_HOSTED__ 1__GNUC__ 3__GNUC_MINOR__ 4__GNUC_PATCHLEVEL__ 6__SIZE_TYPE__ unsigned int__PTRDIFF_TYPE__ int__WCHAR_TYPE__ int__WINT_TYPE__ unsigned int __GXX_ABI_VERSION 1002 __SCHAR_MAX__ 127 __SHRT_MAX__ 32767 __INT_MAX__ 2147483647 __LONG_MAX__ 2147483647L__LONG_LONG_MAX__ 9223372036854775807LL__WCHAR_MAX__ 2147483647__CHAR_BIT__ 8__FLT_EVAL_METHOD__ 2__FLT_RADIX__ 2__FLT_MANT_DIG__ 24__FLT_DIG__ 6__FLT_MIN_EXP__ (-125)__FLT_MIN_10_EXP__ (-37)__FLT_MAX_EXP__ 128__FLT_MAX_10_EXP__ 38__FLT_MAX__ 3.40282347e+38F__FLT_MIN__ 1.17549435e-38F__FLT_EPSILON__ 1.19209290e-7F__FLT_DENORM_MIN__ 1.40129846e-45F__FLT_HAS_INFINITY__ 1__FLT_HAS_QUIET_NAN__ 1__DBL_MANT_DIG__ 53 __DBL_DIG__ 15!__DBL_MIN_EXP__ (-1021)"__DBL_MIN_10_EXP__ (-307)#__DBL_MAX_EXP__ 1024$__DBL_MAX_10_EXP__ 308%__DBL_MAX__ 1.7976931348623157e+308&__DBL_MIN__ 2.2250738585072014e-308'__DBL_EPSILON__ 2.2204460492503131e-16(__DBL_DENORM_MIN__ 4.9406564584124654e-324)__DBL_HAS_INFINITY__ 1*__DBL_HAS_QUIET_NAN__ 1+__LDBL_MANT_DIG__ 53,__LDBL_DIG__ 15-__LDBL_MIN_EXP__ (-16381).__LDBL_MIN_10_EXP__ (-4931)/__LDBL_MAX_EXP__ 163840__LDBL_MAX_10_EXP__ 49321__DECIMAL_DIG__ 172__LDBL_MAX__ 1.1897314953572316e+4932L3__LDBL_MIN__ 3.3621031431120935e-4932L4__LDBL_EPSILON__ 2.2204460492503131e-16L5__LDBL_DENORM_MIN__ 7.4653686412953080e-4948L6__LDBL_HAS_INFINITY__ 17__LDBL_HAS_QUIET_NAN__ 18__REGISTER_PREFIX__ 9__USER_LABEL_PREFIX__ :__VERSION__ "3.4.6 [FreeBSD] 20060305";__OPTIMIZE__ 1<__FINITE_MATH_ONLY__ 0=__STRICT_ANSI__ 1@__i386 1A__i386__ 1B__tune_i386__ 1C__FreeBSD__ 6D__unix 1E__unix__ 1F__KPRINTF_ATTRIBUTE__ 1J__FreeBSD_cc_version 602001K__ELF__ 1_REENTRANT 1CONFIG_PROD_DYLAN 1CONFIG_VAR_HI 1NDEBUG 1' prmcfr_h   mpm_h config_h !CONFIG_DEBUG "CHECK_DEFAULT CheckNONE6CHECK_NONE 7MPS_ASSERT_STRING "nonasserted"?EVENT_NONE @MPS_LOG_STRING "nonlogging"EDIAGNOSTICS FMPS_DEBUG_STRING "debug"LMPS_VARIETY_STRING MPS_ASSERT_STRING "." MPS_LOG_STRING "." MPS_DEBUG_STRINGRmpstd_h MPS_PF_FRI4GC MPS_PF_STRING "fri4gc"MPS_OS_FR MPS_ARCH_I4 MPS_BUILD_GC MPS_T_WORD unsigned longMPS_WORD_WIDTH 32MPS_WORD_SHIFT 5MPS_PF_ALIGN 4EPVMDefaultSubsequentSegSIZE (64ul * 1024)ARENA_CONTROL_EXTENDBY ((Size)4096)ARENA_CONTROL_AVGSIZE ((Size)32)ARENA_CONTROL_MAXSIZE ((Size)65536)ArenaPollALLOCTIME (65536.0)ARENA_ZONESHIFT ((Shift)20)ARENA_CLIENT_PAGE_SIZE ((Size)8192)ArenaDefaultZONESET (ZoneSetUNIV << (MPS_WORD_WIDTH / 2))SegPrefDEFAULT { SegPrefSig, TRUE, ArenaDefaultZONESET, FALSE, FALSE, (Serial)0, }LDHistoryLENGTH ((Size)4)StackProbeDEPTH ((Size)0)ShieldCacheSIZE ((size_t)16)ShieldDepthWIDTH (4)VMANPageALIGNMENT ((Align)4096)VMJunkBYTE ((unsigned char)0xA9)TraceLIMIT ((size_t)1)TraceCopyScanRATIO (1.5)RememberedSummaryBLOCK 15EventBufferSIZE ((size_t)4096)EventStringLengthMAX ((size_t)255)ASSERT_BUFFER_SIZE ((Size)512)MPS_PROD_STRING "dylan"MPS_PROD_DYLAN ARENA_INIT_SPARE_COMMIT_LIMIT ((Size)10uL*1024uL*1024uL)THREAD_MULTI PROTECTION DONGLE_NONE PROD_CHECK_DEFAULT CheckSHALLOWARENA_SIZE ((Size)1<<30)misc_h '_STDDEF_H_ )%_SYS_CDEFS_H_ +__BEGIN_DECLS ,__END_DECLS 8__GNUCLIKE_ASM 39__GNUCLIKE_MATH_BUILTIN_CONSTANTS =__GNUCLIKE___TYPEOF 1>__GNUCLIKE___OFFSETOF 1?__GNUCLIKE___SECTION 1A__GNUCLIKE_ATTRIBUTE_MODE_DI 1D__GNUCLIKE_CTOR_SECTION_HANDLING 1G__GNUCLIKE_BUILTIN_CONSTANT_P 1N__GNUCLIKE_BUILTIN_VARARGS 1O__GNUCLIKE_BUILTIN_STDARG 1P__GNUCLIKE_BUILTIN_VAALIST 1T__GNUC_VA_LIST_COMPATIBILITY 1X__GNUCLIKE_BUILTIN_NEXT_ARG 1Y__GNUCLIKE_MATH_BUILTIN_RELOPS \__GNUCLIKE_BUILTIN_MEMCPY 1___CC_SUPPORTS_INLINE 1`__CC_SUPPORTS___INLINE 1a__CC_SUPPORTS___INLINE__ 1c__CC_SUPPORTS___FUNC__ 1d__CC_SUPPORTS_WARNING 1f__CC_SUPPORTS_VARADIC_XXX 1h__CC_SUPPORTS_DYNAMIC_ARRAY_INIT 1k__CC_INT_IS_32BIT 1s__GNUC_PREREQ__(ma,mi) (__GNUC__ > (ma) || __GNUC__ == (ma) && __GNUC_MINOR__ >= (mi))__P(protos) protos__CONCAT1(x,y) x ## y__CONCAT(x,y) __CONCAT1(x,y)__STRING(x) #x__XSTRING(x) __STRING(x)__const const__signed signed__volatile volatile__dead2 __attribute__((__noreturn__))__pure2 __attribute__((__const__))__unused __attribute__((__unused__))__used __attribute__((__used__))__packed __attribute__((__packed__))__aligned(x) __attribute__((__aligned__(x)))__section(x) __attribute__((__section__(x)))__pure __attribute__((__pure__))__always_inline __attribute__((__always_inline__))__nonnull(x) __attribute__((__nonnull__(x)))__restrict __predict_true(exp) __builtin_expect((exp), 1)__predict_false(exp) __builtin_expect((exp), 0)__offsetof(type,field) ((size_t)(&((type *)0)->field))__rangeof(type,start,end) (__offsetof(type, end) - __offsetof(type, start))__printflike(fmtarg,firstvararg) __attribute__((__format__ (__printf__, fmtarg, firstvararg)))__scanflike(fmtarg,firstvararg) __attribute__((__format__ (__scanf__, fmtarg, firstvararg)))__format_arg(fmtarg) __attribute__((__format_arg__ (fmtarg)))__printf0like(fmtarg,firstvararg) __attribute__((__format__ (__printf0__, fmtarg, firstvararg)))__strong_reference(sym,aliassym) extern __typeof (sym) aliassym __attribute__ ((__alias__ (#sym)));__weak_reference(sym,alias) __asm__(".weak " #alias); __asm__(".equ " #alias ", " #sym)__warn_references(sym,msg) __asm__(".section .gnu.warning." #sym); __asm__(".asciz \"" msg "\""); __asm__(".previous")__IDSTRING(name,string) __asm__(".ident\t\"" string "\"")__FBSDID(s) __IDSTRING(__CONCAT(__rcsid_,__LINE__),s)__RCSID(s) __IDSTRING(__CONCAT(__rcsid_,__LINE__),s)__RCSID_SOURCE(s) __IDSTRING(__CONCAT(__rcsid_source_,__LINE__),s)__SCCSID(s) __IDSTRING(__CONCAT(__sccsid_,__LINE__),s)__COPYRIGHT(s) __IDSTRING(__CONCAT(__copyright_,__LINE__),s)__DECONST(type,var) ((type)(uintptr_t)(const void *)(var))__DEVOLATILE(type,var) ((type)(uintptr_t)(volatile void *)(var))__DEQUALIFY(type,var) ((type)(uintptr_t)(const volatile void *)(var))__POSIX_VISIBLE 200112__XSI_VISIBLE 600__BSD_VISIBLE 1__ISO_C_VISIBLE 1999* NULL ((void *)0)+ _SYS__TYPES_H_ ! (_MACHINE__TYPES_H_ .__NO_STRICT_ALIGNMENT __GNUC_VA_LIST 2_RUNE_T_DECLARED 8_SIZE_T_DECLARED >_WCHAR_T_DECLARED Boffsetof(type,member) __offsetof(type, member)*SRCID(id,scmid) static SrcIdStruct FileSrcIdStruct = {__FILE__, (scmid), __DATE__, __TIME__}; SrcId id ## SrcId = &FileSrcIdStruct;BEGIN do {> (i)) & 1)BS_UNION(s1,s2) ((s1) | (s2))BS_ADD(ty,s,i) BS_UNION((s), BS_SINGLE(ty, (i)))BS_INTER(s1,s2) ((s1) & (s2))BS_DIFF(s1,s2) BS_INTER((s1), BS_COMP(s2))BS_DEL(ty,s,i) BS_DIFF((s), BS_SINGLE(ty, (i)))BS_SUPER(s1,s2) (BS_INTER((s1), (s2)) == (s2))BS_SUB(s1,s2) BS_SUPER((s2), (s1))BS_IS_SINGLE(s) (((s) & ((s)-1)) == 0)BS_SYM_DIFF(s1,s2) ((s1) ^ (s2)) check_h  mpslib_h mps_lib_EOF (mps_lib_get_EOF())mps_lib_stderr (mps_lib_get_stderr())mps_lib_stdout (mps_lib_get_stdout())0AVER(cond) DISCARD(cond)1AVERT(type,val) DISCARD(type ## Check(val))2AVER_CRITICAL(cond) DISCARD(cond)3AVERT_CRITICAL(type,val) DISCARD(type ## Check(val))MASSERT(cond,condstring) BEGIN if (cond) NOOP; else mps_lib_assert_fail(condstring "\n" __FILE__ "\n" STR(__LINE__)); END_NOTREACHED NOOPjCHECKT(type,val) ((val) != NULL && (val)->sig == type ## Sig)pCHECKS(type,val) DISCARD(CHECKT(type, val))qCHECKL(cond) DISCARD(cond)rCHECKD(type,val) DISCARD(CHECKT(type, val))sCHECKD_NOSIG(type,val) DISCARD((val) != NULL)tCHECKU(type,val) DISCARD(CHECKT(type, val))uCHECKU_NOSIG(type,val) DISCARD((val) != NULL)CHECKLVALUE(lv1,lv2) ((void)sizeof((lv1) = (lv2)), (void)sizeof((lv2) = (lv1)), TRUE)CHECKTYPE(t1,t2) (sizeof(t1) == sizeof(t2) && CHECKLVALUE(*((t1 *)0), *((t2 *)0)))CHECKFIELDAPPROX(s1,f1,s2,f2) (sizeof(((s1 *)0)->f1) == sizeof(((s2 *)0)->f2) && offsetof(s1, f1) == offsetof(s2, f2))CHECKFIELD(s1,f1,s2,f2) (CHECKFIELDAPPROX(s1, f1, s2, f2) && CHECKLVALUE(((s1 *)0)->f1, ((s2 *)0)->f2)) event_h  eventcom_h  mpmtypes_h '_MACHINE_STDARG_H_ -_VA_LIST_DECLARED 3va_start(ap,last) __builtin_stdarg_start((ap), (last))6va_arg(ap,type) __builtin_va_arg((ap), type):va_copy(dest,src) __builtin_va_copy((dest), (src))>va_end(ap) __builtin_va_end(ap)SigInvalid ((Sig)0x51915BAD)SizeMAX ((Size)-1)AccessSetEMPTY ((AccessSet)0)AccessREAD ((AccessSet)(1<<0))AccessWRITE ((AccessSet)(1<<1))AccessSetWIDTH (2)RefSetEMPTY BS_EMPTY(RefSet)RefSetUNIV BS_UNIV(RefSet)ZoneSetEMPTY BS_EMPTY(ZoneSet)ZoneSetUNIV BS_UNIV(ZoneSet)TraceSetEMPTY BS_EMPTY(TraceSet)TraceSetUNIV ((TraceSet)((1u << TraceLIMIT) - 1))RankSetEMPTY BS_EMPTY(RankSet)RankSetUNIV ((RankSet)((1u << RankLIMIT) - 1))AttrFMT ((Attr)(1<<0))AttrSCAN ((Attr)(1<<1))AttrPM_NO_READ ((Attr)(1<<2))AttrPM_NO_WRITE ((Attr)(1<<3))AttrALLOC ((Attr)(1<<4))AttrFREE ((Attr)(1<<5))AttrBUF ((Attr)(1<<6))AttrBUF_RESERVE ((Attr)(1<<7))AttrBUF_ALLOC ((Attr)(1<<8))AttrGC ((Attr)(1<<9))AttrINCR_RB ((Attr)(1<<10))AttrINCR_WB ((Attr)(1<<11))AttrMOVINGGC ((Attr)(1<<12))AttrMASK (AttrFMT | AttrSCAN | AttrPM_NO_READ | AttrPM_NO_WRITE | AttrALLOC | AttrFREE | AttrBUF | AttrBUF_RESERVE | AttrBUF_ALLOC | AttrGC | AttrINCR_RB | AttrINCR_WB | AttrMOVINGGC)BufferModeATTACHED ((BufferMode)(1<<0))BufferModeFLIPPED ((BufferMode)(1<<1))BufferModeLOGGED ((BufferMode)(1<<2))BufferModeTRANSITION ((BufferMode)(1<<3))RootModeCONSTANT ((RootMode)1<<0)RootModePROTECTABLE ((RootMode)1<<1)RootModePROTECTABLE_INNER ((RootMode)1<<2)STATISTIC_DECL(field) field!EventNameMAX ((size_t)19)"EventCodeMAX ((EventCode)0x0069)&EVENT_0(type) NOOPEVENT_A(type,p0) NOOPEVENT_AW(type,p0,p1) NOOPEVENT_P(type,p0) NOOPEVENT_PAA(type,p0,p1,p2) NOOPEVENT_PAW(type,p0,p1,p2) NOOPEVENT_PAWA(type,p0,p1,p2,p3) NOOPEVENT_PDDWWW(type,p0,p1,p2,p3,p4,p5) NOOPEVENT_PP(type,p0,p1) NOOPEVENT_PPAU(type,p0,p1,p2,p3) NOOPEVENT_PPAWP(type,p0,p1,p2,p3,p4) NOOPEVENT_PPP(type,p0,p1,p2) NOOPEVENT_PPPA(type,p0,p1,p2,p3) NOOPEVENT_PPPU(type,p0,p1,p2,p3) NOOPEVENT_PPPUU(type,p0,p1,p2,p3,p4) NOOPEVENT_PPU(type,p0,p1,p2) NOOPEVENT_PPUU(type,p0,p1,p2,p3) NOOPEVENT_PPUWWW(type,p0,p1,p2,p3,p4,p5) NOOPEVENT_PPWW(type,p0,p1,p2,p3) NOOPEVENT_PPWWW(type,p0,p1,p2,p3,p4) NOOPEVENT_PPWWWUUU(type,p0,p1,p2,p3,p4,p5,p6,p7) NOOPEVENT_PU(type,p0,p1) NOOPEVENT_PW(type,p0,p1) NOOPEVENT_PWA(type,p0,p1,p2) NOOPEVENT_PWAW(type,p0,p1,p2,p3) NOOPEVENT_PWP(type,p0,p1,p2) NOOPEVENT_PWU(type,p0,p1,p2) NOOPEVENT_PWW(type,p0,p1,p2) NOOPEVENT_PWWWWDD(type,p0,p1,p2,p3,p4,p5,p6) NOOPEVENT_PWWWWW(type,p0,p1,p2,p3,p4,p5) NOOPEVENT_PWWWWWWWWW(type,p0,p1,p2,p3,p4,p5,p6,p7,p8,p9) NOOPEVENT_PWWWWWWWWWWWW(type,p0,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11,p12) NOOPEVENT_UUPA(type,p0,p1,p2,p3) NOOPEVENT_UUPP(type,p0,p1,p2,p3) NOOPEVENT_UUPPP(type,p0,p1,p2,p3,p4) NOOPEVENT_WS(type,p0,p1,l1) NOOP:EventEventTime ((EventType)0xEF213E99);EventPoolInit ((EventType)0xEFB07141)EventPoolFree ((EventType)0xEFB07F6E)?EventArenaCreateVM ((EventType)0xEFA64CF3)@EventArenaCreateVMNZ ((EventType)0xEFA64CF2)AEventArenaCreateCL ((EventType)0xEFA64CC7)BEventArenaDestroy ((EventType)0xEFA64DE5)CEventArenaAlloc ((EventType)0xEFA64A77)DEventArenaFree ((EventType)0xEFA64F6E)EEventSegAlloc ((EventType)0xEF5E9A77)FEventSegFree ((EventType)0xEF5E9F6E)GEventSegMerge ((EventType)0xEF5E93E6)HEventSegSplit ((EventType)0xEF5E95B7)IEventAMCGenCreate ((EventType)0xEFA3C94C)JEventAMCGenDestroy ((EventType)0xEFA3C94D)KEventAMCInit ((EventType)0xEFA3C141)LEventAMCFinish ((EventType)0xEFA3CF14)MEventAMCTraceBegin ((EventType)0xEFA3C26B)NEventAMCScanBegin ((EventType)0xEFA3C5CB)OEventAMCScanEnd ((EventType)0xEFA3C5CE)PEventAMCFix ((EventType)0xEFA3CF18)QEventAMCFixInPlace ((EventType)0xEFA3CF8A)REventAMCFixForward ((EventType)0xEFA3CF8F)SEventAMCReclaim ((EventType)0xEFA3C6EC)TEventTraceStart ((EventType)0xEF26AC52)UEventTraceCreate ((EventType)0xEF26ACC6)VEventTraceDestroy ((EventType)0xEF26ACDE)WEventSegSetGrey ((EventType)0xEF59596A)XEventTraceFlipBegin ((EventType)0xEF26AF7B)YEventTraceFlipEnd ((EventType)0xEF26AF7E)ZEventTraceReclaim ((EventType)0xEF26A6EC)[EventTraceScanSeg ((EventType)0xEF26A559)\EventTraceScanSingleRef ((EventType)0xEF26A556)^EventTraceAccess ((EventType)0xEF26AACC)_EventTracePoll ((EventType)0xEF26AB01)`EventTraceStep ((EventType)0xEF26A52B)aEventTraceFix ((EventType)0xEF26AF18)bEventTraceFixSeg ((EventType)0xEF26AF85)cEventTraceFixWhite ((EventType)0xEF26AF83)dEventTraceScanArea ((EventType)0xEF26A5CA)eEventTraceScanAreaTagged ((EventType)0xEF26A5C2)fEventVMCreate ((EventType)0xEFF3C6EA)gEventVMDestroy ((EventType)0xEFF3DE52)hEventVMMap ((EventType)0xEFF33AB9)iEventVMUnmap ((EventType)0xEFF3043B)jEventIntern ((EventType)0xEF142E64)kEventArenaExtend ((EventType)0xEFA64E82)lEventArenaRetract ((EventType)0xEFA646E2)mEventRootScan ((EventType)0xEF625CA4)nEventLabel ((EventType)0xEF7ABE79)oEventTraceSegGreyen ((EventType)0xEF26A599)pEventBufferReserve ((EventType)0xEFB0FF6E)qEventBufferCommit ((EventType)0xEFB0FFC0)rEventBufferInit ((EventType)0xEFB0FF14)sEventBufferInitSeg ((EventType)0xEFB0F15E)tEventBufferInitRank ((EventType)0xEFB0F16A)uEventBufferInitEPVM ((EventType)0xEFB0F1EF)vEventBufferFinish ((EventType)0xEFB0FFF1)wEventBufferFill ((EventType)0xEFB0FFF7)xEventBufferEmpty ((EventType)0xEFB0FFE3)yEventArenaAllocFail ((EventType)0xEFA64A7F)zEventSegAllocFail ((EventType)0xEF5E9A7F){EventMeterInit ((EventType)0xEF3E2141)|EventMeterValues ((EventType)0xEF3E2FA7)}EventCBSInit ((EventType)0xEFCB5141)~EventTraceStatCondemn ((EventType)0xEF26A5C0)EventTraceStatScan ((EventType)0xEF26A55C)EventTraceStatFix ((EventType)0xEF26A5F8)EventTraceStatReclaim ((EventType)0xEF26A56E)EventArenaWriteFaults ((EventType)0xEFA6436F)EventPoolInitMV ((EventType)0xEFB0713F)EventPoolInitMVFF ((EventType)0xEFB071FF)EventPoolInitMFS ((EventType)0xEFB07135)EventPoolInitEPVM ((EventType)0xEFB071EF)EventPoolInitEPDL ((EventType)0xEFB071E7)EventPoolInitAMS ((EventType)0xEFB071A5)EventPoolInitAMC ((EventType)0xEFB071AC)EventPoolInitAMCZ ((EventType)0xEFB071A2)EventPoolInitAWL ((EventType)0xEFB071A3)EventPoolInitLO ((EventType)0xEFB07170)EventPoolInitSNC ((EventType)0xEFB07154)EventPoolInitMVT ((EventType)0xEFB07132)EventPoolPush ((EventType)0xEFB07B58)EventPoolPop ((EventType)0xEFB07B0B)EventReservoirLimitSet ((EventType)0xEF6E5713)EventCommitLimitSet ((EventType)0xEFC03713)EventSpareCommitLimitSet ((EventType)0xEF5BC713)hEventInit() NOOPiEventFinish() NOOPjEventControl(r,f) (UNUSED(r), UNUSED(f), (Word)0)kEventInternString(s) (UNUSED(s), (Word)0)lEventInternGenString(l,s) (UNUSED(l), UNUSED(s), (Word)0)mEventLabelAddr(a,i) BEGIN UNUSED(a); UNUSED(i); ENDPlock_h ULockSig ((Sig)0x51970CC9) th_h  ring_h RingNONE ((Ring)0)$RingInit(ring) BEGIN Ring _ring = (ring); AVER(_ring != NULL); _ring->next = _ring; _ring->prev = _ring; AVER(RingCheck(_ring)); END/RingFinish(ring) BEGIN Ring _ring = (ring); AVER(RingCheckSingle(_ring)); _ring->next = RingNONE; _ring->prev = RingNONE; END9RingAppend(ring,new) BEGIN Ring _ring = (ring), _new = (new); AVER(RingCheck(_ring)); AVER(RingCheckSingle(_new)); _new->prev = _ring->prev; _new->next = _ring; _ring->prev->next = _new; _ring->prev = _new; ENDFRingInsert(ring,new) BEGIN Ring _ring = (ring), _new = (new); AVER(RingCheck(_ring)); AVER(RingCheckSingle(_new)); _new->prev = _ring; _new->next = _ring->next; _ring->next->prev = _new; _ring->next = _new; ENDSRingRemove(old) BEGIN Ring _old = (old); AVER(RingCheck(_old)); AVER(!RingIsSingle(_old)); _old->next->prev = _old->prev; _old->prev->next = _old->next; _old->next = _old; _old->prev = _old; END`RingNext(ring) ((ring)->next)dRingPrev(ring) ((ring)->prev)gRING_ELT(type,field,node) ((type)(void *)((char *)(node) - (size_t)(&((type)0)->field)))kRING_FOR(node,ring,next) for(node = RingNext(ring), next = RingNext(node); node != (ring); node = (next), next = RingNext(node))ThreadSig ((Sig)0x519286ED) ss_h  tract_h   bt_h BTSize(n) (((n) + MPS_WORD_WIDTH-1) / MPS_WORD_WIDTH * sizeof(Word))BTGet(a,i) ((Bool)(((a)[((i) >> MPS_WORD_SHIFT)] >> ((i) & ~((Word)-1 << MPS_WORD_SHIFT))) & (Word)1))BTSet(a,i) BEGIN (a)[((i)>>MPS_WORD_SHIFT)] |= (Word)1<<((i)&~((Word)-1<>MPS_WORD_SHIFT)] &= ~((Word)1 << ((i) & ~((Word)-1<base)&TractPool(tract) ((tract)->pool)'TractP(tract) ((tract)->p)(TractSetP(tract,pp) ((void)((tract)->p = (pp))))TractHasSeg(tract) ((Bool)(tract)->hasSeg)*TractSetHasSeg(tract,b) ((void)((tract)->hasSeg = (b)))+TractWhite(tract) ((tract)->white),TractSetWhite(tract,w) ((void)((tract)->white = (w)))8TRACT_SEG(segReturn,tract) (TractHasSeg(tract) && ((*(segReturn) = (Seg)TractP(tract)), TRUE));TRACT_SET_SEG(tract,seg) (TractSetHasSeg(tract, TRUE), TractSetP(tract, seg))>TRACT_UNSET_SEG(tract) (TractSetHasSeg(tract, FALSE), TractSetP(tract, NULL))nPageTract(page) (&(page)->the.tractStruct)rPageOfTract(tract) PARENT(PageStruct, the.tractStruct, (tract))vPagePool(page) ((page)->the.rest.pool)}PageIsAllocated(page) ((page)->the.rest.pool != NULL)PageType(page) ((page)->the.rest.type)ChunkSig ((Sig)0x519C804C)ChunkArena(chunk) ((chunk)->arena)ChunkPageSize(chunk) ((chunk)->pageSize)ChunkPageShift(chunk) ((chunk)->pageShift)ChunkPagesToSize(chunk,pages) ((Size)(pages) << (chunk)->pageShift)ChunkSizeToPages(chunk,size) ((Count)((size) >> (chunk)->pageShift))CHUNK_OF_ADDR(chunkReturn,arena,addr) (((arena)->chunkCache.base <= (addr) && (addr) < (arena)->chunkCache.limit) ? (*(chunkReturn) = (arena)->chunkCache.chunk, TRUE) : ChunkOfAddr(chunkReturn, arena, addr))AddrPageBase(chunk,addr) AddrAlignDown((addr), ChunkPageSize(chunk))TRACT_OF_ADDR(tractReturn,arena,addr) BEGIN Arena _arena = (arena); Addr _addr = (addr); Chunk _chunk; Index _i; if (CHUNK_OF_ADDR(&_chunk, _arena, _addr)) { _i = INDEX_OF_ADDR(_chunk, _addr); if (BTGet(_chunk->allocTable, _i)) *(tractReturn) = PageTract(&_chunk->pageTable[_i]); else *(tractReturn) = NULL; } else *(tractReturn) = NULL; ENDINDEX_OF_ADDR(chunk,addr) ((Index)ChunkSizeToPages(chunk, AddrOffset((chunk)->base, addr)))PageIndexBase(chunk,i) AddrAdd((chunk)->base, ChunkPagesToSize(chunk, i))TractAverContiguousRange(arena,rangeBase,rangeLimit) BEGIN Chunk _ch = NULL; UNUSED(_ch); AVER(ChunkOfAddr(&_ch, arena, rangeBase) && (rangeLimit) <= _ch->limit); ENDTRACT_TRACT_FOR(tract,addr,arena,firstTract,limit) tract = (firstTract); addr = TractBase(tract); TractAverContiguousRange(arena, addr, limit); for(; tract != NULL; (addr = AddrAdd(addr, (arena)->alignment)), (addr < (limit) ? (tract = PageTract(PageOfTract(tract) + 1)) : (tract = NULL) ))TRACT_FOR(tract,addr,arena,base,limit) TRACT_TRACT_FOR(tract, addr, arena, TractOfBaseAddr(arena, base), limit)mpmst_h protocol_h DERIVE_LOCAL(name) protocol ## nameDERIVE_STRUCT(name) name ## StructDERIVE_ENSURE(name) name ## GetDERIVE_ENSURE_OLD(name) Ensure ## nameDERIVE_ENSURE_INTERNAL(name) protocolGet ## nameDERIVE_GUARDIAN(name) protocol ## name ## GuardianDERIVE_STATIC_STORAGE(name) protocol ## name ## StructProtocolClassSetSuperclassPoly(class,super) (((ProtocolClass)(class))->superclass) = (ProtocolClass)(super)$DEFINE_CLASS(className,var) static Bool DERIVE_GUARDIAN(className) = FALSE; static DERIVE_STRUCT(className) DERIVE_STATIC_STORAGE(className); static void DERIVE_ENSURE_INTERNAL(className)(className); extern className DERIVE_ENSURE(className)(void); className DERIVE_ENSURE(className)(void) { if (DERIVE_GUARDIAN(className) == FALSE) { LockClaimGlobalRecursive(); if (DERIVE_GUARDIAN(className) == FALSE) { DERIVE_ENSURE_INTERNAL(className) (&DERIVE_STATIC_STORAGE(className)); DERIVE_GUARDIAN(className) = TRUE; } LockReleaseGlobalRecursive(); } return &DERIVE_STATIC_STORAGE(className); } extern className DERIVE_ENSURE_OLD(className)(void); className DERIVE_ENSURE_OLD(className)(void) { return DERIVE_ENSURE(className)(); } static void DERIVE_ENSURE_INTERNAL(className) (className var)AINHERIT_CLASS(this,parentName) BEGIN parentName DERIVE_LOCAL(parentName) = DERIVE_ENSURE(parentName)(); *this = *(DERIVE_LOCAL(parentName)); ProtocolClassSetSuperclassPoly(this, DERIVE_LOCAL(parentName)); ENDODEFINE_ALIAS_CLASS(className,typeName,var) typedef typeName className; typedef DERIVE_STRUCT(typeName) DERIVE_STRUCT(className); DEFINE_CLASS(className, var)VProtocolClassSig ((Sig)0x519B60C7)WProtocolInstSig ((Sig)0x519B6014)ProtocolClassSuperclassPoly(class) (((ProtocolClass)(class))->superclass)ClassOfPoly(inst) ((ProtocolInst)(inst)->class)IsSubclassPoly(sub,super) ProtocolIsSubclass((ProtocolClass)(sub), (ProtocolClass)(super))SUPERCLASS(className) ProtocolClassSuperclassPoly(DERIVE_ENSURE(className)())chain_h GenDescSig ((Sig)0x5199E4DE)+PoolGenSig ((Sig)0x519B009E);ChainSig ((Sig)0x519C8A14)XPoolGenNr(gen) ((gen)->nr)/PoolClassSig ((Sig)0x519C7A55)]PoolSig ((Sig)0x519B0019)}MFSSig ((Sig)0x5193F599)MVSig ((Sig)0x5193B999)ReservoirSig ((Sig)0x5196e599)MessageClassSig ((Sig)0x519359c1)MessageSig ((Sig)0x5193e559)SegClassSig ((Sig)0x5195E9C7)SegSig ((Sig)0x5195E999)GCSegSig ((Sig)0x5199C5E9)SegPrefSig ((Sig)0x5195E9B6)BufferClassSig ((Sig)0x519B0FC7)BufferSig ((Sig)0x519B0FFE)SegBufSig ((Sig)0x51959B0F)FormatSig ((Sig)0x519F63A2)ScanStateSig ((Sig)0x5195CA45)TraceSig ((Sig)0x51924ACE)ChunkCacheEntrySig ((Sig)0x519C80CE)ArenaClassSig ((Sig)0x519A6C1A)GlobalsSig ((Sig)0x519970BA)ArenaSig ((Sig)0x519A6E4A)%BoolCheck(b) ((unsigned)(b) <= 1)(FUNCHECK(f) (FunCheck((Fun)f))4WordIsAligned(w,a) (((w) & ((a) - 1)) == 0)7WordAlignUp(w,a) (((w) + (a) - 1) & ~((Word)(a) - 1));WordRoundUp(w,r) (((w)+(r)-1) - ((w)+(r)-1)%(r))>WordAlignDown(w,a) ((w) & ~((Word)(a) - 1))@size_tAlignUp(s,a) ((size_t)WordAlignUp((Word)(s), a))BPointerAdd(p,s) ((void *)((char *)(p) + (s)))CPointerSub(p,s) ((void *)((char *)(p) - (s)))EPointerOffset(base,limit) ((size_t)((char *)(limit) - (char *)(base)))HPointerAlignUp(p,s) ((void *)WordAlignUp((Word)(p), (Align)(s)))KAddrAdd(p,s) ((Addr)PointerAdd((void *)(p), s))LAddrSub(p,s) ((Addr)PointerSub((void *)(p), s))NAddrOffset(b,l) ((Size)(PointerOffset((void *)(b), (void *)(l))))RAddrAlignDown(p,a) ((Addr)WordAlignDown((Word)(p), a))TAlignWord(s) ((Word)(s))VAddrIsAligned(p,a) WordIsAligned((Word)(p), a)WAddrAlignUp(p,a) ((Addr)WordAlignUp((Word)(p), a))YSizeIsAligned(s,a) WordIsAligned((Word)(s), a)ZSizeAlignUp(s,a) ((Size)WordAlignUp((Word)(s), a))[SizeAlignDown(s,a) ((Size)WordAlignDown((Word)(s), a))]SizeRoundUp(s,r) ((Size)WordRoundUp((Word)(s), (Size)(r)))_IndexIsAligned(s,a) WordIsAligned((Word)(s), a)`IndexAlignUp(s,a) ((Index)WordAlignUp((Word)(s), a))aIndexAlignDown(s,a) ((Index)WordAlignDown((Word)(s), a))cAlignIsAligned(a1,a2) WordIsAligned((Word)(a1), a2)iAddrSet(target,value,size) mps_lib_memset(target, (int)(value), size)mAddrCopy(target,source,size) mps_lib_memcpy(target, source, size)qAddrComp(a,b,size) mps_lib_memcmp(a, b, size)wADDR_PTR(type,addr) ((type *)(addr))PoolArena(pool) ((pool)->arena)PoolAlignment(pool) ((pool)->alignment)PoolSegRing(pool) (&(pool)->segRing)PoolFix(pool,ss,seg,refIO) ((*(pool)->fix)(pool, ss, seg, refIO))ClassOfPool(pool) ((pool)->class)SuperclassOfPool(pool) ((PoolClass)ProtocolClassSuperclassPoly((pool)->class))DEFINE_POOL_CLASS(className,var) DEFINE_ALIAS_CLASS(className, PoolClass, var)POOL_SUPERCLASS(className) ((PoolClass)SUPERCLASS(className))TraceSetSingle(trace) BS_SINGLE(TraceSet, (trace)->ti)TraceSetIsSingle(ts) BS_IS_SINGLE(ts)TraceSetIsMember(ts,trace) BS_IS_MEMBER(ts, (trace)->ti)TraceSetAdd(ts,trace) BS_ADD(TraceSet, ts, (trace)->ti)TraceSetDel(ts,trace) BS_DEL(TraceSet, ts, (trace)->ti)TraceSetUnion(ts1,ts2) BS_UNION(ts1, ts2)TraceSetInter(ts1,ts2) BS_INTER(ts1, ts2)TraceSetDiff(ts1,ts2) BS_DIFF(ts1, ts2)TraceSetSuper(ts1,ts2) BS_SUPER(ts1, ts2)TraceSetSub(ts1,ts2) BS_SUB(ts1, ts2)TraceSetComp(ts) BS_COMP(ts)TRACE_SET_ITER(ti,trace,ts,arena) for(ti = 0, trace = ArenaTrace(arena, ti); ti < TraceLIMIT; ++ti, trace = ArenaTrace(arena, ti)) BEGIN if (TraceSetIsMember(ts, trace)) {TRACE_SET_ITER_END(ti,trace,ts,arena) } ENDTRACE_SCAN_BEGIN(ss) BEGIN Shift SCANzoneShift = (ss)->zoneShift; ZoneSet SCANwhite = (ss)->white; RefSet SCANsummary = (ss)->unfixedSummary; Word SCANt; {TRACE_FIX1(ss,ref) (SCANt = (Word)1 << ((Word)(ref) >> SCANzoneShift & (MPS_WORD_WIDTH-1)), SCANsummary |= SCANt, SCANwhite & SCANt)TRACE_FIX2(ss,refIO) ((*(ss)->fix)(ss, refIO))TRACE_FIX(ss,refIO) (TRACE_FIX1(ss, *(refIO)) ? TRACE_FIX2(ss, refIO) : ResOK)TRACE_SCAN_END(ss) } (ss)->unfixedSummary = SCANsummary; ENDDEFINE_ARENA_CLASS(className,var) DEFINE_ALIAS_CLASS(className, ArenaClass, var)ARENA_SUPERCLASS(className) ((ArenaClass)SUPERCLASS(className))ArenaGlobals(arena) (&(arena)->globals)GlobalsArena(glob) PARENT(ArenaStruct, globals, glob)ArenaRootRing(arena) (&(arena)->rootRing)ArenaTraceRing(arena) (&(arena)->traceRing)ArenaThreadRing(arena) (&(arena)->threadRing)ArenaEpoch(arena) ((arena)->epoch)ArenaTrace(arena,ti) (&(arena)->trace[ti])ArenaZoneShift(arena) ((arena)->zoneShift)ArenaAlign(arena) ((arena)->alignment)ArenaGreyRing(arena,rank) (&(arena)->greyRing[rank])ArenaReservoir(arena) (&(arena)->reservoirStruct)DEFINE_SEG_CLASS(className,var) DEFINE_ALIAS_CLASS(className, SegClass, var)SEG_SUPERCLASS(className) ((SegClass)SUPERCLASS(className))ClassOfSeg(seg) ((seg)->class)SegBase(seg) (TractBase((seg)->firstTract))SegLimit(seg) ((seg)->limit)SegPool(seg) (TractPool((seg)->firstTract))SegRankSet(seg) ((RankSet)(seg)->rankSet)SegPM(seg) ((AccessSet)(seg)->pm)SegSM(seg) ((AccessSet)(seg)->sm)SegDepth(seg) ((unsigned)(seg)->depth)SegGrey(seg) ((TraceSet)(seg)->grey)SegWhite(seg) ((TraceSet)(seg)->white)SegNailed(seg) ((TraceSet)(seg)->nailed)SegOfPoolRing(node) (RING_ELT(Seg, poolRing, (node)))SegOfGreyRing(node) (&(RING_ELT(GCSeg, greyRing, (node)) ->segStruct))SegSummary(seg) (((GCSeg)(seg))->summary)SegSetPM(seg,mode) ((void)((seg)->pm = (mode)))SegSetSM(seg,mode) ((void)((seg)->sm = (mode)))SegSetDepth(seg,d) ((void)((seg)->depth = (d)))SegSetNailed(seg,ts) ((void)((seg)->nailed = (ts)))BUFFER_RESERVE(pReturn,buffer,size,withReservoirPermit) (AddrAdd(BufferAlloc(buffer), size) > BufferAlloc(buffer) && AddrAdd(BufferAlloc(buffer), size) <= BufferAP(buffer)->limit ? (*(pReturn) = BufferAlloc(buffer), BufferAP(buffer)->alloc = AddrAdd(BufferAlloc(buffer), size), ResOK) : BufferFill(pReturn, buffer, size, withReservoirPermit))BUFFER_COMMIT(buffer,p,size) (BufferAP(buffer)->init = BufferAlloc(buffer), BufferAP(buffer)->limit != 0 || BufferTrip(buffer, p, size))BufferAP(buffer) (&(buffer)->apStruct)BufferOfAP(ap) PARENT(BufferStruct, apStruct, ap)BufferArena(buffer) ((buffer)->arena)BufferPool(buffer) ((buffer)->pool)BufferBase(buffer) ((buffer)->base)BufferGetInit(buffer) (BufferAP(buffer)->init)BufferAlloc(buffer) (BufferAP(buffer)->alloc)BufferLimit(buffer) ((buffer)->poolLimit)DEFINE_BUFFER_CLASS(className,var) DEFINE_ALIAS_CLASS(className, BufferClass, var)BUFFER_SUPERCLASS(className) ((BufferClass)SUPERCLASS(className))RankSetIsMember(rs,r) BS_IS_MEMBER((rs), (r))RankSetSingle(r) BS_SINGLE(RankSet, (r))RankSetIsSingle(r) BS_IS_SINGLE(r)RankSetUnion(rs1,rs2) BS_UNION((rs1), (rs2))RankSetDel(rs,r) BS_DEL(RankSet, (rs), (r))AddrZone(arena,addr) (((Word)(addr) >> (arena)->zoneShift) & (MPS_WORD_WIDTH - 1))RefSetUnion(rs1,rs2) BS_UNION((rs1), (rs2))RefSetInter(rs1,rs2) BS_INTER((rs1), (rs2))RefSetDiff(rs1,rs2) BS_DIFF((rs1), (rs2))RefSetAdd(arena,rs,addr) BS_ADD(RefSet, rs, AddrZone(arena, addr))RefSetIsMember(arena,rs,addr) BS_IS_MEMBER(rs, AddrZone(arena, addr))RefSetSuper(rs1,rs2) BS_SUPER((rs1), (rs2))RefSetSub(rs1,rs2) BS_SUB((rs1), (rs2))ZoneSetUnion(zs1,zs2) BS_UNION(zs1, zs2)ZoneSetInter(zs1,zs2) BS_INTER(zs1, zs2)ZoneSetDiff(zs1,zs2) BS_DIFF(zs1, zs2)ZoneSetAdd(arena,zs,addr) BS_ADD(ZoneSet, zs, AddrZone(arena, addr))ZoneSetIsMember(arena,zs,addr) BS_IS_MEMBER(zs, AddrZone(arena, addr))ZoneSetSub(zs1,zs2) BS_SUB(zs1, zs2)ZoneSetSuper(zs1,zs2) BS_SUPER(zs1, zs2)ZoneSetComp(zs) BS_COMP(zs)STATISTIC(gather) BEGIN (gather); ENDSTATISTIC_STAT(gather) BEGIN gather; ENDSTATISTIC_WRITE(format,arg) (format), (arg),&_SIGNAL_H_ *'_SYS_SIGNAL_H_ +'_SYS__SIGSET_H_ ,_SIG_WORDS 4-_SIG_MAXSIG 128._SIG_IDX(sig) ((sig) - 1)/_SIG_WORD(sig) (_SIG_IDX(sig) >> 5)0_SIG_BIT(sig) (1 << (_SIG_IDX(sig) & 31))1_SIG_VALID(sig) ((sig) <= _SIG_MAXSIG && (sig) > 0)-"_MACHINE_SIGNAL_H_ 2MINSIGSTKSZ (512 * 4)6%_MACHINE_TRAP_H_ ,T_PRIVINFLT 1-T_BPTFLT 3.T_ARITHTRAP 6/T_PROTFLT 90T_TRCTRAP 101T_PAGEFLT 122T_ALIGNFLT 144T_DIVIDE 185T_NMI 196T_OFLOW 207T_BOUND 218T_DNA 229T_DOUBLEFLT 23:T_FPOPFLT 24;T_TSSFLT 25T_MCHK 28?T_XMMFLT 29@T_RESERVED 30EILL_RESAD_FAULT T_RESADFLTFILL_PRIVIN_FAULT T_PRIVINFLTGILL_RESOP_FAULT T_RESOPFLTHILL_ALIGN_FAULT T_ALIGNFLTIILL_FPOP_FAULT T_FPOPFLTLFPE_INTOVF 1MFPE_INTDIV 2NFPE_FLTDIV 3OFPE_FLTOVF 4PFPE_FLTUND 5QFPE_FLTRES 6RFPE_FLTINV 7SFPE_FLTSUB 8VFPE_INTOVF_TRAP 0x1WFPE_INTDIV_TRAP 0x2XFPE_FLTDIV_TRAP 0x3YFPE_FLTOVF_TRAP 0x4ZFPE_FLTUND_TRAP 0x5[FPE_FPU_NP_TRAP 0x6\FPE_SUBRNG_TRAP 0x7_BUS_PAGE_FAULT T_PAGEFLT`BUS_SEGNP_FAULT T_SEGNPFLTaBUS_STK_FAULT T_STKFLTbBUS_SEGM_FAULT T_RESERVEDeT_USER 0x100sc_sp sc_espsc_fp sc_ebpsc_pc sc_eipsc_ps sc_eflsc_eflags sc_efl3SIGHUP 15SIGINT 27SIGQUIT 39SIGILL 4;SIGTRAP 5=SIGABRT 6?SIGIOT SIGABRT@SIGEMT 7BSIGFPE 8DSIGKILL 9GSIGBUS 10ISIGSEGV 11KSIGSYS 12NSIGPIPE 13OSIGALRM 14QSIGTERM 15SSIGURG 16VSIGSTOP 17WSIGTSTP 18XSIGCONT 19YSIGCHLD 20ZSIGTTIN 21[SIGTTOU 22^SIGIO 23aSIGXCPU 24bSIGXFSZ 25cSIGVTALRM 26dSIGPROF 27gSIGWINCH 28hSIGINFO 29kSIGUSR1 30lSIGUSR2 31oSIGTHR 32pSIGLWP SIGTHRvSIG_DFL ((__sighandler_t *)0)wSIG_IGN ((__sighandler_t *)1)xSIG_ERR ((__sighandler_t *)-1)_SIGSET_T_DECLARED sigev_signo __sigev_u.__sigev_signosigev_notify_kqueue __sigev_u.__sigev_notify_kqueueSIGEV_NONE 0SIGEV_SIGNAL 1SIGEV_KEVENT 3sa_handler __sigaction_u.__sa_handlersa_sigaction __sigaction_u.__sa_sigactionSA_NOCLDSTOP 0x0008SA_ONSTACK 0x0001SA_RESTART 0x0002SA_RESETHAND 0x0004SA_NODEFER 0x0010SA_NOCLDWAIT 0x0020SA_SIGINFO 0x0040NSIG 32SI_USER 0x10001SI_QUEUE 0x10002SI_TIMER 0x10003SI_ASYNCIO 0x10004SI_MESGQ 0x10005SI_UNDEFINED 0SS_ONSTACK 0x0001SS_DISABLE 0x0004SIGSTKSZ (MINSIGSTKSZ + 32768)SV_ONSTACK SA_ONSTACKSV_INTERRUPT SA_RESTARTSV_RESETHAND SA_RESETHANDSV_NODEFER SA_NODEFERSV_NOCLDSTOP SA_NOCLDSTOPSV_SIGINFO SA_SIGINFOsv_onstack sv_flagssigmask(m) (1 << ((m)-1))BADSIG SIG_ERRSIG_BLOCK 1SIG_UNBLOCK 2SIG_SETMASK 39_PID_T_DECLARED   _SYS_UCONTEXT_H_ #! _MACHINE_UCONTEXT_H_ >_MC_FPFMT_NODEV 0x10000?_MC_FPFMT_387 0x10001@_MC_FPFMT_XMM 0x10002B_MC_FPOWNED_NONE 0x20000C_MC_FPOWNED_FPU 0x20001D_MC_FPOWNED_PCB 0x200024UCF_SWAPPED 0x00000001."$_PTHREAD_H_ *#'_SYS_TYPES_H_ ,$"_MACHINE_ENDIAN_H_ ._QUAD_HIGHWORD 1/_QUAD_LOWWORD 05_LITTLE_ENDIAN 12346_BIG_ENDIAN 43217_PDP_ENDIAN 34129_BYTE_ORDER _LITTLE_ENDIAN@LITTLE_ENDIAN _LITTLE_ENDIANABIG_ENDIAN _BIG_ENDIANBPDP_ENDIAN _PDP_ENDIANCBYTE_ORDER _BYTE_ORDERH__word_swap_int_var(x) __extension__ ({ register __uint32_t __X = (x); __asm ("rorl $16, %0" : "+r" (__X)); __X; })O__word_swap_int_const(x) ((((x) & 0xffff0000) >> 16) | (((x) & 0x0000ffff) << 16))R__word_swap_int(x) (__builtin_constant_p(x) ? __word_swap_int_const(x) : __word_swap_int_var(x))[__byte_swap_int_var(x) __extension__ ({ register __uint32_t __X = (x); __asm ("bswap %0" : "+r" (__X)); __X; })b__byte_swap_int_const(x) ((((x) & 0xff000000) >> 24) | (((x) & 0x00ff0000) >> 8) | (((x) & 0x0000ff00) << 8) | (((x) & 0x000000ff) << 24))g__byte_swap_int(x) (__builtin_constant_p(x) ? __byte_swap_int_const(x) : __byte_swap_int_var(x))p__byte_swap_word_var(x) __extension__ ({ register __uint16_t __X = (x); __asm ("xchgb %h0, %b0" : "+q" (__X)); __X; })w__byte_swap_word_const(x) ((((x) & 0xff00) >> 8) | (((x) & 0x00ff) << 8)){__byte_swap_word(x) (__builtin_constant_p(x) ? __byte_swap_word_const(x) : __byte_swap_word_var(x))__htonl(x) __bswap32(x)__htons(x) __bswap16(x)__ntohl(x) __bswap32(x)__ntohs(x) __bswap16(x)/%%_SYS__PTHREADTYPES_H_ A_INT8_T_DECLARED F_INT16_T_DECLARED K_INT32_T_DECLARED P_INT64_T_DECLARED U_UINT8_T_DECLARED Z_UINT16_T_DECLARED __UINT32_T_DECLARED d_UINT64_T_DECLARED j_INTPTR_T_DECLARED |_BLKSIZE_T_DECLARED _BLKCNT_T_DECLARED _CLOCK_T_DECLARED _CLOCKID_T_DECLARED _DEV_T_DECLARED _FFLAGS_T_DECLARED _FSBLKCNT_T_DECLARED _GID_T_DECLARED _IN_ADDR_T_DECLARED _IN_PORT_T_DECLARED _ID_T_DECLARED _INO_T_DECLARED _KEY_T_DECLARED _LWPID_T_DECLARED _MODE_T_DECLARED _NLINK_T_DECLARED _OFF_T_DECLARED _RLIM_T_DECLARED _SSIZE_T_DECLARED _SUSECONDS_T_DECLARED _TIME_T_DECLARED _TIMER_T_DECLARED _UID_T_DECLARED _USECONDS_T_DECLARED &!_SYS_SELECT_H_ ''_SYS__TIMEVAL_H_ (('_SYS_TIMESPEC_H_ 4TIMEVAL_TO_TIMESPEC(tv,ts) do { (ts)->tv_sec = (tv)->tv_sec; (ts)->tv_nsec = (tv)->tv_usec * 1000; } while (0)9TIMESPEC_TO_TIMEVAL(tv,ts) do { (tv)->tv_sec = (ts)->tv_sec; (tv)->tv_usec = (ts)->tv_nsec / 1000; } while (0);FD_SETSIZE 1024U>_NFDBITS (sizeof(__fd_mask) * 8)@NFDBITS _NFDBITSD_howmany(x,y) (((x) + ((y) - 1)) / (y))Kfds_bits __fds_bitsN__fdset_mask(n) ((__fd_mask)1 << ((n) % _NFDBITS))OFD_CLR(n,p) ((p)->__fds_bits[(n)/_NFDBITS] &= ~__fdset_mask(n))QFD_COPY(f,t) (void)(*(t) = *(f))SFD_ISSET(n,p) (((p)->__fds_bits[(n)/_NFDBITS] & __fdset_mask(n)) != 0)TFD_SET(n,p) ((p)->__fds_bits[(n)/_NFDBITS] |= __fdset_mask(n))UFD_ZERO(p) do { fd_set *_p; __size_t _n; _p = (p); _n = _howmany(FD_SETSIZE, _NFDBITS); while (_n > 0) _p->__fds_bits[--_n] = 0; } while (0)e_SELECT_DECLARED major(x) ((int)(((u_int)(x) >> 8)&0xff))minor(x) ((int)((x)&0xffff00ff))makedev(x,y) ((dev_t)(((x) << 8) | (y)))_FTRUNCATE_DECLARED _LSEEK_DECLARED _MMAP_DECLARED _TRUNCATE_DECLARED ,)"_SYS_TIME_H_ ,DST_NONE 0-DST_USA 1.DST_AUST 2/DST_WET 30DST_MET 41DST_EET 52DST_CAN 6timerclear(tvp) ((tvp)->tv_sec = (tvp)->tv_usec = 0)timerisset(tvp) ((tvp)->tv_sec || (tvp)->tv_usec)timercmp(tvp,uvp,cmp) (((tvp)->tv_sec == (uvp)->tv_sec) ? ((tvp)->tv_usec cmp (uvp)->tv_usec) : ((tvp)->tv_sec cmp (uvp)->tv_sec))timeradd(tvp,uvp,vvp) do { (vvp)->tv_sec = (tvp)->tv_sec + (uvp)->tv_sec; (vvp)->tv_usec = (tvp)->tv_usec + (uvp)->tv_usec; if ((vvp)->tv_usec >= 1000000) { (vvp)->tv_sec++; (vvp)->tv_usec -= 1000000; } } while (0)timersub(tvp,uvp,vvp) do { (vvp)->tv_sec = (tvp)->tv_sec - (uvp)->tv_sec; (vvp)->tv_usec = (tvp)->tv_usec - (uvp)->tv_usec; if ((vvp)->tv_usec < 0) { (vvp)->tv_sec--; (vvp)->tv_usec += 1000000; } } while (0)ITIMER_REAL 0ITIMER_VIRTUAL 1ITIMER_PROF 2CLOCK_REALTIME 0CLOCK_VIRTUAL 1CLOCK_PROF 2CLOCK_MONOTONIC 4TIMER_RELTIME 0x0TIMER_ABSTIME 0x1*._TIME_H_ 9CLK_TCK 128=CLOCKS_PER_SEC 128.+&_LIMITS_H_ +_POSIX_ARG_MAX 4096,_POSIX_CHILD_MAX 25-_POSIX_LINK_MAX 8._POSIX_MAX_CANON 255/_POSIX_MAX_INPUT 2550_POSIX_NAME_MAX 141_POSIX_NGROUPS_MAX 82_POSIX_OPEN_MAX 203_POSIX_PATH_MAX 2564_POSIX_PIPE_BUF 5125_POSIX_SSIZE_MAX 327676_POSIX_STREAM_MAX 87_POSIX_TZNAME_MAX 69BC_BASE_MAX 99:BC_DIM_MAX 2048;BC_SCALE_MAX 99EXPR_NEST_MAX 32?LINE_MAX 2048@RE_DUP_MAX 255B_POSIX2_BC_BASE_MAX 99C_POSIX2_BC_DIM_MAX 2048D_POSIX2_BC_SCALE_MAX 99E_POSIX2_BC_STRING_MAX 1000F_POSIX2_EQUIV_CLASS_MAX 2G_POSIX2_EXPR_NEST_MAX 32H_POSIX2_LINE_MAX 2048I_POSIX2_RE_DUP_MAX 255M_POSIX_AIO_LISTIO_MAX 16N_POSIX_AIO_MAX 1O_POSIX_DELAYTIMER_MAX 32P_POSIX_MQ_OPEN_MAX 8Q_POSIX_MQ_PRIO_MAX 32R_POSIX_RTSIG_MAX 8S_POSIX_SEM_NSEMS_MAX 256T_POSIX_SEM_VALUE_MAX 32767U_POSIX_SIGQUEUE_MAX 32V_POSIX_TIMER_MAX 32Z_POSIX_THREAD_DESTRUCTOR_ITERATIONS 4[_POSIX_THREAD_KEYS_MAX 128\_POSIX_THREAD_THREADS_MAX 64`_POSIX_HOST_NAME_MAX 255a_POSIX_LOGIN_NAME_MAX 9b_POSIX_SS_REPL_MAX 4c_POSIX_SYMLINK_MAX 255d_POSIX_SYMLOOP_MAX 8e_POSIX_TRACE_EVENT_NAME_MAX 30f_POSIX_TRACE_NAME_MAX 8g_POSIX_TRACE_SYS_MAX 8h_POSIX_TRACE_USER_EVENT_MAX 32i_POSIX_TTY_NAME_MAX 9j_POSIX2_CHARCLASS_NAME_MAX 14k_POSIX2_COLL_WEIGHTS_MAX 2m_POSIX_RE_DUP_MAX _POSIX2_RE_DUP_MAXq_XOPEN_IOV_MAX 16r_XOPEN_NAME_MAX 255s_XOPEN_PATH_MAX 1024tPASS_MAX 128vNL_ARGMAX 99wNL_LANGMAX 31xNL_MSGMAX 32767yNL_NMAX 1zNL_SETMAX 255{NL_TEXTMAX 2048~MB_LEN_MAX 6,!_SYS_LIMITS_H_ $-"_MACHINE__LIMITS_H_ /__CHAR_BIT 81__SCHAR_MAX 0x7f2__SCHAR_MIN (-0x7f - 1)4__UCHAR_MAX 0xff6__USHRT_MAX 0xffff7__SHRT_MAX 0x7fff8__SHRT_MIN (-0x7fff - 1):__UINT_MAX 0xffffffffU;__INT_MAX 0x7fffffff<__INT_MIN (-0x7fffffff - 1)D__ULONG_MAX 0xffffffffULE__LONG_MAX 0x7fffffffLF__LONG_MIN (-0x7fffffffL - 1)J__ULLONG_MAX 0xffffffffffffffffULLK__LLONG_MAX 0x7fffffffffffffffLLL__LLONG_MIN (-0x7fffffffffffffffLL - 1)N__SSIZE_MAX __INT_MAXP__SIZE_T_MAX __UINT_MAXR__OFF_MAX __LLONG_MAXS__OFF_MIN __LLONG_MINV__UQUAD_MAX __ULLONG_MAXW__QUAD_MAX __LLONG_MAXX__QUAD_MIN __LLONG_MIN]__LONG_BIT 32___WORD_BIT 32&CHAR_BIT __CHAR_BIT(SCHAR_MAX __SCHAR_MAX)SCHAR_MIN __SCHAR_MIN+UCHAR_MAX __UCHAR_MAX1CHAR_MAX SCHAR_MAX2CHAR_MIN SCHAR_MIN5USHRT_MAX __USHRT_MAX6SHRT_MAX __SHRT_MAX7SHRT_MIN __SHRT_MIN9UINT_MAX __UINT_MAX:INT_MAX __INT_MAX;INT_MIN __INT_MIN=ULONG_MAX __ULONG_MAX>LONG_MAX __LONG_MAX?LONG_MIN __LONG_MINHSSIZE_MAX __SSIZE_MAXLSIZE_T_MAX __SIZE_T_MAXNOFF_MAX __OFF_MAXOOFF_MIN __OFF_MINSGID_MAX UINT_MAXTUID_MAX UINT_MAXVUQUAD_MAX (__UQUAD_MAX)WQUAD_MAX (__QUAD_MAX)XQUAD_MIN (__QUAD_MIN)\LONG_BIT __LONG_BIT]WORD_BIT __WORD_BIT."_SYS_SYSLIMITS_H_ 4ARG_MAX 2621447CHILD_MAX 409LINK_MAX 32767:MAX_CANON 255;MAX_INPUT 255PTHREAD_SCOPE_SYSTEM 0x2?PTHREAD_INHERIT_SCHED 0x4@PTHREAD_NOFLOAT 0x8BPTHREAD_CREATE_DETACHED PTHREAD_DETACHEDCPTHREAD_CREATE_JOINABLE 0DPTHREAD_SCOPE_PROCESS 0EPTHREAD_EXPLICIT_SCHED 0JPTHREAD_PROCESS_PRIVATE 0KPTHREAD_PROCESS_SHARED 1PPTHREAD_CANCEL_ENABLE 0QPTHREAD_CANCEL_DISABLE 1RPTHREAD_CANCEL_DEFERRED 0SPTHREAD_CANCEL_ASYNCHRONOUS 2TPTHREAD_CANCELED ((void *) 1)YPTHREAD_NEEDS_INIT 0ZPTHREAD_DONE_INIT 1_PTHREAD_ONCE_INIT { PTHREAD_NEEDS_INIT, NULL }dPTHREAD_MUTEX_INITIALIZER NULLePTHREAD_COND_INITIALIZER NULLfPTHREAD_RWLOCK_INITIALIZER NULLlpthread_condattr_default NULLmpthread_mutexattr_default NULLnpthread_attr_default NULLqPTHREAD_PRIO_NONE 0rPTHREAD_PRIO_INHERIT 1sPTHREAD_PRIO_PROTECT 2PTHREAD_MUTEX_DEFAULT PTHREAD_MUTEX_ERRORCHECKMUTEX_TYPE_FAST PTHREAD_MUTEX_NORMALMUTEX_TYPE_COUNTING_FAST PTHREAD_MUTEX_RECURSIVE/0 pthreadext_h PThreadextSig ((Sig)0x519B286E)thfri4.cJan 17 200703:41:40} Thread $P ($U) id $U arena $P ($U) Thread $P ($U) { $Id: //info.ravenbrook.com/project/mps/master/code/thfri4.c#8 $ |  AB  AB $AB FL.Q.z.KAB Dl. PAB F_.L*AB DK.xAB K.-AB DP.AB K. AB  AB  AB FU.>AB q.@H+j'ThreadCheck'ThreadCheckSimple'ThreadRegister](ThreadDeregistert)ThreadRingSuspend)ThreadRingResume)ThreadRingThread*ThreadArenaD*ThreadScan*ThreadDescribe5+thfri4SrcIdProtocolCoerceClassMethodMutatorFaultContextmpsVersionStringchunkThreadRingResumePoolBlackenMethodsize_tSegClasssetWhitestackBaseucontext_tclampedLockStructmc_eaxalignmentframePushpageTablePagesframePopPendingpageTableLimitunitsPerExtentSegInitMethodPoolFreeMethodChunkCacheEntryStructmc_ebxMFSHeaderStructPoolAccessMethodgreyRingdetachisGensuperclasssuspendedMFCforwardedCountcoerceClassblockPoolStructuc_stackrampCountSrcIdStructtypePThreadextStructmc_ecxArenaMutatorFaultContextStructdoublemergepoolLimitfinishpoolRing__sigsetmc_fpstategreySegMaxgenspoolStructArenaDescribeMethodmc_ediLockforwardedSizesigaltstackEpochreservoirLimitmc_edxuc_flagsPoolFinishMethodAttrss_sparenamc_csArenaFreeMethodrootRinglong intPoolClassStructThreadScanThreadDescribeArenaClassStructfillInternalSizeclassbufferClassepochWordSegSetWhiteMethodhistorywriteBarrierHitCountpageSizeheaderSizerankbuild_timemortalityhigh__va_listTraceIdProtocolInstblackenrampBeginPoolRampBeginMethodSizesigned charmc_esReservoirStructAddrStruct/home/hannes/dylan/mps/codesingleScanCountspacefreewalkextendsetRankSetSegFinishMethodrememberedSummaryRingspanPoolStructchunkSerialmc_fsPoolBufferClassMethodpointlessScanCountRingpthreadproflowIndexPoolDescribeMethodFormatSkipMethod_ring__mcontextSegStructvarietyflippedTracesmc_gsBufferFinishMethodfoundationdescribecommittedthrextStructmc_eflagscapacityScanStateStructmc_eiprootScanSizeattrsnapCountrememberedSummaryIndexreclaimSizePoolStructreassignSegSegSetRankSummaryMethodRingStructpreservedInPlaceSizestreamnodeRankSetArenaInitMethodFormatPadMethodmayMovefileProtocolInstStructpageslimittraceskipthreadRingPoolFramePushMethodArenaChunkFinishMethodreservebufferbusyTracesPoolAllocMethodmoveArenaExtendMethodrateThreadCheckSimplecoerceInstunroundedUnitSizemps_lib_stream_ssegRefCountbufferFillsetRankSummaryAccessSetChunkStructfixRefCountframeptrthreadReturnshDepthunsigned charrootScanCountisCollectedArenaAllocMethodenabledlwPopPendinglong unsigned intallocBasestackLimitspareCommitLimitnailCountformatmc_spare1mc_spare2pthread_textendByavgSizerestmc_ebpchunkRinggreyfirstTractlabelledmaxSizefillMutatorSizePagestack_tPageStructpoolReadythreadSerialchunkFinishserialBufferFormatCopyMethodmcontext_tBoolbufferLoggingreservoirStructPoolDebugMixinMethodFormatrankSetTraceStructProtocolClassMVStructmc_err__uint32_tProtocolCoerceInstMethodSegSetSummaryMethodprotocollong long intsegCopiedSizefreeListva_listPoolBufferFillMethodTraceSet__spare__BufferAttachMethodArenaSpareCommitExceededMethoduc_mcontextshCachePoolGreyMethoduc_linkSerialreclaimThreadArenadepthinitCountfillSizeTracehasSegThreadDeregisterFormatScanMethodspareCommitExceededPoolnailedstackPtrRefSetPoolDebugMixinscmidcontrolPoolStructsetGreyallocMutatorSizePoolFramePopPendingMethodScanStateallocstackBotTractStructSegSplitMethodunitSizeunsigned intBufferReassignSegMethod_oldGlobalsStructPoolInitMethodmc_lenattachpageShiftwhitenfinalPoolBufferRankSetMethodSegPrefStructarenaRingPoolFixMethodsegRingPoolBufferEmptyMethodMFSStructzonesprimaryBufferModebufferEmptyoffsetPoolWhitenMethodChainStructreadBarrierHitCountFileSrcIdStructmc_esimc_dsprehistorymc_espreclaimCountZoneSetBufferClassStructSegSetGreyMethodGNU C 3.4.6 [FreeBSD] 20060305FormattedObjectsStepMethodSegClassStruct__size_tfixedSummarycharTraceStatewalkArenaChunkInitMethodsizeAlignpreservedInPlaceCountuc_sigmaskBufferInitMethodlastTractrootCopiedSizescanmc_ssBootBlockStructglobalRingmc_fpformatformatRingsegScanSizeThreadStructcommitLimit__ucontext__bitstracedSizeisMovedlong long unsigned intSrcIdinsideShieldRankthfri4.ccondemnedzoneShiftTraceFixMethodlocusRingpoolthreadSuspendbufferRingthreadResumeformatSerialPoolDebugMixinStructdebugMixin_newbuild_datesigset_trampEndBufferStructPoolClassgenCountinitAtFlippageTablepoolSerialFormatIsMovedMethodPoolRampEndMethodPoolFramePopMethodchunkInitshCacheLimitreservoirSizeSegMergeMethodPoolReclaimMethodsetBuffercopytracedTimeucontextBufferClassmc_onstackrootSerialChainframePopactiveTracesemptyMutatorSizePoolFreeWalkMethodselftopGensuspendedglobalsthreadFormatClassMethodnameallocTableBufferDetachMethodlastTractBaseapStructSegSetRankSetMethodFreeBlockStepMethodAllocFramewhiteSegRefCountShiftss_sizechainunfixedSummaryshort intlostnotCondemnedtractStructmodefuncshCacheIstateFormatMoveMethodBufferDescribeMethodBufferSegMethodemptyInternalSizeisMutatorThreadChecklastWorldCollectidRingAllocFrameStructsingleScanSizemapThreadRingspareCommittedSegPrefThreadspansmc_ownedfppollThresholdmessageRingchunkCacheemptySizetracesbufferSerialPoolFixEmergencyMethodArenaClasscopiedSizeAPStructwhitetractListsplitisFinalPoolemergencySegBufferMethodfreechainRingwasMarkedFormatVarietymc_ispThreadRegisterenabledMessageTypesshort unsigned intGenDescStructbaseAddrArenaStructsetSummaryBufferSetRankSetMethodSegDescribeMethodaccessgreySegCountmps_lib_FILEsegScanCountChunknextArenaReservedMethodPoolScanMethodsingleCopiedSizemc_trapnoThreadRingThreadBootBlockThreadRingSuspendinsidePollreservedss_flags__sigset_tfixEmergencyPoolWalkMethodSegSetBufferMethodProtocolClassStructprevpageTableBaseFormatStructscannedSizelockthfri4SrcIdArenaFinishMethodTractGCC: (GNU) 3.4.6 [FreeBSD] 20060305.symtab.strtab.shstrtab.rel.text.rel.data.bss.debug_abbrev.rel.debug_info.rel.debug_line.debug_macinfo.rodata.str1.1.rodata.str1.4.rel.rodata.rel.debug_frame.rel.debug_pubnames.rel.debug_aranges.debug_str.comment4 )% 4/ 4 bFnH+B <V0R L  b3)q2\2@@ T   t ( D  L0*%7X      P(L*6-CO [ m|Kx' 8 DOYm>|thfri4.cFileSrcIdStructmapThreadRingthreadSuspendthreadResumethfri4SrcIdThreadCheckThreadCheckSimpleThreadRegisterControlAllocpthread_selfPThreadextInitThreadDeregisterPThreadextFinishControlFreepthread_equalPThreadextSuspendThreadRingSuspendPThreadextResumeThreadRingResumeThreadRingThreadThreadArenaThreadScanStackScanTraceScanAreaTaggedThreadDescribeWriteF.?y %_ " 'W(s(    *  !%*18?MX_fmt{(39Zev| #.9Tek-<KZiy,;Ziq%4CRap (6DR`n &4BP^lz"0>LZhv  ) 8 G V e t            ( 7 F U d s           : I X g v            + @ V d r           0 > L Z h v         !0@U,>Qfn|$2Od{ />M\kz 0@P`p 0@P`p 0@P`p '6ETcr$2@jHe$JgVs ,Nt7Bc1a#Nu ?a<Sy   @ K ` h v         !!)!7!F![!q!!!!!""#"1"?"N"_"n"v"""""""""# ##'#6#E#T#c#r########0$8$W$$$$$$$$$$ %%)%7%E%S%a%o%}%%%%%%%%%% &&%&3&A&O&_&n&w&&&&&&&&''5'C'Q'`'p'{''''''''''''(("('(5(9(>(K(c(j(n(u((((((((((((((( )))#)H)O)S)Z)z)))))))))))))))**!*,*0*7*J*U*Y*l*y***********+%+1+ 6+C+    04HLpt,0DH\`pthrdext.o/ 1169001793 1001 1001 100644 57592 ` ELF 4(US(huS$$P]$jS$$]ÍvUÍvUVSDjjhu؍]$jSE@EEEd]E$ jVj jSj e[^ÐUS]h{tS C9t vʋ 9u h]ÉUS ]hlhE CCC C @CC@n(Q]ÉUVS] h{t>S K BABS R sVuCVPVsv hC CCC[Qe[^ÍvUVSu h tZC;Ft-ʋ u5jvut2NBAVBJCF'L8u huV BF VE  h؍e[^ÍvUVS] hC$tjsu>SKBABSRS K BABS RC he[^C% $ > : ; I$ >  I&I : ;  : ; I8 : ; I  < I !I/ ' I : ;  : ; I : ;  : ; : ;I8 : ;I<  : ; I8  : ; .: ; ' @ : ; I : ; I 4: ; I 4: ; I .? : ; ' I@ .? : ; ' @ ! "4: ;I #.? : ;' @ $: ;I %4: ;I&.? : ;' I@ '4: ;I ( : ;) U*4: ; I?  ) 3l`d 7PintN 8bhc _W85E=WBP"!G"d$!#%!#&!#H'!# ' Sigw ResP PdOUpd.2#{@p#2p#@@ B iG 2u[P#\#8348# HW '51H nP ~P  P PA$($P$BV@$$P#7$P#$P#n$Ğ# $ũ#$P#$B#v$Ț#i$ɗ# v$V#$ fP $$˽$S$֐Y$ײPB$$q#$P#$S#* $ $#\$#$P#$-*AGsem1X^q1sig1!,#id1"#S1#D#w1$#  1%#+4"14(P#4)P#4*P#4+P# A4,P#4-P#!4.P#4/P#40P# 41P#$42P#(43P#,44P#045P#4G46P#8'47P#< 48P#@49P#D4:P#H<4;P#L4=P#P4AP#T4EP#Xl4F^#\4Jn#`4K~#Q4L,k3.S#3/+#)31#`32*#33P#v35#6 P 3662U;5uaUsig5rP5s; 5tB5vSh.5wz5xzff5diUsig5P<5lU5P5X5t5p#5VU5MS5P%<K5pR5pQ 5XU5MSid5P5P!i"5pP"5pP# 55U$5MS%5P!"5pR!%5!p! %5'p(%5(p& &5378-U$52MV$352 P"K54pR"54pQ'res557S"56PP(5]({5c ) "5EMS! "5GpR"5GpQ%5_p"5_pRD& R5q70U$5pMS'res5r7V"5sPP(5({5! t"5pR"5pR5%*5%565965<5= 5DM.5E\ /usr/include/usr/include/sys/usr/include/machinempm.hconfig.hmpstd.hmisc.hstddef.hcdefs.h_null.h_types.h_types.hcheck.hmpslib.hevent.heventcom.hmpmtypes.hstdarg.heventgen.hlock.hth.hring.hss.htract.hbt.hmpmst.hprotocol.hchain.hpthread.htypes.hendian.h_pthreadtypes.hselect.h_sigset.h_timeval.htimespec.htime.htime.hsignal.hsignal.htrap.hlimits.hlimits.h_limits.hsyslimits.hsched.hsignal.hsemaphore.herrno.hstdio.hstdlib.hpthrdext.hprmcfr.hucontext.hucontext.hpthrdext.c5 :dժ = U< :rtrr;;;?ki<;dre q;id,<;d  ?:} d:Twcdd+VE?ԀX;  __GNUCLIKE___OFFSETOF 1?__GNUCLIKE___SECTION 1A__GNUCLIKE_ATTRIBUTE_MODE_DI 1D__GNUCLIKE_CTOR_SECTION_HANDLING 1G__GNUCLIKE_BUILTIN_CONSTANT_P 1N__GNUCLIKE_BUILTIN_VARARGS 1O__GNUCLIKE_BUILTIN_STDARG 1P__GNUCLIKE_BUILTIN_VAALIST 1T__GNUC_VA_LIST_COMPATIBILITY 1X__GNUCLIKE_BUILTIN_NEXT_ARG 1Y__GNUCLIKE_MATH_BUILTIN_RELOPS \__GNUCLIKE_BUILTIN_MEMCPY 1___CC_SUPPORTS_INLINE 1`__CC_SUPPORTS___INLINE 1a__CC_SUPPORTS___INLINE__ 1c__CC_SUPPORTS___FUNC__ 1d__CC_SUPPORTS_WARNING 1f__CC_SUPPORTS_VARADIC_XXX 1h__CC_SUPPORTS_DYNAMIC_ARRAY_INIT 1k__CC_INT_IS_32BIT 1s__GNUC_PREREQ__(ma,mi) (__GNUC__ > (ma) || __GNUC__ == (ma) && __GNUC_MINOR__ >= (mi))__P(protos) protos__CONCAT1(x,y) x ## y__CONCAT(x,y) __CONCAT1(x,y)__STRING(x) #x__XSTRING(x) __STRING(x)__const const__signed signed__volatile volatile__dead2 __attribute__((__noreturn__))__pure2 __attribute__((__const__))__unused __attribute__((__unused__))__used __attribute__((__used__))__packed __attribute__((__packed__))__aligned(x) __attribute__((__aligned__(x)))__section(x) __attribute__((__section__(x)))__pure __attribute__((__pure__))__always_inline __attribute__((__always_inline__))__nonnull(x) __attribute__((__nonnull__(x)))__restrict __predict_true(exp) __builtin_expect((exp), 1)__predict_false(exp) __builtin_expect((exp), 0)__offsetof(type,field) ((size_t)(&((type *)0)->field))__rangeof(type,start,end) (__offsetof(type, end) - __offsetof(type, start))__printflike(fmtarg,firstvararg) __attribute__((__format__ (__printf__, fmtarg, firstvararg)))__scanflike(fmtarg,firstvararg) __attribute__((__format__ (__scanf__, fmtarg, firstvararg)))__format_arg(fmtarg) __attribute__((__format_arg__ (fmtarg)))__printf0like(fmtarg,firstvararg) __attribute__((__format__ (__printf0__, fmtarg, firstvararg)))__strong_reference(sym,aliassym) extern __typeof (sym) aliassym __attribute__ ((__alias__ (#sym)));__weak_reference(sym,alias) __asm__(".weak " #alias); __asm__(".equ " #alias ", " #sym)__warn_references(sym,msg) __asm__(".section .gnu.warning." #sym); __asm__(".asciz \"" msg "\""); __asm__(".previous")__IDSTRING(name,string) __asm__(".ident\t\"" string "\"")__FBSDID(s) __IDSTRING(__CONCAT(__rcsid_,__LINE__),s)__RCSID(s) __IDSTRING(__CONCAT(__rcsid_,__LINE__),s)__RCSID_SOURCE(s) __IDSTRING(__CONCAT(__rcsid_source_,__LINE__),s)__SCCSID(s) __IDSTRING(__CONCAT(__sccsid_,__LINE__),s)__COPYRIGHT(s) __IDSTRING(__CONCAT(__copyright_,__LINE__),s)__DECONST(type,var) ((type)(uintptr_t)(const void *)(var))__DEVOLATILE(type,var) ((type)(uintptr_t)(volatile void *)(var))__DEQUALIFY(type,var) ((type)(uintptr_t)(const volatile void *)(var))__POSIX_VISIBLE 200112__XSI_VISIBLE 600__BSD_VISIBLE 1__ISO_C_VISIBLE 1999* NULL ((void *)0)+_SYS__TYPES_H_ ! (_MACHINE__TYPES_H_ .__NO_STRICT_ALIGNMENT __GNUC_VA_LIST 2_RUNE_T_DECLARED 8_SIZE_T_DECLARED >_WCHAR_T_DECLARED Boffsetof(type,member) __offsetof(type, member)*SRCID(id,scmid) static SrcIdStruct FileSrcIdStruct = {__FILE__, (scmid), __DATE__, __TIME__}; SrcId id ## SrcId = &FileSrcIdStruct;BEGIN do {> (i)) & 1)BS_UNION(s1,s2) ((s1) | (s2))BS_ADD(ty,s,i) BS_UNION((s), BS_SINGLE(ty, (i)))BS_INTER(s1,s2) ((s1) & (s2))BS_DIFF(s1,s2) BS_INTER((s1), BS_COMP(s2))BS_DEL(ty,s,i) BS_DIFF((s), BS_SINGLE(ty, (i)))BS_SUPER(s1,s2) (BS_INTER((s1), (s2)) == (s2))BS_SUB(s1,s2) BS_SUPER((s2), (s1))BS_IS_SINGLE(s) (((s) & ((s)-1)) == 0)BS_SYM_DIFF(s1,s2) ((s1) ^ (s2)) check_h  mpslib_h mps_lib_EOF (mps_lib_get_EOF())mps_lib_stderr (mps_lib_get_stderr())mps_lib_stdout (mps_lib_get_stdout())0AVER(cond) DISCARD(cond)1AVERT(type,val) DISCARD(type ## Check(val))2AVER_CRITICAL(cond) DISCARD(cond)3AVERT_CRITICAL(type,val) DISCARD(type ## Check(val))MASSERT(cond,condstring) BEGIN if (cond) NOOP; else mps_lib_assert_fail(condstring "\n" __FILE__ "\n" STR(__LINE__)); END_NOTREACHED NOOPjCHECKT(type,val) ((val) != NULL && (val)->sig == type ## Sig)pCHECKS(type,val) DISCARD(CHECKT(type, val))qCHECKL(cond) DISCARD(cond)rCHECKD(type,val) DISCARD(CHECKT(type, val))sCHECKD_NOSIG(type,val) DISCARD((val) != NULL)tCHECKU(type,val) DISCARD(CHECKT(type, val))uCHECKU_NOSIG(type,val) DISCARD((val) != NULL)CHECKLVALUE(lv1,lv2) ((void)sizeof((lv1) = (lv2)), (void)sizeof((lv2) = (lv1)), TRUE)CHECKTYPE(t1,t2) (sizeof(t1) == sizeof(t2) && CHECKLVALUE(*((t1 *)0), *((t2 *)0)))CHECKFIELDAPPROX(s1,f1,s2,f2) (sizeof(((s1 *)0)->f1) == sizeof(((s2 *)0)->f2) && offsetof(s1, f1) == offsetof(s2, f2))CHECKFIELD(s1,f1,s2,f2) (CHECKFIELDAPPROX(s1, f1, s2, f2) && CHECKLVALUE(((s1 *)0)->f1, ((s2 *)0)->f2)) event_h   eventcom_h  mpmtypes_h '_MACHINE_STDARG_H_ -_VA_LIST_DECLARED 3va_start(ap,last) __builtin_stdarg_start((ap), (last))6va_arg(ap,type) __builtin_va_arg((ap), type):va_copy(dest,src) __builtin_va_copy((dest), (src))>va_end(ap) __builtin_va_end(ap)SigInvalid ((Sig)0x51915BAD)SizeMAX ((Size)-1)AccessSetEMPTY ((AccessSet)0)AccessREAD ((AccessSet)(1<<0))AccessWRITE ((AccessSet)(1<<1))AccessSetWIDTH (2)RefSetEMPTY BS_EMPTY(RefSet)RefSetUNIV BS_UNIV(RefSet)ZoneSetEMPTY BS_EMPTY(ZoneSet)ZoneSetUNIV BS_UNIV(ZoneSet)TraceSetEMPTY BS_EMPTY(TraceSet)TraceSetUNIV ((TraceSet)((1u << TraceLIMIT) - 1))RankSetEMPTY BS_EMPTY(RankSet)RankSetUNIV ((RankSet)((1u << RankLIMIT) - 1))AttrFMT ((Attr)(1<<0))AttrSCAN ((Attr)(1<<1))AttrPM_NO_READ ((Attr)(1<<2))AttrPM_NO_WRITE ((Attr)(1<<3))AttrALLOC ((Attr)(1<<4))AttrFREE ((Attr)(1<<5))AttrBUF ((Attr)(1<<6))AttrBUF_RESERVE ((Attr)(1<<7))AttrBUF_ALLOC ((Attr)(1<<8))AttrGC ((Attr)(1<<9))AttrINCR_RB ((Attr)(1<<10))AttrINCR_WB ((Attr)(1<<11))AttrMOVINGGC ((Attr)(1<<12))AttrMASK (AttrFMT | AttrSCAN | AttrPM_NO_READ | AttrPM_NO_WRITE | AttrALLOC | AttrFREE | AttrBUF | AttrBUF_RESERVE | AttrBUF_ALLOC | AttrGC | AttrINCR_RB | AttrINCR_WB | AttrMOVINGGC)BufferModeATTACHED ((BufferMode)(1<<0))BufferModeFLIPPED ((BufferMode)(1<<1))BufferModeLOGGED ((BufferMode)(1<<2))BufferModeTRANSITION ((BufferMode)(1<<3))RootModeCONSTANT ((RootMode)1<<0)RootModePROTECTABLE ((RootMode)1<<1)RootModePROTECTABLE_INNER ((RootMode)1<<2)STATISTIC_DECL(field) field!EventNameMAX ((size_t)19)"EventCodeMAX ((EventCode)0x0069)&EVENT_0(type) NOOPEVENT_A(type,p0) NOOPEVENT_AW(type,p0,p1) NOOPEVENT_P(type,p0) NOOPEVENT_PAA(type,p0,p1,p2) NOOPEVENT_PAW(type,p0,p1,p2) NOOPEVENT_PAWA(type,p0,p1,p2,p3) NOOPEVENT_PDDWWW(type,p0,p1,p2,p3,p4,p5) NOOPEVENT_PP(type,p0,p1) NOOPEVENT_PPAU(type,p0,p1,p2,p3) NOOPEVENT_PPAWP(type,p0,p1,p2,p3,p4) NOOPEVENT_PPP(type,p0,p1,p2) NOOPEVENT_PPPA(type,p0,p1,p2,p3) NOOPEVENT_PPPU(type,p0,p1,p2,p3) NOOPEVENT_PPPUU(type,p0,p1,p2,p3,p4) NOOPEVENT_PPU(type,p0,p1,p2) NOOPEVENT_PPUU(type,p0,p1,p2,p3) NOOPEVENT_PPUWWW(type,p0,p1,p2,p3,p4,p5) NOOPEVENT_PPWW(type,p0,p1,p2,p3) NOOPEVENT_PPWWW(type,p0,p1,p2,p3,p4) NOOPEVENT_PPWWWUUU(type,p0,p1,p2,p3,p4,p5,p6,p7) NOOPEVENT_PU(type,p0,p1) NOOPEVENT_PW(type,p0,p1) NOOPEVENT_PWA(type,p0,p1,p2) NOOPEVENT_PWAW(type,p0,p1,p2,p3) NOOPEVENT_PWP(type,p0,p1,p2) NOOPEVENT_PWU(type,p0,p1,p2) NOOPEVENT_PWW(type,p0,p1,p2) NOOPEVENT_PWWWWDD(type,p0,p1,p2,p3,p4,p5,p6) NOOPEVENT_PWWWWW(type,p0,p1,p2,p3,p4,p5) NOOPEVENT_PWWWWWWWWW(type,p0,p1,p2,p3,p4,p5,p6,p7,p8,p9) NOOPEVENT_PWWWWWWWWWWWW(type,p0,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11,p12) NOOPEVENT_UUPA(type,p0,p1,p2,p3) NOOPEVENT_UUPP(type,p0,p1,p2,p3) NOOPEVENT_UUPPP(type,p0,p1,p2,p3,p4) NOOPEVENT_WS(type,p0,p1,l1) NOOP:EventEventTime ((EventType)0xEF213E99);EventPoolInit ((EventType)0xEFB07141)EventPoolFree ((EventType)0xEFB07F6E)?EventArenaCreateVM ((EventType)0xEFA64CF3)@EventArenaCreateVMNZ ((EventType)0xEFA64CF2)AEventArenaCreateCL ((EventType)0xEFA64CC7)BEventArenaDestroy ((EventType)0xEFA64DE5)CEventArenaAlloc ((EventType)0xEFA64A77)DEventArenaFree ((EventType)0xEFA64F6E)EEventSegAlloc ((EventType)0xEF5E9A77)FEventSegFree ((EventType)0xEF5E9F6E)GEventSegMerge ((EventType)0xEF5E93E6)HEventSegSplit ((EventType)0xEF5E95B7)IEventAMCGenCreate ((EventType)0xEFA3C94C)JEventAMCGenDestroy ((EventType)0xEFA3C94D)KEventAMCInit ((EventType)0xEFA3C141)LEventAMCFinish ((EventType)0xEFA3CF14)MEventAMCTraceBegin ((EventType)0xEFA3C26B)NEventAMCScanBegin ((EventType)0xEFA3C5CB)OEventAMCScanEnd ((EventType)0xEFA3C5CE)PEventAMCFix ((EventType)0xEFA3CF18)QEventAMCFixInPlace ((EventType)0xEFA3CF8A)REventAMCFixForward ((EventType)0xEFA3CF8F)SEventAMCReclaim ((EventType)0xEFA3C6EC)TEventTraceStart ((EventType)0xEF26AC52)UEventTraceCreate ((EventType)0xEF26ACC6)VEventTraceDestroy ((EventType)0xEF26ACDE)WEventSegSetGrey ((EventType)0xEF59596A)XEventTraceFlipBegin ((EventType)0xEF26AF7B)YEventTraceFlipEnd ((EventType)0xEF26AF7E)ZEventTraceReclaim ((EventType)0xEF26A6EC)[EventTraceScanSeg ((EventType)0xEF26A559)\EventTraceScanSingleRef ((EventType)0xEF26A556)^EventTraceAccess ((EventType)0xEF26AACC)_EventTracePoll ((EventType)0xEF26AB01)`EventTraceStep ((EventType)0xEF26A52B)aEventTraceFix ((EventType)0xEF26AF18)bEventTraceFixSeg ((EventType)0xEF26AF85)cEventTraceFixWhite ((EventType)0xEF26AF83)dEventTraceScanArea ((EventType)0xEF26A5CA)eEventTraceScanAreaTagged ((EventType)0xEF26A5C2)fEventVMCreate ((EventType)0xEFF3C6EA)gEventVMDestroy ((EventType)0xEFF3DE52)hEventVMMap ((EventType)0xEFF33AB9)iEventVMUnmap ((EventType)0xEFF3043B)jEventIntern ((EventType)0xEF142E64)kEventArenaExtend ((EventType)0xEFA64E82)lEventArenaRetract ((EventType)0xEFA646E2)mEventRootScan ((EventType)0xEF625CA4)nEventLabel ((EventType)0xEF7ABE79)oEventTraceSegGreyen ((EventType)0xEF26A599)pEventBufferReserve ((EventType)0xEFB0FF6E)qEventBufferCommit ((EventType)0xEFB0FFC0)rEventBufferInit ((EventType)0xEFB0FF14)sEventBufferInitSeg ((EventType)0xEFB0F15E)tEventBufferInitRank ((EventType)0xEFB0F16A)uEventBufferInitEPVM ((EventType)0xEFB0F1EF)vEventBufferFinish ((EventType)0xEFB0FFF1)wEventBufferFill ((EventType)0xEFB0FFF7)xEventBufferEmpty ((EventType)0xEFB0FFE3)yEventArenaAllocFail ((EventType)0xEFA64A7F)zEventSegAllocFail ((EventType)0xEF5E9A7F){EventMeterInit ((EventType)0xEF3E2141)|EventMeterValues ((EventType)0xEF3E2FA7)}EventCBSInit ((EventType)0xEFCB5141)~EventTraceStatCondemn ((EventType)0xEF26A5C0)EventTraceStatScan ((EventType)0xEF26A55C)EventTraceStatFix ((EventType)0xEF26A5F8)EventTraceStatReclaim ((EventType)0xEF26A56E)EventArenaWriteFaults ((EventType)0xEFA6436F)EventPoolInitMV ((EventType)0xEFB0713F)EventPoolInitMVFF ((EventType)0xEFB071FF)EventPoolInitMFS ((EventType)0xEFB07135)EventPoolInitEPVM ((EventType)0xEFB071EF)EventPoolInitEPDL ((EventType)0xEFB071E7)EventPoolInitAMS ((EventType)0xEFB071A5)EventPoolInitAMC ((EventType)0xEFB071AC)EventPoolInitAMCZ ((EventType)0xEFB071A2)EventPoolInitAWL ((EventType)0xEFB071A3)EventPoolInitLO ((EventType)0xEFB07170)EventPoolInitSNC ((EventType)0xEFB07154)EventPoolInitMVT ((EventType)0xEFB07132)EventPoolPush ((EventType)0xEFB07B58)EventPoolPop ((EventType)0xEFB07B0B)EventReservoirLimitSet ((EventType)0xEF6E5713)EventCommitLimitSet ((EventType)0xEFC03713)EventSpareCommitLimitSet ((EventType)0xEF5BC713)hEventInit() NOOPiEventFinish() NOOPjEventControl(r,f) (UNUSED(r), UNUSED(f), (Word)0)kEventInternString(s) (UNUSED(s), (Word)0)lEventInternGenString(l,s) (UNUSED(l), UNUSED(s), (Word)0)mEventLabelAddr(a,i) BEGIN UNUSED(a); UNUSED(i); ENDPlock_h ULockSig ((Sig)0x51970CC9) th_h  ring_h RingNONE ((Ring)0)$RingInit(ring) BEGIN Ring _ring = (ring); AVER(_ring != NULL); _ring->next = _ring; _ring->prev = _ring; AVER(RingCheck(_ring)); END/RingFinish(ring) BEGIN Ring _ring = (ring); AVER(RingCheckSingle(_ring)); _ring->next = RingNONE; _ring->prev = RingNONE; END9RingAppend(ring,new) BEGIN Ring _ring = (ring), _new = (new); AVER(RingCheck(_ring)); AVER(RingCheckSingle(_new)); _new->prev = _ring->prev; _new->next = _ring; _ring->prev->next = _new; _ring->prev = _new; ENDFRingInsert(ring,new) BEGIN Ring _ring = (ring), _new = (new); AVER(RingCheck(_ring)); AVER(RingCheckSingle(_new)); _new->prev = _ring; _new->next = _ring->next; _ring->next->prev = _new; _ring->next = _new; ENDSRingRemove(old) BEGIN Ring _old = (old); AVER(RingCheck(_old)); AVER(!RingIsSingle(_old)); _old->next->prev = _old->prev; _old->prev->next = _old->next; _old->next = _old; _old->prev = _old; END`RingNext(ring) ((ring)->next)dRingPrev(ring) ((ring)->prev)gRING_ELT(type,field,node) ((type)(void *)((char *)(node) - (size_t)(&((type)0)->field)))kRING_FOR(node,ring,next) for(node = RingNext(ring), next = RingNext(node); node != (ring); node = (next), next = RingNext(node))ThreadSig ((Sig)0x519286ED) ss_h  tract_h   bt_h BTSize(n) (((n) + MPS_WORD_WIDTH-1) / MPS_WORD_WIDTH * sizeof(Word))BTGet(a,i) ((Bool)(((a)[((i) >> MPS_WORD_SHIFT)] >> ((i) & ~((Word)-1 << MPS_WORD_SHIFT))) & (Word)1))BTSet(a,i) BEGIN (a)[((i)>>MPS_WORD_SHIFT)] |= (Word)1<<((i)&~((Word)-1<>MPS_WORD_SHIFT)] &= ~((Word)1 << ((i) & ~((Word)-1<base)&TractPool(tract) ((tract)->pool)'TractP(tract) ((tract)->p)(TractSetP(tract,pp) ((void)((tract)->p = (pp))))TractHasSeg(tract) ((Bool)(tract)->hasSeg)*TractSetHasSeg(tract,b) ((void)((tract)->hasSeg = (b)))+TractWhite(tract) ((tract)->white),TractSetWhite(tract,w) ((void)((tract)->white = (w)))8TRACT_SEG(segReturn,tract) (TractHasSeg(tract) && ((*(segReturn) = (Seg)TractP(tract)), TRUE));TRACT_SET_SEG(tract,seg) (TractSetHasSeg(tract, TRUE), TractSetP(tract, seg))>TRACT_UNSET_SEG(tract) (TractSetHasSeg(tract, FALSE), TractSetP(tract, NULL))nPageTract(page) (&(page)->the.tractStruct)rPageOfTract(tract) PARENT(PageStruct, the.tractStruct, (tract))vPagePool(page) ((page)->the.rest.pool)}PageIsAllocated(page) ((page)->the.rest.pool != NULL)PageType(page) ((page)->the.rest.type)ChunkSig ((Sig)0x519C804C)ChunkArena(chunk) ((chunk)->arena)ChunkPageSize(chunk) ((chunk)->pageSize)ChunkPageShift(chunk) ((chunk)->pageShift)ChunkPagesToSize(chunk,pages) ((Size)(pages) << (chunk)->pageShift)ChunkSizeToPages(chunk,size) ((Count)((size) >> (chunk)->pageShift))CHUNK_OF_ADDR(chunkReturn,arena,addr) (((arena)->chunkCache.base <= (addr) && (addr) < (arena)->chunkCache.limit) ? (*(chunkReturn) = (arena)->chunkCache.chunk, TRUE) : ChunkOfAddr(chunkReturn, arena, addr))AddrPageBase(chunk,addr) AddrAlignDown((addr), ChunkPageSize(chunk))TRACT_OF_ADDR(tractReturn,arena,addr) BEGIN Arena _arena = (arena); Addr _addr = (addr); Chunk _chunk; Index _i; if (CHUNK_OF_ADDR(&_chunk, _arena, _addr)) { _i = INDEX_OF_ADDR(_chunk, _addr); if (BTGet(_chunk->allocTable, _i)) *(tractReturn) = PageTract(&_chunk->pageTable[_i]); else *(tractReturn) = NULL; } else *(tractReturn) = NULL; ENDINDEX_OF_ADDR(chunk,addr) ((Index)ChunkSizeToPages(chunk, AddrOffset((chunk)->base, addr)))PageIndexBase(chunk,i) AddrAdd((chunk)->base, ChunkPagesToSize(chunk, i))TractAverContiguousRange(arena,rangeBase,rangeLimit) BEGIN Chunk _ch = NULL; UNUSED(_ch); AVER(ChunkOfAddr(&_ch, arena, rangeBase) && (rangeLimit) <= _ch->limit); ENDTRACT_TRACT_FOR(tract,addr,arena,firstTract,limit) tract = (firstTract); addr = TractBase(tract); TractAverContiguousRange(arena, addr, limit); for(; tract != NULL; (addr = AddrAdd(addr, (arena)->alignment)), (addr < (limit) ? (tract = PageTract(PageOfTract(tract) + 1)) : (tract = NULL) ))TRACT_FOR(tract,addr,arena,base,limit) TRACT_TRACT_FOR(tract, addr, arena, TractOfBaseAddr(arena, base), limit)mpmst_h protocol_h DERIVE_LOCAL(name) protocol ## nameDERIVE_STRUCT(name) name ## StructDERIVE_ENSURE(name) name ## GetDERIVE_ENSURE_OLD(name) Ensure ## nameDERIVE_ENSURE_INTERNAL(name) protocolGet ## nameDERIVE_GUARDIAN(name) protocol ## name ## GuardianDERIVE_STATIC_STORAGE(name) protocol ## name ## StructProtocolClassSetSuperclassPoly(class,super) (((ProtocolClass)(class))->superclass) = (ProtocolClass)(super)$DEFINE_CLASS(className,var) static Bool DERIVE_GUARDIAN(className) = FALSE; static DERIVE_STRUCT(className) DERIVE_STATIC_STORAGE(className); static void DERIVE_ENSURE_INTERNAL(className)(className); extern className DERIVE_ENSURE(className)(void); className DERIVE_ENSURE(className)(void) { if (DERIVE_GUARDIAN(className) == FALSE) { LockClaimGlobalRecursive(); if (DERIVE_GUARDIAN(className) == FALSE) { DERIVE_ENSURE_INTERNAL(className) (&DERIVE_STATIC_STORAGE(className)); DERIVE_GUARDIAN(className) = TRUE; } LockReleaseGlobalRecursive(); } return &DERIVE_STATIC_STORAGE(className); } extern className DERIVE_ENSURE_OLD(className)(void); className DERIVE_ENSURE_OLD(className)(void) { return DERIVE_ENSURE(className)(); } static void DERIVE_ENSURE_INTERNAL(className) (className var)AINHERIT_CLASS(this,parentName) BEGIN parentName DERIVE_LOCAL(parentName) = DERIVE_ENSURE(parentName)(); *this = *(DERIVE_LOCAL(parentName)); ProtocolClassSetSuperclassPoly(this, DERIVE_LOCAL(parentName)); ENDODEFINE_ALIAS_CLASS(className,typeName,var) typedef typeName className; typedef DERIVE_STRUCT(typeName) DERIVE_STRUCT(className); DEFINE_CLASS(className, var)VProtocolClassSig ((Sig)0x519B60C7)WProtocolInstSig ((Sig)0x519B6014)ProtocolClassSuperclassPoly(class) (((ProtocolClass)(class))->superclass)ClassOfPoly(inst) ((ProtocolInst)(inst)->class)IsSubclassPoly(sub,super) ProtocolIsSubclass((ProtocolClass)(sub), (ProtocolClass)(super))SUPERCLASS(className) ProtocolClassSuperclassPoly(DERIVE_ENSURE(className)())chain_h GenDescSig ((Sig)0x5199E4DE)+PoolGenSig ((Sig)0x519B009E);ChainSig ((Sig)0x519C8A14)XPoolGenNr(gen) ((gen)->nr)/PoolClassSig ((Sig)0x519C7A55)]PoolSig ((Sig)0x519B0019)}MFSSig ((Sig)0x5193F599)MVSig ((Sig)0x5193B999)ReservoirSig ((Sig)0x5196e599)MessageClassSig ((Sig)0x519359c1)MessageSig ((Sig)0x5193e559)SegClassSig ((Sig)0x5195E9C7)SegSig ((Sig)0x5195E999)GCSegSig ((Sig)0x5199C5E9)SegPrefSig ((Sig)0x5195E9B6)BufferClassSig ((Sig)0x519B0FC7)BufferSig ((Sig)0x519B0FFE)SegBufSig ((Sig)0x51959B0F)FormatSig ((Sig)0x519F63A2)ScanStateSig ((Sig)0x5195CA45)TraceSig ((Sig)0x51924ACE)ChunkCacheEntrySig ((Sig)0x519C80CE)ArenaClassSig ((Sig)0x519A6C1A)GlobalsSig ((Sig)0x519970BA)ArenaSig ((Sig)0x519A6E4A)%BoolCheck(b) ((unsigned)(b) <= 1)(FUNCHECK(f) (FunCheck((Fun)f))4WordIsAligned(w,a) (((w) & ((a) - 1)) == 0)7WordAlignUp(w,a) (((w) + (a) - 1) & ~((Word)(a) - 1));WordRoundUp(w,r) (((w)+(r)-1) - ((w)+(r)-1)%(r))>WordAlignDown(w,a) ((w) & ~((Word)(a) - 1))@size_tAlignUp(s,a) ((size_t)WordAlignUp((Word)(s), a))BPointerAdd(p,s) ((void *)((char *)(p) + (s)))CPointerSub(p,s) ((void *)((char *)(p) - (s)))EPointerOffset(base,limit) ((size_t)((char *)(limit) - (char *)(base)))HPointerAlignUp(p,s) ((void *)WordAlignUp((Word)(p), (Align)(s)))KAddrAdd(p,s) ((Addr)PointerAdd((void *)(p), s))LAddrSub(p,s) ((Addr)PointerSub((void *)(p), s))NAddrOffset(b,l) ((Size)(PointerOffset((void *)(b), (void *)(l))))RAddrAlignDown(p,a) ((Addr)WordAlignDown((Word)(p), a))TAlignWord(s) ((Word)(s))VAddrIsAligned(p,a) WordIsAligned((Word)(p), a)WAddrAlignUp(p,a) ((Addr)WordAlignUp((Word)(p), a))YSizeIsAligned(s,a) WordIsAligned((Word)(s), a)ZSizeAlignUp(s,a) ((Size)WordAlignUp((Word)(s), a))[SizeAlignDown(s,a) ((Size)WordAlignDown((Word)(s), a))]SizeRoundUp(s,r) ((Size)WordRoundUp((Word)(s), (Size)(r)))_IndexIsAligned(s,a) WordIsAligned((Word)(s), a)`IndexAlignUp(s,a) ((Index)WordAlignUp((Word)(s), a))aIndexAlignDown(s,a) ((Index)WordAlignDown((Word)(s), a))cAlignIsAligned(a1,a2) WordIsAligned((Word)(a1), a2)iAddrSet(target,value,size) mps_lib_memset(target, (int)(value), size)mAddrCopy(target,source,size) mps_lib_memcpy(target, source, size)qAddrComp(a,b,size) mps_lib_memcmp(a, b, size)wADDR_PTR(type,addr) ((type *)(addr))PoolArena(pool) ((pool)->arena)PoolAlignment(pool) ((pool)->alignment)PoolSegRing(pool) (&(pool)->segRing)PoolFix(pool,ss,seg,refIO) ((*(pool)->fix)(pool, ss, seg, refIO))ClassOfPool(pool) ((pool)->class)SuperclassOfPool(pool) ((PoolClass)ProtocolClassSuperclassPoly((pool)->class))DEFINE_POOL_CLASS(className,var) DEFINE_ALIAS_CLASS(className, PoolClass, var)POOL_SUPERCLASS(className) ((PoolClass)SUPERCLASS(className))TraceSetSingle(trace) BS_SINGLE(TraceSet, (trace)->ti)TraceSetIsSingle(ts) BS_IS_SINGLE(ts)TraceSetIsMember(ts,trace) BS_IS_MEMBER(ts, (trace)->ti)TraceSetAdd(ts,trace) BS_ADD(TraceSet, ts, (trace)->ti)TraceSetDel(ts,trace) BS_DEL(TraceSet, ts, (trace)->ti)TraceSetUnion(ts1,ts2) BS_UNION(ts1, ts2)TraceSetInter(ts1,ts2) BS_INTER(ts1, ts2)TraceSetDiff(ts1,ts2) BS_DIFF(ts1, ts2)TraceSetSuper(ts1,ts2) BS_SUPER(ts1, ts2)TraceSetSub(ts1,ts2) BS_SUB(ts1, ts2)TraceSetComp(ts) BS_COMP(ts)TRACE_SET_ITER(ti,trace,ts,arena) for(ti = 0, trace = ArenaTrace(arena, ti); ti < TraceLIMIT; ++ti, trace = ArenaTrace(arena, ti)) BEGIN if (TraceSetIsMember(ts, trace)) {TRACE_SET_ITER_END(ti,trace,ts,arena) } ENDTRACE_SCAN_BEGIN(ss) BEGIN Shift SCANzoneShift = (ss)->zoneShift; ZoneSet SCANwhite = (ss)->white; RefSet SCANsummary = (ss)->unfixedSummary; Word SCANt; {TRACE_FIX1(ss,ref) (SCANt = (Word)1 << ((Word)(ref) >> SCANzoneShift & (MPS_WORD_WIDTH-1)), SCANsummary |= SCANt, SCANwhite & SCANt)TRACE_FIX2(ss,refIO) ((*(ss)->fix)(ss, refIO))TRACE_FIX(ss,refIO) (TRACE_FIX1(ss, *(refIO)) ? TRACE_FIX2(ss, refIO) : ResOK)TRACE_SCAN_END(ss) } (ss)->unfixedSummary = SCANsummary; ENDDEFINE_ARENA_CLASS(className,var) DEFINE_ALIAS_CLASS(className, ArenaClass, var)ARENA_SUPERCLASS(className) ((ArenaClass)SUPERCLASS(className))ArenaGlobals(arena) (&(arena)->globals)GlobalsArena(glob) PARENT(ArenaStruct, globals, glob)ArenaRootRing(arena) (&(arena)->rootRing)ArenaTraceRing(arena) (&(arena)->traceRing)ArenaThreadRing(arena) (&(arena)->threadRing)ArenaEpoch(arena) ((arena)->epoch)ArenaTrace(arena,ti) (&(arena)->trace[ti])ArenaZoneShift(arena) ((arena)->zoneShift)ArenaAlign(arena) ((arena)->alignment)ArenaGreyRing(arena,rank) (&(arena)->greyRing[rank])ArenaReservoir(arena) (&(arena)->reservoirStruct)DEFINE_SEG_CLASS(className,var) DEFINE_ALIAS_CLASS(className, SegClass, var)SEG_SUPERCLASS(className) ((SegClass)SUPERCLASS(className))ClassOfSeg(seg) ((seg)->class)SegBase(seg) (TractBase((seg)->firstTract))SegLimit(seg) ((seg)->limit)SegPool(seg) (TractPool((seg)->firstTract))SegRankSet(seg) ((RankSet)(seg)->rankSet)SegPM(seg) ((AccessSet)(seg)->pm)SegSM(seg) ((AccessSet)(seg)->sm)SegDepth(seg) ((unsigned)(seg)->depth)SegGrey(seg) ((TraceSet)(seg)->grey)SegWhite(seg) ((TraceSet)(seg)->white)SegNailed(seg) ((TraceSet)(seg)->nailed)SegOfPoolRing(node) (RING_ELT(Seg, poolRing, (node)))SegOfGreyRing(node) (&(RING_ELT(GCSeg, greyRing, (node)) ->segStruct))SegSummary(seg) (((GCSeg)(seg))->summary)SegSetPM(seg,mode) ((void)((seg)->pm = (mode)))SegSetSM(seg,mode) ((void)((seg)->sm = (mode)))SegSetDepth(seg,d) ((void)((seg)->depth = (d)))SegSetNailed(seg,ts) ((void)((seg)->nailed = (ts)))BUFFER_RESERVE(pReturn,buffer,size,withReservoirPermit) (AddrAdd(BufferAlloc(buffer), size) > BufferAlloc(buffer) && AddrAdd(BufferAlloc(buffer), size) <= BufferAP(buffer)->limit ? (*(pReturn) = BufferAlloc(buffer), BufferAP(buffer)->alloc = AddrAdd(BufferAlloc(buffer), size), ResOK) : BufferFill(pReturn, buffer, size, withReservoirPermit))BUFFER_COMMIT(buffer,p,size) (BufferAP(buffer)->init = BufferAlloc(buffer), BufferAP(buffer)->limit != 0 || BufferTrip(buffer, p, size))BufferAP(buffer) (&(buffer)->apStruct)BufferOfAP(ap) PARENT(BufferStruct, apStruct, ap)BufferArena(buffer) ((buffer)->arena)BufferPool(buffer) ((buffer)->pool)BufferBase(buffer) ((buffer)->base)BufferGetInit(buffer) (BufferAP(buffer)->init)BufferAlloc(buffer) (BufferAP(buffer)->alloc)BufferLimit(buffer) ((buffer)->poolLimit)DEFINE_BUFFER_CLASS(className,var) DEFINE_ALIAS_CLASS(className, BufferClass, var)BUFFER_SUPERCLASS(className) ((BufferClass)SUPERCLASS(className))RankSetIsMember(rs,r) BS_IS_MEMBER((rs), (r))RankSetSingle(r) BS_SINGLE(RankSet, (r))RankSetIsSingle(r) BS_IS_SINGLE(r)RankSetUnion(rs1,rs2) BS_UNION((rs1), (rs2))RankSetDel(rs,r) BS_DEL(RankSet, (rs), (r))AddrZone(arena,addr) (((Word)(addr) >> (arena)->zoneShift) & (MPS_WORD_WIDTH - 1))RefSetUnion(rs1,rs2) BS_UNION((rs1), (rs2))RefSetInter(rs1,rs2) BS_INTER((rs1), (rs2))RefSetDiff(rs1,rs2) BS_DIFF((rs1), (rs2))RefSetAdd(arena,rs,addr) BS_ADD(RefSet, rs, AddrZone(arena, addr))RefSetIsMember(arena,rs,addr) BS_IS_MEMBER(rs, AddrZone(arena, addr))RefSetSuper(rs1,rs2) BS_SUPER((rs1), (rs2))RefSetSub(rs1,rs2) BS_SUB((rs1), (rs2))ZoneSetUnion(zs1,zs2) BS_UNION(zs1, zs2)ZoneSetInter(zs1,zs2) BS_INTER(zs1, zs2)ZoneSetDiff(zs1,zs2) BS_DIFF(zs1, zs2)ZoneSetAdd(arena,zs,addr) BS_ADD(ZoneSet, zs, AddrZone(arena, addr))ZoneSetIsMember(arena,zs,addr) BS_IS_MEMBER(zs, AddrZone(arena, addr))ZoneSetSub(zs1,zs2) BS_SUB(zs1, zs2)ZoneSetSuper(zs1,zs2) BS_SUPER(zs1, zs2)ZoneSetComp(zs) BS_COMP(zs)STATISTIC(gather) BEGIN (gather); ENDSTATISTIC_STAT(gather) BEGIN gather; ENDSTATISTIC_WRITE(format,arg) (format), (arg),$_PTHREAD_H_ *'_SYS_TYPES_H_ ,"_MACHINE_ENDIAN_H_ ._QUAD_HIGHWORD 1/_QUAD_LOWWORD 05_LITTLE_ENDIAN 12346_BIG_ENDIAN 43217_PDP_ENDIAN 34129_BYTE_ORDER _LITTLE_ENDIAN@LITTLE_ENDIAN _LITTLE_ENDIANABIG_ENDIAN _BIG_ENDIANBPDP_ENDIAN _PDP_ENDIANCBYTE_ORDER _BYTE_ORDERH__word_swap_int_var(x) __extension__ ({ register __uint32_t __X = (x); __asm ("rorl $16, %0" : "+r" (__X)); __X; })O__word_swap_int_const(x) ((((x) & 0xffff0000) >> 16) | (((x) & 0x0000ffff) << 16))R__word_swap_int(x) (__builtin_constant_p(x) ? __word_swap_int_const(x) : __word_swap_int_var(x))[__byte_swap_int_var(x) __extension__ ({ register __uint32_t __X = (x); __asm ("bswap %0" : "+r" (__X)); __X; })b__byte_swap_int_const(x) ((((x) & 0xff000000) >> 24) | (((x) & 0x00ff0000) >> 8) | (((x) & 0x0000ff00) << 8) | (((x) & 0x000000ff) << 24))g__byte_swap_int(x) (__builtin_constant_p(x) ? __byte_swap_int_const(x) : __byte_swap_int_var(x))p__byte_swap_word_var(x) __extension__ ({ register __uint16_t __X = (x); __asm ("xchgb %h0, %b0" : "+q" (__X)); __X; })w__byte_swap_word_const(x) ((((x) & 0xff00) >> 8) | (((x) & 0x00ff) << 8)){__byte_swap_word(x) (__builtin_constant_p(x) ? __byte_swap_word_const(x) : __byte_swap_word_var(x))__htonl(x) __bswap32(x)__htons(x) __bswap16(x)__ntohl(x) __bswap32(x)__ntohs(x) __bswap16(x)/%_SYS__PTHREADTYPES_H_ A_INT8_T_DECLARED F_INT16_T_DECLARED K_INT32_T_DECLARED P_INT64_T_DECLARED U_UINT8_T_DECLARED Z_UINT16_T_DECLARED __UINT32_T_DECLARED d_UINT64_T_DECLARED j_INTPTR_T_DECLARED |_BLKSIZE_T_DECLARED _BLKCNT_T_DECLARED _CLOCK_T_DECLARED _CLOCKID_T_DECLARED _DEV_T_DECLARED _FFLAGS_T_DECLARED _FSBLKCNT_T_DECLARED _GID_T_DECLARED _IN_ADDR_T_DECLARED _IN_PORT_T_DECLARED _ID_T_DECLARED _INO_T_DECLARED _KEY_T_DECLARED _LWPID_T_DECLARED _MODE_T_DECLARED _NLINK_T_DECLARED _OFF_T_DECLARED _PID_T_DECLARED _RLIM_T_DECLARED _SSIZE_T_DECLARED _SUSECONDS_T_DECLARED _TIME_T_DECLARED _TIMER_T_DECLARED _UID_T_DECLARED _USECONDS_T_DECLARED !_SYS_SELECT_H_ &'_SYS__SIGSET_H_ ,_SIG_WORDS 4-_SIG_MAXSIG 128._SIG_IDX(sig) ((sig) - 1)/_SIG_WORD(sig) (_SIG_IDX(sig) >> 5)0_SIG_BIT(sig) (1 << (_SIG_IDX(sig) & 31))1_SIG_VALID(sig) ((sig) <= _SIG_MAXSIG && (sig) > 0)' _SYS__TIMEVAL_H_ (!'_SYS_TIMESPEC_H_ 4TIMEVAL_TO_TIMESPEC(tv,ts) do { (ts)->tv_sec = (tv)->tv_sec; (ts)->tv_nsec = (tv)->tv_usec * 1000; } while (0)9TIMESPEC_TO_TIMEVAL(tv,ts) do { (tv)->tv_sec = (ts)->tv_sec; (tv)->tv_usec = (ts)->tv_nsec / 1000; } while (0)0_SIGSET_T_DECLARED ;FD_SETSIZE 1024U>_NFDBITS (sizeof(__fd_mask) * 8)@NFDBITS _NFDBITSD_howmany(x,y) (((x) + ((y) - 1)) / (y))Kfds_bits __fds_bitsN__fdset_mask(n) ((__fd_mask)1 << ((n) % _NFDBITS))OFD_CLR(n,p) ((p)->__fds_bits[(n)/_NFDBITS] &= ~__fdset_mask(n))QFD_COPY(f,t) (void)(*(t) = *(f))SFD_ISSET(n,p) (((p)->__fds_bits[(n)/_NFDBITS] & __fdset_mask(n)) != 0)TFD_SET(n,p) ((p)->__fds_bits[(n)/_NFDBITS] |= __fdset_mask(n))UFD_ZERO(p) do { fd_set *_p; __size_t _n; _p = (p); _n = _howmany(FD_SETSIZE, _NFDBITS); while (_n > 0) _p->__fds_bits[--_n] = 0; } while (0)e_SELECT_DECLARED major(x) ((int)(((u_int)(x) >> 8)&0xff))minor(x) ((int)((x)&0xffff00ff))makedev(x,y) ((dev_t)(((x) << 8) | (y)))_FTRUNCATE_DECLARED _LSEEK_DECLARED _MMAP_DECLARED _TRUNCATE_DECLARED ,""_SYS_TIME_H_ ,DST_NONE 0-DST_USA 1.DST_AUST 2/DST_WET 30DST_MET 41DST_EET 52DST_CAN 6timerclear(tvp) ((tvp)->tv_sec = (tvp)->tv_usec = 0)timerisset(tvp) ((tvp)->tv_sec || (tvp)->tv_usec)timercmp(tvp,uvp,cmp) (((tvp)->tv_sec == (uvp)->tv_sec) ? ((tvp)->tv_usec cmp (uvp)->tv_usec) : ((tvp)->tv_sec cmp (uvp)->tv_sec))timeradd(tvp,uvp,vvp) do { (vvp)->tv_sec = (tvp)->tv_sec + (uvp)->tv_sec; (vvp)->tv_usec = (tvp)->tv_usec + (uvp)->tv_usec; if ((vvp)->tv_usec >= 1000000) { (vvp)->tv_sec++; (vvp)->tv_usec -= 1000000; } } while (0)timersub(tvp,uvp,vvp) do { (vvp)->tv_sec = (tvp)->tv_sec - (uvp)->tv_sec; (vvp)->tv_usec = (tvp)->tv_usec - (uvp)->tv_usec; if ((vvp)->tv_usec < 0) { (vvp)->tv_sec--; (vvp)->tv_usec += 1000000; } } while (0)ITIMER_REAL 0ITIMER_VIRTUAL 1ITIMER_PROF 2CLOCK_REALTIME 0CLOCK_VIRTUAL 1CLOCK_PROF 2CLOCK_MONOTONIC 4TIMER_RELTIME 0x0TIMER_ABSTIME 0x1#._TIME_H_ 9CLK_TCK 128=CLOCKS_PER_SEC 128-$'_SYS_SIGNAL_H_ -%"_MACHINE_SIGNAL_H_ 2MINSIGSTKSZ (512 * 4)6&%_MACHINE_TRAP_H_ ,T_PRIVINFLT 1-T_BPTFLT 3.T_ARITHTRAP 6/T_PROTFLT 90T_TRCTRAP 101T_PAGEFLT 122T_ALIGNFLT 144T_DIVIDE 185T_NMI 196T_OFLOW 207T_BOUND 218T_DNA 229T_DOUBLEFLT 23:T_FPOPFLT 24;T_TSSFLT 25T_MCHK 28?T_XMMFLT 29@T_RESERVED 30EILL_RESAD_FAULT T_RESADFLTFILL_PRIVIN_FAULT T_PRIVINFLTGILL_RESOP_FAULT T_RESOPFLTHILL_ALIGN_FAULT T_ALIGNFLTIILL_FPOP_FAULT T_FPOPFLTLFPE_INTOVF 1MFPE_INTDIV 2NFPE_FLTDIV 3OFPE_FLTOVF 4PFPE_FLTUND 5QFPE_FLTRES 6RFPE_FLTINV 7SFPE_FLTSUB 8VFPE_INTOVF_TRAP 0x1WFPE_INTDIV_TRAP 0x2XFPE_FLTDIV_TRAP 0x3YFPE_FLTOVF_TRAP 0x4ZFPE_FLTUND_TRAP 0x5[FPE_FPU_NP_TRAP 0x6\FPE_SUBRNG_TRAP 0x7_BUS_PAGE_FAULT T_PAGEFLT`BUS_SEGNP_FAULT T_SEGNPFLTaBUS_STK_FAULT T_STKFLTbBUS_SEGM_FAULT T_RESERVEDeT_USER 0x100sc_sp sc_espsc_fp sc_ebpsc_pc sc_eipsc_ps sc_eflsc_eflags sc_efl3SIGHUP 15SIGINT 27SIGQUIT 39SIGILL 4;SIGTRAP 5=SIGABRT 6?SIGIOT SIGABRT@SIGEMT 7BSIGFPE 8DSIGKILL 9GSIGBUS 10ISIGSEGV 11KSIGSYS 12NSIGPIPE 13OSIGALRM 14QSIGTERM 15SSIGURG 16VSIGSTOP 17WSIGTSTP 18XSIGCONT 19YSIGCHLD 20ZSIGTTIN 21[SIGTTOU 22^SIGIO 23aSIGXCPU 24bSIGXFSZ 25cSIGVTALRM 26dSIGPROF 27gSIGWINCH 28hSIGINFO 29kSIGUSR1 30lSIGUSR2 31oSIGTHR 32pSIGLWP SIGTHRvSIG_DFL ((__sighandler_t *)0)wSIG_IGN ((__sighandler_t *)1)xSIG_ERR ((__sighandler_t *)-1)sigev_signo __sigev_u.__sigev_signosigev_notify_kqueue __sigev_u.__sigev_notify_kqueueSIGEV_NONE 0SIGEV_SIGNAL 1SIGEV_KEVENT 3sa_handler __sigaction_u.__sa_handlersa_sigaction __sigaction_u.__sa_sigactionSA_NOCLDSTOP 0x0008SA_ONSTACK 0x0001SA_RESTART 0x0002SA_RESETHAND 0x0004SA_NODEFER 0x0010SA_NOCLDWAIT 0x0020SA_SIGINFO 0x0040NSIG 32SI_USER 0x10001SI_QUEUE 0x10002SI_TIMER 0x10003SI_ASYNCIO 0x10004SI_MESGQ 0x10005SI_UNDEFINED 0SS_ONSTACK 0x0001SS_DISABLE 0x0004SIGSTKSZ (MINSIGSTKSZ + 32768)SV_ONSTACK SA_ONSTACKSV_INTERRUPT SA_RESTARTSV_RESETHAND SA_RESETHANDSV_NODEFER SA_NODEFERSV_NOCLDSTOP SA_NOCLDSTOPSV_SIGINFO SA_SIGINFOsv_onstack sv_flagssigmask(m) (1 << ((m)-1))BADSIG SIG_ERRSIG_BLOCK 1SIG_UNBLOCK 2SIG_SETMASK 3.'&_LIMITS_H_ +_POSIX_ARG_MAX 4096,_POSIX_CHILD_MAX 25-_POSIX_LINK_MAX 8._POSIX_MAX_CANON 255/_POSIX_MAX_INPUT 2550_POSIX_NAME_MAX 141_POSIX_NGROUPS_MAX 82_POSIX_OPEN_MAX 203_POSIX_PATH_MAX 2564_POSIX_PIPE_BUF 5125_POSIX_SSIZE_MAX 327676_POSIX_STREAM_MAX 87_POSIX_TZNAME_MAX 69BC_BASE_MAX 99:BC_DIM_MAX 2048;BC_SCALE_MAX 99EXPR_NEST_MAX 32?LINE_MAX 2048@RE_DUP_MAX 255B_POSIX2_BC_BASE_MAX 99C_POSIX2_BC_DIM_MAX 2048D_POSIX2_BC_SCALE_MAX 99E_POSIX2_BC_STRING_MAX 1000F_POSIX2_EQUIV_CLASS_MAX 2G_POSIX2_EXPR_NEST_MAX 32H_POSIX2_LINE_MAX 2048I_POSIX2_RE_DUP_MAX 255M_POSIX_AIO_LISTIO_MAX 16N_POSIX_AIO_MAX 1O_POSIX_DELAYTIMER_MAX 32P_POSIX_MQ_OPEN_MAX 8Q_POSIX_MQ_PRIO_MAX 32R_POSIX_RTSIG_MAX 8S_POSIX_SEM_NSEMS_MAX 256T_POSIX_SEM_VALUE_MAX 32767U_POSIX_SIGQUEUE_MAX 32V_POSIX_TIMER_MAX 32Z_POSIX_THREAD_DESTRUCTOR_ITERATIONS 4[_POSIX_THREAD_KEYS_MAX 128\_POSIX_THREAD_THREADS_MAX 64`_POSIX_HOST_NAME_MAX 255a_POSIX_LOGIN_NAME_MAX 9b_POSIX_SS_REPL_MAX 4c_POSIX_SYMLINK_MAX 255d_POSIX_SYMLOOP_MAX 8e_POSIX_TRACE_EVENT_NAME_MAX 30f_POSIX_TRACE_NAME_MAX 8g_POSIX_TRACE_SYS_MAX 8h_POSIX_TRACE_USER_EVENT_MAX 32i_POSIX_TTY_NAME_MAX 9j_POSIX2_CHARCLASS_NAME_MAX 14k_POSIX2_COLL_WEIGHTS_MAX 2m_POSIX_RE_DUP_MAX _POSIX2_RE_DUP_MAXq_XOPEN_IOV_MAX 16r_XOPEN_NAME_MAX 255s_XOPEN_PATH_MAX 1024tPASS_MAX 128vNL_ARGMAX 99wNL_LANGMAX 31xNL_MSGMAX 32767yNL_NMAX 1zNL_SETMAX 255{NL_TEXTMAX 2048~MB_LEN_MAX 6(!_SYS_LIMITS_H_ $)"_MACHINE__LIMITS_H_ /__CHAR_BIT 81__SCHAR_MAX 0x7f2__SCHAR_MIN (-0x7f - 1)4__UCHAR_MAX 0xff6__USHRT_MAX 0xffff7__SHRT_MAX 0x7fff8__SHRT_MIN (-0x7fff - 1):__UINT_MAX 0xffffffffU;__INT_MAX 0x7fffffff<__INT_MIN (-0x7fffffff - 1)D__ULONG_MAX 0xffffffffULE__LONG_MAX 0x7fffffffLF__LONG_MIN (-0x7fffffffL - 1)J__ULLONG_MAX 0xffffffffffffffffULLK__LLONG_MAX 0x7fffffffffffffffLLL__LLONG_MIN (-0x7fffffffffffffffLL - 1)N__SSIZE_MAX __INT_MAXP__SIZE_T_MAX __UINT_MAXR__OFF_MAX __LLONG_MAXS__OFF_MIN __LLONG_MINV__UQUAD_MAX __ULLONG_MAXW__QUAD_MAX __LLONG_MAXX__QUAD_MIN __LLONG_MIN]__LONG_BIT 32___WORD_BIT 32&CHAR_BIT __CHAR_BIT(SCHAR_MAX __SCHAR_MAX)SCHAR_MIN __SCHAR_MIN+UCHAR_MAX __UCHAR_MAX1CHAR_MAX SCHAR_MAX2CHAR_MIN SCHAR_MIN5USHRT_MAX __USHRT_MAX6SHRT_MAX __SHRT_MAX7SHRT_MIN __SHRT_MIN9UINT_MAX __UINT_MAX:INT_MAX __INT_MAX;INT_MIN __INT_MIN=ULONG_MAX __ULONG_MAX>LONG_MAX __LONG_MAX?LONG_MIN __LONG_MINHSSIZE_MAX __SSIZE_MAXLSIZE_T_MAX __SIZE_T_MAXNOFF_MAX __OFF_MAXOOFF_MIN __OFF_MINSGID_MAX UINT_MAXTUID_MAX UINT_MAXVUQUAD_MAX (__UQUAD_MAX)WQUAD_MAX (__QUAD_MAX)XQUAD_MIN (__QUAD_MIN)\LONG_BIT __LONG_BIT]WORD_BIT __WORD_BIT*"_SYS_SYSLIMITS_H_ 4ARG_MAX 2621447CHILD_MAX 409LINK_MAX 32767:MAX_CANON 255;MAX_INPUT 255PTHREAD_SCOPE_SYSTEM 0x2?PTHREAD_INHERIT_SCHED 0x4@PTHREAD_NOFLOAT 0x8BPTHREAD_CREATE_DETACHED PTHREAD_DETACHEDCPTHREAD_CREATE_JOINABLE 0DPTHREAD_SCOPE_PROCESS 0EPTHREAD_EXPLICIT_SCHED 0JPTHREAD_PROCESS_PRIVATE 0KPTHREAD_PROCESS_SHARED 1PPTHREAD_CANCEL_ENABLE 0QPTHREAD_CANCEL_DISABLE 1RPTHREAD_CANCEL_DEFERRED 0SPTHREAD_CANCEL_ASYNCHRONOUS 2TPTHREAD_CANCELED ((void *) 1)YPTHREAD_NEEDS_INIT 0ZPTHREAD_DONE_INIT 1_PTHREAD_ONCE_INIT { PTHREAD_NEEDS_INIT, NULL }dPTHREAD_MUTEX_INITIALIZER NULLePTHREAD_COND_INITIALIZER NULLfPTHREAD_RWLOCK_INITIALIZER NULLlpthread_condattr_default NULLmpthread_mutexattr_default NULLnpthread_attr_default NULLqPTHREAD_PRIO_NONE 0rPTHREAD_PRIO_INHERIT 1sPTHREAD_PRIO_PROTECT 2PTHREAD_MUTEX_DEFAULT PTHREAD_MUTEX_ERRORCHECKMUTEX_TYPE_FAST PTHREAD_MUTEX_NORMALMUTEX_TYPE_COUNTING_FAST PTHREAD_MUTEX_RECURSIVE,&_SIGNAL_H_ -&_SEMAPHORE_H_ ,SEM_FAILED ((sem_t *)0)-SEM_VALUE_MAX (~0U).'_SYS_ERRNO_H_ .errno (* __error())1EPERM 12ENOENT 23ESRCH 34EINTR 45EIO 56ENXIO 67E2BIG 78ENOEXEC 89EBADF 9:ECHILD 10;EDEADLK 11=ENOMEM 12>EACCES 13?EFAULT 14AENOTBLK 15CEBUSY 16DEEXIST 17EEXDEV 18FENODEV 19GENOTDIR 20HEISDIR 21IEINVAL 22JENFILE 23KEMFILE 24LENOTTY 25NETXTBSY 26PEFBIG 27QENOSPC 28RESPIPE 29SEROFS 30TEMLINK 31UEPIPE 32XEDOM 33YERANGE 34\EAGAIN 35^EWOULDBLOCK EAGAIN_EINPROGRESS 36`EALREADY 37cENOTSOCK 38dEDESTADDRREQ 39eEMSGSIZE 40fEPROTOTYPE 41gENOPROTOOPT 42hEPROTONOSUPPORT 43iESOCKTNOSUPPORT 44jEOPNOTSUPP 45kENOTSUP EOPNOTSUPPlEPFNOSUPPORT 46mEAFNOSUPPORT 47nEADDRINUSE 48oEADDRNOTAVAIL 49rENETDOWN 50sENETUNREACH 51tENETRESET 52uECONNABORTED 53vECONNRESET 54wENOBUFS 55xEISCONN 56yENOTCONN 57zESHUTDOWN 58{ETOOMANYREFS 59|ETIMEDOUT 60}ECONNREFUSED 61ELOOP 62ENAMETOOLONG 63EHOSTDOWN 64EHOSTUNREACH 65ENOTEMPTY 66EPROCLIM 67EUSERS 68EDQUOT 69ESTALE 70EREMOTE 71EBADRPC 72ERPCMISMATCH 73EPROGUNAVAIL 74EPROGMISMATCH 75EPROCUNAVAIL 76ENOLCK 77ENOSYS 78EFTYPE 79EAUTH 80ENEEDAUTH 81EIDRM 82ENOMSG 83EOVERFLOW 84ECANCELED 85EILSEQ 86ENOATTR 87EDOOFUS 88EBADMSG 89EMULTIHOP 90ENOLINK 91EPROTO 92ELAST 92 /)_STDIO_H_ =_FSTDIO _STDSTREAM_DECLARED __SLBF 0x0001__SNBF 0x0002__SRD 0x0004__SWR 0x0008__SRW 0x0010__SEOF 0x0020__SERR 0x0040__SMBF 0x0080__SAPP 0x0100__SSTR 0x0200__SOPT 0x0400__SNPT 0x0800__SOFF 0x1000__SMOD 0x2000__SALC 0x4000__SIGN 0x8000_IOFBF 0_IOLBF 1_IONBF 2BUFSIZ 1024EOF (-1)FOPEN_MAX 20FILENAME_MAX 1024P_tmpdir "/var/tmp/"L_tmpnam 1024TMP_MAX 308915776SEEK_SET 0SEEK_CUR 1SEEK_END 2stdin __stdinpstdout __stdoutpstderr __stderrpL_cuserid 17L_ctermid 1024fropen(cookie,fn) funopen(cookie, fn, 0, 0, 0)fwopen(cookie,fn) funopen(cookie, 0, fn, 0, 0)__sgetc(p) (--(p)->_r < 0 ? __srget(p) : (int)(*(p)->_p++))__sfeof(p) (((p)->_flags & __SEOF) != 0)__sferror(p) (((p)->_flags & __SERR) != 0)__sclearerr(p) ((void)((p)->_flags &= ~(__SERR|__SEOF)))__sfileno(p) ((p)->_file)feof(p) (!__isthreaded ? __sfeof(p) : (feof)(p))ferror(p) (!__isthreaded ? __sferror(p) : (ferror)(p))clearerr(p) (!__isthreaded ? __sclearerr(p) : (clearerr)(p))fileno(p) (!__isthreaded ? __sfileno(p) : (fileno)(p))getc(fp) (!__isthreaded ? __sgetc(fp) : (getc)(fp))putc(x,fp) (!__isthreaded ? __sputc(x, fp) : (putc)(x, fp))getchar() getc(stdin)putchar(x) putc(x, stdout)feof_unlocked(p) __sfeof(p)ferror_unlocked(p) __sferror(p)clearerr_unlocked(p) __sclearerr(p)fileno_unlocked(p) __sfileno(p)getc_unlocked(fp) __sgetc(fp)putc_unlocked(x,fp) __sputc(x, fp)getchar_unlocked() getc_unlocked(stdin)putchar_unlocked(x) putc_unlocked(x, stdout)!0&_STDLIB_H_ IEXIT_FAILURE 1JEXIT_SUCCESS 0LRAND_MAX 0x7fffffffOMB_CUR_MAX __mb_cur_max_MKSTEMP_DECLARED _MKTEMP_DECLARED _SETKEY_DECLARED allocaalloca(sz) __builtin_alloca(sz)#1 pthreadext_h PThreadextSig ((Sig)0x519B286E)-PTHREADEXT_SIGSUSPEND SIGXFSZ.PTHREADEXT_SIGRESUME SIGXCPUp2 prmcfr_h 3 _SYS_UCONTEXT_H_ #4 _MACHINE_UCONTEXT_H_ >_MC_FPFMT_NODEV 0x10000?_MC_FPFMT_387 0x10001@_MC_FPFMT_XMM 0x10002B_MC_FPOWNED_NONE 0x20000C_MC_FPOWNED_FPU 0x20001D_MC_FPOWNED_PCB 0x200024UCF_SWAPPED 0x00000001pthrdext.cJan 17 200703:43:13$Id: //info.ravenbrook.com/project/mps/master/code/pthrdext.c#9 $ | aAB GO.dAB lAB E].NAB DH.XFAB DM.AB BK.$8AB BK.x.R.0AB BK.- PThreadextCheckPThreadextInitPThreadextFinish PThreadextSuspend PThreadextResume pthreadextSrcId`kmc_trapnopthread_oncealreadySuspPThreadextCheckcontextReturnmc_dsSrcIdStructsuspendedMFCuc_stacksi_bandPThreadextStructPThreadextFinishmc_ecxMutatorFaultContextStructdoublepthreadextModuleInitialized__sigsetmc_edinoteSuspendedsigaltstackmc_edxuc_flagssa_flagsss_spmc_csPThreadextSuspendlong intsigvalbuild_time__sa_handlersigned char/home/hannes/dylan/mps/codecontextpthreadext_sigsuspendsigval_ptrpthreadextOncePThreadextsi_statussem_tmc_fsRingpthread_ring__mcontextmc_gs__ucontextsa_maskinfomc_eflagsmc_eipucontextsi_errnoRingStructnodeMutatorFaultContextfilepthread_mutexthreadRingstatusmc_lensigset_tmc_eaxunsigned charlong unsigned int__pid_tmc_spare2pthread_ttargetnoteResumedmc_ebpmc_ebxmc_fpstatestack_tresumeSignalHandlersiginfo_tsuspendedRingmc_ssBoolmc_err__uint32_t__sa_sigactionlong long int__spare__pthread_once_tuc_mcontextsuspendingVictimmutexmc_fpformatscmidmc_espunsigned int_oldpthread_mutex_tsi_codepthreadextSem__sigaction_uFileSrcIdStructmc_esisigval_intGNU C 3.4.6 [FreeBSD] 20060305PThreadextResume__size_tmc_spare1si_valuecharuc_sigmaskpthreadextmfContext__siginfo__bitspthrdext.cmc_eslong long unsigned intSrcIdPThreadextInit_newbuild_datesigactionidRingsi_addrpthreadextMutuc_linkmc_onstackPThreadextModuleInitmcontext_tss_sizeshort intsi_pidstateunlockpthreadext_sigresumemc_ownedfpsi_signo__uid_tpthreadextSrcIducontext_tsuspendSignalHandlersi_uidmc_ispshort unsigned intsignal_set__int32_tnextss_flags__sigset_tprevGCC: (GNU) 3.4.6 [FreeBSD] 20060305.symtab.strtab.shstrtab.rel.text.rel.data.bss.debug_abbrev.rel.debug_info.rel.debug_line.debug_macinfo.rodata.str1.1.rodata.str1.4.rel.rodata.rel.debug_frame.rel.debug_pubnames.rel.debug_aranges.debug_ranges.debug_str.comment4 8)% / 4EFE- B 8Vr`R 8 bhq2: 2\B @  ` Q  q07%<  \     *9 Ufa{dl )N9LaXFp}80pthrdext.cFileSrcIdStructpthreadextMutpthreadextOncepthreadextModuleInitializedsuspendingVictimsuspendSignalHandlerpthreadextSemresumeSignalHandlerPThreadextModuleInitsuspendedRingpthreadextSrcIdmemcpysigfillsetsigdelsetsem_postsigsuspendsem_initsigemptysetsigaddsetsigactionPThreadextCheckpthread_mutex_lockpthread_mutex_unlockPThreadextInitpthread_oncePThreadextFinishRingIsSinglePThreadextSuspendpthread_kill__errorsem_waitPThreadextResume+9DKP X!vz"#$#%%'@E(chm*',(DI'RZqy./0 (<A'L,`.(  !%*18?FXcjqxEZbq"*IT,:Hgz +7Nc .<JXft,;DR`o~,FMQkrv}#*CRV[jns   ! - 1 8 F T b ~                " & - I W ^ c j s w |                   (     8<PTptvmfr.o/ 1169001793 1001 1001 100644 49532 ` ELF 4(UE@ÐUÉUWVS u Ǎt!u jjjhjG!Pj ukvÉxjjjhjVj t%CC sC9QEG!PSe[^_US ][QSC )PRCP!RS]ÐUE@ÐUE@ ÐUE@ÐUE@ÐUVSuE U)ÃjjjhjSP t^Ѝe[^ÐUVSuE ])ÃjjjhjSP )^e[^C% $ > $ >   I&I: ; I : ; : ; I8 : ; I < : ; I8 .? : ; ' I@ : ; I : ; I 4: ; I 4: ; I 4: ; I4: ; I : ;   .? : ; ' @ .? : ;' @ 4: ;I 4: ;I4: ; I?  IyCint[5oE#"m" $# =%# P&# >'# Siga ResE a"#) oz# M&  VM`OUf` sig%6# %7:# %8# %8# %9/# %:/# %A: Uvm%@EP %I Uvm%HE %YU%XP%X/V%Z:Wvm%[ESS%\E%]Pres%^)%ixe%uEe%EE\%#Uvm%ESr%E I%$/Uvm%EP 1%0;Uvm%EP Y%/<GUvm%EP 4%/HSUvm%EP %TUvm%EV%P%R%/S)%Uvm%EV%P%S%/S%%.%.] /usr/include/sys/usr/include/machine/usr/includetypes.hcdefs.hendian.h_types.h_types.h_pthreadtypes.hselect.h_sigset.h_timeval.htimespec.hmman.herrno.hunistd.hunistd.h_null.hmpm.hconfig.hmpstd.hmisc.hstddef.hcheck.hmpslib.hevent.heventcom.hmpmtypes.hstdarg.heventgen.hlock.hth.hring.hss.htract.hbt.hmpmst.hprotocol.hchain.hvmfr.c%:d? 9 [-dHW-<t:d:siVnqU,d e:__GNUCLIKE___OFFSETOF 1?__GNUCLIKE___SECTION 1A__GNUCLIKE_ATTRIBUTE_MODE_DI 1D__GNUCLIKE_CTOR_SECTION_HANDLING 1G__GNUCLIKE_BUILTIN_CONSTANT_P 1N__GNUCLIKE_BUILTIN_VARARGS 1O__GNUCLIKE_BUILTIN_STDARG 1P__GNUCLIKE_BUILTIN_VAALIST 1T__GNUC_VA_LIST_COMPATIBILITY 1X__GNUCLIKE_BUILTIN_NEXT_ARG 1Y__GNUCLIKE_MATH_BUILTIN_RELOPS \__GNUCLIKE_BUILTIN_MEMCPY 1___CC_SUPPORTS_INLINE 1`__CC_SUPPORTS___INLINE 1a__CC_SUPPORTS___INLINE__ 1c__CC_SUPPORTS___FUNC__ 1d__CC_SUPPORTS_WARNING 1f__CC_SUPPORTS_VARADIC_XXX 1h__CC_SUPPORTS_DYNAMIC_ARRAY_INIT 1k__CC_INT_IS_32BIT 1s__GNUC_PREREQ__(ma,mi) (__GNUC__ > (ma) || __GNUC__ == (ma) && __GNUC_MINOR__ >= (mi))__P(protos) protos__CONCAT1(x,y) x ## y__CONCAT(x,y) __CONCAT1(x,y)__STRING(x) #x__XSTRING(x) __STRING(x)__const const__signed signed__volatile volatile__dead2 __attribute__((__noreturn__))__pure2 __attribute__((__const__))__unused __attribute__((__unused__))__used __attribute__((__used__))__packed __attribute__((__packed__))__aligned(x) __attribute__((__aligned__(x)))__section(x) __attribute__((__section__(x)))__pure __attribute__((__pure__))__always_inline __attribute__((__always_inline__))__nonnull(x) __attribute__((__nonnull__(x)))__restrict __predict_true(exp) __builtin_expect((exp), 1)__predict_false(exp) __builtin_expect((exp), 0)__offsetof(type,field) ((size_t)(&((type *)0)->field))__rangeof(type,start,end) (__offsetof(type, end) - __offsetof(type, start))__printflike(fmtarg,firstvararg) __attribute__((__format__ (__printf__, fmtarg, firstvararg)))__scanflike(fmtarg,firstvararg) __attribute__((__format__ (__scanf__, fmtarg, firstvararg)))__format_arg(fmtarg) __attribute__((__format_arg__ (fmtarg)))__printf0like(fmtarg,firstvararg) __attribute__((__format__ (__printf0__, fmtarg, firstvararg)))__strong_reference(sym,aliassym) extern __typeof (sym) aliassym __attribute__ ((__alias__ (#sym)));__weak_reference(sym,alias) __asm__(".weak " #alias); __asm__(".equ " #alias ", " #sym)__warn_references(sym,msg) __asm__(".section .gnu.warning." #sym); __asm__(".asciz \"" msg "\""); __asm__(".previous")__IDSTRING(name,string) __asm__(".ident\t\"" string "\"")__FBSDID(s) __IDSTRING(__CONCAT(__rcsid_,__LINE__),s)__RCSID(s) __IDSTRING(__CONCAT(__rcsid_,__LINE__),s)__RCSID_SOURCE(s) __IDSTRING(__CONCAT(__rcsid_source_,__LINE__),s)__SCCSID(s) __IDSTRING(__CONCAT(__sccsid_,__LINE__),s)__COPYRIGHT(s) __IDSTRING(__CONCAT(__copyright_,__LINE__),s)__DECONST(type,var) ((type)(uintptr_t)(const void *)(var))__DEVOLATILE(type,var) ((type)(uintptr_t)(volatile void *)(var))__DEQUALIFY(type,var) ((type)(uintptr_t)(const volatile void *)(var))__POSIX_VISIBLE 200112__XSI_VISIBLE 600__BSD_VISIBLE 1__ISO_C_VISIBLE 1999,"_MACHINE_ENDIAN_H_ %_SYS__TYPES_H_ !(_MACHINE__TYPES_H_ .__NO_STRICT_ALIGNMENT __GNUC_VA_LIST ._QUAD_HIGHWORD 1/_QUAD_LOWWORD 05_LITTLE_ENDIAN 12346_BIG_ENDIAN 43217_PDP_ENDIAN 34129_BYTE_ORDER _LITTLE_ENDIAN@LITTLE_ENDIAN _LITTLE_ENDIANABIG_ENDIAN _BIG_ENDIANBPDP_ENDIAN _PDP_ENDIANCBYTE_ORDER _BYTE_ORDERH__word_swap_int_var(x) __extension__ ({ register __uint32_t __X = (x); __asm ("rorl $16, %0" : "+r" (__X)); __X; })O__word_swap_int_const(x) ((((x) & 0xffff0000) >> 16) | (((x) & 0x0000ffff) << 16))R__word_swap_int(x) (__builtin_constant_p(x) ? __word_swap_int_const(x) : __word_swap_int_var(x))[__byte_swap_int_var(x) __extension__ ({ register __uint32_t __X = (x); __asm ("bswap %0" : "+r" (__X)); __X; })b__byte_swap_int_const(x) ((((x) & 0xff000000) >> 24) | (((x) & 0x00ff0000) >> 8) | (((x) & 0x0000ff00) << 8) | (((x) & 0x000000ff) << 24))g__byte_swap_int(x) (__builtin_constant_p(x) ? __byte_swap_int_const(x) : __byte_swap_int_var(x))p__byte_swap_word_var(x) __extension__ ({ register __uint16_t __X = (x); __asm ("xchgb %h0, %b0" : "+q" (__X)); __X; })w__byte_swap_word_const(x) ((((x) & 0xff00) >> 8) | (((x) & 0x00ff) << 8)){__byte_swap_word(x) (__builtin_constant_p(x) ? __byte_swap_word_const(x) : __byte_swap_word_var(x))__htonl(x) __bswap32(x)__htons(x) __bswap16(x)__ntohl(x) __bswap32(x)__ntohs(x) __bswap16(x)/%_SYS__PTHREADTYPES_H_ A_INT8_T_DECLARED F_INT16_T_DECLARED K_INT32_T_DECLARED P_INT64_T_DECLARED U_UINT8_T_DECLARED Z_UINT16_T_DECLARED __UINT32_T_DECLARED d_UINT64_T_DECLARED j_INTPTR_T_DECLARED |_BLKSIZE_T_DECLARED _BLKCNT_T_DECLARED _CLOCK_T_DECLARED _CLOCKID_T_DECLARED _DEV_T_DECLARED _FFLAGS_T_DECLARED _FSBLKCNT_T_DECLARED _GID_T_DECLARED _IN_ADDR_T_DECLARED _IN_PORT_T_DECLARED _ID_T_DECLARED _INO_T_DECLARED _KEY_T_DECLARED _LWPID_T_DECLARED _MODE_T_DECLARED _NLINK_T_DECLARED _OFF_T_DECLARED _PID_T_DECLARED _RLIM_T_DECLARED _SIZE_T_DECLARED _SSIZE_T_DECLARED _SUSECONDS_T_DECLARED _TIME_T_DECLARED _TIMER_T_DECLARED _UID_T_DECLARED _USECONDS_T_DECLARED !_SYS_SELECT_H_ &'_SYS__SIGSET_H_ ,_SIG_WORDS 4-_SIG_MAXSIG 128._SIG_IDX(sig) ((sig) - 1)/_SIG_WORD(sig) (_SIG_IDX(sig) >> 5)0_SIG_BIT(sig) (1 << (_SIG_IDX(sig) & 31))1_SIG_VALID(sig) ((sig) <= _SIG_MAXSIG && (sig) > 0)' _SYS__TIMEVAL_H_ ( '_SYS_TIMESPEC_H_ 4TIMEVAL_TO_TIMESPEC(tv,ts) do { (ts)->tv_sec = (tv)->tv_sec; (ts)->tv_nsec = (tv)->tv_usec * 1000; } while (0)9TIMESPEC_TO_TIMEVAL(tv,ts) do { (tv)->tv_sec = (ts)->tv_sec; (tv)->tv_usec = (ts)->tv_nsec / 1000; } while (0)0_SIGSET_T_DECLARED ;FD_SETSIZE 1024U>_NFDBITS (sizeof(__fd_mask) * 8)@NFDBITS _NFDBITSD_howmany(x,y) (((x) + ((y) - 1)) / (y))Kfds_bits __fds_bitsN__fdset_mask(n) ((__fd_mask)1 << ((n) % _NFDBITS))OFD_CLR(n,p) ((p)->__fds_bits[(n)/_NFDBITS] &= ~__fdset_mask(n))QFD_COPY(f,t) (void)(*(t) = *(f))SFD_ISSET(n,p) (((p)->__fds_bits[(n)/_NFDBITS] & __fdset_mask(n)) != 0)TFD_SET(n,p) ((p)->__fds_bits[(n)/_NFDBITS] |= __fdset_mask(n))UFD_ZERO(p) do { fd_set *_p; __size_t _n; _p = (p); _n = _howmany(FD_SETSIZE, _NFDBITS); while (_n > 0) _p->__fds_bits[--_n] = 0; } while (0)e_SELECT_DECLARED major(x) ((int)(((u_int)(x) >> 8)&0xff))minor(x) ((int)((x)&0xffff00ff))makedev(x,y) ((dev_t)(((x) << 8) | (y)))_FTRUNCATE_DECLARED _LSEEK_DECLARED _MMAP_DECLARED _TRUNCATE_DECLARED  "_SYS_MMAN_H_ +INHERIT_SHARE 0,INHERIT_COPY 1-INHERIT_NONE 23PROT_NONE 0x004PROT_READ 0x015PROT_WRITE 0x026PROT_EXEC 0x04EACCES 13?EFAULT 14AENOTBLK 15CEBUSY 16DEEXIST 17EEXDEV 18FENODEV 19GENOTDIR 20HEISDIR 21IEINVAL 22JENFILE 23KEMFILE 24LENOTTY 25NETXTBSY 26PEFBIG 27QENOSPC 28RESPIPE 29SEROFS 30TEMLINK 31UEPIPE 32XEDOM 33YERANGE 34\EAGAIN 35^EWOULDBLOCK EAGAIN_EINPROGRESS 36`EALREADY 37cENOTSOCK 38dEDESTADDRREQ 39eEMSGSIZE 40fEPROTOTYPE 41gENOPROTOOPT 42hEPROTONOSUPPORT 43iESOCKTNOSUPPORT 44jEOPNOTSUPP 45kENOTSUP EOPNOTSUPPlEPFNOSUPPORT 46mEAFNOSUPPORT 47nEADDRINUSE 48oEADDRNOTAVAIL 49rENETDOWN 50sENETUNREACH 51tENETRESET 52uECONNABORTED 53vECONNRESET 54wENOBUFS 55xEISCONN 56yENOTCONN 57zESHUTDOWN 58{ETOOMANYREFS 59|ETIMEDOUT 60}ECONNREFUSED 61ELOOP 62ENAMETOOLONG 63EHOSTDOWN 64EHOSTUNREACH 65ENOTEMPTY 66EPROCLIM 67EUSERS 68EDQUOT 69ESTALE 70EREMOTE 71EBADRPC 72ERPCMISMATCH 73EPROGUNAVAIL 74EPROGMISMATCH 75EPROCUNAVAIL 76ENOLCK 77ENOSYS 78EFTYPE 79EAUTH 80ENEEDAUTH 81EIDRM 82ENOMSG 83EOVERFLOW 84ECANCELED 85EILSEQ 86ENOATTR 87EDOOFUS 88EBADMSG 89EMULTIHOP 90ENOLINK 91EPROTO 92ELAST 92% &_UNISTD_H_ *"_SYS_UNISTD_H_ 4_POSIX_ADVISORY_INFO -15_POSIX_ASYNCHRONOUS_IO 06_POSIX_CHOWN_RESTRICTED 17_POSIX_CLOCK_SELECTION -18_POSIX_CPUTIME -19_POSIX_FSYNC 200112L:_POSIX_IPV6 0;_POSIX_JOB_CONTROL 1<_POSIX_MAPPED_FILES 200112L=_POSIX_MEMLOCK -1>_POSIX_MEMLOCK_RANGE 200112L?_POSIX_MEMORY_PROTECTION 200112L@_POSIX_MESSAGE_PASSING -1A_POSIX_MONOTONIC_CLOCK -1B_POSIX_NO_TRUNC 1C_POSIX_PRIORITIZED_IO -1D_POSIX_PRIORITY_SCHEDULING 200112LE_POSIX_RAW_SOCKETS 200112LF_POSIX_REALTIME_SIGNALS -1G_POSIX_SEMAPHORES -1H_POSIX_SHARED_MEMORY_OBJECTS 200112LI_POSIX_SPORADIC_SERVER -1J_POSIX_SYNCHRONIZED_IO -1K_POSIX_TIMEOUTS -1L_POSIX_TYPED_MEMORY_OBJECTS -1M_POSIX_VDISABLE 0xffP_XOPEN_SHM 1Q_XOPEN_STREAMS -1`_POSIX_VERSION 200112LcF_OK 0dX_OK 0x01eW_OK 0x02fR_OK 0x04jSEEK_SET 0kSEEK_CUR 1lSEEK_END 2qL_SET SEEK_SETrL_INCR SEEK_CURsL_XTND SEEK_ENDw_PC_LINK_MAX 1x_PC_MAX_CANON 2y_PC_MAX_INPUT 3z_PC_NAME_MAX 4{_PC_PATH_MAX 5|_PC_PIPE_BUF 6}_PC_CHOWN_RESTRICTED 7~_PC_NO_TRUNC 8_PC_VDISABLE 9_PC_ASYNC_IO 53_PC_PRIO_IO 54_PC_SYNC_IO 55_PC_ALLOC_SIZE_MIN 10_PC_FILESIZEBITS 12_PC_REC_INCR_XFER_SIZE 14_PC_REC_MAX_XFER_SIZE 15_PC_REC_MIN_XFER_SIZE 16_PC_REC_XFER_ALIGN 17_PC_SYMLINK_MAX 18_PC_ACL_EXTENDED 59_PC_ACL_PATH_MAX 60_PC_CAP_PRESENT 61_PC_INF_PRESENT 62_PC_MAC_PRESENT 63RFNAMEG (1<<0)RFENVG (1<<1)RFFDG (1<<2)RFNOTEG (1<<3)RFPROC (1<<4)RFMEM (1<<5)RFNOWAIT (1<<6)RFCNAMEG (1<<10)RFCENVG (1<<11)RFCFDG (1<<12)RFTHREAD (1<<13)RFSIGSHARE (1<<14)RFLINUXTHPN (1<<16)RFSTOPPED (1<<17)RFHIGHPID (1<<18)RFPPWAIT (1<<31)RFKERNELONLY (RFSTOPPED | RFHIGHPID | RFPPWAIT)+ NULL ((void *)0)QSTDIN_FILENO 0RSTDOUT_FILENO 1SSTDERR_FILENO 2VF_ULOCK 0WF_LOCK 1XF_TLOCK 2YF_TEST 3j_POSIX_BARRIERS -1k_POSIX_READER_WRITER_LOCKS 200112Ll_POSIX_REGEXP 1m_POSIX_SHELL 1n_POSIX_SPAWN -1o_POSIX_SPIN_LOCKS -1p_POSIX_THREAD_ATTR_STACKADDR 200112Lq_POSIX_THREAD_ATTR_STACKSIZE 200112Lr_POSIX_THREAD_CPUTIME -1s_POSIX_THREAD_PRIO_INHERIT 200112Lt_POSIX_THREAD_PRIO_PROTECT 200112Lu_POSIX_THREAD_PRIORITY_SCHEDULING 200112Lv_POSIX_THREAD_PROCESS_SHARED -1w_POSIX_THREAD_SAFE_FUNCTIONS -1x_POSIX_THREAD_SPORADIC_SERVER -1y_POSIX_THREADS 200112Lz_POSIX_TRACE -1{_POSIX_TRACE_EVENT_FILTER -1|_POSIX_TRACE_INHERIT -1}_POSIX_TRACE_LOG -1~_POSIX2_C_BIND 200112L_POSIX2_C_DEV -1_POSIX2_CHAR_TERM 1_POSIX2_FORT_DEV -1_POSIX2_FORT_RUN 200112L_POSIX2_LOCALEDEF -1_POSIX2_PBS -1_POSIX2_PBS_ACCOUNTING -1_POSIX2_PBS_CHECKPOINT -1_POSIX2_PBS_LOCATE -1_POSIX2_PBS_MESSAGE -1_POSIX2_PBS_TRACK -1_POSIX2_SW_DEV -1_POSIX2_UPE 200112L_V6_ILP32_OFF32 -1_V6_ILP32_OFFBIG 0_V6_LP64_OFF64 0_V6_LPBIG_OFFBIG -1_XOPEN_CRYPT -1_XOPEN_ENH_I18N -1_XOPEN_LEGACY -1_XOPEN_REALTIME -1_XOPEN_REALTIME_THREADS -1_XOPEN_UNIX -1_POSIX2_VERSION 199212L_SC_ARG_MAX 1_SC_CHILD_MAX 2_SC_CLK_TCK 3_SC_NGROUPS_MAX 4_SC_OPEN_MAX 5_SC_JOB_CONTROL 6_SC_SAVED_IDS 7_SC_VERSION 8_SC_BC_BASE_MAX 9_SC_BC_DIM_MAX 10_SC_BC_SCALE_MAX 11_SC_BC_STRING_MAX 12_SC_COLL_WEIGHTS_MAX 13_SC_EXPR_NEST_MAX 14_SC_LINE_MAX 15_SC_RE_DUP_MAX 16_SC_2_VERSION 17_SC_2_C_BIND 18_SC_2_C_DEV 19_SC_2_CHAR_TERM 20_SC_2_FORT_DEV 21_SC_2_FORT_RUN 22_SC_2_LOCALEDEF 23_SC_2_SW_DEV 24_SC_2_UPE 25_SC_STREAM_MAX 26_SC_TZNAME_MAX 27_SC_ASYNCHRONOUS_IO 28_SC_MAPPED_FILES 29_SC_MEMLOCK 30_SC_MEMLOCK_RANGE 31_SC_MEMORY_PROTECTION 32_SC_MESSAGE_PASSING 33_SC_PRIORITIZED_IO 34_SC_PRIORITY_SCHEDULING 35_SC_REALTIME_SIGNALS 36_SC_SEMAPHORES 37_SC_FSYNC 38_SC_SHARED_MEMORY_OBJECTS 39_SC_SYNCHRONIZED_IO 40_SC_TIMERS 41_SC_AIO_LISTIO_MAX 42_SC_AIO_MAX 43_SC_AIO_PRIO_DELTA_MAX 44_SC_DELAYTIMER_MAX 45_SC_MQ_OPEN_MAX 46_SC_PAGESIZE 47_SC_RTSIG_MAX 48_SC_SEM_NSEMS_MAX 49_SC_SEM_VALUE_MAX 50_SC_SIGQUEUE_MAX 51_SC_TIMER_MAX 52_SC_2_PBS 59_SC_2_PBS_ACCOUNTING 60_SC_2_PBS_CHECKPOINT 61_SC_2_PBS_LOCATE 62_SC_2_PBS_MESSAGE 63_SC_2_PBS_TRACK 64_SC_ADVISORY_INFO 65_SC_BARRIERS 66_SC_CLOCK_SELECTION 67_SC_CPUTIME 68_SC_FILE_LOCKING 69_SC_GETGR_R_SIZE_MAX 70_SC_GETPW_R_SIZE_MAX 71_SC_HOST_NAME_MAX 72_SC_LOGIN_NAME_MAX 73_SC_MONOTONIC_CLOCK 74_SC_MQ_PRIO_MAX 75_SC_READER_WRITER_LOCKS 76_SC_REGEXP 77_SC_SHELL 78_SC_SPAWN 79_SC_SPIN_LOCKS 80_SC_SPORADIC_SERVER 81_SC_THREAD_ATTR_STACKADDR 82_SC_THREAD_ATTR_STACKSIZE 83_SC_THREAD_CPUTIME 84_SC_THREAD_DESTRUCTOR_ITERATIONS 85_SC_THREAD_KEYS_MAX 86_SC_THREAD_PRIO_INHERIT 87_SC_THREAD_PRIO_PROTECT 88_SC_THREAD_PRIORITY_SCHEDULING 89_SC_THREAD_PROCESS_SHARED 90_SC_THREAD_SAFE_FUNCTIONS 91_SC_THREAD_SPORADIC_SERVER 92_SC_THREAD_STACK_MIN 93_SC_THREAD_THREADS_MAX 94_SC_TIMEOUTS 95_SC_THREADS 96_SC_TRACE 97_SC_TRACE_EVENT_FILTER 98_SC_TRACE_INHERIT 99_SC_TRACE_LOG 100_SC_TTY_NAME_MAX 101_SC_TYPED_MEMORY_OBJECTS 102_SC_V6_ILP32_OFF32 103_SC_V6_ILP32_OFFBIG 104_SC_V6_LP64_OFF64 105_SC_V6_LPBIG_OFFBIG 106_SC_IPV6 118_SC_RAW_SOCKETS 119_SC_SYMLOOP_MAX 120_SC_ATEXIT_MAX 107_SC_IOV_MAX 56_SC_PAGE_SIZE _SC_PAGESIZE_SC_XOPEN_CRYPT 108_SC_XOPEN_ENH_I18N 109_SC_XOPEN_LEGACY 110_SC_XOPEN_REALTIME 111_SC_XOPEN_REALTIME_THREADS 112_SC_XOPEN_SHM 113_SC_XOPEN_STREAMS 114_SC_XOPEN_UNIX 115_SC_XOPEN_VERSION 116_SC_XOPEN_XCU_VERSION 117_SC_NPROCESSORS_CONF 57_SC_NPROCESSORS_ONLN 58_CS_PATH 1_CS_POSIX_V6_ILP32_OFF32_CFLAGS 2_CS_POSIX_V6_ILP32_OFF32_LDFLAGS 3_CS_POSIX_V6_ILP32_OFF32_LIBS 4_CS_POSIX_V6_ILP32_OFFBIG_CFLAGS 5_CS_POSIX_V6_ILP32_OFFBIG_LDFLAGS 6_CS_POSIX_V6_ILP32_OFFBIG_LIBS 7_CS_POSIX_V6_LP64_OFF64_CFLAGS 8_CS_POSIX_V6_LP64_OFF64_LDFLAGS 9_CS_POSIX_V6_LP64_OFF64_LIBS 10_CS_POSIX_V6_LPBIG_OFFBIG_CFLAGS 11_CS_POSIX_V6_LPBIG_OFFBIG_LDFLAGS 12_CS_POSIX_V6_LPBIG_OFFBIG_LIBS 13_CS_POSIX_V6_WIDTH_RESTRICTED_ENVS 14_GETOPT_DECLARED _SWAB_DECLARED _MKNOD_DECLARED _MKSTEMP_DECLARED _MKTEMP_DECLARED _SETKEY_DECLARED _OPTRESET_DECLARED ' mpm_h config_h !CONFIG_DEBUG "CHECK_DEFAULT CheckNONE6CHECK_NONE 7MPS_ASSERT_STRING "nonasserted"?EVENT_NONE @MPS_LOG_STRING "nonlogging"EDIAGNOSTICS FMPS_DEBUG_STRING "debug"LMPS_VARIETY_STRING MPS_ASSERT_STRING "." MPS_LOG_STRING "." MPS_DEBUG_STRINGRmpstd_h MPS_PF_FRI4GC MPS_PF_STRING "fri4gc"MPS_OS_FR MPS_ARCH_I4 MPS_BUILD_GC MPS_T_WORD unsigned longMPS_WORD_WIDTH 32MPS_WORD_SHIFT 5MPS_PF_ALIGN 4EPVMDefaultSubsequentSegSIZE (64ul * 1024)ARENA_CONTROL_EXTENDBY ((Size)4096)ARENA_CONTROL_AVGSIZE ((Size)32)ARENA_CONTROL_MAXSIZE ((Size)65536)ArenaPollALLOCTIME (65536.0)ARENA_ZONESHIFT ((Shift)20)ARENA_CLIENT_PAGE_SIZE ((Size)8192)ArenaDefaultZONESET (ZoneSetUNIV << (MPS_WORD_WIDTH / 2))SegPrefDEFAULT { SegPrefSig, TRUE, ArenaDefaultZONESET, FALSE, FALSE, (Serial)0, }LDHistoryLENGTH ((Size)4)StackProbeDEPTH ((Size)0)ShieldCacheSIZE ((size_t)16)ShieldDepthWIDTH (4)VMANPageALIGNMENT ((Align)4096)VMJunkBYTE ((unsigned char)0xA9)TraceLIMIT ((size_t)1)TraceCopyScanRATIO (1.5)RememberedSummaryBLOCK 15EventBufferSIZE ((size_t)4096)EventStringLengthMAX ((size_t)255)ASSERT_BUFFER_SIZE ((Size)512)MPS_PROD_STRING "dylan"MPS_PROD_DYLAN ARENA_INIT_SPARE_COMMIT_LIMIT ((Size)10uL*1024uL*1024uL)THREAD_MULTI PROTECTION DONGLE_NONE PROD_CHECK_DEFAULT CheckSHALLOWARENA_SIZE ((Size)1<<30)misc_h '_STDDEF_H_ 2_RUNE_T_DECLARED >_WCHAR_T_DECLARED Boffsetof(type,member) __offsetof(type, member)*SRCID(id,scmid) static SrcIdStruct FileSrcIdStruct = {__FILE__, (scmid), __DATE__, __TIME__}; SrcId id ## SrcId = &FileSrcIdStruct;BEGIN do {> (i)) & 1)BS_UNION(s1,s2) ((s1) | (s2))BS_ADD(ty,s,i) BS_UNION((s), BS_SINGLE(ty, (i)))BS_INTER(s1,s2) ((s1) & (s2))BS_DIFF(s1,s2) BS_INTER((s1), BS_COMP(s2))BS_DEL(ty,s,i) BS_DIFF((s), BS_SINGLE(ty, (i)))BS_SUPER(s1,s2) (BS_INTER((s1), (s2)) == (s2))BS_SUB(s1,s2) BS_SUPER((s2), (s1))BS_IS_SINGLE(s) (((s) & ((s)-1)) == 0)BS_SYM_DIFF(s1,s2) ((s1) ^ (s2))check_h mpslib_h mps_lib_EOF (mps_lib_get_EOF())mps_lib_stderr (mps_lib_get_stderr())mps_lib_stdout (mps_lib_get_stdout())0AVER(cond) DISCARD(cond)1AVERT(type,val) DISCARD(type ## Check(val))2AVER_CRITICAL(cond) DISCARD(cond)3AVERT_CRITICAL(type,val) DISCARD(type ## Check(val))MASSERT(cond,condstring) BEGIN if (cond) NOOP; else mps_lib_assert_fail(condstring "\n" __FILE__ "\n" STR(__LINE__)); END_NOTREACHED NOOPjCHECKT(type,val) ((val) != NULL && (val)->sig == type ## Sig)pCHECKS(type,val) DISCARD(CHECKT(type, val))qCHECKL(cond) DISCARD(cond)rCHECKD(type,val) DISCARD(CHECKT(type, val))sCHECKD_NOSIG(type,val) DISCARD((val) != NULL)tCHECKU(type,val) DISCARD(CHECKT(type, val))uCHECKU_NOSIG(type,val) DISCARD((val) != NULL)CHECKLVALUE(lv1,lv2) ((void)sizeof((lv1) = (lv2)), (void)sizeof((lv2) = (lv1)), TRUE)CHECKTYPE(t1,t2) (sizeof(t1) == sizeof(t2) && CHECKLVALUE(*((t1 *)0), *((t2 *)0)))CHECKFIELDAPPROX(s1,f1,s2,f2) (sizeof(((s1 *)0)->f1) == sizeof(((s2 *)0)->f2) && offsetof(s1, f1) == offsetof(s2, f2))CHECKFIELD(s1,f1,s2,f2) (CHECKFIELDAPPROX(s1, f1, s2, f2) && CHECKLVALUE(((s1 *)0)->f1, ((s2 *)0)->f2))event_h  eventcom_h  mpmtypes_h '_MACHINE_STDARG_H_ -_VA_LIST_DECLARED 3va_start(ap,last) __builtin_stdarg_start((ap), (last))6va_arg(ap,type) __builtin_va_arg((ap), type):va_copy(dest,src) __builtin_va_copy((dest), (src))>va_end(ap) __builtin_va_end(ap)SigInvalid ((Sig)0x51915BAD)SizeMAX ((Size)-1)AccessSetEMPTY ((AccessSet)0)AccessREAD ((AccessSet)(1<<0))AccessWRITE ((AccessSet)(1<<1))AccessSetWIDTH (2)RefSetEMPTY BS_EMPTY(RefSet)RefSetUNIV BS_UNIV(RefSet)ZoneSetEMPTY BS_EMPTY(ZoneSet)ZoneSetUNIV BS_UNIV(ZoneSet)TraceSetEMPTY BS_EMPTY(TraceSet)TraceSetUNIV ((TraceSet)((1u << TraceLIMIT) - 1))RankSetEMPTY BS_EMPTY(RankSet)RankSetUNIV ((RankSet)((1u << RankLIMIT) - 1))AttrFMT ((Attr)(1<<0))AttrSCAN ((Attr)(1<<1))AttrPM_NO_READ ((Attr)(1<<2))AttrPM_NO_WRITE ((Attr)(1<<3))AttrALLOC ((Attr)(1<<4))AttrFREE ((Attr)(1<<5))AttrBUF ((Attr)(1<<6))AttrBUF_RESERVE ((Attr)(1<<7))AttrBUF_ALLOC ((Attr)(1<<8))AttrGC ((Attr)(1<<9))AttrINCR_RB ((Attr)(1<<10))AttrINCR_WB ((Attr)(1<<11))AttrMOVINGGC ((Attr)(1<<12))AttrMASK (AttrFMT | AttrSCAN | AttrPM_NO_READ | AttrPM_NO_WRITE | AttrALLOC | AttrFREE | AttrBUF | AttrBUF_RESERVE | AttrBUF_ALLOC | AttrGC | AttrINCR_RB | AttrINCR_WB | AttrMOVINGGC)BufferModeATTACHED ((BufferMode)(1<<0))BufferModeFLIPPED ((BufferMode)(1<<1))BufferModeLOGGED ((BufferMode)(1<<2))BufferModeTRANSITION ((BufferMode)(1<<3))RootModeCONSTANT ((RootMode)1<<0)RootModePROTECTABLE ((RootMode)1<<1)RootModePROTECTABLE_INNER ((RootMode)1<<2)STATISTIC_DECL(field) field!EventNameMAX ((size_t)19)"EventCodeMAX ((EventCode)0x0069)&EVENT_0(type) NOOPEVENT_A(type,p0) NOOPEVENT_AW(type,p0,p1) NOOPEVENT_P(type,p0) NOOPEVENT_PAA(type,p0,p1,p2) NOOPEVENT_PAW(type,p0,p1,p2) NOOPEVENT_PAWA(type,p0,p1,p2,p3) NOOPEVENT_PDDWWW(type,p0,p1,p2,p3,p4,p5) NOOPEVENT_PP(type,p0,p1) NOOPEVENT_PPAU(type,p0,p1,p2,p3) NOOPEVENT_PPAWP(type,p0,p1,p2,p3,p4) NOOPEVENT_PPP(type,p0,p1,p2) NOOPEVENT_PPPA(type,p0,p1,p2,p3) NOOPEVENT_PPPU(type,p0,p1,p2,p3) NOOPEVENT_PPPUU(type,p0,p1,p2,p3,p4) NOOPEVENT_PPU(type,p0,p1,p2) NOOPEVENT_PPUU(type,p0,p1,p2,p3) NOOPEVENT_PPUWWW(type,p0,p1,p2,p3,p4,p5) NOOPEVENT_PPWW(type,p0,p1,p2,p3) NOOPEVENT_PPWWW(type,p0,p1,p2,p3,p4) NOOPEVENT_PPWWWUUU(type,p0,p1,p2,p3,p4,p5,p6,p7) NOOPEVENT_PU(type,p0,p1) NOOPEVENT_PW(type,p0,p1) NOOPEVENT_PWA(type,p0,p1,p2) NOOPEVENT_PWAW(type,p0,p1,p2,p3) NOOPEVENT_PWP(type,p0,p1,p2) NOOPEVENT_PWU(type,p0,p1,p2) NOOPEVENT_PWW(type,p0,p1,p2) NOOPEVENT_PWWWWDD(type,p0,p1,p2,p3,p4,p5,p6) NOOPEVENT_PWWWWW(type,p0,p1,p2,p3,p4,p5) NOOPEVENT_PWWWWWWWWW(type,p0,p1,p2,p3,p4,p5,p6,p7,p8,p9) NOOPEVENT_PWWWWWWWWWWWW(type,p0,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11,p12) NOOPEVENT_UUPA(type,p0,p1,p2,p3) NOOPEVENT_UUPP(type,p0,p1,p2,p3) NOOPEVENT_UUPPP(type,p0,p1,p2,p3,p4) NOOPEVENT_WS(type,p0,p1,l1) NOOP:EventEventTime ((EventType)0xEF213E99);EventPoolInit ((EventType)0xEFB07141)EventPoolFree ((EventType)0xEFB07F6E)?EventArenaCreateVM ((EventType)0xEFA64CF3)@EventArenaCreateVMNZ ((EventType)0xEFA64CF2)AEventArenaCreateCL ((EventType)0xEFA64CC7)BEventArenaDestroy ((EventType)0xEFA64DE5)CEventArenaAlloc ((EventType)0xEFA64A77)DEventArenaFree ((EventType)0xEFA64F6E)EEventSegAlloc ((EventType)0xEF5E9A77)FEventSegFree ((EventType)0xEF5E9F6E)GEventSegMerge ((EventType)0xEF5E93E6)HEventSegSplit ((EventType)0xEF5E95B7)IEventAMCGenCreate ((EventType)0xEFA3C94C)JEventAMCGenDestroy ((EventType)0xEFA3C94D)KEventAMCInit ((EventType)0xEFA3C141)LEventAMCFinish ((EventType)0xEFA3CF14)MEventAMCTraceBegin ((EventType)0xEFA3C26B)NEventAMCScanBegin ((EventType)0xEFA3C5CB)OEventAMCScanEnd ((EventType)0xEFA3C5CE)PEventAMCFix ((EventType)0xEFA3CF18)QEventAMCFixInPlace ((EventType)0xEFA3CF8A)REventAMCFixForward ((EventType)0xEFA3CF8F)SEventAMCReclaim ((EventType)0xEFA3C6EC)TEventTraceStart ((EventType)0xEF26AC52)UEventTraceCreate ((EventType)0xEF26ACC6)VEventTraceDestroy ((EventType)0xEF26ACDE)WEventSegSetGrey ((EventType)0xEF59596A)XEventTraceFlipBegin ((EventType)0xEF26AF7B)YEventTraceFlipEnd ((EventType)0xEF26AF7E)ZEventTraceReclaim ((EventType)0xEF26A6EC)[EventTraceScanSeg ((EventType)0xEF26A559)\EventTraceScanSingleRef ((EventType)0xEF26A556)^EventTraceAccess ((EventType)0xEF26AACC)_EventTracePoll ((EventType)0xEF26AB01)`EventTraceStep ((EventType)0xEF26A52B)aEventTraceFix ((EventType)0xEF26AF18)bEventTraceFixSeg ((EventType)0xEF26AF85)cEventTraceFixWhite ((EventType)0xEF26AF83)dEventTraceScanArea ((EventType)0xEF26A5CA)eEventTraceScanAreaTagged ((EventType)0xEF26A5C2)fEventVMCreate ((EventType)0xEFF3C6EA)gEventVMDestroy ((EventType)0xEFF3DE52)hEventVMMap ((EventType)0xEFF33AB9)iEventVMUnmap ((EventType)0xEFF3043B)jEventIntern ((EventType)0xEF142E64)kEventArenaExtend ((EventType)0xEFA64E82)lEventArenaRetract ((EventType)0xEFA646E2)mEventRootScan ((EventType)0xEF625CA4)nEventLabel ((EventType)0xEF7ABE79)oEventTraceSegGreyen ((EventType)0xEF26A599)pEventBufferReserve ((EventType)0xEFB0FF6E)qEventBufferCommit ((EventType)0xEFB0FFC0)rEventBufferInit ((EventType)0xEFB0FF14)sEventBufferInitSeg ((EventType)0xEFB0F15E)tEventBufferInitRank ((EventType)0xEFB0F16A)uEventBufferInitEPVM ((EventType)0xEFB0F1EF)vEventBufferFinish ((EventType)0xEFB0FFF1)wEventBufferFill ((EventType)0xEFB0FFF7)xEventBufferEmpty ((EventType)0xEFB0FFE3)yEventArenaAllocFail ((EventType)0xEFA64A7F)zEventSegAllocFail ((EventType)0xEF5E9A7F){EventMeterInit ((EventType)0xEF3E2141)|EventMeterValues ((EventType)0xEF3E2FA7)}EventCBSInit ((EventType)0xEFCB5141)~EventTraceStatCondemn ((EventType)0xEF26A5C0)EventTraceStatScan ((EventType)0xEF26A55C)EventTraceStatFix ((EventType)0xEF26A5F8)EventTraceStatReclaim ((EventType)0xEF26A56E)EventArenaWriteFaults ((EventType)0xEFA6436F)EventPoolInitMV ((EventType)0xEFB0713F)EventPoolInitMVFF ((EventType)0xEFB071FF)EventPoolInitMFS ((EventType)0xEFB07135)EventPoolInitEPVM ((EventType)0xEFB071EF)EventPoolInitEPDL ((EventType)0xEFB071E7)EventPoolInitAMS ((EventType)0xEFB071A5)EventPoolInitAMC ((EventType)0xEFB071AC)EventPoolInitAMCZ ((EventType)0xEFB071A2)EventPoolInitAWL ((EventType)0xEFB071A3)EventPoolInitLO ((EventType)0xEFB07170)EventPoolInitSNC ((EventType)0xEFB07154)EventPoolInitMVT ((EventType)0xEFB07132)EventPoolPush ((EventType)0xEFB07B58)EventPoolPop ((EventType)0xEFB07B0B)EventReservoirLimitSet ((EventType)0xEF6E5713)EventCommitLimitSet ((EventType)0xEFC03713)EventSpareCommitLimitSet ((EventType)0xEF5BC713)hEventInit() NOOPiEventFinish() NOOPjEventControl(r,f) (UNUSED(r), UNUSED(f), (Word)0)kEventInternString(s) (UNUSED(s), (Word)0)lEventInternGenString(l,s) (UNUSED(l), UNUSED(s), (Word)0)mEventLabelAddr(a,i) BEGIN UNUSED(a); UNUSED(i); ENDPlock_h ULockSig ((Sig)0x51970CC9) th_h  ring_h RingNONE ((Ring)0)$RingInit(ring) BEGIN Ring _ring = (ring); AVER(_ring != NULL); _ring->next = _ring; _ring->prev = _ring; AVER(RingCheck(_ring)); END/RingFinish(ring) BEGIN Ring _ring = (ring); AVER(RingCheckSingle(_ring)); _ring->next = RingNONE; _ring->prev = RingNONE; END9RingAppend(ring,new) BEGIN Ring _ring = (ring), _new = (new); AVER(RingCheck(_ring)); AVER(RingCheckSingle(_new)); _new->prev = _ring->prev; _new->next = _ring; _ring->prev->next = _new; _ring->prev = _new; ENDFRingInsert(ring,new) BEGIN Ring _ring = (ring), _new = (new); AVER(RingCheck(_ring)); AVER(RingCheckSingle(_new)); _new->prev = _ring; _new->next = _ring->next; _ring->next->prev = _new; _ring->next = _new; ENDSRingRemove(old) BEGIN Ring _old = (old); AVER(RingCheck(_old)); AVER(!RingIsSingle(_old)); _old->next->prev = _old->prev; _old->prev->next = _old->next; _old->next = _old; _old->prev = _old; END`RingNext(ring) ((ring)->next)dRingPrev(ring) ((ring)->prev)gRING_ELT(type,field,node) ((type)(void *)((char *)(node) - (size_t)(&((type)0)->field)))kRING_FOR(node,ring,next) for(node = RingNext(ring), next = RingNext(node); node != (ring); node = (next), next = RingNext(node))ThreadSig ((Sig)0x519286ED) ss_h   tract_h  ! bt_h BTSize(n) (((n) + MPS_WORD_WIDTH-1) / MPS_WORD_WIDTH * sizeof(Word))BTGet(a,i) ((Bool)(((a)[((i) >> MPS_WORD_SHIFT)] >> ((i) & ~((Word)-1 << MPS_WORD_SHIFT))) & (Word)1))BTSet(a,i) BEGIN (a)[((i)>>MPS_WORD_SHIFT)] |= (Word)1<<((i)&~((Word)-1<>MPS_WORD_SHIFT)] &= ~((Word)1 << ((i) & ~((Word)-1<base)&TractPool(tract) ((tract)->pool)'TractP(tract) ((tract)->p)(TractSetP(tract,pp) ((void)((tract)->p = (pp))))TractHasSeg(tract) ((Bool)(tract)->hasSeg)*TractSetHasSeg(tract,b) ((void)((tract)->hasSeg = (b)))+TractWhite(tract) ((tract)->white),TractSetWhite(tract,w) ((void)((tract)->white = (w)))8TRACT_SEG(segReturn,tract) (TractHasSeg(tract) && ((*(segReturn) = (Seg)TractP(tract)), TRUE));TRACT_SET_SEG(tract,seg) (TractSetHasSeg(tract, TRUE), TractSetP(tract, seg))>TRACT_UNSET_SEG(tract) (TractSetHasSeg(tract, FALSE), TractSetP(tract, NULL))nPageTract(page) (&(page)->the.tractStruct)rPageOfTract(tract) PARENT(PageStruct, the.tractStruct, (tract))vPagePool(page) ((page)->the.rest.pool)}PageIsAllocated(page) ((page)->the.rest.pool != NULL)PageType(page) ((page)->the.rest.type)ChunkSig ((Sig)0x519C804C)ChunkArena(chunk) ((chunk)->arena)ChunkPageSize(chunk) ((chunk)->pageSize)ChunkPageShift(chunk) ((chunk)->pageShift)ChunkPagesToSize(chunk,pages) ((Size)(pages) << (chunk)->pageShift)ChunkSizeToPages(chunk,size) ((Count)((size) >> (chunk)->pageShift))CHUNK_OF_ADDR(chunkReturn,arena,addr) (((arena)->chunkCache.base <= (addr) && (addr) < (arena)->chunkCache.limit) ? (*(chunkReturn) = (arena)->chunkCache.chunk, TRUE) : ChunkOfAddr(chunkReturn, arena, addr))AddrPageBase(chunk,addr) AddrAlignDown((addr), ChunkPageSize(chunk))TRACT_OF_ADDR(tractReturn,arena,addr) BEGIN Arena _arena = (arena); Addr _addr = (addr); Chunk _chunk; Index _i; if (CHUNK_OF_ADDR(&_chunk, _arena, _addr)) { _i = INDEX_OF_ADDR(_chunk, _addr); if (BTGet(_chunk->allocTable, _i)) *(tractReturn) = PageTract(&_chunk->pageTable[_i]); else *(tractReturn) = NULL; } else *(tractReturn) = NULL; ENDINDEX_OF_ADDR(chunk,addr) ((Index)ChunkSizeToPages(chunk, AddrOffset((chunk)->base, addr)))PageIndexBase(chunk,i) AddrAdd((chunk)->base, ChunkPagesToSize(chunk, i))TractAverContiguousRange(arena,rangeBase,rangeLimit) BEGIN Chunk _ch = NULL; UNUSED(_ch); AVER(ChunkOfAddr(&_ch, arena, rangeBase) && (rangeLimit) <= _ch->limit); ENDTRACT_TRACT_FOR(tract,addr,arena,firstTract,limit) tract = (firstTract); addr = TractBase(tract); TractAverContiguousRange(arena, addr, limit); for(; tract != NULL; (addr = AddrAdd(addr, (arena)->alignment)), (addr < (limit) ? (tract = PageTract(PageOfTract(tract) + 1)) : (tract = NULL) ))TRACT_FOR(tract,addr,arena,base,limit) TRACT_TRACT_FOR(tract, addr, arena, TractOfBaseAddr(arena, base), limit)"mpmst_h #protocol_h DERIVE_LOCAL(name) protocol ## nameDERIVE_STRUCT(name) name ## StructDERIVE_ENSURE(name) name ## GetDERIVE_ENSURE_OLD(name) Ensure ## nameDERIVE_ENSURE_INTERNAL(name) protocolGet ## nameDERIVE_GUARDIAN(name) protocol ## name ## GuardianDERIVE_STATIC_STORAGE(name) protocol ## name ## StructProtocolClassSetSuperclassPoly(class,super) (((ProtocolClass)(class))->superclass) = (ProtocolClass)(super)$DEFINE_CLASS(className,var) static Bool DERIVE_GUARDIAN(className) = FALSE; static DERIVE_STRUCT(className) DERIVE_STATIC_STORAGE(className); static void DERIVE_ENSURE_INTERNAL(className)(className); extern className DERIVE_ENSURE(className)(void); className DERIVE_ENSURE(className)(void) { if (DERIVE_GUARDIAN(className) == FALSE) { LockClaimGlobalRecursive(); if (DERIVE_GUARDIAN(className) == FALSE) { DERIVE_ENSURE_INTERNAL(className) (&DERIVE_STATIC_STORAGE(className)); DERIVE_GUARDIAN(className) = TRUE; } LockReleaseGlobalRecursive(); } return &DERIVE_STATIC_STORAGE(className); } extern className DERIVE_ENSURE_OLD(className)(void); className DERIVE_ENSURE_OLD(className)(void) { return DERIVE_ENSURE(className)(); } static void DERIVE_ENSURE_INTERNAL(className) (className var)AINHERIT_CLASS(this,parentName) BEGIN parentName DERIVE_LOCAL(parentName) = DERIVE_ENSURE(parentName)(); *this = *(DERIVE_LOCAL(parentName)); ProtocolClassSetSuperclassPoly(this, DERIVE_LOCAL(parentName)); ENDODEFINE_ALIAS_CLASS(className,typeName,var) typedef typeName className; typedef DERIVE_STRUCT(typeName) DERIVE_STRUCT(className); DEFINE_CLASS(className, var)VProtocolClassSig ((Sig)0x519B60C7)WProtocolInstSig ((Sig)0x519B6014)ProtocolClassSuperclassPoly(class) (((ProtocolClass)(class))->superclass)ClassOfPoly(inst) ((ProtocolInst)(inst)->class)IsSubclassPoly(sub,super) ProtocolIsSubclass((ProtocolClass)(sub), (ProtocolClass)(super))SUPERCLASS(className) ProtocolClassSuperclassPoly(DERIVE_ENSURE(className)())$chain_h GenDescSig ((Sig)0x5199E4DE)+PoolGenSig ((Sig)0x519B009E);ChainSig ((Sig)0x519C8A14)XPoolGenNr(gen) ((gen)->nr)/PoolClassSig ((Sig)0x519C7A55)]PoolSig ((Sig)0x519B0019)}MFSSig ((Sig)0x5193F599)MVSig ((Sig)0x5193B999)ReservoirSig ((Sig)0x5196e599)MessageClassSig ((Sig)0x519359c1)MessageSig ((Sig)0x5193e559)SegClassSig ((Sig)0x5195E9C7)SegSig ((Sig)0x5195E999)GCSegSig ((Sig)0x5199C5E9)SegPrefSig ((Sig)0x5195E9B6)BufferClassSig ((Sig)0x519B0FC7)BufferSig ((Sig)0x519B0FFE)SegBufSig ((Sig)0x51959B0F)FormatSig ((Sig)0x519F63A2)ScanStateSig ((Sig)0x5195CA45)TraceSig ((Sig)0x51924ACE)ChunkCacheEntrySig ((Sig)0x519C80CE)ArenaClassSig ((Sig)0x519A6C1A)GlobalsSig ((Sig)0x519970BA)ArenaSig ((Sig)0x519A6E4A)%BoolCheck(b) ((unsigned)(b) <= 1)(FUNCHECK(f) (FunCheck((Fun)f))4WordIsAligned(w,a) (((w) & ((a) - 1)) == 0)7WordAlignUp(w,a) (((w) + (a) - 1) & ~((Word)(a) - 1));WordRoundUp(w,r) (((w)+(r)-1) - ((w)+(r)-1)%(r))>WordAlignDown(w,a) ((w) & ~((Word)(a) - 1))@size_tAlignUp(s,a) ((size_t)WordAlignUp((Word)(s), a))BPointerAdd(p,s) ((void *)((char *)(p) + (s)))CPointerSub(p,s) ((void *)((char *)(p) - (s)))EPointerOffset(base,limit) ((size_t)((char *)(limit) - (char *)(base)))HPointerAlignUp(p,s) ((void *)WordAlignUp((Word)(p), (Align)(s)))KAddrAdd(p,s) ((Addr)PointerAdd((void *)(p), s))LAddrSub(p,s) ((Addr)PointerSub((void *)(p), s))NAddrOffset(b,l) ((Size)(PointerOffset((void *)(b), (void *)(l))))RAddrAlignDown(p,a) ((Addr)WordAlignDown((Word)(p), a))TAlignWord(s) ((Word)(s))VAddrIsAligned(p,a) WordIsAligned((Word)(p), a)WAddrAlignUp(p,a) ((Addr)WordAlignUp((Word)(p), a))YSizeIsAligned(s,a) WordIsAligned((Word)(s), a)ZSizeAlignUp(s,a) ((Size)WordAlignUp((Word)(s), a))[SizeAlignDown(s,a) ((Size)WordAlignDown((Word)(s), a))]SizeRoundUp(s,r) ((Size)WordRoundUp((Word)(s), (Size)(r)))_IndexIsAligned(s,a) WordIsAligned((Word)(s), a)`IndexAlignUp(s,a) ((Index)WordAlignUp((Word)(s), a))aIndexAlignDown(s,a) ((Index)WordAlignDown((Word)(s), a))cAlignIsAligned(a1,a2) WordIsAligned((Word)(a1), a2)iAddrSet(target,value,size) mps_lib_memset(target, (int)(value), size)mAddrCopy(target,source,size) mps_lib_memcpy(target, source, size)qAddrComp(a,b,size) mps_lib_memcmp(a, b, size)wADDR_PTR(type,addr) ((type *)(addr))PoolArena(pool) ((pool)->arena)PoolAlignment(pool) ((pool)->alignment)PoolSegRing(pool) (&(pool)->segRing)PoolFix(pool,ss,seg,refIO) ((*(pool)->fix)(pool, ss, seg, refIO))ClassOfPool(pool) ((pool)->class)SuperclassOfPool(pool) ((PoolClass)ProtocolClassSuperclassPoly((pool)->class))DEFINE_POOL_CLASS(className,var) DEFINE_ALIAS_CLASS(className, PoolClass, var)POOL_SUPERCLASS(className) ((PoolClass)SUPERCLASS(className))TraceSetSingle(trace) BS_SINGLE(TraceSet, (trace)->ti)TraceSetIsSingle(ts) BS_IS_SINGLE(ts)TraceSetIsMember(ts,trace) BS_IS_MEMBER(ts, (trace)->ti)TraceSetAdd(ts,trace) BS_ADD(TraceSet, ts, (trace)->ti)TraceSetDel(ts,trace) BS_DEL(TraceSet, ts, (trace)->ti)TraceSetUnion(ts1,ts2) BS_UNION(ts1, ts2)TraceSetInter(ts1,ts2) BS_INTER(ts1, ts2)TraceSetDiff(ts1,ts2) BS_DIFF(ts1, ts2)TraceSetSuper(ts1,ts2) BS_SUPER(ts1, ts2)TraceSetSub(ts1,ts2) BS_SUB(ts1, ts2)TraceSetComp(ts) BS_COMP(ts)TRACE_SET_ITER(ti,trace,ts,arena) for(ti = 0, trace = ArenaTrace(arena, ti); ti < TraceLIMIT; ++ti, trace = ArenaTrace(arena, ti)) BEGIN if (TraceSetIsMember(ts, trace)) {TRACE_SET_ITER_END(ti,trace,ts,arena) } ENDTRACE_SCAN_BEGIN(ss) BEGIN Shift SCANzoneShift = (ss)->zoneShift; ZoneSet SCANwhite = (ss)->white; RefSet SCANsummary = (ss)->unfixedSummary; Word SCANt; {TRACE_FIX1(ss,ref) (SCANt = (Word)1 << ((Word)(ref) >> SCANzoneShift & (MPS_WORD_WIDTH-1)), SCANsummary |= SCANt, SCANwhite & SCANt)TRACE_FIX2(ss,refIO) ((*(ss)->fix)(ss, refIO))TRACE_FIX(ss,refIO) (TRACE_FIX1(ss, *(refIO)) ? TRACE_FIX2(ss, refIO) : ResOK)TRACE_SCAN_END(ss) } (ss)->unfixedSummary = SCANsummary; ENDDEFINE_ARENA_CLASS(className,var) DEFINE_ALIAS_CLASS(className, ArenaClass, var)ARENA_SUPERCLASS(className) ((ArenaClass)SUPERCLASS(className))ArenaGlobals(arena) (&(arena)->globals)GlobalsArena(glob) PARENT(ArenaStruct, globals, glob)ArenaRootRing(arena) (&(arena)->rootRing)ArenaTraceRing(arena) (&(arena)->traceRing)ArenaThreadRing(arena) (&(arena)->threadRing)ArenaEpoch(arena) ((arena)->epoch)ArenaTrace(arena,ti) (&(arena)->trace[ti])ArenaZoneShift(arena) ((arena)->zoneShift)ArenaAlign(arena) ((arena)->alignment)ArenaGreyRing(arena,rank) (&(arena)->greyRing[rank])ArenaReservoir(arena) (&(arena)->reservoirStruct)DEFINE_SEG_CLASS(className,var) DEFINE_ALIAS_CLASS(className, SegClass, var)SEG_SUPERCLASS(className) ((SegClass)SUPERCLASS(className))ClassOfSeg(seg) ((seg)->class)SegBase(seg) (TractBase((seg)->firstTract))SegLimit(seg) ((seg)->limit)SegPool(seg) (TractPool((seg)->firstTract))SegRankSet(seg) ((RankSet)(seg)->rankSet)SegPM(seg) ((AccessSet)(seg)->pm)SegSM(seg) ((AccessSet)(seg)->sm)SegDepth(seg) ((unsigned)(seg)->depth)SegGrey(seg) ((TraceSet)(seg)->grey)SegWhite(seg) ((TraceSet)(seg)->white)SegNailed(seg) ((TraceSet)(seg)->nailed)SegOfPoolRing(node) (RING_ELT(Seg, poolRing, (node)))SegOfGreyRing(node) (&(RING_ELT(GCSeg, greyRing, (node)) ->segStruct))SegSummary(seg) (((GCSeg)(seg))->summary)SegSetPM(seg,mode) ((void)((seg)->pm = (mode)))SegSetSM(seg,mode) ((void)((seg)->sm = (mode)))SegSetDepth(seg,d) ((void)((seg)->depth = (d)))SegSetNailed(seg,ts) ((void)((seg)->nailed = (ts)))BUFFER_RESERVE(pReturn,buffer,size,withReservoirPermit) (AddrAdd(BufferAlloc(buffer), size) > BufferAlloc(buffer) && AddrAdd(BufferAlloc(buffer), size) <= BufferAP(buffer)->limit ? (*(pReturn) = BufferAlloc(buffer), BufferAP(buffer)->alloc = AddrAdd(BufferAlloc(buffer), size), ResOK) : BufferFill(pReturn, buffer, size, withReservoirPermit))BUFFER_COMMIT(buffer,p,size) (BufferAP(buffer)->init = BufferAlloc(buffer), BufferAP(buffer)->limit != 0 || BufferTrip(buffer, p, size))BufferAP(buffer) (&(buffer)->apStruct)BufferOfAP(ap) PARENT(BufferStruct, apStruct, ap)BufferArena(buffer) ((buffer)->arena)BufferPool(buffer) ((buffer)->pool)BufferBase(buffer) ((buffer)->base)BufferGetInit(buffer) (BufferAP(buffer)->init)BufferAlloc(buffer) (BufferAP(buffer)->alloc)BufferLimit(buffer) ((buffer)->poolLimit)DEFINE_BUFFER_CLASS(className,var) DEFINE_ALIAS_CLASS(className, BufferClass, var)BUFFER_SUPERCLASS(className) ((BufferClass)SUPERCLASS(className))RankSetIsMember(rs,r) BS_IS_MEMBER((rs), (r))RankSetSingle(r) BS_SINGLE(RankSet, (r))RankSetIsSingle(r) BS_IS_SINGLE(r)RankSetUnion(rs1,rs2) BS_UNION((rs1), (rs2))RankSetDel(rs,r) BS_DEL(RankSet, (rs), (r))AddrZone(arena,addr) (((Word)(addr) >> (arena)->zoneShift) & (MPS_WORD_WIDTH - 1))RefSetUnion(rs1,rs2) BS_UNION((rs1), (rs2))RefSetInter(rs1,rs2) BS_INTER((rs1), (rs2))RefSetDiff(rs1,rs2) BS_DIFF((rs1), (rs2))RefSetAdd(arena,rs,addr) BS_ADD(RefSet, rs, AddrZone(arena, addr))RefSetIsMember(arena,rs,addr) BS_IS_MEMBER(rs, AddrZone(arena, addr))RefSetSuper(rs1,rs2) BS_SUPER((rs1), (rs2))RefSetSub(rs1,rs2) BS_SUB((rs1), (rs2))ZoneSetUnion(zs1,zs2) BS_UNION(zs1, zs2)ZoneSetInter(zs1,zs2) BS_INTER(zs1, zs2)ZoneSetDiff(zs1,zs2) BS_DIFF(zs1, zs2)ZoneSetAdd(arena,zs,addr) BS_ADD(ZoneSet, zs, AddrZone(arena, addr))ZoneSetIsMember(arena,zs,addr) BS_IS_MEMBER(zs, AddrZone(arena, addr))ZoneSetSub(zs1,zs2) BS_SUB(zs1, zs2)ZoneSetSuper(zs1,zs2) BS_SUPER(zs1, zs2)ZoneSetComp(zs) BS_COMP(zs)STATISTIC(gather) BEGIN (gather); ENDSTATISTIC_STAT(gather) BEGIN gather; ENDSTATISTIC_WRITE(format,arg) (format), (arg),3VMSig ((Sig)0x519B3999)vmfr.cJan 17 200703:43:13$Id: //info.ravenbrook.com/project/mps/master/code/vmfr.c#7 $|  AB  AB ,AB F{. M.g. r.S.;AB DS.$ AB 0 AB < AB H AB TGAB B_. 4AB B]. MVMAlignVMCheckVMCreateVMDestroyVMBase VMLimit1VMReservedYVMMappedVMMapVMUnmap:vmfrSrcIdVMAlignunsigned intGNU C 3.4.6 [FreeBSD] 20060305VMMappedscmidshort intAlignpagesizeVMDestroyVMStructAddrStructSizebaselong long unsigned intfileVMReservedBoolWordAddrcharVMUnmapVMLimitlimitmappedlong long intVMCreateVMCheckvmfr.csize/home/hannes/dylan/mps/codeSrcIdfailReservelong intbuild_timeVMBasebuild_datelong unsigned intSrcIdStructunsigned charFileSrcIdStructaddrvmfrSrcIdsigned charshort unsigned intvmReturndoublereservedVMMapalignGCC: (GNU) 3.4.6 [FreeBSD] 20060305.symtab.strtab.shstrtab.rel.text.rel.data.bss.debug_abbrev.rel.debug_info.rel.debug_line.debug_macinfo.rodata.str1.1.rodata.str1.4.rel.rodata.rel.debug_frame.rel.debug_pubnames.rel.debug_aranges.debug_str.comment4 tP)% Ľ/4~FMB ̽VaR  b4 q2>2\> 4  d|  l0%̺ ܼ    " * 2;GLT[;e$ l0 t< H TG4vmfr.cFileSrcIdStructvmfrSrcIdVMAlignVMCheckVMCreategetpagesizemmap__errormunmapVMDestroyVMBaseVMLimitVMReservedVMMappedVMMapVMUnmap%]jy  !%*18?MT[bipw~*0;Zp~ #0=Vay7BF_jn*6 ;H     0 4H Lx |      protfr.o/ 1169001793 1001 1001 100644 59856 ` ELF L4(UMUttPE )PQÐUÍvUuuU UC% $ > $ > : ; I I&I : ;  : ; I8 < : ; I  : ;I8 : ;I8  : ; I8  : ; I 8  : ;I 8  : ;I 8  : ; ' II' ' I : ;  : ;  : ; I: ;II!I/ .? : ; ' @ : ; I 4: ; I 4: ; I!: ; I "4: ; I?  $V| Jint 8Wo  _L |m o7z;E ""$#%#&#a '# "s 2 m. Sigl ResEh lY"ou h #Y$Y%Y&Yx'W(W Ref)d Y,Y-Y .W/W(1{V 2W( 3W 4WP5WW6WM7W BT:MY;^d Y @> DM!# VE# F# RG)# HT# Iq# J#$ K3#( segL#, M#0 dN#4 O#8 sigPC#<6AWC Rad# bd# Acd# Zdd# e# f# D~<D sigC# !# 8# 4# # ,# , # j0# Q#$ s#( ~#, pad#0 ~#4 {#8F G XGsig`C#!a#~b#4c#  d#Y e#f# g#$,h#,i#0fixj=#4 ks#8Als#@ms#H ns#Pl HH2M!#V3# 4#5#6-#R7Y# 8#$ 9#(M:#,;#0<-#4c =Y#88 >#<M ?#@@#D, A#HfixB=#L: Cm#PQDx#Ts E#XF#\G#` H#d I(#hJO#lK#pL#tM#x4N#|pO#sigPC#G O O sigC# ti# 4# # # 1 # # * # I {#  {#$ {#( {#, #0 ?#4 ~ #8 #< {#@ #D #H {#L #P #T 1 {#X #\ #` #d #h #l #p  #t = #x / {#|  # 7  {# 1# #? P  * TP fix# Y# # 8# sigC# 4#  # t# #  #$ #( #, #0 #4 #8 =#< /{#@ #D 7 {#H {#L r{#PQ5 ;  4Qsig>C#4?#j @#A #B#C!# R   R^ #p#@d#  # W# S   d 8SsigC#!#4## [{#x #@d#Ad# #$#(C#,U #0>#4? T sigC#  # @d# Ad# G?# 0?#UJPkUtheh+ # SegVv|P V sigC# ~P# ! #  # A d#  W#pm "#sm "#M  #  # ##X[aNLXM!#V# #R## T# } v#$.#(y#,#0d #4-#8#<y#@#DsigC#H`ZY_eZ sig0C# 1# 2# 3# 4# gen5#E\ H\ &M!# V'E## (# )# R*# +# ,#$ -#( .#, /'#0 M0h#4 1#8 J2#< 3#@ sig4C#D^(^ oK## !p#t ~r#x t#| u ## $w##  y{# z{# |{#  }{# # ,#  # Ud#  # # # ?9##  !# # # # C# # # # c# (# )W## {# {# {# #  # p  # g## s# s# R Y# w## # j # # @# c## sigC#t_ sigBC# E# aF# Is# FJ# K# Ls# AMs#( RNs#0 Os#8 Ps#@ S#H \V#L Y#P 0Z#X ]#\ y^#d a#h d#p d $#e  g#) `hh !#~ #X^{#\{#`sigC#dQnN8 o>p{Lqr 'Nd{t28\N\bN{d Kusyd{vN Sw xN' $N $5;[dlfldd Nkd{8kk &d-kk8>Tk2_evkQ jkB kjNkVNkkddd8: 4:TNj8:_eqjL|jddd{ _ kjj j"3jk!>DYNj> djN8wN\{{d{-N\\j{68>YjdddjNkd" șNkt k  k 7N7 kRHNmN k$pH Ҏj ӵjcNjq(Nj39Oj[Z`k*l݋[޲x Nc 0N dd ;AQdd\bsdd; \dd{;5L ## + g^ e#fE#J hc_g iPJ k\f l  j\sig}C#~[ #) #!#  a   U asigC#~[ #v m  !! [  x'!-!G!G![ [ [ jl ! $sigC##/  {#!s# "s#0 ## $X!! oR"Gt !#{#X {#\[{#` Y#dX"#h  #lsigC#p R"G! #` !#I^"#X/ ^"# {# {#{#{#* {##sigC#i"/gd  eg#kw#-#### ' 7U@'dQA'dP'"RS '!EP res'"E$M 'G8=U4'F]$ 'W@VU'U]$R!f'Ux$ !p'V!s'Vx$c$'"o'9 /usr/include/usr/include/sys/usr/include/machinempm.hconfig.hmpstd.hmisc.hstddef.hcdefs.h_null.h_types.h_types.hcheck.hmpslib.hevent.heventcom.hmpmtypes.hstdarg.heventgen.hlock.hth.hring.hss.htract.hbt.hmpmst.hprotocol.hchain.hlimits.hlimits.h_limits.hsyslimits.hstdlib.htypes.hendian.h_pthreadtypes.hselect.h_sigset.h_timeval.htimespec.hmman.hprotfr.c'VV,VW: 9;Uh__STDC_HOSTED__ 1__GNUC__ 3__GNUC_MINOR__ 4__GNUC_PATCHLEVEL__ 6__SIZE_TYPE__ unsigned int__PTRDIFF_TYPE__ int__WCHAR_TYPE__ int__WINT_TYPE__ unsigned int __GXX_ABI_VERSION 1002 __SCHAR_MAX__ 127 __SHRT_MAX__ 32767 __INT_MAX__ 2147483647 __LONG_MAX__ 2147483647L__LONG_LONG_MAX__ 9223372036854775807LL__WCHAR_MAX__ 2147483647__CHAR_BIT__ 8__FLT_EVAL_METHOD__ 2__FLT_RADIX__ 2__FLT_MANT_DIG__ 24__FLT_DIG__ 6__FLT_MIN_EXP__ (-125)__FLT_MIN_10_EXP__ (-37)__FLT_MAX_EXP__ 128__FLT_MAX_10_EXP__ 38__FLT_MAX__ 3.40282347e+38F__FLT_MIN__ 1.17549435e-38F__FLT_EPSILON__ 1.19209290e-7F__FLT_DENORM_MIN__ 1.40129846e-45F__FLT_HAS_INFINITY__ 1__FLT_HAS_QUIET_NAN__ 1__DBL_MANT_DIG__ 53 __DBL_DIG__ 15!__DBL_MIN_EXP__ (-1021)"__DBL_MIN_10_EXP__ (-307)#__DBL_MAX_EXP__ 1024$__DBL_MAX_10_EXP__ 308%__DBL_MAX__ 1.7976931348623157e+308&__DBL_MIN__ 2.2250738585072014e-308'__DBL_EPSILON__ 2.2204460492503131e-16(__DBL_DENORM_MIN__ 4.9406564584124654e-324)__DBL_HAS_INFINITY__ 1*__DBL_HAS_QUIET_NAN__ 1+__LDBL_MANT_DIG__ 53,__LDBL_DIG__ 15-__LDBL_MIN_EXP__ (-16381).__LDBL_MIN_10_EXP__ (-4931)/__LDBL_MAX_EXP__ 163840__LDBL_MAX_10_EXP__ 49321__DECIMAL_DIG__ 172__LDBL_MAX__ 1.1897314953572316e+4932L3__LDBL_MIN__ 3.3621031431120935e-4932L4__LDBL_EPSILON__ 2.2204460492503131e-16L5__LDBL_DENORM_MIN__ 7.4653686412953080e-4948L6__LDBL_HAS_INFINITY__ 17__LDBL_HAS_QUIET_NAN__ 18__REGISTER_PREFIX__ 9__USER_LABEL_PREFIX__ :__VERSION__ "3.4.6 [FreeBSD] 20060305";__OPTIMIZE__ 1<__FINITE_MATH_ONLY__ 0=__STRICT_ANSI__ 1@__i386 1A__i386__ 1B__tune_i386__ 1C__FreeBSD__ 6D__unix 1E__unix__ 1F__KPRINTF_ATTRIBUTE__ 1J__FreeBSD_cc_version 602001K__ELF__ 1_REENTRANT 1CONFIG_PROD_DYLAN 1CONFIG_VAR_HI 1NDEBUG 1 mpm_h config_h !CONFIG_DEBUG "CHECK_DEFAULT CheckNONE6CHECK_NONE 7MPS_ASSERT_STRING "nonasserted"?EVENT_NONE @MPS_LOG_STRING "nonlogging"EDIAGNOSTICS FMPS_DEBUG_STRING "debug"LMPS_VARIETY_STRING MPS_ASSERT_STRING "." MPS_LOG_STRING "." MPS_DEBUG_STRINGRmpstd_h MPS_PF_FRI4GC MPS_PF_STRING "fri4gc"MPS_OS_FR MPS_ARCH_I4 MPS_BUILD_GC MPS_T_WORD unsigned longMPS_WORD_WIDTH 32MPS_WORD_SHIFT 5MPS_PF_ALIGN 4EPVMDefaultSubsequentSegSIZE (64ul * 1024)ARENA_CONTROL_EXTENDBY ((Size)4096)ARENA_CONTROL_AVGSIZE ((Size)32)ARENA_CONTROL_MAXSIZE ((Size)65536)ArenaPollALLOCTIME (65536.0)ARENA_ZONESHIFT ((Shift)20)ARENA_CLIENT_PAGE_SIZE ((Size)8192)ArenaDefaultZONESET (ZoneSetUNIV << (MPS_WORD_WIDTH / 2))SegPrefDEFAULT { SegPrefSig, TRUE, ArenaDefaultZONESET, FALSE, FALSE, (Serial)0, }LDHistoryLENGTH ((Size)4)StackProbeDEPTH ((Size)0)ShieldCacheSIZE ((size_t)16)ShieldDepthWIDTH (4)VMANPageALIGNMENT ((Align)4096)VMJunkBYTE ((unsigned char)0xA9)TraceLIMIT ((size_t)1)TraceCopyScanRATIO (1.5)RememberedSummaryBLOCK 15EventBufferSIZE ((size_t)4096)EventStringLengthMAX ((size_t)255)ASSERT_BUFFER_SIZE ((Size)512)MPS_PROD_STRING "dylan"MPS_PROD_DYLAN ARENA_INIT_SPARE_COMMIT_LIMIT ((Size)10uL*1024uL*1024uL)THREAD_MULTI PROTECTION DONGLE_NONE PROD_CHECK_DEFAULT CheckSHALLOWARENA_SIZE ((Size)1<<30)misc_h '_STDDEF_H_ )%_SYS_CDEFS_H_ +__BEGIN_DECLS ,__END_DECLS 8__GNUCLIKE_ASM 39__GNUCLIKE_MATH_BUILTIN_CONSTANTS =__GNUCLIKE___TYPEOF 1>__GNUCLIKE___OFFSETOF 1?__GNUCLIKE___SECTION 1A__GNUCLIKE_ATTRIBUTE_MODE_DI 1D__GNUCLIKE_CTOR_SECTION_HANDLING 1G__GNUCLIKE_BUILTIN_CONSTANT_P 1N__GNUCLIKE_BUILTIN_VARARGS 1O__GNUCLIKE_BUILTIN_STDARG 1P__GNUCLIKE_BUILTIN_VAALIST 1T__GNUC_VA_LIST_COMPATIBILITY 1X__GNUCLIKE_BUILTIN_NEXT_ARG 1Y__GNUCLIKE_MATH_BUILTIN_RELOPS \__GNUCLIKE_BUILTIN_MEMCPY 1___CC_SUPPORTS_INLINE 1`__CC_SUPPORTS___INLINE 1a__CC_SUPPORTS___INLINE__ 1c__CC_SUPPORTS___FUNC__ 1d__CC_SUPPORTS_WARNING 1f__CC_SUPPORTS_VARADIC_XXX 1h__CC_SUPPORTS_DYNAMIC_ARRAY_INIT 1k__CC_INT_IS_32BIT 1s__GNUC_PREREQ__(ma,mi) (__GNUC__ > (ma) || __GNUC__ == (ma) && __GNUC_MINOR__ >= (mi))__P(protos) protos__CONCAT1(x,y) x ## y__CONCAT(x,y) __CONCAT1(x,y)__STRING(x) #x__XSTRING(x) __STRING(x)__const const__signed signed__volatile volatile__dead2 __attribute__((__noreturn__))__pure2 __attribute__((__const__))__unused __attribute__((__unused__))__used __attribute__((__used__))__packed __attribute__((__packed__))__aligned(x) __attribute__((__aligned__(x)))__section(x) __attribute__((__section__(x)))__pure __attribute__((__pure__))__always_inline __attribute__((__always_inline__))__nonnull(x) __attribute__((__nonnull__(x)))__restrict __predict_true(exp) __builtin_expect((exp), 1)__predict_false(exp) __builtin_expect((exp), 0)__offsetof(type,field) ((size_t)(&((type *)0)->field))__rangeof(type,start,end) (__offsetof(type, end) - __offsetof(type, start))__printflike(fmtarg,firstvararg) __attribute__((__format__ (__printf__, fmtarg, firstvararg)))__scanflike(fmtarg,firstvararg) __attribute__((__format__ (__scanf__, fmtarg, firstvararg)))__format_arg(fmtarg) __attribute__((__format_arg__ (fmtarg)))__printf0like(fmtarg,firstvararg) __attribute__((__format__ (__printf0__, fmtarg, firstvararg)))__strong_reference(sym,aliassym) extern __typeof (sym) aliassym __attribute__ ((__alias__ (#sym)));__weak_reference(sym,alias) __asm__(".weak " #alias); __asm__(".equ " #alias ", " #sym)__warn_references(sym,msg) __asm__(".section .gnu.warning." #sym); __asm__(".asciz \"" msg "\""); __asm__(".previous")__IDSTRING(name,string) __asm__(".ident\t\"" string "\"")__FBSDID(s) __IDSTRING(__CONCAT(__rcsid_,__LINE__),s)__RCSID(s) __IDSTRING(__CONCAT(__rcsid_,__LINE__),s)__RCSID_SOURCE(s) __IDSTRING(__CONCAT(__rcsid_source_,__LINE__),s)__SCCSID(s) __IDSTRING(__CONCAT(__sccsid_,__LINE__),s)__COPYRIGHT(s) __IDSTRING(__CONCAT(__copyright_,__LINE__),s)__DECONST(type,var) ((type)(uintptr_t)(const void *)(var))__DEVOLATILE(type,var) ((type)(uintptr_t)(volatile void *)(var))__DEQUALIFY(type,var) ((type)(uintptr_t)(const volatile void *)(var))__POSIX_VISIBLE 200112__XSI_VISIBLE 600__BSD_VISIBLE 1__ISO_C_VISIBLE 1999* NULL ((void *)0)+_SYS__TYPES_H_ ! (_MACHINE__TYPES_H_ .__NO_STRICT_ALIGNMENT __GNUC_VA_LIST 2_RUNE_T_DECLARED 8_SIZE_T_DECLARED >_WCHAR_T_DECLARED Boffsetof(type,member) __offsetof(type, member)*SRCID(id,scmid) static SrcIdStruct FileSrcIdStruct = {__FILE__, (scmid), __DATE__, __TIME__}; SrcId id ## SrcId = &FileSrcIdStruct;BEGIN do {> (i)) & 1)BS_UNION(s1,s2) ((s1) | (s2))BS_ADD(ty,s,i) BS_UNION((s), BS_SINGLE(ty, (i)))BS_INTER(s1,s2) ((s1) & (s2))BS_DIFF(s1,s2) BS_INTER((s1), BS_COMP(s2))BS_DEL(ty,s,i) BS_DIFF((s), BS_SINGLE(ty, (i)))BS_SUPER(s1,s2) (BS_INTER((s1), (s2)) == (s2))BS_SUB(s1,s2) BS_SUPER((s2), (s1))BS_IS_SINGLE(s) (((s) & ((s)-1)) == 0)BS_SYM_DIFF(s1,s2) ((s1) ^ (s2)) check_h  mpslib_h mps_lib_EOF (mps_lib_get_EOF())mps_lib_stderr (mps_lib_get_stderr())mps_lib_stdout (mps_lib_get_stdout())0AVER(cond) DISCARD(cond)1AVERT(type,val) DISCARD(type ## Check(val))2AVER_CRITICAL(cond) DISCARD(cond)3AVERT_CRITICAL(type,val) DISCARD(type ## Check(val))MASSERT(cond,condstring) BEGIN if (cond) NOOP; else mps_lib_assert_fail(condstring "\n" __FILE__ "\n" STR(__LINE__)); END_NOTREACHED NOOPjCHECKT(type,val) ((val) != NULL && (val)->sig == type ## Sig)pCHECKS(type,val) DISCARD(CHECKT(type, val))qCHECKL(cond) DISCARD(cond)rCHECKD(type,val) DISCARD(CHECKT(type, val))sCHECKD_NOSIG(type,val) DISCARD((val) != NULL)tCHECKU(type,val) DISCARD(CHECKT(type, val))uCHECKU_NOSIG(type,val) DISCARD((val) != NULL)CHECKLVALUE(lv1,lv2) ((void)sizeof((lv1) = (lv2)), (void)sizeof((lv2) = (lv1)), TRUE)CHECKTYPE(t1,t2) (sizeof(t1) == sizeof(t2) && CHECKLVALUE(*((t1 *)0), *((t2 *)0)))CHECKFIELDAPPROX(s1,f1,s2,f2) (sizeof(((s1 *)0)->f1) == sizeof(((s2 *)0)->f2) && offsetof(s1, f1) == offsetof(s2, f2))CHECKFIELD(s1,f1,s2,f2) (CHECKFIELDAPPROX(s1, f1, s2, f2) && CHECKLVALUE(((s1 *)0)->f1, ((s2 *)0)->f2)) event_h   eventcom_h  mpmtypes_h '_MACHINE_STDARG_H_ -_VA_LIST_DECLARED 3va_start(ap,last) __builtin_stdarg_start((ap), (last))6va_arg(ap,type) __builtin_va_arg((ap), type):va_copy(dest,src) __builtin_va_copy((dest), (src))>va_end(ap) __builtin_va_end(ap)SigInvalid ((Sig)0x51915BAD)SizeMAX ((Size)-1)AccessSetEMPTY ((AccessSet)0)AccessREAD ((AccessSet)(1<<0))AccessWRITE ((AccessSet)(1<<1))AccessSetWIDTH (2)RefSetEMPTY BS_EMPTY(RefSet)RefSetUNIV BS_UNIV(RefSet)ZoneSetEMPTY BS_EMPTY(ZoneSet)ZoneSetUNIV BS_UNIV(ZoneSet)TraceSetEMPTY BS_EMPTY(TraceSet)TraceSetUNIV ((TraceSet)((1u << TraceLIMIT) - 1))RankSetEMPTY BS_EMPTY(RankSet)RankSetUNIV ((RankSet)((1u << RankLIMIT) - 1))AttrFMT ((Attr)(1<<0))AttrSCAN ((Attr)(1<<1))AttrPM_NO_READ ((Attr)(1<<2))AttrPM_NO_WRITE ((Attr)(1<<3))AttrALLOC ((Attr)(1<<4))AttrFREE ((Attr)(1<<5))AttrBUF ((Attr)(1<<6))AttrBUF_RESERVE ((Attr)(1<<7))AttrBUF_ALLOC ((Attr)(1<<8))AttrGC ((Attr)(1<<9))AttrINCR_RB ((Attr)(1<<10))AttrINCR_WB ((Attr)(1<<11))AttrMOVINGGC ((Attr)(1<<12))AttrMASK (AttrFMT | AttrSCAN | AttrPM_NO_READ | AttrPM_NO_WRITE | AttrALLOC | AttrFREE | AttrBUF | AttrBUF_RESERVE | AttrBUF_ALLOC | AttrGC | AttrINCR_RB | AttrINCR_WB | AttrMOVINGGC)BufferModeATTACHED ((BufferMode)(1<<0))BufferModeFLIPPED ((BufferMode)(1<<1))BufferModeLOGGED ((BufferMode)(1<<2))BufferModeTRANSITION ((BufferMode)(1<<3))RootModeCONSTANT ((RootMode)1<<0)RootModePROTECTABLE ((RootMode)1<<1)RootModePROTECTABLE_INNER ((RootMode)1<<2)STATISTIC_DECL(field) field!EventNameMAX ((size_t)19)"EventCodeMAX ((EventCode)0x0069)&EVENT_0(type) NOOPEVENT_A(type,p0) NOOPEVENT_AW(type,p0,p1) NOOPEVENT_P(type,p0) NOOPEVENT_PAA(type,p0,p1,p2) NOOPEVENT_PAW(type,p0,p1,p2) NOOPEVENT_PAWA(type,p0,p1,p2,p3) NOOPEVENT_PDDWWW(type,p0,p1,p2,p3,p4,p5) NOOPEVENT_PP(type,p0,p1) NOOPEVENT_PPAU(type,p0,p1,p2,p3) NOOPEVENT_PPAWP(type,p0,p1,p2,p3,p4) NOOPEVENT_PPP(type,p0,p1,p2) NOOPEVENT_PPPA(type,p0,p1,p2,p3) NOOPEVENT_PPPU(type,p0,p1,p2,p3) NOOPEVENT_PPPUU(type,p0,p1,p2,p3,p4) NOOPEVENT_PPU(type,p0,p1,p2) NOOPEVENT_PPUU(type,p0,p1,p2,p3) NOOPEVENT_PPUWWW(type,p0,p1,p2,p3,p4,p5) NOOPEVENT_PPWW(type,p0,p1,p2,p3) NOOPEVENT_PPWWW(type,p0,p1,p2,p3,p4) NOOPEVENT_PPWWWUUU(type,p0,p1,p2,p3,p4,p5,p6,p7) NOOPEVENT_PU(type,p0,p1) NOOPEVENT_PW(type,p0,p1) NOOPEVENT_PWA(type,p0,p1,p2) NOOPEVENT_PWAW(type,p0,p1,p2,p3) NOOPEVENT_PWP(type,p0,p1,p2) NOOPEVENT_PWU(type,p0,p1,p2) NOOPEVENT_PWW(type,p0,p1,p2) NOOPEVENT_PWWWWDD(type,p0,p1,p2,p3,p4,p5,p6) NOOPEVENT_PWWWWW(type,p0,p1,p2,p3,p4,p5) NOOPEVENT_PWWWWWWWWW(type,p0,p1,p2,p3,p4,p5,p6,p7,p8,p9) NOOPEVENT_PWWWWWWWWWWWW(type,p0,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11,p12) NOOPEVENT_UUPA(type,p0,p1,p2,p3) NOOPEVENT_UUPP(type,p0,p1,p2,p3) NOOPEVENT_UUPPP(type,p0,p1,p2,p3,p4) NOOPEVENT_WS(type,p0,p1,l1) NOOP:EventEventTime ((EventType)0xEF213E99);EventPoolInit ((EventType)0xEFB07141)EventPoolFree ((EventType)0xEFB07F6E)?EventArenaCreateVM ((EventType)0xEFA64CF3)@EventArenaCreateVMNZ ((EventType)0xEFA64CF2)AEventArenaCreateCL ((EventType)0xEFA64CC7)BEventArenaDestroy ((EventType)0xEFA64DE5)CEventArenaAlloc ((EventType)0xEFA64A77)DEventArenaFree ((EventType)0xEFA64F6E)EEventSegAlloc ((EventType)0xEF5E9A77)FEventSegFree ((EventType)0xEF5E9F6E)GEventSegMerge ((EventType)0xEF5E93E6)HEventSegSplit ((EventType)0xEF5E95B7)IEventAMCGenCreate ((EventType)0xEFA3C94C)JEventAMCGenDestroy ((EventType)0xEFA3C94D)KEventAMCInit ((EventType)0xEFA3C141)LEventAMCFinish ((EventType)0xEFA3CF14)MEventAMCTraceBegin ((EventType)0xEFA3C26B)NEventAMCScanBegin ((EventType)0xEFA3C5CB)OEventAMCScanEnd ((EventType)0xEFA3C5CE)PEventAMCFix ((EventType)0xEFA3CF18)QEventAMCFixInPlace ((EventType)0xEFA3CF8A)REventAMCFixForward ((EventType)0xEFA3CF8F)SEventAMCReclaim ((EventType)0xEFA3C6EC)TEventTraceStart ((EventType)0xEF26AC52)UEventTraceCreate ((EventType)0xEF26ACC6)VEventTraceDestroy ((EventType)0xEF26ACDE)WEventSegSetGrey ((EventType)0xEF59596A)XEventTraceFlipBegin ((EventType)0xEF26AF7B)YEventTraceFlipEnd ((EventType)0xEF26AF7E)ZEventTraceReclaim ((EventType)0xEF26A6EC)[EventTraceScanSeg ((EventType)0xEF26A559)\EventTraceScanSingleRef ((EventType)0xEF26A556)^EventTraceAccess ((EventType)0xEF26AACC)_EventTracePoll ((EventType)0xEF26AB01)`EventTraceStep ((EventType)0xEF26A52B)aEventTraceFix ((EventType)0xEF26AF18)bEventTraceFixSeg ((EventType)0xEF26AF85)cEventTraceFixWhite ((EventType)0xEF26AF83)dEventTraceScanArea ((EventType)0xEF26A5CA)eEventTraceScanAreaTagged ((EventType)0xEF26A5C2)fEventVMCreate ((EventType)0xEFF3C6EA)gEventVMDestroy ((EventType)0xEFF3DE52)hEventVMMap ((EventType)0xEFF33AB9)iEventVMUnmap ((EventType)0xEFF3043B)jEventIntern ((EventType)0xEF142E64)kEventArenaExtend ((EventType)0xEFA64E82)lEventArenaRetract ((EventType)0xEFA646E2)mEventRootScan ((EventType)0xEF625CA4)nEventLabel ((EventType)0xEF7ABE79)oEventTraceSegGreyen ((EventType)0xEF26A599)pEventBufferReserve ((EventType)0xEFB0FF6E)qEventBufferCommit ((EventType)0xEFB0FFC0)rEventBufferInit ((EventType)0xEFB0FF14)sEventBufferInitSeg ((EventType)0xEFB0F15E)tEventBufferInitRank ((EventType)0xEFB0F16A)uEventBufferInitEPVM ((EventType)0xEFB0F1EF)vEventBufferFinish ((EventType)0xEFB0FFF1)wEventBufferFill ((EventType)0xEFB0FFF7)xEventBufferEmpty ((EventType)0xEFB0FFE3)yEventArenaAllocFail ((EventType)0xEFA64A7F)zEventSegAllocFail ((EventType)0xEF5E9A7F){EventMeterInit ((EventType)0xEF3E2141)|EventMeterValues ((EventType)0xEF3E2FA7)}EventCBSInit ((EventType)0xEFCB5141)~EventTraceStatCondemn ((EventType)0xEF26A5C0)EventTraceStatScan ((EventType)0xEF26A55C)EventTraceStatFix ((EventType)0xEF26A5F8)EventTraceStatReclaim ((EventType)0xEF26A56E)EventArenaWriteFaults ((EventType)0xEFA6436F)EventPoolInitMV ((EventType)0xEFB0713F)EventPoolInitMVFF ((EventType)0xEFB071FF)EventPoolInitMFS ((EventType)0xEFB07135)EventPoolInitEPVM ((EventType)0xEFB071EF)EventPoolInitEPDL ((EventType)0xEFB071E7)EventPoolInitAMS ((EventType)0xEFB071A5)EventPoolInitAMC ((EventType)0xEFB071AC)EventPoolInitAMCZ ((EventType)0xEFB071A2)EventPoolInitAWL ((EventType)0xEFB071A3)EventPoolInitLO ((EventType)0xEFB07170)EventPoolInitSNC ((EventType)0xEFB07154)EventPoolInitMVT ((EventType)0xEFB07132)EventPoolPush ((EventType)0xEFB07B58)EventPoolPop ((EventType)0xEFB07B0B)EventReservoirLimitSet ((EventType)0xEF6E5713)EventCommitLimitSet ((EventType)0xEFC03713)EventSpareCommitLimitSet ((EventType)0xEF5BC713)hEventInit() NOOPiEventFinish() NOOPjEventControl(r,f) (UNUSED(r), UNUSED(f), (Word)0)kEventInternString(s) (UNUSED(s), (Word)0)lEventInternGenString(l,s) (UNUSED(l), UNUSED(s), (Word)0)mEventLabelAddr(a,i) BEGIN UNUSED(a); UNUSED(i); ENDPlock_h ULockSig ((Sig)0x51970CC9) th_h  ring_h RingNONE ((Ring)0)$RingInit(ring) BEGIN Ring _ring = (ring); AVER(_ring != NULL); _ring->next = _ring; _ring->prev = _ring; AVER(RingCheck(_ring)); END/RingFinish(ring) BEGIN Ring _ring = (ring); AVER(RingCheckSingle(_ring)); _ring->next = RingNONE; _ring->prev = RingNONE; END9RingAppend(ring,new) BEGIN Ring _ring = (ring), _new = (new); AVER(RingCheck(_ring)); AVER(RingCheckSingle(_new)); _new->prev = _ring->prev; _new->next = _ring; _ring->prev->next = _new; _ring->prev = _new; ENDFRingInsert(ring,new) BEGIN Ring _ring = (ring), _new = (new); AVER(RingCheck(_ring)); AVER(RingCheckSingle(_new)); _new->prev = _ring; _new->next = _ring->next; _ring->next->prev = _new; _ring->next = _new; ENDSRingRemove(old) BEGIN Ring _old = (old); AVER(RingCheck(_old)); AVER(!RingIsSingle(_old)); _old->next->prev = _old->prev; _old->prev->next = _old->next; _old->next = _old; _old->prev = _old; END`RingNext(ring) ((ring)->next)dRingPrev(ring) ((ring)->prev)gRING_ELT(type,field,node) ((type)(void *)((char *)(node) - (size_t)(&((type)0)->field)))kRING_FOR(node,ring,next) for(node = RingNext(ring), next = RingNext(node); node != (ring); node = (next), next = RingNext(node))ThreadSig ((Sig)0x519286ED) ss_h  tract_h   bt_h BTSize(n) (((n) + MPS_WORD_WIDTH-1) / MPS_WORD_WIDTH * sizeof(Word))BTGet(a,i) ((Bool)(((a)[((i) >> MPS_WORD_SHIFT)] >> ((i) & ~((Word)-1 << MPS_WORD_SHIFT))) & (Word)1))BTSet(a,i) BEGIN (a)[((i)>>MPS_WORD_SHIFT)] |= (Word)1<<((i)&~((Word)-1<>MPS_WORD_SHIFT)] &= ~((Word)1 << ((i) & ~((Word)-1<base)&TractPool(tract) ((tract)->pool)'TractP(tract) ((tract)->p)(TractSetP(tract,pp) ((void)((tract)->p = (pp))))TractHasSeg(tract) ((Bool)(tract)->hasSeg)*TractSetHasSeg(tract,b) ((void)((tract)->hasSeg = (b)))+TractWhite(tract) ((tract)->white),TractSetWhite(tract,w) ((void)((tract)->white = (w)))8TRACT_SEG(segReturn,tract) (TractHasSeg(tract) && ((*(segReturn) = (Seg)TractP(tract)), TRUE));TRACT_SET_SEG(tract,seg) (TractSetHasSeg(tract, TRUE), TractSetP(tract, seg))>TRACT_UNSET_SEG(tract) (TractSetHasSeg(tract, FALSE), TractSetP(tract, NULL))nPageTract(page) (&(page)->the.tractStruct)rPageOfTract(tract) PARENT(PageStruct, the.tractStruct, (tract))vPagePool(page) ((page)->the.rest.pool)}PageIsAllocated(page) ((page)->the.rest.pool != NULL)PageType(page) ((page)->the.rest.type)ChunkSig ((Sig)0x519C804C)ChunkArena(chunk) ((chunk)->arena)ChunkPageSize(chunk) ((chunk)->pageSize)ChunkPageShift(chunk) ((chunk)->pageShift)ChunkPagesToSize(chunk,pages) ((Size)(pages) << (chunk)->pageShift)ChunkSizeToPages(chunk,size) ((Count)((size) >> (chunk)->pageShift))CHUNK_OF_ADDR(chunkReturn,arena,addr) (((arena)->chunkCache.base <= (addr) && (addr) < (arena)->chunkCache.limit) ? (*(chunkReturn) = (arena)->chunkCache.chunk, TRUE) : ChunkOfAddr(chunkReturn, arena, addr))AddrPageBase(chunk,addr) AddrAlignDown((addr), ChunkPageSize(chunk))TRACT_OF_ADDR(tractReturn,arena,addr) BEGIN Arena _arena = (arena); Addr _addr = (addr); Chunk _chunk; Index _i; if (CHUNK_OF_ADDR(&_chunk, _arena, _addr)) { _i = INDEX_OF_ADDR(_chunk, _addr); if (BTGet(_chunk->allocTable, _i)) *(tractReturn) = PageTract(&_chunk->pageTable[_i]); else *(tractReturn) = NULL; } else *(tractReturn) = NULL; ENDINDEX_OF_ADDR(chunk,addr) ((Index)ChunkSizeToPages(chunk, AddrOffset((chunk)->base, addr)))PageIndexBase(chunk,i) AddrAdd((chunk)->base, ChunkPagesToSize(chunk, i))TractAverContiguousRange(arena,rangeBase,rangeLimit) BEGIN Chunk _ch = NULL; UNUSED(_ch); AVER(ChunkOfAddr(&_ch, arena, rangeBase) && (rangeLimit) <= _ch->limit); ENDTRACT_TRACT_FOR(tract,addr,arena,firstTract,limit) tract = (firstTract); addr = TractBase(tract); TractAverContiguousRange(arena, addr, limit); for(; tract != NULL; (addr = AddrAdd(addr, (arena)->alignment)), (addr < (limit) ? (tract = PageTract(PageOfTract(tract) + 1)) : (tract = NULL) ))TRACT_FOR(tract,addr,arena,base,limit) TRACT_TRACT_FOR(tract, addr, arena, TractOfBaseAddr(arena, base), limit)mpmst_h protocol_h DERIVE_LOCAL(name) protocol ## nameDERIVE_STRUCT(name) name ## StructDERIVE_ENSURE(name) name ## GetDERIVE_ENSURE_OLD(name) Ensure ## nameDERIVE_ENSURE_INTERNAL(name) protocolGet ## nameDERIVE_GUARDIAN(name) protocol ## name ## GuardianDERIVE_STATIC_STORAGE(name) protocol ## name ## StructProtocolClassSetSuperclassPoly(class,super) (((ProtocolClass)(class))->superclass) = (ProtocolClass)(super)$DEFINE_CLASS(className,var) static Bool DERIVE_GUARDIAN(className) = FALSE; static DERIVE_STRUCT(className) DERIVE_STATIC_STORAGE(className); static void DERIVE_ENSURE_INTERNAL(className)(className); extern className DERIVE_ENSURE(className)(void); className DERIVE_ENSURE(className)(void) { if (DERIVE_GUARDIAN(className) == FALSE) { LockClaimGlobalRecursive(); if (DERIVE_GUARDIAN(className) == FALSE) { DERIVE_ENSURE_INTERNAL(className) (&DERIVE_STATIC_STORAGE(className)); DERIVE_GUARDIAN(className) = TRUE; } LockReleaseGlobalRecursive(); } return &DERIVE_STATIC_STORAGE(className); } extern className DERIVE_ENSURE_OLD(className)(void); className DERIVE_ENSURE_OLD(className)(void) { return DERIVE_ENSURE(className)(); } static void DERIVE_ENSURE_INTERNAL(className) (className var)AINHERIT_CLASS(this,parentName) BEGIN parentName DERIVE_LOCAL(parentName) = DERIVE_ENSURE(parentName)(); *this = *(DERIVE_LOCAL(parentName)); ProtocolClassSetSuperclassPoly(this, DERIVE_LOCAL(parentName)); ENDODEFINE_ALIAS_CLASS(className,typeName,var) typedef typeName className; typedef DERIVE_STRUCT(typeName) DERIVE_STRUCT(className); DEFINE_CLASS(className, var)VProtocolClassSig ((Sig)0x519B60C7)WProtocolInstSig ((Sig)0x519B6014)ProtocolClassSuperclassPoly(class) (((ProtocolClass)(class))->superclass)ClassOfPoly(inst) ((ProtocolInst)(inst)->class)IsSubclassPoly(sub,super) ProtocolIsSubclass((ProtocolClass)(sub), (ProtocolClass)(super))SUPERCLASS(className) ProtocolClassSuperclassPoly(DERIVE_ENSURE(className)())chain_h GenDescSig ((Sig)0x5199E4DE)+PoolGenSig ((Sig)0x519B009E);ChainSig ((Sig)0x519C8A14)XPoolGenNr(gen) ((gen)->nr)/PoolClassSig ((Sig)0x519C7A55)]PoolSig ((Sig)0x519B0019)}MFSSig ((Sig)0x5193F599)MVSig ((Sig)0x5193B999)ReservoirSig ((Sig)0x5196e599)MessageClassSig ((Sig)0x519359c1)MessageSig ((Sig)0x5193e559)SegClassSig ((Sig)0x5195E9C7)SegSig ((Sig)0x5195E999)GCSegSig ((Sig)0x5199C5E9)SegPrefSig ((Sig)0x5195E9B6)BufferClassSig ((Sig)0x519B0FC7)BufferSig ((Sig)0x519B0FFE)SegBufSig ((Sig)0x51959B0F)FormatSig ((Sig)0x519F63A2)ScanStateSig ((Sig)0x5195CA45)TraceSig ((Sig)0x51924ACE)ChunkCacheEntrySig ((Sig)0x519C80CE)ArenaClassSig ((Sig)0x519A6C1A)GlobalsSig ((Sig)0x519970BA)ArenaSig ((Sig)0x519A6E4A)%BoolCheck(b) ((unsigned)(b) <= 1)(FUNCHECK(f) (FunCheck((Fun)f))4WordIsAligned(w,a) (((w) & ((a) - 1)) == 0)7WordAlignUp(w,a) (((w) + (a) - 1) & ~((Word)(a) - 1));WordRoundUp(w,r) (((w)+(r)-1) - ((w)+(r)-1)%(r))>WordAlignDown(w,a) ((w) & ~((Word)(a) - 1))@size_tAlignUp(s,a) ((size_t)WordAlignUp((Word)(s), a))BPointerAdd(p,s) ((void *)((char *)(p) + (s)))CPointerSub(p,s) ((void *)((char *)(p) - (s)))EPointerOffset(base,limit) ((size_t)((char *)(limit) - (char *)(base)))HPointerAlignUp(p,s) ((void *)WordAlignUp((Word)(p), (Align)(s)))KAddrAdd(p,s) ((Addr)PointerAdd((void *)(p), s))LAddrSub(p,s) ((Addr)PointerSub((void *)(p), s))NAddrOffset(b,l) ((Size)(PointerOffset((void *)(b), (void *)(l))))RAddrAlignDown(p,a) ((Addr)WordAlignDown((Word)(p), a))TAlignWord(s) ((Word)(s))VAddrIsAligned(p,a) WordIsAligned((Word)(p), a)WAddrAlignUp(p,a) ((Addr)WordAlignUp((Word)(p), a))YSizeIsAligned(s,a) WordIsAligned((Word)(s), a)ZSizeAlignUp(s,a) ((Size)WordAlignUp((Word)(s), a))[SizeAlignDown(s,a) ((Size)WordAlignDown((Word)(s), a))]SizeRoundUp(s,r) ((Size)WordRoundUp((Word)(s), (Size)(r)))_IndexIsAligned(s,a) WordIsAligned((Word)(s), a)`IndexAlignUp(s,a) ((Index)WordAlignUp((Word)(s), a))aIndexAlignDown(s,a) ((Index)WordAlignDown((Word)(s), a))cAlignIsAligned(a1,a2) WordIsAligned((Word)(a1), a2)iAddrSet(target,value,size) mps_lib_memset(target, (int)(value), size)mAddrCopy(target,source,size) mps_lib_memcpy(target, source, size)qAddrComp(a,b,size) mps_lib_memcmp(a, b, size)wADDR_PTR(type,addr) ((type *)(addr))PoolArena(pool) ((pool)->arena)PoolAlignment(pool) ((pool)->alignment)PoolSegRing(pool) (&(pool)->segRing)PoolFix(pool,ss,seg,refIO) ((*(pool)->fix)(pool, ss, seg, refIO))ClassOfPool(pool) ((pool)->class)SuperclassOfPool(pool) ((PoolClass)ProtocolClassSuperclassPoly((pool)->class))DEFINE_POOL_CLASS(className,var) DEFINE_ALIAS_CLASS(className, PoolClass, var)POOL_SUPERCLASS(className) ((PoolClass)SUPERCLASS(className))TraceSetSingle(trace) BS_SINGLE(TraceSet, (trace)->ti)TraceSetIsSingle(ts) BS_IS_SINGLE(ts)TraceSetIsMember(ts,trace) BS_IS_MEMBER(ts, (trace)->ti)TraceSetAdd(ts,trace) BS_ADD(TraceSet, ts, (trace)->ti)TraceSetDel(ts,trace) BS_DEL(TraceSet, ts, (trace)->ti)TraceSetUnion(ts1,ts2) BS_UNION(ts1, ts2)TraceSetInter(ts1,ts2) BS_INTER(ts1, ts2)TraceSetDiff(ts1,ts2) BS_DIFF(ts1, ts2)TraceSetSuper(ts1,ts2) BS_SUPER(ts1, ts2)TraceSetSub(ts1,ts2) BS_SUB(ts1, ts2)TraceSetComp(ts) BS_COMP(ts)TRACE_SET_ITER(ti,trace,ts,arena) for(ti = 0, trace = ArenaTrace(arena, ti); ti < TraceLIMIT; ++ti, trace = ArenaTrace(arena, ti)) BEGIN if (TraceSetIsMember(ts, trace)) {TRACE_SET_ITER_END(ti,trace,ts,arena) } ENDTRACE_SCAN_BEGIN(ss) BEGIN Shift SCANzoneShift = (ss)->zoneShift; ZoneSet SCANwhite = (ss)->white; RefSet SCANsummary = (ss)->unfixedSummary; Word SCANt; {TRACE_FIX1(ss,ref) (SCANt = (Word)1 << ((Word)(ref) >> SCANzoneShift & (MPS_WORD_WIDTH-1)), SCANsummary |= SCANt, SCANwhite & SCANt)TRACE_FIX2(ss,refIO) ((*(ss)->fix)(ss, refIO))TRACE_FIX(ss,refIO) (TRACE_FIX1(ss, *(refIO)) ? TRACE_FIX2(ss, refIO) : ResOK)TRACE_SCAN_END(ss) } (ss)->unfixedSummary = SCANsummary; ENDDEFINE_ARENA_CLASS(className,var) DEFINE_ALIAS_CLASS(className, ArenaClass, var)ARENA_SUPERCLASS(className) ((ArenaClass)SUPERCLASS(className))ArenaGlobals(arena) (&(arena)->globals)GlobalsArena(glob) PARENT(ArenaStruct, globals, glob)ArenaRootRing(arena) (&(arena)->rootRing)ArenaTraceRing(arena) (&(arena)->traceRing)ArenaThreadRing(arena) (&(arena)->threadRing)ArenaEpoch(arena) ((arena)->epoch)ArenaTrace(arena,ti) (&(arena)->trace[ti])ArenaZoneShift(arena) ((arena)->zoneShift)ArenaAlign(arena) ((arena)->alignment)ArenaGreyRing(arena,rank) (&(arena)->greyRing[rank])ArenaReservoir(arena) (&(arena)->reservoirStruct)DEFINE_SEG_CLASS(className,var) DEFINE_ALIAS_CLASS(className, SegClass, var)SEG_SUPERCLASS(className) ((SegClass)SUPERCLASS(className))ClassOfSeg(seg) ((seg)->class)SegBase(seg) (TractBase((seg)->firstTract))SegLimit(seg) ((seg)->limit)SegPool(seg) (TractPool((seg)->firstTract))SegRankSet(seg) ((RankSet)(seg)->rankSet)SegPM(seg) ((AccessSet)(seg)->pm)SegSM(seg) ((AccessSet)(seg)->sm)SegDepth(seg) ((unsigned)(seg)->depth)SegGrey(seg) ((TraceSet)(seg)->grey)SegWhite(seg) ((TraceSet)(seg)->white)SegNailed(seg) ((TraceSet)(seg)->nailed)SegOfPoolRing(node) (RING_ELT(Seg, poolRing, (node)))SegOfGreyRing(node) (&(RING_ELT(GCSeg, greyRing, (node)) ->segStruct))SegSummary(seg) (((GCSeg)(seg))->summary)SegSetPM(seg,mode) ((void)((seg)->pm = (mode)))SegSetSM(seg,mode) ((void)((seg)->sm = (mode)))SegSetDepth(seg,d) ((void)((seg)->depth = (d)))SegSetNailed(seg,ts) ((void)((seg)->nailed = (ts)))BUFFER_RESERVE(pReturn,buffer,size,withReservoirPermit) (AddrAdd(BufferAlloc(buffer), size) > BufferAlloc(buffer) && AddrAdd(BufferAlloc(buffer), size) <= BufferAP(buffer)->limit ? (*(pReturn) = BufferAlloc(buffer), BufferAP(buffer)->alloc = AddrAdd(BufferAlloc(buffer), size), ResOK) : BufferFill(pReturn, buffer, size, withReservoirPermit))BUFFER_COMMIT(buffer,p,size) (BufferAP(buffer)->init = BufferAlloc(buffer), BufferAP(buffer)->limit != 0 || BufferTrip(buffer, p, size))BufferAP(buffer) (&(buffer)->apStruct)BufferOfAP(ap) PARENT(BufferStruct, apStruct, ap)BufferArena(buffer) ((buffer)->arena)BufferPool(buffer) ((buffer)->pool)BufferBase(buffer) ((buffer)->base)BufferGetInit(buffer) (BufferAP(buffer)->init)BufferAlloc(buffer) (BufferAP(buffer)->alloc)BufferLimit(buffer) ((buffer)->poolLimit)DEFINE_BUFFER_CLASS(className,var) DEFINE_ALIAS_CLASS(className, BufferClass, var)BUFFER_SUPERCLASS(className) ((BufferClass)SUPERCLASS(className))RankSetIsMember(rs,r) BS_IS_MEMBER((rs), (r))RankSetSingle(r) BS_SINGLE(RankSet, (r))RankSetIsSingle(r) BS_IS_SINGLE(r)RankSetUnion(rs1,rs2) BS_UNION((rs1), (rs2))RankSetDel(rs,r) BS_DEL(RankSet, (rs), (r))AddrZone(arena,addr) (((Word)(addr) >> (arena)->zoneShift) & (MPS_WORD_WIDTH - 1))RefSetUnion(rs1,rs2) BS_UNION((rs1), (rs2))RefSetInter(rs1,rs2) BS_INTER((rs1), (rs2))RefSetDiff(rs1,rs2) BS_DIFF((rs1), (rs2))RefSetAdd(arena,rs,addr) BS_ADD(RefSet, rs, AddrZone(arena, addr))RefSetIsMember(arena,rs,addr) BS_IS_MEMBER(rs, AddrZone(arena, addr))RefSetSuper(rs1,rs2) BS_SUPER((rs1), (rs2))RefSetSub(rs1,rs2) BS_SUB((rs1), (rs2))ZoneSetUnion(zs1,zs2) BS_UNION(zs1, zs2)ZoneSetInter(zs1,zs2) BS_INTER(zs1, zs2)ZoneSetDiff(zs1,zs2) BS_DIFF(zs1, zs2)ZoneSetAdd(arena,zs,addr) BS_ADD(ZoneSet, zs, AddrZone(arena, addr))ZoneSetIsMember(arena,zs,addr) BS_IS_MEMBER(zs, AddrZone(arena, addr))ZoneSetSub(zs1,zs2) BS_SUB(zs1, zs2)ZoneSetSuper(zs1,zs2) BS_SUPER(zs1, zs2)ZoneSetComp(zs) BS_COMP(zs)STATISTIC(gather) BEGIN (gather); ENDSTATISTIC_STAT(gather) BEGIN gather; ENDSTATISTIC_WRITE(format,arg) (format), (arg),&_LIMITS_H_ +_POSIX_ARG_MAX 4096,_POSIX_CHILD_MAX 25-_POSIX_LINK_MAX 8._POSIX_MAX_CANON 255/_POSIX_MAX_INPUT 2550_POSIX_NAME_MAX 141_POSIX_NGROUPS_MAX 82_POSIX_OPEN_MAX 203_POSIX_PATH_MAX 2564_POSIX_PIPE_BUF 5125_POSIX_SSIZE_MAX 327676_POSIX_STREAM_MAX 87_POSIX_TZNAME_MAX 69BC_BASE_MAX 99:BC_DIM_MAX 2048;BC_SCALE_MAX 99EXPR_NEST_MAX 32?LINE_MAX 2048@RE_DUP_MAX 255B_POSIX2_BC_BASE_MAX 99C_POSIX2_BC_DIM_MAX 2048D_POSIX2_BC_SCALE_MAX 99E_POSIX2_BC_STRING_MAX 1000F_POSIX2_EQUIV_CLASS_MAX 2G_POSIX2_EXPR_NEST_MAX 32H_POSIX2_LINE_MAX 2048I_POSIX2_RE_DUP_MAX 255M_POSIX_AIO_LISTIO_MAX 16N_POSIX_AIO_MAX 1O_POSIX_DELAYTIMER_MAX 32P_POSIX_MQ_OPEN_MAX 8Q_POSIX_MQ_PRIO_MAX 32R_POSIX_RTSIG_MAX 8S_POSIX_SEM_NSEMS_MAX 256T_POSIX_SEM_VALUE_MAX 32767U_POSIX_SIGQUEUE_MAX 32V_POSIX_TIMER_MAX 32Z_POSIX_THREAD_DESTRUCTOR_ITERATIONS 4[_POSIX_THREAD_KEYS_MAX 128\_POSIX_THREAD_THREADS_MAX 64`_POSIX_HOST_NAME_MAX 255a_POSIX_LOGIN_NAME_MAX 9b_POSIX_SS_REPL_MAX 4c_POSIX_SYMLINK_MAX 255d_POSIX_SYMLOOP_MAX 8e_POSIX_TRACE_EVENT_NAME_MAX 30f_POSIX_TRACE_NAME_MAX 8g_POSIX_TRACE_SYS_MAX 8h_POSIX_TRACE_USER_EVENT_MAX 32i_POSIX_TTY_NAME_MAX 9j_POSIX2_CHARCLASS_NAME_MAX 14k_POSIX2_COLL_WEIGHTS_MAX 2m_POSIX_RE_DUP_MAX _POSIX2_RE_DUP_MAXq_XOPEN_IOV_MAX 16r_XOPEN_NAME_MAX 255s_XOPEN_PATH_MAX 1024tPASS_MAX 128vNL_ARGMAX 99wNL_LANGMAX 31xNL_MSGMAX 32767yNL_NMAX 1zNL_SETMAX 255{NL_TEXTMAX 2048~MB_LEN_MAX 6!_SYS_LIMITS_H_ $"_MACHINE__LIMITS_H_ /__CHAR_BIT 81__SCHAR_MAX 0x7f2__SCHAR_MIN (-0x7f - 1)4__UCHAR_MAX 0xff6__USHRT_MAX 0xffff7__SHRT_MAX 0x7fff8__SHRT_MIN (-0x7fff - 1):__UINT_MAX 0xffffffffU;__INT_MAX 0x7fffffff<__INT_MIN (-0x7fffffff - 1)D__ULONG_MAX 0xffffffffULE__LONG_MAX 0x7fffffffLF__LONG_MIN (-0x7fffffffL - 1)J__ULLONG_MAX 0xffffffffffffffffULLK__LLONG_MAX 0x7fffffffffffffffLLL__LLONG_MIN (-0x7fffffffffffffffLL - 1)N__SSIZE_MAX __INT_MAXP__SIZE_T_MAX __UINT_MAXR__OFF_MAX __LLONG_MAXS__OFF_MIN __LLONG_MINV__UQUAD_MAX __ULLONG_MAXW__QUAD_MAX __LLONG_MAXX__QUAD_MIN __LLONG_MIN]__LONG_BIT 32___WORD_BIT 32&CHAR_BIT __CHAR_BIT(SCHAR_MAX __SCHAR_MAX)SCHAR_MIN __SCHAR_MIN+UCHAR_MAX __UCHAR_MAX1CHAR_MAX SCHAR_MAX2CHAR_MIN SCHAR_MIN5USHRT_MAX __USHRT_MAX6SHRT_MAX __SHRT_MAX7SHRT_MIN __SHRT_MIN9UINT_MAX __UINT_MAX:INT_MAX __INT_MAX;INT_MIN __INT_MIN=ULONG_MAX __ULONG_MAX>LONG_MAX __LONG_MAX?LONG_MIN __LONG_MINHSSIZE_MAX __SSIZE_MAXLSIZE_T_MAX __SIZE_T_MAXNOFF_MAX __OFF_MAXOOFF_MIN __OFF_MINSGID_MAX UINT_MAXTUID_MAX UINT_MAXVUQUAD_MAX (__UQUAD_MAX)WQUAD_MAX (__QUAD_MAX)XQUAD_MIN (__QUAD_MIN)\LONG_BIT __LONG_BIT]WORD_BIT __WORD_BIT"_SYS_SYSLIMITS_H_ 4ARG_MAX 2621447CHILD_MAX 409LINK_MAX 32767:MAX_CANON 255;MAX_INPUT 255> 16) | (((x) & 0x0000ffff) << 16))R__word_swap_int(x) (__builtin_constant_p(x) ? __word_swap_int_const(x) : __word_swap_int_var(x))[__byte_swap_int_var(x) __extension__ ({ register __uint32_t __X = (x); __asm ("bswap %0" : "+r" (__X)); __X; })b__byte_swap_int_const(x) ((((x) & 0xff000000) >> 24) | (((x) & 0x00ff0000) >> 8) | (((x) & 0x0000ff00) << 8) | (((x) & 0x000000ff) << 24))g__byte_swap_int(x) (__builtin_constant_p(x) ? __byte_swap_int_const(x) : __byte_swap_int_var(x))p__byte_swap_word_var(x) __extension__ ({ register __uint16_t __X = (x); __asm ("xchgb %h0, %b0" : "+q" (__X)); __X; })w__byte_swap_word_const(x) ((((x) & 0xff00) >> 8) | (((x) & 0x00ff) << 8)){__byte_swap_word(x) (__builtin_constant_p(x) ? __byte_swap_word_const(x) : __byte_swap_word_var(x))__htonl(x) __bswap32(x)__htons(x) __bswap16(x)__ntohl(x) __bswap32(x)__ntohs(x) __bswap16(x)/!%_SYS__PTHREADTYPES_H_ A_INT8_T_DECLARED F_INT16_T_DECLARED K_INT32_T_DECLARED P_INT64_T_DECLARED U_UINT8_T_DECLARED Z_UINT16_T_DECLARED __UINT32_T_DECLARED d_UINT64_T_DECLARED j_INTPTR_T_DECLARED |_BLKSIZE_T_DECLARED _BLKCNT_T_DECLARED _CLOCK_T_DECLARED _CLOCKID_T_DECLARED _DEV_T_DECLARED _FFLAGS_T_DECLARED _FSBLKCNT_T_DECLARED _GID_T_DECLARED _IN_ADDR_T_DECLARED _IN_PORT_T_DECLARED _ID_T_DECLARED _INO_T_DECLARED _KEY_T_DECLARED _LWPID_T_DECLARED _MODE_T_DECLARED _NLINK_T_DECLARED _OFF_T_DECLARED _PID_T_DECLARED _RLIM_T_DECLARED _SSIZE_T_DECLARED _SUSECONDS_T_DECLARED _TIME_T_DECLARED _TIMER_T_DECLARED _UID_T_DECLARED _USECONDS_T_DECLARED "!_SYS_SELECT_H_ &#'_SYS__SIGSET_H_ ,_SIG_WORDS 4-_SIG_MAXSIG 128._SIG_IDX(sig) ((sig) - 1)/_SIG_WORD(sig) (_SIG_IDX(sig) >> 5)0_SIG_BIT(sig) (1 << (_SIG_IDX(sig) & 31))1_SIG_VALID(sig) ((sig) <= _SIG_MAXSIG && (sig) > 0)'$_SYS__TIMEVAL_H_ (%'_SYS_TIMESPEC_H_ 4TIMEVAL_TO_TIMESPEC(tv,ts) do { (ts)->tv_sec = (tv)->tv_sec; (ts)->tv_nsec = (tv)->tv_usec * 1000; } while (0)9TIMESPEC_TO_TIMEVAL(tv,ts) do { (tv)->tv_sec = (ts)->tv_sec; (tv)->tv_usec = (ts)->tv_nsec / 1000; } while (0)0_SIGSET_T_DECLARED ;FD_SETSIZE 1024U>_NFDBITS (sizeof(__fd_mask) * 8)@NFDBITS _NFDBITSD_howmany(x,y) (((x) + ((y) - 1)) / (y))Kfds_bits __fds_bitsN__fdset_mask(n) ((__fd_mask)1 << ((n) % _NFDBITS))OFD_CLR(n,p) ((p)->__fds_bits[(n)/_NFDBITS] &= ~__fdset_mask(n))QFD_COPY(f,t) (void)(*(t) = *(f))SFD_ISSET(n,p) (((p)->__fds_bits[(n)/_NFDBITS] & __fdset_mask(n)) != 0)TFD_SET(n,p) ((p)->__fds_bits[(n)/_NFDBITS] |= __fdset_mask(n))UFD_ZERO(p) do { fd_set *_p; __size_t _n; _p = (p); _n = _howmany(FD_SETSIZE, _NFDBITS); while (_n > 0) _p->__fds_bits[--_n] = 0; } while (0)e_SELECT_DECLARED major(x) ((int)(((u_int)(x) >> 8)&0xff))minor(x) ((int)((x)&0xffff00ff))makedev(x,y) ((dev_t)(((x) << 8) | (y)))_FTRUNCATE_DECLARED _LSEEK_DECLARED _MMAP_DECLARED _TRUNCATE_DECLARED &"_SYS_MMAN_H_ +INHERIT_SHARE 0,INHERIT_COPY 1-INHERIT_NONE 23PROT_NONE 0x004PROT_READ 0x015PROT_WRITE 0x026PROT_EXEC 0x04LZhv  ) 8 G V e t            ( 7 F U d s           : I X g v            + @ V d r           0 > L Z h v         !0@U,>Qfn|$2Od{ />M\kz 0@P`p 0@P`p 0@P`p '6ETcr*4<JXf(i+\ .Uw*Ur4Z.Z>ny)P1Rt  4 ? K \ q        !N!]!s!!!!!!!!!!! ""("6"S"_"n"w""""""""" ##"#.#:#L###########$$!$%$,$$$ $$     4 8L Pprotfri3.o/ 1169001829 1001 1001 100644 38944 ` ELF 4(UVSu] { ujjsu6=w@tuSVЃ Ve[^US0E]؍EPE@ hSj ]C% $ > : ; I$ >  I&I : ;  : ; I8 <  I !I/ ' I : ;  : ; I : ; .: ; ' @ : ; I : ; I  4: ; I.? : ; ' @ 4: ; I 4: ; I 4: ; I?  JM( 7Pint 8b;o] 5E =WW" "$ #G% # & #' # "!' = 5bUW34U# eW 5: |PfePP-C@P#~P# P#ē# Ş#=P#}-#ȇ#BɌ# C#$ SP s˪}}oןp P-3^#*P#|#Fx#BdUsig#APV#AFSH#A-(n#F/#G #GS|e#dUsa#X#P#`##$ /usr/include/usr/include/sys/usr/include/machineprmcfr.hmpm.hconfig.hmpstd.hmisc.hstddef.hcdefs.h_null.h_types.h_types.hcheck.hmpslib.hevent.heventcom.hmpmtypes.hstdarg.heventgen.hlock.hth.hring.hss.htract.hbt.hmpmst.hprotocol.hchain.hsignal.hsignal.h_sigset.hsignal.htrap.hucontext.hucontext.hstdlib.hprotfri3.c# c cuqurs:__STDC_HOSTED__ 1__GNUC__ 3__GNUC_MINOR__ 4__GNUC_PATCHLEVEL__ 6__SIZE_TYPE__ unsigned int__PTRDIFF_TYPE__ int__WCHAR_TYPE__ int__WINT_TYPE__ unsigned int __GXX_ABI_VERSION 1002 __SCHAR_MAX__ 127 __SHRT_MAX__ 32767 __INT_MAX__ 2147483647 __LONG_MAX__ 2147483647L__LONG_LONG_MAX__ 9223372036854775807LL__WCHAR_MAX__ 2147483647__CHAR_BIT__ 8__FLT_EVAL_METHOD__ 2__FLT_RADIX__ 2__FLT_MANT_DIG__ 24__FLT_DIG__ 6__FLT_MIN_EXP__ (-125)__FLT_MIN_10_EXP__ (-37)__FLT_MAX_EXP__ 128__FLT_MAX_10_EXP__ 38__FLT_MAX__ 3.40282347e+38F__FLT_MIN__ 1.17549435e-38F__FLT_EPSILON__ 1.19209290e-7F__FLT_DENORM_MIN__ 1.40129846e-45F__FLT_HAS_INFINITY__ 1__FLT_HAS_QUIET_NAN__ 1__DBL_MANT_DIG__ 53 __DBL_DIG__ 15!__DBL_MIN_EXP__ (-1021)"__DBL_MIN_10_EXP__ (-307)#__DBL_MAX_EXP__ 1024$__DBL_MAX_10_EXP__ 308%__DBL_MAX__ 1.7976931348623157e+308&__DBL_MIN__ 2.2250738585072014e-308'__DBL_EPSILON__ 2.2204460492503131e-16(__DBL_DENORM_MIN__ 4.9406564584124654e-324)__DBL_HAS_INFINITY__ 1*__DBL_HAS_QUIET_NAN__ 1+__LDBL_MANT_DIG__ 53,__LDBL_DIG__ 15-__LDBL_MIN_EXP__ (-16381).__LDBL_MIN_10_EXP__ (-4931)/__LDBL_MAX_EXP__ 163840__LDBL_MAX_10_EXP__ 49321__DECIMAL_DIG__ 172__LDBL_MAX__ 1.1897314953572316e+4932L3__LDBL_MIN__ 3.3621031431120935e-4932L4__LDBL_EPSILON__ 2.2204460492503131e-16L5__LDBL_DENORM_MIN__ 7.4653686412953080e-4948L6__LDBL_HAS_INFINITY__ 17__LDBL_HAS_QUIET_NAN__ 18__REGISTER_PREFIX__ 9__USER_LABEL_PREFIX__ :__VERSION__ "3.4.6 [FreeBSD] 20060305";__OPTIMIZE__ 1<__FINITE_MATH_ONLY__ 0=__STRICT_ANSI__ 1@__i386 1A__i386__ 1B__tune_i386__ 1C__FreeBSD__ 6D__unix 1E__unix__ 1F__KPRINTF_ATTRIBUTE__ 1J__FreeBSD_cc_version 602001K__ELF__ 1_REENTRANT 1CONFIG_PROD_DYLAN 1CONFIG_VAR_HI 1NDEBUG 1 prmcfr_h   mpm_h config_h !CONFIG_DEBUG "CHECK_DEFAULT CheckNONE6CHECK_NONE 7MPS_ASSERT_STRING "nonasserted"?EVENT_NONE @MPS_LOG_STRING "nonlogging"EDIAGNOSTICS FMPS_DEBUG_STRING "debug"LMPS_VARIETY_STRING MPS_ASSERT_STRING "." MPS_LOG_STRING "." MPS_DEBUG_STRINGRmpstd_h MPS_PF_FRI4GC MPS_PF_STRING "fri4gc"MPS_OS_FR MPS_ARCH_I4 MPS_BUILD_GC MPS_T_WORD unsigned longMPS_WORD_WIDTH 32MPS_WORD_SHIFT 5MPS_PF_ALIGN 4EPVMDefaultSubsequentSegSIZE (64ul * 1024)ARENA_CONTROL_EXTENDBY ((Size)4096)ARENA_CONTROL_AVGSIZE ((Size)32)ARENA_CONTROL_MAXSIZE ((Size)65536)ArenaPollALLOCTIME (65536.0)ARENA_ZONESHIFT ((Shift)20)ARENA_CLIENT_PAGE_SIZE ((Size)8192)ArenaDefaultZONESET (ZoneSetUNIV << (MPS_WORD_WIDTH / 2))SegPrefDEFAULT { SegPrefSig, TRUE, ArenaDefaultZONESET, FALSE, FALSE, (Serial)0, }LDHistoryLENGTH ((Size)4)StackProbeDEPTH ((Size)0)ShieldCacheSIZE ((size_t)16)ShieldDepthWIDTH (4)VMANPageALIGNMENT ((Align)4096)VMJunkBYTE ((unsigned char)0xA9)TraceLIMIT ((size_t)1)TraceCopyScanRATIO (1.5)RememberedSummaryBLOCK 15EventBufferSIZE ((size_t)4096)EventStringLengthMAX ((size_t)255)ASSERT_BUFFER_SIZE ((Size)512)MPS_PROD_STRING "dylan"MPS_PROD_DYLAN ARENA_INIT_SPARE_COMMIT_LIMIT ((Size)10uL*1024uL*1024uL)THREAD_MULTI PROTECTION DONGLE_NONE PROD_CHECK_DEFAULT CheckSHALLOWARENA_SIZE ((Size)1<<30)misc_h '_STDDEF_H_ )%_SYS_CDEFS_H_ +__BEGIN_DECLS ,__END_DECLS 8__GNUCLIKE_ASM 39__GNUCLIKE_MATH_BUILTIN_CONSTANTS =__GNUCLIKE___TYPEOF 1>__GNUCLIKE___OFFSETOF 1?__GNUCLIKE___SECTION 1A__GNUCLIKE_ATTRIBUTE_MODE_DI 1D__GNUCLIKE_CTOR_SECTION_HANDLING 1G__GNUCLIKE_BUILTIN_CONSTANT_P 1N__GNUCLIKE_BUILTIN_VARARGS 1O__GNUCLIKE_BUILTIN_STDARG 1P__GNUCLIKE_BUILTIN_VAALIST 1T__GNUC_VA_LIST_COMPATIBILITY 1X__GNUCLIKE_BUILTIN_NEXT_ARG 1Y__GNUCLIKE_MATH_BUILTIN_RELOPS \__GNUCLIKE_BUILTIN_MEMCPY 1___CC_SUPPORTS_INLINE 1`__CC_SUPPORTS___INLINE 1a__CC_SUPPORTS___INLINE__ 1c__CC_SUPPORTS___FUNC__ 1d__CC_SUPPORTS_WARNING 1f__CC_SUPPORTS_VARADIC_XXX 1h__CC_SUPPORTS_DYNAMIC_ARRAY_INIT 1k__CC_INT_IS_32BIT 1s__GNUC_PREREQ__(ma,mi) (__GNUC__ > (ma) || __GNUC__ == (ma) && __GNUC_MINOR__ >= (mi))__P(protos) protos__CONCAT1(x,y) x ## y__CONCAT(x,y) __CONCAT1(x,y)__STRING(x) #x__XSTRING(x) __STRING(x)__const const__signed signed__volatile volatile__dead2 __attribute__((__noreturn__))__pure2 __attribute__((__const__))__unused __attribute__((__unused__))__used __attribute__((__used__))__packed __attribute__((__packed__))__aligned(x) __attribute__((__aligned__(x)))__section(x) __attribute__((__section__(x)))__pure __attribute__((__pure__))__always_inline __attribute__((__always_inline__))__nonnull(x) __attribute__((__nonnull__(x)))__restrict __predict_true(exp) __builtin_expect((exp), 1)__predict_false(exp) __builtin_expect((exp), 0)__offsetof(type,field) ((size_t)(&((type *)0)->field))__rangeof(type,start,end) (__offsetof(type, end) - __offsetof(type, start))__printflike(fmtarg,firstvararg) __attribute__((__format__ (__printf__, fmtarg, firstvararg)))__scanflike(fmtarg,firstvararg) __attribute__((__format__ (__scanf__, fmtarg, firstvararg)))__format_arg(fmtarg) __attribute__((__format_arg__ (fmtarg)))__printf0like(fmtarg,firstvararg) __attribute__((__format__ (__printf0__, fmtarg, firstvararg)))__strong_reference(sym,aliassym) extern __typeof (sym) aliassym __attribute__ ((__alias__ (#sym)));__weak_reference(sym,alias) __asm__(".weak " #alias); __asm__(".equ " #alias ", " #sym)__warn_references(sym,msg) __asm__(".section .gnu.warning." #sym); __asm__(".asciz \"" msg "\""); __asm__(".previous")__IDSTRING(name,string) __asm__(".ident\t\"" string "\"")__FBSDID(s) __IDSTRING(__CONCAT(__rcsid_,__LINE__),s)__RCSID(s) __IDSTRING(__CONCAT(__rcsid_,__LINE__),s)__RCSID_SOURCE(s) __IDSTRING(__CONCAT(__rcsid_source_,__LINE__),s)__SCCSID(s) __IDSTRING(__CONCAT(__sccsid_,__LINE__),s)__COPYRIGHT(s) __IDSTRING(__CONCAT(__copyright_,__LINE__),s)__DECONST(type,var) ((type)(uintptr_t)(const void *)(var))__DEVOLATILE(type,var) ((type)(uintptr_t)(volatile void *)(var))__DEQUALIFY(type,var) ((type)(uintptr_t)(const volatile void *)(var))__POSIX_VISIBLE 200112__XSI_VISIBLE 600__BSD_VISIBLE 1__ISO_C_VISIBLE 1999* NULL ((void *)0)+ _SYS__TYPES_H_ ! (_MACHINE__TYPES_H_ .__NO_STRICT_ALIGNMENT __GNUC_VA_LIST 2_RUNE_T_DECLARED 8_SIZE_T_DECLARED >_WCHAR_T_DECLARED Boffsetof(type,member) __offsetof(type, member)*SRCID(id,scmid) static SrcIdStruct FileSrcIdStruct = {__FILE__, (scmid), __DATE__, __TIME__}; SrcId id ## SrcId = &FileSrcIdStruct;BEGIN do {> (i)) & 1)BS_UNION(s1,s2) ((s1) | (s2))BS_ADD(ty,s,i) BS_UNION((s), BS_SINGLE(ty, (i)))BS_INTER(s1,s2) ((s1) & (s2))BS_DIFF(s1,s2) BS_INTER((s1), BS_COMP(s2))BS_DEL(ty,s,i) BS_DIFF((s), BS_SINGLE(ty, (i)))BS_SUPER(s1,s2) (BS_INTER((s1), (s2)) == (s2))BS_SUB(s1,s2) BS_SUPER((s2), (s1))BS_IS_SINGLE(s) (((s) & ((s)-1)) == 0)BS_SYM_DIFF(s1,s2) ((s1) ^ (s2)) check_h  mpslib_h mps_lib_EOF (mps_lib_get_EOF())mps_lib_stderr (mps_lib_get_stderr())mps_lib_stdout (mps_lib_get_stdout())0AVER(cond) DISCARD(cond)1AVERT(type,val) DISCARD(type ## Check(val))2AVER_CRITICAL(cond) DISCARD(cond)3AVERT_CRITICAL(type,val) DISCARD(type ## Check(val))MASSERT(cond,condstring) BEGIN if (cond) NOOP; else mps_lib_assert_fail(condstring "\n" __FILE__ "\n" STR(__LINE__)); END_NOTREACHED NOOPjCHECKT(type,val) ((val) != NULL && (val)->sig == type ## Sig)pCHECKS(type,val) DISCARD(CHECKT(type, val))qCHECKL(cond) DISCARD(cond)rCHECKD(type,val) DISCARD(CHECKT(type, val))sCHECKD_NOSIG(type,val) DISCARD((val) != NULL)tCHECKU(type,val) DISCARD(CHECKT(type, val))uCHECKU_NOSIG(type,val) DISCARD((val) != NULL)CHECKLVALUE(lv1,lv2) ((void)sizeof((lv1) = (lv2)), (void)sizeof((lv2) = (lv1)), TRUE)CHECKTYPE(t1,t2) (sizeof(t1) == sizeof(t2) && CHECKLVALUE(*((t1 *)0), *((t2 *)0)))CHECKFIELDAPPROX(s1,f1,s2,f2) (sizeof(((s1 *)0)->f1) == sizeof(((s2 *)0)->f2) && offsetof(s1, f1) == offsetof(s2, f2))CHECKFIELD(s1,f1,s2,f2) (CHECKFIELDAPPROX(s1, f1, s2, f2) && CHECKLVALUE(((s1 *)0)->f1, ((s2 *)0)->f2)) event_h  eventcom_h  mpmtypes_h '_MACHINE_STDARG_H_ -_VA_LIST_DECLARED 3va_start(ap,last) __builtin_stdarg_start((ap), (last))6va_arg(ap,type) __builtin_va_arg((ap), type):va_copy(dest,src) __builtin_va_copy((dest), (src))>va_end(ap) __builtin_va_end(ap)SigInvalid ((Sig)0x51915BAD)SizeMAX ((Size)-1)AccessSetEMPTY ((AccessSet)0)AccessREAD ((AccessSet)(1<<0))AccessWRITE ((AccessSet)(1<<1))AccessSetWIDTH (2)RefSetEMPTY BS_EMPTY(RefSet)RefSetUNIV BS_UNIV(RefSet)ZoneSetEMPTY BS_EMPTY(ZoneSet)ZoneSetUNIV BS_UNIV(ZoneSet)TraceSetEMPTY BS_EMPTY(TraceSet)TraceSetUNIV ((TraceSet)((1u << TraceLIMIT) - 1))RankSetEMPTY BS_EMPTY(RankSet)RankSetUNIV ((RankSet)((1u << RankLIMIT) - 1))AttrFMT ((Attr)(1<<0))AttrSCAN ((Attr)(1<<1))AttrPM_NO_READ ((Attr)(1<<2))AttrPM_NO_WRITE ((Attr)(1<<3))AttrALLOC ((Attr)(1<<4))AttrFREE ((Attr)(1<<5))AttrBUF ((Attr)(1<<6))AttrBUF_RESERVE ((Attr)(1<<7))AttrBUF_ALLOC ((Attr)(1<<8))AttrGC ((Attr)(1<<9))AttrINCR_RB ((Attr)(1<<10))AttrINCR_WB ((Attr)(1<<11))AttrMOVINGGC ((Attr)(1<<12))AttrMASK (AttrFMT | AttrSCAN | AttrPM_NO_READ | AttrPM_NO_WRITE | AttrALLOC | AttrFREE | AttrBUF | AttrBUF_RESERVE | AttrBUF_ALLOC | AttrGC | AttrINCR_RB | AttrINCR_WB | AttrMOVINGGC)BufferModeATTACHED ((BufferMode)(1<<0))BufferModeFLIPPED ((BufferMode)(1<<1))BufferModeLOGGED ((BufferMode)(1<<2))BufferModeTRANSITION ((BufferMode)(1<<3))RootModeCONSTANT ((RootMode)1<<0)RootModePROTECTABLE ((RootMode)1<<1)RootModePROTECTABLE_INNER ((RootMode)1<<2)STATISTIC_DECL(field) field!EventNameMAX ((size_t)19)"EventCodeMAX ((EventCode)0x0069)&EVENT_0(type) NOOPEVENT_A(type,p0) NOOPEVENT_AW(type,p0,p1) NOOPEVENT_P(type,p0) NOOPEVENT_PAA(type,p0,p1,p2) NOOPEVENT_PAW(type,p0,p1,p2) NOOPEVENT_PAWA(type,p0,p1,p2,p3) NOOPEVENT_PDDWWW(type,p0,p1,p2,p3,p4,p5) NOOPEVENT_PP(type,p0,p1) NOOPEVENT_PPAU(type,p0,p1,p2,p3) NOOPEVENT_PPAWP(type,p0,p1,p2,p3,p4) NOOPEVENT_PPP(type,p0,p1,p2) NOOPEVENT_PPPA(type,p0,p1,p2,p3) NOOPEVENT_PPPU(type,p0,p1,p2,p3) NOOPEVENT_PPPUU(type,p0,p1,p2,p,p4) NOOPEVENT_PPU(type,p0,p1,p2) NOOPEVENT_PPUU(type,p0,p1,p2,p3) NOOPEVENT_PPUWWW(type,p0,p1,p2,p3,p4,p5) NOOPEVENT_PPWW(type,p0,p1,p2,p3) NOOPEVENT_PPWWW(type,p0,p1,p2,p3,p4) NOOPEVENT_PPWWWUUU(type,p0,p1,p2,p3,p4,p5,p6,p7) NOOPEVENT_PU(type,p0,p1) NOOPEVENT_PW(type,p0,p1) NOOPEVENT_PWA(type,p0,p1,p2) NOOPEVENT_PWAW(type,p0,p1,p2,p3) NOOPEVENT_PWP(type,p0,p1,p2) NOOPEVENT_PWU(type,p0,p1,p2) NOOPEVENT_PWW(type,p0,p1,p2) NOOPEVENT_PWWWWDD(type,p0,p1,p2,p3,p4,p5,p6) NOOPEVENT_PWWWWW(type,p0,p1,p2,p3,p4,p5) NOOPEVENT_PWWWWWWWWW(type,p0,p1,p2,p3,p4,p5,p6,p7,p8,p9) NOOPEVENT_PWWWWWWWWWWWW(type,p0,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11,p12) NOOPEVENT_UUPA(type,p0,p1,p2,p3) NOOPEVENT_UUPP(type,p0,p1,p2,p3) NOOPEVENT_UUPPP(type,p0,p1,p2,p3,p4) NOOPEVENT_WS(type,p0,p1,l1) NOOP:EventEventTime ((EventType)0xEF213E99);EventPoolInit ((EventType)0xEFB07141)EventPoolFree ((EventType)0xEFB07F6E)?EventArenaCreateVM ((EventType)0xEFA64CF3)@EventArenaCreateVMNZ ((EventType)0xEFA64CF2)AEventArenaCreateCL ((EventType)0xEFA64CC7)BEventArenaDestroy ((EventType)0xEFA64DE5)CEventArenaAlloc ((EventType)0xEFA64A77)DEventArenaFree ((EventType)0xEFA64F6E)EEventSegAlloc ((EventType)0xEF5E9A77)FEventSegFree ((EventType)0xEF5E9F6E)GEventSegMerge ((EventType)0xEF5E93E6)HEventSegSplit ((EventType)0xEF5E95B7)IEventAMCGenCreate ((EventType)0xEFA3C94C)JEventAMCGenDestroy ((EventType)0xEFA3C94D)KEventAMCInit ((EventType)0xEFA3C141)LEventAMCFinish ((EventType)0xEFA3CF14)MEventAMCTraceBegin ((EventType)0xEFA3C26B)NEventAMCScanBegin ((EventType)0xEFA3C5CB)OEventAMCScanEnd ((EventType)0xEFA3C5CE)PEventAMCFix ((EventType)0xEFA3CF18)QEventAMCFixInPlace ((EventType)0xEFA3CF8A)REventAMCFixForward ((EventType)0xEFA3CF8F)SEventAMCReclaim ((EventType)0xEFA3C6EC)TEventTraceStart ((EventType)0xEF26AC52)UEventTraceCreate ((EventType)0xEF26ACC6)VEventTraceDestroy ((EventType)0xEF26ACDE)WEventSegSetGrey ((EventType)0xEF59596A)XEventTraceFlipBegin ((EventType)0xEF26AF7B)YEventTraceFlipEnd ((EventType)0xEF26AF7E)ZEventTraceReclaim ((EventType)0xEF26A6EC)[EventTraceScanSeg ((EventType)0xEF26A559)\EventTraceScanSingleRef ((EventType)0xEF26A556)^EventTraceAccess ((EventType)0xEF26AACC)_EventTracePoll ((EventType)0xEF26AB01)`EventTraceStep ((EventType)0xEF26A52B)aEventTraceFix ((EventType)0xEF26AF18)bEventTraceFixSeg ((EventType)0xEF26AF85)cEventTraceFixWhite ((EventType)0xEF26AF83)dEventTraceScanArea ((EventType)0xEF26A5CA)eEventTraceScanAreaTagged ((EventType)0xEF26A5C2)fEventVMCreate ((EventType)0xEFF3C6EA)gEventVMDestroy ((EventType)0xEFF3DE52)hEventVMMap ((EventType)0xEFF33AB9)iEventVMUnmap ((EventType)0xEFF3043B)jEventIntern ((EventType)0xEF142E64)kEventArenaExtend ((EventType)0xEFA64E82)lEventArenaRetract ((EventType)0xEFA646E2)mEventRootScan ((EventType)0xEF625CA4)nEventLabel ((EventType)0xEF7ABE79)oEventTraceSegGreyen ((EventType)0xEF26A599)pEventBufferReserve ((EventType)0xEFB0FF6E)qEventBufferCommit ((EventType)0xEFB0FFC0)rEventBufferInit ((EventType)0xEFB0FF14)sEventBufferInitSeg ((EventType)0xEFB0F15E)tEventBufferInitRank ((EventType)0xEFB0F16A)uEventBufferInitEPVM ((EventType)0xEFB0F1EF)vEventBufferFinish ((EventType)0xEFB0FFF1)wEventBufferFill ((EventType)0xEFB0FFF7)xEventBufferEmpty ((EventType)0xEFB0FFE3)yEventArenaAllocFail ((EventType)0xEFA64A7F)zEventSegAllocFail ((EventType)0xEF5E9A7F){EventMeterInit ((EventType)0xEF3E2141)|EventMeterValues ((EventType)0xEF3E2FA7)}EventCBSInit ((EventType)0xEFCB5141)~EventTraceStatCondemn ((EventType)0xEF26A5C0)EventTraceStatScan ((EventType)0xEF26A55C)EventTraceStatFix ((EventType)0xEF26A5F8)EventTraceStatReclaim ((EventType)0xEF26A56E)EventArenaWriteFaults ((EventType)0xEFA6436F)EventPoolInitMV ((EventType)0xEFB0713F)EventPoolInitMVFF ((EventType)0xEFB071FF)EventPoolInitMFS ((EventType)0xEFB07135)EventPoolInitEPVM ((EventType)0xEFB071EF)EventPoolInitEPDL ((EventType)0xEFB071E7)EventPoolInitAMS ((EventType)0xEFB071A5)EventPoolInitAMC ((EventType)0xEFB071AC)EventPoolInitAMCZ ((EventType)0xEFB071A2)EventPoolInitAWL ((EventType)0xEFB071A3)EventPoolInitLO ((EventType)0xEFB07170)EventPoolInitSNC ((EventType)0xEFB07154)EventPoolInitMVT ((EventType)0xEFB07132)EventPoolPush ((EventType)0xEFB07B58)EventPoolPop ((EventType)0xEFB07B0B)EventReservoirLimitSet ((EventType)0xEF6E5713)EventCommitLimitSet ((EventType)0xEFC03713)EventSpareCommitLimitSet ((EventType)0xEF5BC713)hEventInit() NOOPiEventFinish() NOOPjEventControl(r,f) (UNUSED(r), UNUSED(f), (Word)0)kEventInternString(s) (UNUSED(s), (Word)0)lEventInternGenString(l,s) (UNUSED(l), UNUSED(s), (Word)0)mEventLabelAddr(a,i) BEGIN UNUSED(a); UNUSED(i); ENDPlock_h ULockSig ((Sig)0x51970CC9) th_h  ring_h RingNONE ((Ring)0)$RingInit(ring) BEGIN Ring _ring = (ring); AVER(_ring != NULL); _ring->next = _ring; _ring->prev = _ring; AVER(RingCheck(_ring)); END/RingFinish(ring) BEGIN Ring _ring = (ring); AVER(RingCheckSingle(_ring)); _ring->next = RingNONE; _ring->prev = RingNONE; END9RingAppend(ring,new) BEGIN Ring _ring = (ring), _new = (new); AVER(RingCheck(_ring)); AVER(RingCheckSingle(_new)); _new->prev = _ring->prev; _new->next = _ring; _ring->prev->next = _new; _ring->prev = _new; ENDFRingInsert(ring,new) BEGIN Ring _ring = (ring), _new = (new); AVER(RingCheck(_ring)); AVER(RingCheckSingle(_new)); _new->prev = _ring; _new->next = _ring->next; _ring->next->prev = _new; _ring->next = _new; ENDSRingRemove(old) BEGIN Ring _old = (old); AVER(RingCheck(_old)); AVER(!RingIsSingle(_old)); _old->next->prev = _old->prev; _old->prev->next = _old->next; _old->next = _old; _old->prev = _old; END`RingNext(ring) ((ring)->next)dRingPrev(ring) ((ring)->prev)gRING_ELT(type,field,node) ((type)(void *)((char *)(node) - (size_t)(&((type)0)->field)))kRING_FOR(node,ring,next) for(node = RingNext(ring), next = RingNext(node); node != (ring); node = (next), next = RingNext(node))ThreadSig ((Sig)0x519286ED) ss_h  tract_h   bt_h BTSize(n) (((n) + MPS_WORD_WIDTH-1) / MPS_WORD_WIDTH * sizeof(Word))BTGet(a,i) ((Bool)(((a)[((i) >> MPS_WORD_SHIFT)] >> ((i) & ~((Word)-1 << MPS_WORD_SHIFT))) & (Word)1))BTSet(a,i) BEGIN (a)[((i)>>MPS_WORD_SHIFT)] |= (Word)1<<((i)&~((Word)-1<>MPS_WORD_SHIFT)] &= ~((Word)1 << ((i) & ~((Word)-1<base)&TractPool(tract) ((tract)->pool)'TractP(tract) ((tract)->p)(TractSetP(tract,pp) ((void)((tract)->p = (pp))))TractHasSeg(tract) ((Bool)(tract)->hasSeg)*TractSetHasSeg(tract,b) ((void)((tract)->hasSeg = (b)))+TractWhite(tract) ((tract)->white),TractSetWhite(tract,w) ((void)((tract)->white = (w)))8TRACT_SEG(segReturn,tract) (TractHasSeg(tract) && ((*(segReturn) = (Seg)TractP(tract)), TRUE));TRACT_SET_SEG(tract,seg) (TractSetHasSeg(tract, TRUE), TractSetP(tract, seg))>TRACT_UNSET_SEG(tract) (TractSetHasSeg(tract, FALSE), TractSetP(tract, NULL))nPageTract(page) (&(page)->the.tractStruct)rPageOfTract(tract) PARENT(PageStruct, the.tractStruct, (tract))vPagePool(page) ((page)->the.rest.pool)}PageIsAllocated(page) ((page)->the.rest.pool != NULL)PageType(page) ((page)->the.rest.type)ChunkSig ((Sig)0x519C804C)ChunkArena(chunk) ((chunk)->arena)ChunkPageSize(chunk) ((chunk)->pageSize)ChunkPageShift(chunk) ((chunk)->pageShift)ChunkPagesToSize(chunk,pages) ((Size)(pages) << (chunk)->pageShift)ChunkSizeToPages(chunk,size) ((Count)((size) >> (chunk)->pageShift))CHUNK_OF_ADDR(chunkReturn,arena,addr) (((arena)->chunkCache.base <= (addr) && (addr) < (arena)->chunkCache.limit) ? (*(chunkReturn) = (arena)->chunkCache.chunk, TRUE) : ChunkOfAddr(chunkReturn, arena, addr))AddrPageBase(chunk,addr) AddrAlignDown((addr), ChunkPageSize(chunk))TRACT_OF_ADDR(tractReturn,arena,addr) BEGIN Arena _arena = (arena); Addr _addr = (addr); Chunk _chunk; Index _i; if (CHUNK_OF_ADDR(&_chunk, _arena, _addr)) { _i = INDEX_OF_ADDR(_chunk, _addr); if (BTGet(_chunk->allocTable, _i)) *(tractReturn) = PageTract(&_chunk->pageTable[_i]); else *(tractReturn) = NULL; } else *(tractReturn) = NULL; ENDINDEX_OF_ADDR(chunk,addr) ((Index)ChunkSizeToPages(chunk, AddrOffset((chunk)->base, addr)))PageIndexBase(chunk,i) AddrAdd((chunk)->base, ChunkPagesToSize(chunk, i))TractAverContiguousRange(arena,rangeBase,rangeLimit) BEGIN Chunk _ch = NULL; UNUSED(_ch); AVER(ChunkOfAddr(&_ch, arena, rangeBase) && (rangeLimit) <= _ch->limit); ENDTRACT_TRACT_FOR(tract,addr,arena,firstTract,limit) tract = (firstTract); addr = TractBase(tract); TractAverContiguousRange(arena, addr, limit); for(; tract != NULL; (addr = AddrAdd(addr, (arena)->alignment)), (addr < (limit) ? (tract = PageTract(PageOfTract(tract) + 1)) : (tract = NULL) ))TRACT_FOR(tract,addr,arena,base,limit) TRACT_TRACT_FOR(tract, addr, arena, TractOfBaseAddr(arena, base), limit)mpmst_h protocol_h DERIVE_LOCAL(name) protocol ## nameDERIVE_STRUCT(name) name ## StructDERIVE_ENSURE(name) name ## GetDERIVE_ENSURE_OLD(name) Ensure ## nameDERIVE_ENSURE_INTERNAL(name) protocolGet ## nameDERIVE_GUARDIAN(name) protocol ## name ## GuardianDERIVE_STATIC_STORAGE(name) protocol ## name ## StructProtocolClassSetSuperclassPoly(class,super) (((ProtocolClass)(class))->superclass) = (ProtocolClass)(super)$DEFINE_CLASS(className,var) static Bool DERIVE_GUARDIAN(className) = FALSE; static DERIVE_STRUCT(className) DERIVE_STATIC_STORAGE(className); static void DERIVE_ENSURE_INTERNAL(className)(className); extern className DERIVE_ENSURE(className)(void); className DERIVE_ENSURE(className)(void) { if (DERIVE_GUARDIAN(className) == FALSE) { LockClaimGlobalRecursive(); if (DERIVE_GUARDIAN(className) == FALSE) { DERIVE_ENSURE_INTERNAL(className) (&DERIVE_STATIC_STORAGE(className)); DERIVE_GUARDIAN(className) = TRUE; } LockReleaseGlobalRecursive(); } return &DERIVE_STATIC_STORAGE(className); } extern className DERIVE_ENSURE_OLD(className)(void); className DERIVE_ENSURE_OLD(className)(void) { return DERIVE_ENSURE(className)(); } static void DERIVE_ENSURE_INTERNAL(className) (className var)AINHERIT_CLASS(this,parentName) BEGIN parentName DERIVE_LOCAL(parentName) = DERIVE_ENSURE(parentName)(); *this = *(DERIVE_LOCAL(parentName)); ProtocolClassSetSuperclassPoly(this, DERIVE_LOCAL(parentName)); ENDODEFINE_ALIAS_CLASS(className,typeName,var) typedef typeName className; typedef DERIVE_STRUCT(typeName) DERIVE_STRUCT(className); DEFINE_CLASS(className, var)VProtocolClassSig ((Sig)0x519B60C7)WProtocolInstSig ((Sig)0x519B6014)ProtocolClassSuperclassPoly(class) (((ProtocolClass)(class))->superclass)ClassOfPoly(inst) ((ProtocolInst)(inst)->class)IsSubclassPoly(sub,super) ProtocolIsSubclass((ProtocolClass)(sub), (ProtocolClass)(super))SUPERCLASS(className) ProtocolClassSuperclassPoly(DERIVE_ENSURE(className)())chain_h GenDescSig ((Sig)0x5199E4DE)+PoolGenSig ((Sig)0x519B009E);ChainSig ((Sig)0x519C8A14)XPoolGenNr(gen) ((gen)->nr)/PoolClassSig ((Sig)0x519C7A55)]PoolSig ((Sig)0x519B0019)}MFSSig ((Sig)0x5193F599)MVSig ((Sig)0x5193B999)ReservoirSig ((Sig)0x5196e599)MessageClassSig ((Sig)0x519359c1)MessageSig ((Sig)0x5193e559)SegClassSig ((Sig)0x5195E9C7)SegSig ((Sig)0x5195E999)GCSegSig ((Sig)0x5199C5E9)SegPrefSig ((Sig)0x5195E9B6)BufferClassSig ((Sig)0x519B0FC7)BufferSig ((Sig)0x519B0FFE)SegBufSig ((Sig)0x51959B0F)FormatSig ((Sig)0x519F63A2)ScanStateSig ((Sig)0x5195CA45)TraceSig ((Sig)0x51924ACE)ChunkCacheEntrySig ((Sig)0x519C80CE)ArenaClassSig ((Sig)0x519A6C1A)GlobalsSig ((Sig)0x519970BA)ArenaSig ((Sig)0x519A6E4A)%BoolCheck(b) ((unsigned)(b) <= 1)(FUNCHECK(f) (FunCheck((Fun)f))4WordIsAligned(w,a) (((w) & ((a) - 1)) == 0)7WordAlignUp(w,a) (((w) + (a) - 1) & ~((Word)(a) - 1));WordRoundUp(w,r) (((w)+(r)-1) - ((w)+(r)-1)%(r))>WordAlignDown(w,a) ((w) & ~((Word)(a) - 1))@size_tAlignUp(s,a) ((size_t)WordAlignUp((Word)(s), a))BPointerAdd(p,s) ((void *)((char *)(p) + (s)))CPointerSub(p,s) ((void *)((char *)(p) - (s)))EPointerOffset(base,limit) ((size_t)((char *)(limit) - (char *)(base)))HPointerAlignUp(p,s) ((void *)WordAlignUp((Word)(p), (Align)(s)))KAddrAdd(p,s) ((Addr)PointerAdd((void *)(p), s))LAddrSub(p,s) ((Addr)PointerSub((void *)(p), s))NAddrOffset(b,l) ((Size)(PointerOffset((void *)(b), (void *)(l))))RAddrAlignDown(p,a) ((Addr)WordAlignDown((Word)(p), a))TAlignWord(s) ((Word)(s))VAddrIsAligned(p,a) WordIsAligned((Word)(p), a)WAddrAlignUp(p,a) ((Addr)WordAlignUp((Word)(p), a))YSizeIsAligned(s,a) WordIsAligned((Word)(s), a)ZSizeAlignUp(s,a) ((Size)WordAlignUp((Word)(s), a))[SizeAlignDown(s,a) ((Size)WordAlignDown((Word)(s), a))]SizeRoundUp(s,r) ((Size)WordRoundUp((Word)(s), (Size)(r)))_IndexIsAligned(s,a) WordIsAligned((Word)(s), a)`IndexAlignUp(s,a) ((Index)WordAlignUp((Word)(s), a))aIndexAlignDown(s,a) ((Index)WordAlignDown((Word)(s), a))cAlignIsAligned(a1,a2) WordIsAligned((Word)(a1), a2)iAddrSet(target,value,size) mps_lib_memset(target, (int)(value), size)mAddrCopy(target,source,size) mps_lib_memcpy(target, source, size)qAddrComp(a,b,size) mps_lib_memcmp(a, b, size)wADDR_PTR(type,addr) ((type *)(addr))PoolArena(pool) ((pool)->arena)PoolAlignment(pool) ((pool)->alignment)PoolSegRing(pool) (&(pool)->segRing)PoolFix(pool,ss,seg,refIO) ((*(pool)->fix)(pool, ss, seg, refIO))ClassOfPool(pool) ((pool)->class)SuperclassOfPool(pool) ((PoolClass)ProtocolClassSuperclassPoly((pool)->class))DEFINE_POOL_CLASS(className,var) DEFINE_ALIAS_CLASS(className, PoolClass, var)POOL_SUPERCLASS(className) ((PoolClass)SUPERCLASS(className))TraceSetSingle(trace) BS_SINGLE(TraceSet, (trace)->ti)TraceSetIsSingle(ts) BS_IS_SINGLE(ts)TraceSetIsMember(ts,trace) BS_IS_MEMBER(ts, (trace)->ti)TraceSetAdd(ts,trace) BS_ADD(TraceSet, ts, (trace)->ti)TraceSetDel(ts,trace) BS_DEL(TraceSet, ts, (trace)->ti)TraceSetUnion(ts1,ts2) BS_UNION(ts1, ts2)TraceSetInter(ts1,ts2) BS_INTER(ts1, ts2)TraceSetDiff(ts1,ts2) BS_DIFF(ts1, ts2)TraceSetSuper(ts1,ts2) BS_SUPER(ts1, ts2)TraceSetSub(ts1,ts2) BS_SUB(ts1, ts2)TraceSetComp(ts) BS_COMP(ts)TRACE_SET_ITER(ti,trace,ts,arena) for(ti = 0, trace = ArenaTrace(arena, ti); ti < TraceLIMIT; ++ti, trace = ArenaTrace(arena, ti)) BEGIN if (TraceSetIsMember(ts, trace)) {TRACE_SET_ITER_END(ti,trace,ts,arena) } ENDTRACE_SCAN_BEGIN(ss) BEGIN Shift SCANzoneShift = (ss)->zoneShift; ZoneSet SCANwhite = (ss)->white; RefSet SCANsummary = (ss)->unfixedSummary; Word SCANt; {TRACE_FIX1(ss,ref) (SCANt = (Word)1 << ((Word)(ref) >> SCANzoneShift & (MPS_WORD_WIDTH-1)), SCANsummary |= SCANt, SCANwhite & SCANt)TRACE_FIX2(ss,refIO) ((*(ss)->fix)(ss, refIO))TRACE_FIX(ss,refIO) (TRACE_FIX1(ss, *(refIO)) ? TRACE_FIX2(ss, refIO) : ResOK)TRACE_SCAN_END(ss) } (ss)->unfixedSummary = SCANsummary; ENDDEFINE_ARENA_CLASS(className,var) DEFINE_ALIAS_CLASS(className, ArenaClass, var)ARENA_SUPERCLASS(className) ((ArenaClass)SUPERCLASS(className))ArenaGlobals(arena) (&(arena)->globals)GlobalsArena(glob) PARENT(ArenaStruct, globals, glob)ArenaRootRing(arena) (&(arena)->rootRing)ArenaTraceRing(arena) (&(arena)->traceRing)ArenaThreadRing(arena) (&(arena)->threadRing)ArenaEpoch(arena) ((arena)->epoch)ArenaTrace(arena,ti) (&(arena)->trace[ti])ArenaZoneShift(arena) ((arena)->zoneShift)ArenaAlign(arena) ((arena)->alignment)ArenaGreyRing(arena,rank) (&(arena)->greyRing[rank])ArenaReservoir(arena) (&(arena)->reservoirStruct)DEFINE_SEG_CLASS(className,var) DEFINE_ALIAS_CLASS(className, SegClass, var)SEG_SUPERCLASS(className) ((SegClass)SUPERCLASS(className))ClassOfSeg(seg) ((seg)->class)SegBase(seg) (TractBase((seg)->firstTract))SegLimit(seg) ((seg)->limit)SegPool(seg) (TractPool((seg)->firstTract))SegRankSet(seg) ((RankSet)(seg)->rankSet)SegPM(seg) ((AccessSet)(seg)->pm)SegSM(seg) ((AccessSet)(seg)->sm)SegDepth(seg) ((unsigned)(seg)->depth)SegGrey(seg) ((TraceSet)(seg)->grey)SegWhite(seg) ((TraceSet)(seg)->white)SegNailed(seg) ((TraceSet)(seg)->nailed)SegOfPoolRing(node) (RING_ELT(Seg, poolRing, (node)))SegOfGreyRing(node) (&(RING_ELT(GCSeg, greyRing, (node)) ->segStruct))SegSummary(seg) (((GCSeg)(seg))->summary)SegSetPM(seg,mode) ((void)((seg)->pm = (mode)))SegSetSM(seg,mode) ((void)((seg)->sm = (mode)))SegSetDepth(seg,d) ((void)((seg)->depth = (d)))SegSetNailed(seg,ts) ((void)((seg)->nailed = (ts)))BUFFER_RESERVE(pReturn,buffer,size,withReservoirPermit) (AddrAdd(BufferAlloc(buffer), size) > BufferAlloc(buffer) && AddrAdd(BufferAlloc(buffer), size) <= BufferAP(buffer)->limit ? (*(pReturn) = BufferAlloc(buffer), BufferAP(buffer)->alloc = AddrAdd(BufferAlloc(buffer), size), ResOK) : BufferFill(pReturn, buffer, size, withReservoirPermit))BUFFER_COMMIT(buffer,p,size) (BufferAP(buffer)->init = BufferAlloc(buffer), BufferAP(buffer)->limit != 0 || BufferTrip(buffer, p, size))BufferAP(buffer) (&(buffer)->apStruct)BufferOfAP(ap) PARENT(BufferStruct, apStruct, ap)BufferArena(buffer) ((buffer)->arena)BufferPool(buffer) ((buffer)->pool)BufferBase(buffer) ((buffer)->base)BufferGetInit(buffer) (BufferAP(buffer)->init)BufferAlloc(buffer) (BufferAP(buffer)->alloc)BufferLimit(buffer) ((buffer)->poolLimit)DEFINE_BUFFER_CLASS(className,var) DEFINE_ALIAS_CLASS(className, BufferClass, var)BUFFER_SUPERCLASS(className) ((BufferClass)SUPERCLASS(className))RankSetIsMember(rs,r) BS_IS_MEMBER((rs), (r))RankSetSingle(r) BS_SINGLE(RankSet, (r))RankSetIsSingle(r) BS_IS_SINGLE(r)RankSetUnion(rs1,rs2) BS_UNION((rs1), (rs2))RankSetDel(rs,r) BS_DEL(RankSet, (rs), (r))AddrZone(arena,addr) (((Word)(addr) >> (arena)->zoneShift) & (MPS_WORD_WIDTH - 1))RefSetUnion(rs1,rs2) BS_UNION((rs1), (rs2))RefSetInter(rs1,rs2) BS_INTER((rs1), (rs2))RefSetDiff(rs1,rs2) BS_DIFF((rs1), (rs2))RefSetAdd(arena,rs,addr) BS_ADD(RefSet, rs, AddrZone(arena, addr))RefSetIsMember(arena,rs,addr) BS_IS_MEMBER(rs, AddrZone(arena, addr))RefSetSuper(rs1,rs2) BS_SUPER((rs1), (rs2))RefSetSub(rs1,rs2) BS_SUB((rs1), (rs2))ZoneSetUnion(zs1,zs2) BS_UNION(zs1, zs2)ZoneSetInter(zs1,zs2) BS_INTER(zs1, zs2)ZoneSetDiff(zs1,zs2) BS_DIFF(zs1, zs2)ZoneSetAdd(arena,zs,addr) BS_ADD(ZoneSet, zs, AddrZone(arena, addr))ZoneSetIsMember(arena,zs,addr) BS_IS_MEMBER(zs, AddrZone(arena, addr))ZoneSetSub(zs1,zs2) BS_SUB(zs1, zs2)ZoneSetSuper(zs1,zs2) BS_SUPER(zs1, zs2)ZoneSetComp(zs) BS_COMP(zs)STATISTIC(gather) BEGIN (gather); ENDSTATISTIC_STAT(gather) BEGIN gather; ENDSTATISTIC_WRITE(format,arg) (format), (arg),&_SIGNAL_H_ *'_SYS_SIGNAL_H_ +'_SYS__SIGSET_H_ ,_SIG_WORDS 4-_SIG_MAXSIG 128._SIG_IDX(sig) ((sig) - 1)/_SIG_WORD(sig) (_SIG_IDX(sig) >> 5)0_SIG_BIT(sig) (1 << (_SIG_IDX(sig) & 31))1_SIG_VALID(sig) ((sig) <= _SIG_MAXSIG && (sig) > 0)-"_MACHINE_SIGNAL_H_ 2MINSIGSTKSZ (512 * 4)6%_MACHINE_TRAP_H_ ,T_PRIVINFLT 1-T_BPTFLT 3.T_ARITHTRAP 6/T_PROTFLT 90T_TRCTRAP 101T_PAGEFLT 122T_ALIGNFLT 144T_DIVIDE 185T_NMI 196T_OFLOW 207T_BOUND 218T_DNA 229T_DOUBLEFLT 23:T_FPOPFLT 24;T_TSSFLT 25T_MCHK 28?T_XMMFLT 29@T_RESERVED 30EILL_RESAD_FAULT T_RESADFLTFILL_PRIVIN_FAULT T_PRIVINFLTGILL_RESOP_FAULT T_RESOPFLTHILL_ALIGN_FAULT T_ALIGNFLTIILL_FPOP_FAULT T_FPOPFLTLFPE_INTOVF 1MFPE_INTDIV 2NFPE_FLTDIV 3OFPE_FLTOVF 4PFPE_FLTUND 5QFPE_FLTRES 6RFPE_FLTINV 7SFPE_FLTSUB 8VFPE_INTOVF_TRAP 0x1WFPE_INTDIV_TRAP 0x2XFPE_FLTDIV_TRAP 0x3YFPE_FLTOVF_TRAP 0x4ZFPE_FLTUND_TRAP 0x5[FPE_FPU_NP_TRAP 0x6\FPE_SUBRNG_TRAP 0x7_BUS_PAGE_FAULT T_PAGEFLT`BUS_SEGNP_FAULT T_SEGNPFLTaBUS_STK_FAULT T_STKFLTbBUS_SEGM_FAULT T_RESERVEDeT_USER 0x100sc_sp sc_espsc_fp sc_ebpsc_pc sc_eipsc_ps sc_eflsc_eflags sc_efl3SIGHUP 15SIGINT 27SIGQUIT 39SIGILL 4;SIGTRAP 5=SIGABRT 6?SIGIOT SIGABRT@SIGEMT 7BSIGFPE 8DSIGKILL 9GSIGBUS 10ISIGSEGV 11KSIGSYS 12NSIGPIPE 13OSIGALRM 14QSIGTERM 15SSIGURG 16VSIGSTOP 17WSIGTSTP 18XSIGCONT 19YSIGCHLD 20ZSIGTTIN 21[SIGTTOU 22^SIGIO 23aSIGXCPU 24bSIGXFSZ 25cSIGVTALRM 26dSIGPROF 27gSIGWINCH 28hSIGINFO 29kSIGUSR1 30lSIGUSR2 31oSIGTHR 32pSIGLWP SIGTHRvSIG_DFL ((__sighandler_t *)0)wSIG_IGN ((__sighandler_t *)1)xSIG_ERR ((__sighandler_t *)-1)_SIGSET_T_DECLARED sigev_signo __sigev_u.__sigev_signosigev_notify_kqueue __sigev_u.__sigev_notify_kqueueSIGEV_NONE 0SIGEV_SIGNAL 1SIGEV_KEVENT 3sa_handler __sigaction_u.__sa_handlersa_sigaction __sigaction_u.__sa_sigactionSA_NOCLDSTOP 0x0008SA_ONSTACK 0x0001SA_RESTART 0x0002SA_RESETHAND 0x0004SA_NODEFER 0x0010SA_NOCLDWAIT 0x0020SA_SIGINFO 0x0040NSIG 32SI_USER 0x10001SI_QUEUE 0x10002SI_TIMER 0x10003SI_ASYNCIO 0x10004SI_MESGQ 0x10005SI_UNDEFINED 0SS_ONSTACK 0x0001SS_DISABLE 0x0004SIGSTKSZ (MINSIGSTKSZ + 32768)SV_ONSTACK SA_ONSTACKSV_INTERRUPT SA_RESTARTSV_RESETHAND SA_RESETHANDSV_NODEFER SA_NODEFERSV_NOCLDSTOP SA_NOCLDSTOPSV_SIGINFO SA_SIGINFOsv_onstack sv_flagssigmask(m) (1 << ((m)-1))BADSIG SIG_ERRSIG_BLOCK 1SIG_UNBLOCK 2SIG_SETMASK 39_PID_T_DECLARED   _SYS_UCONTEXT_H_ #! _MACHINE_UCONTEXT_H_ >_MC_FPFMT_NODEV 0x10000?_MC_FPFMT_387 0x10001@_MC_FPFMT_XMM 0x10002B_MC_FPOWNED_NONE 0x20000C_MC_FPOWNED_FPU 0x20001D_MC_FPOWNED_PCB 0x200024UCF_SWAPPED 0x00000001"&_STDLIB_H_ IEXIT_FAILURE 1JEXIT_SUCCESS 0LRAND_MAX 0x7fffffffOMB_CUR_MAX __mb_cur_max_MKSTEMP_DECLARED _MKTEMP_DECLARED _SETKEY_DECLARED allocaalloca(sz) __builtin_alloca(sz)protfri3.cJan 17 200703:43:49$Id: //info.ravenbrook.com/project/mps/master/code/protfri3.c#7 $ | $dAB BV.V.X.d9AB DN..LProtSetupprotfri3SrcIdsi_signosi_codeunsigned intGNU C 3.4.6 [FreeBSD] 20060305si_statusscmidshort int__sigsetprotfri3SrcIdmodesiginfo_tsi_addrresultbaseAccessSetlong long unsigned intfile__siginfo__sigset_t__sigaction_uinfoAddrchar__int32_t__sa_handlersigval_intlimitsigval_ptrlong long intsa_flagssigactionAddrStructcontextsigvalSrcId__pid_tProtSetuplong intsigHandlebuild_timesi_value__uid_tlong unsigned int__bitsSrcIdStructsigNextprotfri3.cunsigned char__uint32_t__spare__FileSrcIdStructbuild_datesa_masksigned charshort unsigned intdoublesi_band/home/hannes/dylan/mps/codesigset_t__sa_sigactionsi_errnosi_pidsi_uidGCC: (GNU) 3.4.6 [FreeBSD] 20060305.symtab.strtab.shstrtab.rel.text.rel.data.bss.debug_abbrev.rel.debug_info.rel.debug_line.debug_macinfo.rodata.str1.1.rodata.str1.4.rel.rodata.rel.debug_frame.rel.debug_pubnames.rel.debug_aranges.debug_str.comment4 H)% H/4QF)B PpV R  bq2 2BX ȗ h\ Ċ2   0%Ѝ n     d&.<HNd9Xdprotfri3.cFileSrcIdStructsigHandlesigNextprotfri3SrcIdArenaAccessabortProtSetupsigemptysetsigaction*29Vnz  !%*18?FXcjqx(0?Gf} '5Tgr $/:RY]q}     @Dprmcan.o/ 1169001829 1001 1001 100644 34064 ` ELF }4(UÉUC% $ > $ > : ; I I&I : ;  : ; I8 : ; I < .? : ; ' I@ : ; I 4: ; I 4: ; I?  mG.7SintQfyE""h$#1%#<&#'# o ResEd   A U  k~! U   Amf /usr/include/usr/include/sys/usr/include/machinempm.hconfig.hmpstd.hmisc.hstddef.hcdefs.h_null.h_types.h_types.hcheck.hmpslib.hevent.heventcom.hmpmtypes.hstdarg.heventgen.hlock.hth.hring.hss.htract.hbt.hmpmst.hprotocol.hchain.hprmcan.c==__STDC_HOSTED__ 1__GNUC__ 3__GNUC_MINOR__ 4__GNUC_PATCHLEVEL__ 6__SIZE_TYPE__ unsigned int__PTRDIFF_TYPE__ int__WCHAR_TYPE__ int__WINT_TYPE__ unsigned int __GXX_ABI_VERSION 1002 __SCHAR_MAX__ 127 __SHRT_MAX__ 32767 __INT_MAX__ 2147483647 __LONG_MAX__ 2147483647L__LONG_LONG_MAX__ 9223372036854775807LL__WCHAR_MAX__ 2147483647__CHAR_BIT__ 8__FLT_EVAL_METHOD__ 2__FLT_RADIX__ 2__FLT_MANT_DIG__ 24__FLT_DIG__ 6__FLT_MIN_EXP__ (-125)__FLT_MIN_10_EXP__ (-37)__FLT_MAX_EXP__ 128__FLT_MAX_10_EXP__ 38__FLT_MAX__ 3.40282347e+38F__FLT_MIN__ 1.17549435e-38F__FLT_EPSILON__ 1.19209290e-7F__FLT_DENORM_MIN__ 1.40129846e-45F__FLT_HAS_INFINITY__ 1__FLT_HAS_QUIET_NAN__ 1__DBL_MANT_DIG__ 53 __DBL_DIG__ 15!__DBL_MIN_EXP__ (-1021)"__DBL_MIN_10_EXP__ (-307)#__DBL_MAX_EXP__ 1024$__DBL_MAX_10_EXP__ 308%__DBL_MAX__ 1.7976931348623157e+308&__DBL_MIN__ 2.2250738585072014e-308'__DBL_EPSILON__ 2.2204460492503131e-16(__DBL_DENORM_MIN__ 4.9406564584124654e-324)__DBL_HAS_INFINITY__ 1*__DBL_HAS_QUIET_NAN__ 1+__LDBL_MANT_DIG__ 53,__LDBL_DIG__ 15-__LDBL_MIN_EXP__ (-16381).__LDBL_MIN_10_EXP__ (-4931)/__LDBL_MAX_EXP__ 163840__LDBL_MAX_10_EXP__ 49321__DECIMAL_DIG__ 172__LDBL_MAX__ 1.1897314953572316e+4932L3__LDBL_MIN__ 3.3621031431120935e-4932L4__LDBL_EPSILON__ 2.2204460492503131e-16L5__LDBL_DENORM_MIN__ 7.4653686412953080e-4948L6__LDBL_HAS_INFINITY__ 17__LDBL_HAS_QUIET_NAN__ 18__REGISTER_PREFIX__ 9__USER_LABEL_PREFIX__ :__VERSION__ "3.4.6 [FreeBSD] 20060305";__OPTIMIZE__ 1<__FINITE_MATH_ONLY__ 0=__STRICT_ANSI__ 1@__i386 1A__i386__ 1B__tune_i386__ 1C__FreeBSD__ 6D__unix 1E__unix__ 1F__KPRINTF_ATTRIBUTE__ 1J__FreeBSD_cc_version 602001K__ELF__ 1_REENTRANT 1CONFIG_PROD_DYLAN 1CONFIG_VAR_HI 1NDEBUG 1 mpm_h config_h !CONFIG_DEBUG "CHECK_DEFAULT CheckNONE6CHECK_NONE 7MPS_ASSERT_STRING "nonasserted"?EVENT_NONE @MPS_LOG_STRING "nonlogging"EDIAGNOSTICS FMPS_DEBUG_STRING "debug"LMPS_VARIETY_STRING MPS_ASSERT_STRING "." MPS_LOG_STRING "." MPS_DEBUG_STRINGRmpstd_h MPS_PF_FRI4GC MPS_PF_STRING "fri4gc"MPS_OS_FR MPS_ARCH_I4 MPS_BUILD_GC MPS_T_WORD unsigned longMPS_WORD_WIDTH 32MPS_WORD_SHIFT 5MPS_PF_ALIGN 4EPVMDefaultSubsequentSegSIZE (64ul * 1024)ARENA_CONTROL_EXTENDBY ((Size)4096)ARENA_CONTROL_AVGSIZE ((Size)32)ARENA_CONTROL_MAXSIZE ((Size)65536)ArenaPollALLOCTIME (65536.0)ARENA_ZONESHIFT ((Shift)20)ARENA_CLIENT_PAGE_SIZE ((Size)8192)ArenaDefaultZONESET (ZoneSetUNIV << (MPS_WORD_WIDTH / 2))SegPrefDEFAULT { SegPrefSig, TRUE, ArenaDefaultZONESET, FALSE, FALSE, (Serial)0, }LDHistoryLENGTH ((Size)4)StackProbeDEPTH ((Size)0)ShieldCacheSIZE ((size_t)16)ShieldDepthWIDTH (4)VMANPageALIGNMENT ((Align)4096)VMJunkBYTE ((unsigned char)0xA9)TraceLIMIT ((size_t)1)TraceCopyScanRATIO (1.5)RememberedSummaryBLOCK 15EventBufferSIZE ((size_t)4096)EventStringLengthMAX ((size_t)255)ASSERT_BUFFER_SIZE ((Size)512)MPS_PROD_STRING "dylan"MPS_PROD_DYLAN ARENA_INIT_SPARE_COMMIT_LIMIT ((Size)10uL*1024uL*1024uL)THREAD_MULTI PROTECTION DONGLE_NONE PROD_CHECK_DEFAULT CheckSHALLOWARENA_SIZE ((Size)1<<30)misc_h '_STDDEF_H_ )%_SYS_CDEFS_H_ +__BEGIN_DECLS ,__END_DECLS 8__GNUCLIKE_ASM 39__GNUCLIKE_MATH_BUILTIN_CONSTANTS =__GNUCLIKE___TYPEOF 1>__GNUCLIKE___OFFSETOF 1?__GNUCLIKE___SECTION 1A__GNUCLIKE_ATTRIBUTE_MODE_DI 1D__GNUCLIKE_CTOR_SECTION_HANDLING 1G__GNUCLIKE_BUILTIN_CONSTANT_P 1N__GNUCLIKE_BUILTIN_VARARGS 1O__GNUCLIKE_BUILTIN_STDARG 1P__GNUCLIKE_BUILTIN_VAALIST 1T__GNUC_VA_LIST_COMPATIBILITY 1X__GNUCLIKE_BUILTIN_NEXT_ARG 1Y__GNUCLIKE_MATH_BUILTIN_RELOPS \__GNUCLIKE_BUILTIN_MEMCPY 1___CC_SUPPORTS_INLINE 1`__CC_SUPPORTS___INLINE 1a__CC_SUPPORTS___INLINE__ 1c__CC_SUPPORTS___FUNC__ 1d__CC_SUPPORTS_WARNING 1f__CC_SUPPORTS_VARADIC_XXX 1h__CC_SUPPORTS_DYNAMIC_ARRAY_INIT 1k__CC_INT_IS_32BIT 1s__GNUC_PREREQ__(ma,mi) (__GNUC__ > (ma) || __GNUC__ == (ma) && __GNUC_MINOR__ >= (mi))__P(protos) protos__CONCAT1(x,y) x ## y__CONCAT(x,y) __CONCAT1(x,y)__STRING(x) #x__XSTRING(x) __STRING(x)__const const__signed signed__volatile volatile__dead2 __attribute__((__noreturn__))__pure2 __attribute__((__const__))__unused __attribute__((__unused__))__used __attribute__((__used__))__packed __attribute__((__packed__))__aligned(x) __attribute__((__aligned__(x)))__section(x) __attribute__((__section__(x)))__pure __attribute__((__pure__))__always_inline __attribute__((__always_inline__))__nonnull(x) __attribute__((__nonnull__(x)))__restrict __predict_true(exp) __builtin_expect((exp), 1)__predict_false(exp) __builtin_expect((exp), 0)__offsetof(type,field) ((size_t)(&((type *)0)->field))__rangeof(type,start,end) (__offsetof(type, end) - __offsetof(type, start))__printflike(fmtarg,firstvararg) __attribute__((__format__ (__printf__, fmtarg, firstvararg)))__scanflike(fmtarg,firstvararg) __attribute__((__format__ (__scanf__, fmtarg, firstvararg)))__format_arg(fmtarg) __attribute__((__format_arg__ (fmtarg)))__printf0like(fmtarg,firstvararg) __attribute__((__format__ (__printf0__, fmtarg, firstvararg)))__strong_reference(sym,aliassym) extern __typeof (sym) aliassym __attribute__ ((__alias__ (#sym)));__weak_reference(sym,alias) __asm__(".weak " #alias); __asm__(".equ " #alias ", " #sym)__warn_references(sym,msg) __asm__(".section .gnu.warning." #sym); __asm__(".asciz \"" msg "\""); __asm__(".previous")__IDSTRING(name,string) __asm__(".ident\t\"" string "\"")__FBSDID(s) __IDSTRING(__CONCAT(__rcsid_,__LINE__),s)__RCSID(s) __IDSTRING(__CONCAT(__rcsid_,__LINE__),s)__RCSID_SOURCE(s) __IDSTRING(__CONCAT(__rcsid_source_,__LINE__),s)__SCCSID(s) __IDSTRING(__CONCAT(__sccsid_,__LINE__),s)__COPYRIGHT(s) __IDSTRING(__CONCAT(__copyright_,__LINE__),s)__DECONST(type,var) ((type)(uintptr_t)(const void *)(var))__DEVOLATILE(type,var) ((type)(uintptr_t)(volatile void *)(var))__DEQUALIFY(type,var) ((type)(uintptr_t)(const volatile void *)(var))__POSIX_VISIBLE 200112__XSI_VISIBLE 600__BSD_VISIBLE 1__ISO_C_VISIBLE 1999* NULL ((void *)0)+_SYS__TYPES_H_ ! (_MACHINE__TYPES_H_ .__NO_STRICT_ALIGNMENT __GNUC_VA_LIST 2_RUNE_T_DECLARED 8_SIZE_T_DECLARED >_WCHAR_T_DECLARED Boffsetof(type,member) __offsetof(type, member)*SRCID(id,scmid) static SrcIdStruct FileSrcIdStruct = {__FILE__, (scmid), __DATE__, __TIME__}; SrcId id ## SrcId = &FileSrcIdStruct;BEGIN do {> (i)) & 1)BS_UNION(s1,s2) ((s1) | (s2))BS_ADD(ty,s,i) BS_UNION((s), BS_SINGLE(ty, (i)))BS_INTER(s1,s2) ((s1) & (s2))BS_DIFF(s1,s2) BS_INTER((s1), BS_COMP(s2))BS_DEL(ty,s,i) BS_DIFF((s), BS_SINGLE(ty, (i)))BS_SUPER(s1,s2) (BS_INTER((s1), (s2)) == (s2))BS_SUB(s1,s2) BS_SUPER((s2), (s1))BS_IS_SINGLE(s) (((s) & ((s)-1)) == 0)BS_SYM_DIFF(s1,s2) ((s1) ^ (s2)) check_h  mpslib_h mps_lib_EOF (mps_lib_get_EOF())mps_lib_stderr (mps_lib_get_stderr())mps_lib_stdout (mps_lib_get_stdout())0AVER(cond) DISCARD(cond)1AVERT(type,val) DISCARD(type ## Check(val))2AVER_CRITICAL(cond) DISCARD(cond)3AVERT_CRITICAL(type,val) DISCARD(type ## Check(val))MASSERT(cond,condstring) BEGIN if (cond) NOOP; else mps_lib_assert_fail(condstring "\n" __FILE__ "\n" STR(__LINE__)); END_NOTREACHED NOOPjCHECKT(type,val) ((val) != NULL && (val)->sig == type ## Sig)pCHECKS(type,val) DISCARD(CHECKT(type, val))qCHECKL(cond) DISCARD(cond)rCHECKD(type,val) DISCARD(CHECKT(type, val))sCHECKD_NOSIG(type,val) DISCARD((val) != NULL)tCHECKU(type,val) DISCARD(CHECKT(type, val))uCHECKU_NOSIG(type,val) DISCARD((val) != NULL)CHECKLVALUE(lv1,lv2) ((void)sizeof((lv1) = (lv2)), (void)sizeof((lv2) = (lv1)), TRUE)CHECKTYPE(t1,t2) (sizeof(t1) == sizeof(t2) && CHECKLVALUE(*((t1 *)0), *((t2 *)0)))CHECKFIELDAPPROX(s1,f1,s2,f2) (sizeof(((s1 *)0)->f1) == sizeof(((s2 *)0)->f2) && offsetof(s1, f1) == offsetof(s2, f2))CHECKFIELD(s1,f1,s2,f2) (CHECKFIELDAPPROX(s1, f1, s2, f2) && CHECKLVALUE(((s1 *)0)->f1, ((s2 *)0)->f2)) event_h   eventcom_h  mpmtypes_h '_MACHINE_STDARG_H_ -_VA_LIST_DECLARED 3va_start(ap,last) __builtin_stdarg_start((ap), (last))6va_arg(ap,type) __builtin_va_arg((ap), type):va_copy(dest,src) __builtin_va_copy((dest), (src))>va_end(ap) __builtin_va_end(ap)SigInvalid ((Sig)0x51915BAD)SizeMAX ((Size)-1)AccessSetEMPTY ((AccessSet)0)AccessREAD ((AccessSet)(1<<0))AccessWRITE ((AccessSet)(1<<1))AccessSetWIDTH (2)RefSetEMPTY BS_EMPTY(RefSet)RefSetUNIV BS_UNIV(RefSet)ZoneSetEMPTY BS_EMPTY(ZoneSet)ZoneSetUNIV BS_UNIV(ZoneSet)TraceSetEMPTY BS_EMPTY(TraceSet)TraceSetUNIV ((TraceSet)((1u << TraceLIMIT) - 1))RankSetEMPTY BS_EMPTY(RankSet)RankSetUNIV ((RankSet)((1u << RankLIMIT) - 1))AttrFMT ((Attr)(1<<0))AttrSCAN ((Attr)(1<<1))AttrPM_NO_READ ((Attr)(1<<2))AttrPM_NO_WRITE ((Attr)(1<<3))AttrALLOC ((Attr)(1<<4))AttrFREE ((Attr)(1<<5))AttrBUF ((Attr)(1<<6))AttrBUF_RESERVE ((Attr)(1<<7))AttrBUF_ALLOC ((Attr)(1<<8))AttrGC ((Attr)(1<<9))AttrINCR_RB ((Attr)(1<<10))AttrINCR_WB ((Attr)(1<<11))AttrMOVINGGC ((Attr)(1<<12))AttrMASK (AttrFMT | AttrSCAN | AttrPM_NO_READ | AttrPM_NO_WRITE | AttrALLOC | AttrFREE | AttrBUF | AttrBUF_RESERVE | AttrBUF_ALLOC | AttrGC | AttrINCR_RB | AttrINCR_WB | AttrMOVINGGC)BufferModeATTACHED ((BufferMode)(1<<0))BufferModeFLIPPED ((BufferMode)(1<<1))BufferModeLOGGED ((BufferMode)(1<<2))BufferModeTRANSITION ((BufferMode)(1<<3))RootModeCONSTANT ((RootMode)1<<0)RootModePROTECTABLE ((RootMode)1<<1)RootModePROTECTABLE_INNER ((RootMode)1<<2)STATISTIC_DECL(field) field!EventNameMAX ((size_t)19)"EventCodeMAX ((EventCode)0x0069)&EVENT_0(type) NOOPEVENT_A(type,p0) NOOPEVENT_AW(type,p0,p1) NOOPEVENT_P(type,p0) NOOPEVENT_PAA(type,p0,p1,p2) NOOPEVENT_PAW(type,p0,p1,p2) NOOPEVENT_PAWA(type,p0,p1,p2,p3) NOOPEVENT_PDDWWW(type,p0,p1,p2,p3,p4,p5) NOOPEVENT_PP(type,p0,p1) NOOPEVENT_PPAU(type,p0,p1,p2,p3) NOOPEVENT_PPAWP(type,p0,p1,p2,p3,p4) NOOPEVENT_PPP(type,p0,p1,p2) NOOPEVENT_PPPA(type,p0,p1,p2,p3) NOOPEVENT_PPPU(type,p0,p1,p2,p3) NOOPEVENT_PPPUU(type,p0,p1,p2,p3,p4) NOOPEVENT_PPU(type,p0,p1,p2) NOOPEVENT_PPUU(type,p0,p1,p2,p3) NOOPEVENT_PPUWWW(type,p0,p1,p2,p3,p4,p5) NOOPEVENT_PPWW(type,p0,p1,p2,p3) NOOPEVENT_PPWWW(type,p0,p1,p2,p3,p4) NOOPEVENT_PPWWWUUU(type,p0,p1,p2,p3,p4,p5,p6,p7) NOOPEVENT_PU(type,p0,p1) NOOPEVENT_PW(type,p0,p1) NOOPEVENT_PWA(type,p0,p1,p2) NOOPEVENT_PWAW(type,p0,p1,p2,p3) NOOPEVENT_PWP(type,p0,p1,p2) NOOPEVENT_PWU(type,p0,p1,p2) NOOPEVENT_PWW(type,p0,p1,p2) NOOPEVENT_PWWWWDD(type,p0,p1,p2,p3,p4,p5,p6) NOOPEVENT_PWWWWW(type,p0,p1,p2,p3,p4,p5) NOOPEVENT_PWWWWWWWWW(type,p0,p1,p2,p3,p4,p5,p6,p7,p8,p9) NOOPEVENT_PWWWWWWWWWWWW(type,p0,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11,p12) NOOPEVENT_UUPA(type,p0,p1,p2,p3) NOOPEVENT_UUPP(type,p0,p1,p2,p3) NOOPEVENT_UUPPP(type,p0,p1,p2,p3,p4) NOOPEVENT_WS(type,p0,p1,l1) NOOP:EventEventTime ((EventType)0xEF213E99);EventPoolInit ((EventType)0xEFB07141)EventPoolFree ((EventType)0xEFB07F6E)?EventArenaCreateVM ((EventType)0xEFA64CF3)@EventArenaCreateVMNZ ((EventType)0xEFA64CF2)AEventArenaCreateCL ((EventType)0xEFA64CC7)BEventArenaDestroy ((EventType)0xEFA64DE5)CEventArenaAlloc ((EventType)0xEFA64A77)DEventArenaFree ((EventType)0xEFA64F6E)EEventSegAlloc ((EventType)0xEF5E9A77)FEventSegFree ((EventType)0xEF5E9F6E)GEventSegMerge ((EventType)0xEF5E93E6)HEventSegSplit ((EventType)0xEF5E95B7)IEventAMCGenCreate ((EventType)0xEFA3C94C)JEventAMCGenDestroy ((EventType)0xEFA3C94D)KEventAMCInit ((EventType)0xEFA3C141)LEventAMCFinish ((EventType)0xEFA3CF14)MEventAMCTraceBegin ((EventType)0xEFA3C26B)NEventAMCScanBegin ((EventType)0xEFA3C5CB)OEventAMCScanEnd ((EventType)0xEFA3C5CE)PEventAMCFix ((EventType)0xEFA3CF18)QEventAMCFixInPlace ((EventType)0xEFA3CF8A)REventAMCFixForward ((EventType)0xEFA3CF8F)SEventAMCReclaim ((EventType)0xEFA3C6EC)TEventTraceStart ((EventType)0xEF26AC52)UEventTraceCreate ((EventType)0xEF26ACC6)VEventTraceDestroy ((EventType)0xEF26ACDE)WEventSegSetGrey ((EventType)0xEF59596A)XEventTraceFlipBegin ((EventType)0xEF26AF7B)YEventTraceFlipEnd ((EventType)0xEF26AF7E)ZEventTraceReclaim ((EventType)0xEF26A6EC)[EventTraceScanSeg ((EventType)0xEF26A559)\EventTraceScanSingleRef ((EventType)0xEF26A556)^EventTraceAccess ((EventType)0xEF26AACC)_EventTracePoll ((EventType)0xEF26AB01)`EventTraceStep ((EventType)0xEF26A52B)aEventTraceFix ((EventType)0xEF26AF18)bEventTraceFixSeg ((EventType)0xEF26AF85)cEventTraceFixWhite ((EventType)0xEF26AF83)dEventTraceScanArea ((EventType)0xEF26A5CA)eEventTraceScanAreaTagged ((EventType)0xEF26A5C2)fEventVMCreate ((EventType)0xEFF3C6EA)gEventVMDestroy ((EventType)0xEFF3DE52)hEventVMMap ((EventType)0xEFF33AB9)iEventVMUnmap ((EventType)0xEFF3043B)jEventIntern ((EventType)0xEF142E64)kEventArenaExtend ((EventType)0xEFA64E82)lEventArenaRetract ((EventType)0xEFA646E2)mEventRootScan ((EventType)0xEF625CA4)nEventLabel ((EventType)0xEF7ABE79)oEventTraceSegGreyen ((EventType)0xEF26A599)pEventBufferReserve ((EventType)0xEFB0FF6E)qEventBufferCommit ((EventType)0xEFB0FFC0)rEventBufferInit ((EventType)0xEFB0FF14)sEventBufferInitSeg ((EventType)0xEFB0F15E)tEventBufferInitRank ((EventType)0xEFB0F16A)uEventBufferInitEPVM ((EventType)0xEFB0F1EF)vEventBufferFinish ((EventType)0xEFB0FFF1)wEventBufferFill ((EventType)0xEFB0FFF7)xEventBufferEmpty ((EventType)0xEFB0FFE3)yEventArenaAllocFail ((EventType)0xEFA64A7F)zEventSegAllocFail ((EventType)0xEF5E9A7F){EventMeterInit ((EventType)0xEF3E2141)|EventMeterValues ((EventType)0xEF3E2FA7)}EventCBSInit ((EventType)0xEFCB5141)~EventTraceStatCondemn ((EventType)0xEF26A5C0)EventTraceStatScan ((EventType)0xEF26A55C)EventTraceStatFix ((EventType)0xEF26A5F8)EventTraceStatReclaim ((EventType)0xEF26A56E)EventArenaWriteFaults ((EventType)0xEFA6436F)EventPoolInitMV ((EventType)0xEFB0713F)EventPoolInitMVFF ((EventType)0xEFB071FF)EventPoolInitMFS ((EventType)0xEFB07135)EventPoolInitEPVM ((EventType)0xEFB071EF)EventPoolInitEPDL ((EventType)0xEFB071E7)EventPoolInitAMS ((EventType)0xEFB071A5)EventPoolInitAMC ((EventType)0xEFB071AC)EventPoolInitAMCZ ((EventType)0xEFB071A2)EventPoolInitAWL ((EventType)0xEFB071A3)EventPoolInitLO ((EventType)0xEFB07170)EventPoolInitSNC ((EventType)0xEFB07154)EventPoolInitMVT ((EventType)0xEFB07132)EventPoolPush ((EventType)0xEFB07B58)EventPoolPop ((EventType)0xEFB07B0B)EventReservoirLimitSet ((EventType)0xEF6E5713)EventCommitLimitSet ((EventType)0xEFC03713)EventSpareCommitLimitSet ((EventType)0xEF5BC713)hEventInit() NOOPiEventFinish() NOOPjEventControl(r,f) (UNUSED(r), UNUSED(f), (Word)0)kEventInternString(s) (UNUSED(s), (Word)0)lEventInternGenString(l,s) (UNUSED(l), UNUSED(s), (Word)0)mEventLabelAddr(a,i) BEGIN UNUSED(a); UNUSED(i); ENDPlock_h ULockSig ((Sig)0x51970CC9) th_h  ring_h RingNONE ((Ring)0)$RingInit(ring) BEGIN Ring _ring = (ring); AVER(_ring != NULL); _ring->next = _ring; _ring->prev = _ring; AVER(RingCheck(_ring)); END/RingFinish(ring) BEGIN Ring _ring = (ring); AVER(RingCheckSingle(_ring)); _ring->next = RingNONE; _ring->prev = RingNONE; END9RingAppend(ring,new) BEGIN Ring _ring = (ring), _new = (new); AVER(RingCheck(_ring)); AVER(RingCheckSingle(_new)); _new->prev = _ring->prev; _new->next = _ring; _ring->prev->next = _new; _ring->prev = _new; ENDFRingInsert(ring,new) BEGIN Ring _ring = (ring), _new = (new); AVER(RingCheck(_ring)); AVER(RingCheckSingle(_new)); _new->prev = _ring; _new->next = _ring->next; _ring->next->prev = _new; _ring->next = _new; ENDSRingRemove(old) BEGIN Ring _old = (old); AVER(RingCheck(_old)); AVER(!RingIsSingle(_old)); _old->next->prev = _old->prev; _old->prev->next = _old->next; _old->next = _old; _old->prev = _old; END`RingNext(ring) ((ring)->next)dRingPrev(ring) ((ring)->prev)gRING_ELT(type,field,node) ((type)(void *)((char *)(node) - (size_t)(&((type)0)->field)))kRING_FOR(node,ring,next) for(node = RingNext(ring), next = RingNext(node); node != (ring); node = (next), next = RingNext(node))ThreadSig ((Sig)0x519286ED) ss_h  tract_h   bt_h BTSize(n) (((n) + MPS_WORD_WIDTH-1) / MPS_WORD_WIDTH * sizeof(Word))BTGet(a,i) ((Bool)(((a)[((i) >> MPS_WORD_SHIFT)] >> ((i) & ~((Word)-1 << MPS_WORD_SHIFT))) & (Word)1))BTSet(a,i) BEGIN (a)[((i)>>MPS_WORD_SHIFT)] |= (Word)1<<((i)&~((Word)-1<>MPS_WORD_SHIFT)] &= ~((Word)1 << ((i) & ~((Word)-1<base)&TractPool(tract) ((tract)->pool)'TractP(tract) ((tract)->p)(TractSetP(tract,pp) ((void)((tract)->p = (pp))))TractHasSeg(tract) ((Bool)(tract)->hasSeg)*TractSetHasSeg(tract,b) ((void)((tract)->hasSeg = (b)))+TractWhite(tract) ((tract)->white),TractSetWhite(tract,w) ((void)((tract)->white = (w)))8TRACT_SEG(segReturn,tract) (TractHasSeg(tract) && ((*(segReturn) = (Seg)TractP(tract)), TRUE));TRACT_SET_SEG(tract,seg) (TractSetHasSeg(tract, TRUE), TractSetP(tract, seg))>TRACT_UNSET_SEG(tract) (TractSetHasSeg(tract, FALSE), TractSetP(tract, NULL))nPageTract(page) (&(page)->the.tractStruct)rPageOfTract(tract) PARENT(PageStruct, the.tractStruct, (tract))vPagePool(page) ((page)->the.rest.pool)}PageIsAllocated(page) ((page)->the.rest.pool != NULL)PageType(page) ((page)->the.rest.type)ChunkSig ((Sig)0x519C804C)ChunkArena(chunk) ((chunk)->arena)ChunkPageSize(chunk) ((chunk)->pageSize)ChunkPageShift(chunk) ((chunk)->pageShift)ChunkPagesToSize(chunk,pages) ((Size)(pages) << (chunk)->pageShift)ChunkSizeToPages(chunk,size) ((Count)((size) >> (chunk)->pageShift))CHUNK_OF_ADDR(chunkReturn,arena,addr) (((arena)->chunkCache.base <= (addr) && (addr) < (arena)->chunkCache.limit) ? (*(chunkReturn) = (arena)->chunkCache.chunk, TRUE) : ChunkOfAddr(chunkReturn, arena, addr))AddrPageBase(chunk,addr) AddrAlignDown((addr), ChunkPageSize(chunk))TRACT_OF_ADDR(tractReturn,arena,addr) BEGIN Arena _arena = (arena); Addr _addr = (addr); Chunk _chunk; Index _i; if (CHUNK_OF_ADDR(&_chunk, _arena, _addr)) { _i = INDEX_OF_ADDR(_chunk, _addr); if (BTGet(_chunk->allocTable, _i)) *(tractReturn) = PageTract(&_chunk->pageTable[_i]); else *(tractReturn) = NULL; } else *(tractReturn) = NULL; ENDINDEX_OF_ADDR(chunk,addr) ((Index)ChunkSizeToPages(chunk, AddrOffset((chunk)->base, addr)))PageIndexBase(chunk,i) AddrAdd((chunk)->base, ChunkPagesToSize(chunk, i))TractAverContiguousRange(arena,rangeBase,rangeLimit) BEGIN Chunk _ch = NULL; UNUSED(_ch); AVER(ChunkOfAddr(&_ch, arena, rangeBase) && (rangeLimit) <= _ch->limit); ENDTRACT_TRACT_FOR(tract,addr,arena,firstTract,limit) tract = (firstTract); addr = TractBase(tract); TractAverContiguousRange(arena, addr, limit); for(; tract != NULL; (addr = AddrAdd(addr, (arena)->alignment)), (addr < (limit) ? (tract = PageTract(PageOfTract(tract) + 1)) : (tract = NULL) ))TRACT_FOR(tract,addr,arena,base,limit) TRACT_TRACT_FOR(tract, addr, arena, TractOfBaseAddr(arena, base), limit)mpmst_h protocol_h DERIVE_LOCAL(name) protocol ## nameDERIVE_STRUCT(name) name ## StructDERIVE_ENSURE(name) name ## GetDERIVE_ENSURE_OLD(name) Ensure ## nameDERIVE_ENSURE_INTERNAL(name) protocolGet ## nameDERIVE_GUARDIAN(name) protocol ## name ## GuardianDERIVE_STATIC_STORAGE(name) protocol ## name ## StructProtocolClassSetSuperclassPoly(class,super) (((ProtocolClass)(class))->superclass) = (ProtocolClass)(super)$DEFINE_CLASS(className,var) static Bool DERIVE_GUARDIAN(className) = FALSE; static DERIVE_STRUCT(className) DERIVE_STATIC_STORAGE(className); static void DERIVE_ENSURE_INTERNAL(className)(className); extern className DERIVE_ENSURE(className)(void); className DERIVE_ENSURE(className)(void) { if (DERIVE_GUARDIAN(className) == FALSE) { LockClaimGlobalRecursive(); if (DERIVE_GUARDIAN(className) == FALSE) { DERIVE_ENSURE_INTERNAL(className) (&DERIVE_STATIC_STORAGE(className)); DERIVE_GUARDIAN(className) = TRUE; } LockReleaseGlobalRecursive(); } return &DERIVE_STATIC_STORAGE(className); } extern className DERIVE_ENSURE_OLD(className)(void); className DERIVE_ENSURE_OLD(className)(void) { return DERIVE_ENSURE(className)(); } static void DERIVE_ENSURE_INTERNAL(className) (className var)AINHERIT_CLASS(this,parentName) BEGIN parentName DERIVE_LOCAL(parentName) = DERIVE_ENSURE(parentName)(); *this = *(DERIVE_LOCAL(parentName)); ProtocolClassSetSuperclassPoly(this, DERIVE_LOCAL(parentName)); ENDODEFINE_ALIAS_CLASS(className,typeName,var) typedef typeName className; typedef DERIVE_STRUCT(typeName) DERIVE_STRUCT(className); DEFINE_CLASS(className, var)VProtocolClassSig ((Sig)0x519B60C7)WProtocolInstSig ((Sig)0x519B6014)ProtocolClassSuperclassPoly(class) (((ProtocolClass)(class))->superclass)ClassOfPoly(inst) ((ProtocolInst)(inst)->class)IsSubclassPoly(sub,super) ProtocolIsSubclass((ProtocolClass)(sub), (ProtocolClass)(super))SUPERCLASS(className) ProtocolClassSuperclassPoly(DERIVE_ENSURE(className)())chain_h GenDescSig ((Sig)0x5199E4DE)+PoolGenSig ((Sig)0x519B009E);ChainSig ((Sig)0x519C8A14)XPoolGenNr(gen) ((gen)->nr)/PoolClassSig ((Sig)0x519C7A55)]PoolSig ((Sig)0x519B0019)}MFSSig ((Sig)0x5193F599)MVSig ((Sig)0x5193B999)ReservoirSig ((Sig)0x5196e599)MessageClassSig ((Sig)0x519359c1)MessageSig ((Sig)0x5193e559)SegClassSig ((Sig)0x5195E9C7)SegSig ((Sig)0x5195E999)GCSegSig ((Sig)0x5199C5E9)SegPrefSig ((Sig)0x5195E9B6)BufferClassSig ((Sig)0x519B0FC7)BufferSig ((Sig)0x519B0FFE)SegBufSig ((Sig)0x51959B0F)FormatSig ((Sig)0x519F63A2)ScanStateSig ((Sig)0x5195CA45)TraceSig ((Sig)0x51924ACE)ChunkCacheEntrySig ((Sig)0x519C80CE)ArenaClassSig ((Sig)0x519A6C1A)GlobalsSig ((Sig)0x519970BA)ArenaSig ((Sig)0x519A6E4A)%BoolCheck(b) ((unsigned)(b) <= 1)(FUNCHECK(f) (FunCheck((Fun)f))4WordIsAligned(w,a) (((w) & ((a) - 1)) == 0)7WordAlignUp(w,a) (((w) + (a) - 1) & ~((Word)(a) - 1));WordRoundUp(w,r) (((w)+(r)-1) - ((w)+(r)-1)%(r))>WordAlignDown(w,a) ((w) & ~((Word)(a) - 1))@size_tAlignUp(s,a) ((size_t)WordAlignUp((Word)(s), a))BPointerAdd(p,s) ((void *)((char *)(p) + (s)))CPointerSub(p,s) ((void *)((char *)(p) - (s)))EPointerOffset(base,limit) ((size_t)((char *)(limit) - (char *)(base)))HPointerAlignUp(p,s) ((void *)WordAlignUp((Word)(p), (Align)(s)))KAddrAdd(p,s) ((Addr)PointerAdd((void *)(p), s))LAddrSub(p,s) ((Addr)PointerSub((void *)(p), s))NAddrOffset(b,l) ((Size)(PointerOffset((void *)(b), (void *)(l))))RAddrAlignDown(p,a) ((Addr)WordAlignDown((Word)(p), a))TAlignWord(s) ((Word)(s))VAddrIsAligned(p,a) WordIsAligned((Word)(p), a)WAddrAlignUp(p,a) ((Addr)WordAlignUp((Word)(p), a))YSizeIsAligned(s,a) WordIsAligned((Word)(s), a)ZSizeAlignUp(s,a) ((Size)WordAlignUp((Word)(s), a))[SizeAlignDown(s,a) ((Size)WordAlignDown((Word)(s), a))]SizeRoundUp(s,r) ((Size)WordRoundUp((Word)(s), (Size)(r)))_IndexIsAligned(s,a) WordIsAligned((Word)(s), a)`IndexAlignUp(s,a) ((Index)WordAlignUp((Word)(s), a))aIndexAlignDown(s,a) ((Index)WordAlignDown((Word)(s), a))cAlignIsAligned(a1,a2) WordIsAligned((Word)(a1), a2)iAddrSet(target,value,size) mps_lib_memset(target, (int)(value), size)mAddrCopy(target,source,size) mps_lib_memcpy(target, source, size)qAddrComp(a,b,size) mps_lib_memcmp(a, b, size)wADDR_PTR(type,addr) ((type *)(addr))PoolArena(pool) ((pool)->arena)PoolAlignment(pool) ((pool)->alignment)PoolSegRing(pool) (&(pool)->segRing)PoolFix(pool,ss,seg,refIO) ((*(pool)->fix)(pool, ss, seg, refIO))ClassOfPool(pool) ((pool)->class)SuperclassOfPool(pool) ((PoolClass)ProtocolClassSuperclassPoly((pool)->class))DEFINE_POOL_CLASS(className,var) DEFINE_ALIAS_CLASS(className, PoolClass, var)POOL_SUPERCLASS(className) ((PoolClass)SUPERCLASS(className))TraceSetSingle(trace) BS_SINGLE(TraceSet, (trace)->ti)TraceSetIsSingle(ts) BS_IS_SINGLE(ts)TraceSetIsMember(ts,trace) BS_IS_MEMBER(ts, (trace)->ti)TraceSetAdd(ts,trace) BS_ADD(TraceSet, ts, (trace)->ti)TraceSetDel(ts,trace) BS_DEL(TraceSet, ts, (trace)->ti)TraceSetUnion(ts1,ts2) BS_UNION(ts1, ts2)TraceSetInter(ts1,ts2) BS_INTER(ts1, ts2)TraceSetDiff(ts1,ts2) BS_DIFF(ts1, ts2)TraceSetSuper(ts1,ts2) BS_SUPER(ts1, ts2)TraceSetSub(ts1,ts2) BS_SUB(ts1, ts2)TraceSetComp(ts) BS_COMP(ts)TRACE_SET_ITER(ti,trace,ts,arena) for(ti = 0, trace = ArenaTrace(arena, ti); ti < TraceLIMIT; ++ti, trace = ArenaTrace(arena, ti)) BEGIN if (TraceSetIsMember(ts, trace)) {TRACE_SET_ITER_END(ti,trace,ts,arena) } ENDTRACE_SCAN_BEGIN(ss) BEGIN Shift SCANzoneShift = (ss)->zoneShift; ZoneSet SCANwhite = (ss)->white; RefSet SCANsummary = (ss)->unfixedSummary; Word SCANt; {TRACE_FIX1(ss,ref) (SCANt = (Word)1 << ((Word)(ref) >> SCANzoneShift & (MPS_WORD_WIDTH-1)), SCANsummary |= SCANt, SCANwhite & SCANt)TRACE_FIX2(ss,refIO) ((*(ss)->fix)(ss, refIO))TRACE_FIX(ss,refIO) (TRACE_FIX1(ss, *(refIO)) ? TRACE_FIX2(ss, refIO) : ResOK)TRACE_SCAN_END(ss) } (ss)->unfixedSummary = SCANsummary; ENDDEFINE_ARENA_CLASS(className,var) DEFINE_ALIAS_CLASS(className, ArenaClass, var)ARENA_SUPERCLASS(className) ((ArenaClass)SUPERCLASS(className))ArenaGlobals(arena) (&(arena)->globals)GlobalsArena(glob) PARENT(ArenaStruct, globals, glob)ArenaRootRing(arena) (&(arena)->rootRing)ArenaTraceRing(arena) (&(arena)->traceRing)ArenaThreadRing(arena) (&(arena)->threadRing)ArenaEpoch(arena) ((arena)->epoch)ArenaTrace(arena,ti) (&(arena)->trace[ti])ArenaZoneShift(arena) ((arena)->zoneShift)ArenaAlign(arena) ((arena)->alignment)ArenaGreyRing(arena,rank) (&(arena)->greyRing[rank])ArenaReservoir(arena) (&(arena)->reservoirStruct)DEFINE_SEG_CLASS(className,var) DEFINE_ALIAS_CLASS(className, SegClass, var)SEG_SUPERCLASS(className) ((SegClass)SUPERCLASS(className))ClassOfSeg(seg) ((seg)->class)SegBase(seg) (TractBase((seg)->firstTract))SegLimit(seg) ((seg)->limit)SegPool(seg) (TractPool((seg)->firstTract))SegRankSet(seg) ((RankSet)(seg)->rankSet)SegPM(seg) ((AccessSet)(seg)->pm)SegSM(seg) ((AccessSet)(seg)->sm)SegDepth(seg) ((unsigned)(seg)->depth)SegGrey(seg) ((TraceSet)(seg)->grey)SegWhite(seg) ((TraceSet)(seg)->white)SegNailed(seg) ((TraceSet)(seg)->nailed)SegOfPoolRing(node) (RING_ELT(Seg, poolRing, (node)))SegOfGreyRing(node) (&(RING_ELT(GCSeg, greyRing, (node)) ->segStruct))SegSummary(seg) (((GCSeg)(seg))->summary)SegSetPM(seg,mode) ((void)((seg)->pm = (mode)))SegSetSM(seg,mode) ((void)((seg)->sm = (mode)))SegSetDepth(seg,d) ((void)((seg)->depth = (d)))SegSetNailed(seg,ts) ((void)((seg)->nailed = (ts)))BUFFER_RESERVE(pReturn,buffer,size,withReservoirPermit) (AddrAdd(BufferAlloc(buffer), size) > BufferAlloc(buffer) && AddrAdd(BufferAlloc(buffer), size) <= BufferAP(buffer)->limit ? (*(pReturn) = BufferAlloc(buffer), BufferAP(buffer)->alloc = AddrAdd(BufferAlloc(buffer), size), ResOK) : BufferFill(pReturn, buffer, size, withReservoirPermit))BUFFER_COMMIT(buffer,p,size) (BufferAP(buffer)->init = BufferAlloc(buffer), BufferAP(buffer)->limit != 0 || BufferTrip(buffer, p, size))BufferAP(buffer) (&(buffer)->apStruct)BufferOfAP(ap) PARENT(BufferStruct, apStruct, ap)BufferArena(buffer) ((buffer)->arena)BufferPool(buffer) ((buffer)->pool)BufferBase(buffer) ((buffer)->base)BufferGetInit(buffer) (BufferAP(buffer)->init)BufferAlloc(buffer) (BufferAP(buffer)->alloc)BufferLimit(buffer) ((buffer)->poolLimit)DEFINE_BUFFER_CLASS(className,var) DEFINE_ALIAS_CLASS(className, BufferClass, var)BUFFER_SUPERCLASS(className) ((BufferClass)SUPERCLASS(className))RankSetIsMember(rs,r) BS_IS_MEMBER((rs), (r))RankSetSingle(r) BS_SINGLE(RankSet, (r))RankSetIsSingle(r) BS_IS_SINGLE(r)RankSetUnion(rs1,rs2) BS_UNION((rs1), (rs2))RankSetDel(rs,r) BS_DEL(RankSet, (rs), (r))AddrZone(arena,addr) (((Word)(addr) >> (arena)->zoneShift) & (MPS_WORD_WIDTH - 1))RefSetUnion(rs1,rs2) BS_UNION((rs1), (rs2))RefSetInter(rs1,rs2) BS_INTER((rs1), (rs2))RefSetDiff(rs1,rs2) BS_DIFF((rs1), (rs2))RefSetAdd(arena,rs,addr) BS_ADD(RefSet, rs, AddrZone(arena, addr))RefSetIsMember(arena,rs,addr) BS_IS_MEMBER(rs, AddrZone(arena, addr))RefSetSuper(rs1,rs2) BS_SUPER((rs1), (rs2))RefSetSub(rs1,rs2) BS_SUB((rs1), (rs2))ZoneSetUnion(zs1,zs2) BS_UNION(zs1, zs2)ZoneSetInter(zs1,zs2) BS_INTER(zs1, zs2)ZoneSetDiff(zs1,zs2) BS_DIFF(zs1, zs2)ZoneSetAdd(arena,zs,addr) BS_ADD(ZoneSet, zs, AddrZone(arena, addr))ZoneSetIsMember(arena,zs,addr) BS_IS_MEMBER(zs, AddrZone(arena, addr))ZoneSetSub(zs1,zs2) BS_SUB(zs1, zs2)ZoneSetSuper(zs1,zs2) BS_SUPER(zs1, zs2)ZoneSetComp(zs) BS_COMP(zs)STATISTIC(gather) BEGIN (gather); ENDSTATISTIC_STAT(gather) BEGIN gather; ENDSTATISTIC_WRITE(format,arg) (format), (arg),prmcan.cJan 17 200703:43:49$Id: //info.ravenbrook.com/project/mps/master/code/prmcan.c#8 $ |  AB  AB QProtCanStepInstructionAProtStepInstruction|prmcanSrcIdBoolunsigned intGNU C 3.4.6 [FreeBSD] 20060305scmidshort intFileSrcIdStructlong long unsigned intfileprmcanSrcIdcharProtStepInstructionProtCanStepInstructionlong long intcontextMutatorFaultContextSrcIdlong intbuild_timeprmcan.clong unsigned intSrcIdStructMutatorFaultContextStructunsigned charbuild_datesigned charshort unsigned intdouble/home/hannes/dylan/mps/codeGCC: (GNU) 3.4.6 [FreeBSD] 20060305.symtab.strtab.shstrtab.text.rel.data.bss.debug_abbrev.rel.debug_info.rel.debug_line.debug_macinfo.rodata.str1.1.rodata.str1.4.rel.rodata.rel.debug_frame.rel.debug_pubnames.rel.debug_aranges.debug_str.comment4%L! `+P0PB> hHRN ^(um2y|2z@Pz  `zD ؄ zU z  0{|%|P  Q     & = prmcan.cFileSrcIdStructprmcanSrcIdProtCanStepInstructionProtStepInstruction  !%*18?MT[bipw~(,3GRV]lx }u     0 4ssfri3.o/ 1169001829 1001 1001 100644 51328 ` ELF 4(U SVWu Pu C% $ > $ > : ; I I&I : ;  : ; I8 < : ; I  : ;I8 : ;I8  : ; I8  : ; I 8  : ;I 8  : ;I 8  : ; ' II' ' I : ;  : ;  : ; I: ;II!I/ .? : ; ' I@ : ; I : ; I 4: ; I !4: ; I "4: ; I?  $|v8int 8Wo _Lz |} o7z;E ""$#%#&#C '# "a 2 t. Sigl ResEo li"ou j #Y$Y}%Y&Yf'W(W Ref)d G,Y-Y .W/W(1{O 2W 3W 4WP5WE6WM7W BT:MY;^d Y @> DM!# VE# F# @G)# HT# Iq#  J#$ K3#( segL#, M#0 dN#4 O#8 sigPC#<FAWC @ad# bd# Qcd# Zdd# v e# f# D<D sigC# !# 8# 4# # # . # j0# Q#$ s#( ~#, pad#0 l#4 {#8F G XGsig`C#!a#lb#4c#  d#C e#f# g#$h#,i#0fixj=#4 ks#8Als#@ms#H ns#PN HH2M!#V3# 4#5#6-#@7Y# 8#$ 9#(J:#,r;#0<-#4\ =Y#8( >#<P ?#@@#D. A#HfixB=#L= Cm#PaDx#Tu E#XF#\G#` H#d I(#hJO#lK#pL#tM#x"N#|^O#sigPC#J O O sigC# ti# 4# # #  # q # * # 9 {# {#$ {#( {#, #0 ?#4 h #8 ~ #< {#@ #D #H {#L #P #T 3 {#X #\ #` #d #h #l #p  #t = #x / {#|  #   {# .# #/ P  * TP fix# Y# # &# sigC# 4#  # t# #  #$ #( #, #0 #4 #8 =#< /{#@ #D  {#H {#L {#PQ5 ;  4Qsig>C#4?#c @#A #B#C!# R   RW #p#@d#  # W# S   N 8SsigC#!#4## [{#{ #@d#Qd# #$#(C#,U #0;#4? T sigC#  # @d# Qd# 5?# 0?#UJPkUtheh+ # SegVv|P V sigC# lP#  #  # Q d#  W#pm "#sm "#P  #  # ##X[aNLXM!#V# #@## T#  v#$.#(g#,#0d #4-#8#<y#@#DsigC#HgZY_SZ sig0C# 1# 2# 3# 4# gen5#E\ H\ &M!# V'E## (# )# @*# +# ,#$ -#( .#, /'#0 J0h#4 1#8 J2#< 3#@ sig4C#D ^(^ oK## !p#t lr#x t#| u ## $w##  y{# z{# |{#  }{# # # |  # Cd#  # # # -9##  !# # # # C# # '# # Q# # &W## {# {# {# #  # Z  # g## os# s# U Y# w## # c # # @# c## sigC#t_ sigBC# E# qF# Is# MJ# K# Ls# AMs#( RNs#0 Os#8 Ps#@ S#H JV#L Y#P 0Z#X ]#\ y^#d a#h d#p d *e  g#) Nhh !# #Xn{#\{#`sigC#danN8 o,p{Lq r 'Nd{t28\N\bN{d Kusyd{vN Sw xN' $N $5;[dlfldd Nkd{8kk R-kk8>Tk9_evk3 jkD kj NkDNkkddd8( 4:TNj8:_eqj:|jddd{ _ kjj j"3jk1>DYNj@ djN8wN\{od{n-N\\j{$8>YjdddjNkd" șNkm k{  k 7N7 kOHNmN k$H Ҏj! ӵjcNj_(Nj39Oj[Z`k*l݋[޲x Nf 0N dd ;AQdd\bsdd; \dd{;#. ## + gW e#fE#J hrcMg iPJ k\f l  X\sig}C#~[ # #!#  a   W asigC#l[ #X m  !! [  x'!-!G!G![ [ [ Xl ! $sigC##  {#~!s# "s#3 ## $X!! oR"Wt !#{#X {#\[{#` Y#dX"#h  #lsigC#p R"W! #` !#7^"#X1 ^"# {# {#{#!{# {##sigC#i"/gd  eg#kw#-####]*NUss) X)\ +\P!res,NP #" #f /usr/include/usr/include/sys/usr/include/machinempm.hconfig.hmpstd.hmisc.hstddef.hcdefs.h_null.h_types.h_types.hcheck.hmpslib.hevent.heventcom.hmpmtypes.hstdarg.heventgen.hlock.hth.hring.hss.htract.hbt.hmpmst.hprotocol.hchain.hssfri3.c)h.<__STDC_HOSTED__ 1__GNUC__ 3__GNUC_MINOR__ 4__GNUC_PATCHLEVEL__ 6__SIZE_TYPE__ unsigned int__PTRDIFF_TYPE__ int__WCHAR_TYPE__ int__WINT_TYPE__ unsigned int __GXX_ABI_VERSION 1002 __SCHAR_MAX__ 127 __SHRT_MAX__ 32767 __INT_MAX__ 2147483647 __LONG_MAX__ 2147483647L__LONG_LONG_MAX__ 9223372036854775807LL__WCHAR_MAX__ 2147483647__CHAR_BIT__ 8__FLT_EVAL_METHOD__ 2__FLT_RADIX__ 2__FLT_MANT_DIG__ 24__FLT_DIG__ 6__FLT_MIN_EXP__ (-125)__FLT_MIN_10_EXP__ (-37)__FLT_MAX_EXP__ 128__FLT_MAX_10_EXP__ 38__FLT_MAX__ 3.40282347e+38F__FLT_MIN__ 1.17549435e-38F__FLT_EPSILON__ 1.19209290e-7F__FLT_DENORM_MIN__ 1.40129846e-45F__FLT_HAS_INFINITY__ 1__FLT_HAS_QUIET_NAN__ 1__DBL_MANT_DIG__ 53 __DBL_DIG__ 15!__DBL_MIN_EXP__ (-1021)"__DBL_MIN_10_EXP__ (-307)#__DBL_MAX_EXP__ 1024$__DBL_MAX_10_EXP__ 308%__DBL_MAX__ 1.7976931348623157e+308&__DBL_MIN__ 2.2250738585072014e-308'__DBL_EPSILON__ 2.2204460492503131e-16(__DBL_DENORM_MIN__ 4.9406564584124654e-324)__DBL_HAS_INFINITY__ 1*__DBL_HAS_QUIET_NAN__ 1+__LDBL_MANT_DIG__ 53,__LDBL_DIG__ 15-__LDBL_MIN_EXP__ (-16381).__LDBL_MIN_10_EXP__ (-4931)/__LDBL_MAX_EXP__ 163840__LDBL_MAX_10_EXP__ 49321__DECIMAL_DIG__ 172__LDBL_MAX__ 1.1897314953572316e+4932L3__LDBL_MIN__ 3.3621031431120935e-4932L4__LDBL_EPSILON__ 2.2204460492503131e-16L5__LDBL_DENORM_MIN__ 7.4653686412953080e-4948L6__LDBL_HAS_INFINITY__ 17__LDBL_HAS_QUIET_NAN__ 18__REGISTER_PREFIX__ 9__USER_LABEL_PREFIX__ :__VERSION__ "3.4.6 [FreeBSD] 20060305";__OPTIMIZE__ 1<__FINITE_MATH_ONLY__ 0=__STRICT_ANSI__ 1@__i386 1A__i386__ 1B__tune_i386__ 1C__FreeBSD__ 6D__unix 1E__unix__ 1F__KPRINTF_ATTRIBUTE__ 1J__FreeBSD_cc_version 602001K__ELF__ 1_REENTRANT 1CONFIG_PROD_DYLAN 1CONFIG_VAR_HI 1NDEBUG 1! mpm_h config_h !CONFIG_DEBUG "CHECK_DEFAULT CheckNONE6CHECK_NONE 7MPS_ASSERT_STRING "nonasserted"?EVENT_NONE @MPS_LOG_STRING "nonlogging"EDIAGNOSTICS FMPS_DEBUG_STRING "debug"LMPS_VARIETY_STRING MPS_ASSERT_STRING "." MPS_LOG_STRING "." MPS_DEBUG_STRINGRmpstd_h MPS_PF_FRI4GC MPS_PF_STRING "fri4gc"MPS_OS_FR MPS_ARCH_I4 MPS_BUILD_GC MPS_T_WORD unsigned longMPS_WORD_WIDTH 32MPS_WORD_SHIFT 5MPS_PF_ALIGN 4EPVMDefaultSubsequentSegSIZE (64ul * 1024)ARENA_CONTROL_EXTENDBY ((Size)4096)ARENA_CONTROL_AVGSIZE ((Size)32)ARENA_CONTROL_MAXSIZE ((Size)65536)ArenaPollALLOCTIME (65536.0)ARENA_ZONESHIFT ((Shift)20)ARENA_CLIENT_PAGE_SIZE ((Size)8192)ArenaDefaultZONESET (ZoneSetUNIV << (MPS_WORD_WIDTH / 2))SegPrefDEFAULT { SegPrefSig, TRUE, ArenaDefaultZONESET, FALSE, FALSE, (Serial)0, }LDHistoryLENGTH ((Size)4)StackProbeDEPTH ((Size)0)ShieldCacheSIZE ((size_t)16)ShieldDepthWIDTH (4)VMANPageALIGNMENT ((Align)4096)VMJunkBYTE ((unsigned char)0xA9)TraceLIMIT ((size_t)1)TraceCopyScanRATIO (1.5)RememberedSummaryBLOCK 15EventBufferSIZE ((size_t)4096)EventStringLengthMAX ((size_t)255)ASSERT_BUFFER_SIZE ((Size)512)MPS_PROD_STRING "dylan"MPS_PROD_DYLAN ARENA_INIT_SPARE_COMMIT_LIMIT ((Size)10uL*1024uL*1024uL)THREAD_MULTI PROTECTION DONGLE_NONE PROD_CHECK_DEFAULT CheckSHALLOWARENA_SIZE ((Size)1<<30)misc_h '_STDDEF_H_ )%_SYS_CDEFS_H_ +__BEGIN_DECLS ,__END_DECLS 8__GNUCLIKE_ASM 39__GNUCLIKE_MATH_BUILTIN_CONSTANTS =__GNUCLIKE___TYPEOF 1>__GNUCLIKE___OFFSETOF 1?__GNUCLIKE___SECTION 1A__GNUCLIKE_ATTRIBUTE_MODE_DI 1D__GNUCLIKE_CTOR_SECTION_HANDLING 1G__GNUCLIKE_BUILTIN_CONSTANT_P 1N__GNUCLIKE_BUILTIN_VARARGS 1O__GNUCLIKE_BUILTIN_STDARG 1P__GNUCLIKE_BUILTIN_VAALIST 1T__GNUC_VA_LIST_COMPATIBILITY 1X__GNUCLIKE_BUILTIN_NEXT_ARG 1Y__GNUCLIKE_MATH_BUILTIN_RELOPS \__GNUCLIKE_BUILTIN_MEMCPY 1___CC_SUPPORTS_INLINE 1`__CC_SUPPORTS___INLINE 1a__CC_SUPPORTS___INLINE__ 1c__CC_SUPPORTS___FUNC__ 1d__CC_SUPPORTS_WARNING 1f__CC_SUPPORTS_VARADIC_XXX 1h__CC_SUPPORTS_DYNAMIC_ARRAY_INIT 1k__CC_INT_IS_32BIT 1s__GNUC_PREREQ__(ma,mi) (__GNUC__ > (ma) || __GNUC__ == (ma) && __GNUC_MINOR__ >= (mi))__P(protos) protos__CONCAT1(x,y) x ## y__CONCAT(x,y) __CONCAT1(x,y)__STRING(x) #x__XSTRING(x) __STRING(x)__const const__signed signed__volatile volatile__dead2 __attribute__((__noreturn__))__pure2 __attribute__((__const__))__unused __attribute__((__unused__))__used __attribute__((__used__))__packed __attribute__((__packed__))__aligned(x) __attribute__((__aligned__(x)))__section(x) __attribute__((__section__(x)))__pure __attribute__((__pure__))__always_inline __attribute__((__always_inline__))__nonnull(x) __attribute__((__nonnull__(x)))__restrict __predict_true(exp) __builtin_expect((exp), 1)__predict_false(exp) __builtin_expect((exp), 0)__offsetof(type,field) ((size_t)(&((type *)0)->field))__rangeof(type,start,end) (__offsetof(type, end) - __offsetof(type, start))__printflike(fmtarg,firstvararg) __attribute__((__format__ (__printf__, fmtarg, firstvararg)))__scanflike(fmtarg,firstvararg) __attribute__((__format__ (__scanf__, fmtarg, firstvararg)))__format_arg(fmtarg) __attribute__((__format_arg__ (fmtarg)))__printf0like(fmtarg,firstvararg) __attribute__((__format__ (__printf0__, fmtarg, firstvararg)))__strong_reference(sym,aliassym) extern __typeof (sym) aliassym __attribute__ ((__alias__ (#sym)));__weak_reference(sym,alias) __asm__(".weak " #alias); __asm__(".equ " #alias ", " #sym)__warn_references(sym,msg) __asm__(".section .gnu.warning." #sym); __asm__(".asciz \"" msg "\""); __asm__(".previous")__IDSTRING(name,string) __asm__(".ident\t\"" string "\"")__FBSDID(s) __IDSTRING(__CONCAT(__rcsid_,__LINE__),s)__RCSID(s) __IDSTRING(__CONCAT(__rcsid_,__LINE__),s)__RCSID_SOURCE(s) __IDSTRING(__CONCAT(__rcsid_source_,__LINE__),s)__SCCSID(s) __IDSTRING(__CONCAT(__sccsid_,__LINE__),s)__COPYRIGHT(s) __IDSTRING(__CONCAT(__copyright_,__LINE__),s)__DECONST(type,var) ((type)(uintptr_t)(const void *)(var))__DEVOLATILE(type,var) ((type)(uintptr_t)(volatile void *)(var))__DEQUALIFY(type,var) ((type)(uintptr_t)(const volatile void *)(var))__POSIX_VISIBLE 200112__XSI_VISIBLE 600__BSD_VISIBLE 1__ISO_C_VISIBLE 1999* NULL ((void *)0)+_SYS__TYPES_H_ ! (_MACHINE__TYPES_H_ .__NO_STRICT_ALIGNMENT __GNUC_VA_LIST 2_RUNE_T_DECLARED 8_SIZE_T_DECLARED >_WCHAR_T_DECLARED Boffsetof(type,member) __offsetof(type, member)*SRCID(id,scmid) static SrcIdStruct FileSrcIdStruct = {__FILE__, (scmid), __DATE__, __TIME__}; SrcId id ## SrcId = &FileSrcIdStruct;BEGIN do {> (i)) & 1)BS_UNION(s1,s2) ((s1) | (s2))BS_ADD(ty,s,i) BS_UNION((s), BS_SINGLE(ty, (i)))BS_INTER(s1,s2) ((s1) & (s2))BS_DIFF(s1,s2) BS_INTER((s1), BS_COMP(s2))BS_DEL(ty,s,i) BS_DIFF((s), BS_SINGLE(ty, (i)))BS_SUPER(s1,s2) (BS_INTER((s1), (s2)) == (s2))BS_SUB(s1,s2) BS_SUPER((s2), (s1))BS_IS_SINGLE(s) (((s) & ((s)-1)) == 0)BS_SYM_DIFF(s1,s2) ((s1) ^ (s2)) check_h  mpslib_h mps_lib_EOF (mps_lib_get_EOF())mps_lib_stderr (mps_lib_get_stderr())mps_lib_stdout (mps_lib_get_stdout())0AVER(cond) DISCARD(cond)1AVERT(type,val) DISCARD(type ## Check(val))2AVER_CRITICAL(cond) DISCARD(cond)3AVERT_CRITICAL(type,val) DISCARD(type ## Check(val))MASSERT(cond,condstring) BEGIN if (cond) NOOP; else mps_lib_assert_fail(condstring "\n" __FILE__ "\n" STR(__LINE__)); END_NOTREACHED NOOPjCHECKT(type,val) ((val) != NULL && (val)->sig == type ## Sig)pCHECKS(type,val) DISCARD(CHECKT(type, val))qCHECKL(cond) DISCARD(cond)rCHECKD(type,val) DISCARD(CHECKT(type, val))sCHECKD_NOSIG(type,val) DISCARD((val) != NULL)tCHECKU(type,val) DISCARD(CHECKT(type, val))uCHECKU_NOSIG(type,val) DISCARD((val) != NULL)CHECKLVALUE(lv1,lv2) ((void)sizeof((lv1) = (lv2)), (void)sizeof((lv2) = (lv1)), TRUE)CHECKTYPE(t1,t2) (sizeof(t1) == sizeof(t2) && CHECKLVALUE(*((t1 *)0), *((t2 *)0)))CHECKFIELDAPPROX(s1,f1,s2,f2) (sizeof(((s1 *)0)->f1) == sizeof(((s2 *)0)->f2) && offsetof(s1, f1) == offsetof(s2, f2))CHECKFIELD(s1,f1,s2,f2) (CHECKFIELDAPPROX(s1, f1, s2, f2) && CHECKLVALUE(((s1 *)0)->f1, ((s2 *)0)->f2)) event_h   eventcom_h  mpmtypes_h '_MACHINE_STDARG_H_ -_VA_LIST_DECLARED 3va_start(ap,last) __builtin_stdarg_start((ap), (last))6va_arg(ap,type) __builtin_va_arg((ap), type):va_copy(dest,src) __builtin_va_copy((dest), (src))>va_end(ap) __builtin_va_end(ap)SigInvalid ((Sig)0x51915BAD)SizeMAX ((Size)-1)AccessSetEMPTY ((AccessSet)0)AccessREAD ((AccessSet)(1<<0))AccessWRITE ((AccessSet)(1<<1))AccessSetWIDTH (2)RefSetEMPTY BS_EMPTY(RefSet)RefSetUNIV BS_UNIV(RefSet)ZoneSetEMPTY BS_EMPTY(ZoneSet)ZoneSetUNIV BS_UNIV(ZoneSet)TraceSetEMPTY BS_EMPTY(TraceSet)TraceSetUNIV ((TraceSet)((1u << TraceLIMIT) - 1))RankSetEMPTY BS_EMPTY(RankSet)RankSetUNIV ((RankSet)((1u << RankLIMIT) - 1))AttrFMT ((Attr)(1<<0))AttrSCAN ((Attr)(1<<1))AttrPM_NO_READ ((Attr)(1<<2))AttrPM_NO_WRITE ((Attr)(1<<3))AttrALLOC ((Attr)(1<<4))AttrFREE ((Attr)(1<<5))AttrBUF ((Attr)(1<<6))AttrBUF_RESERVE ((Attr)(1<<7))AttrBUF_ALLOC ((Attr)(1<<8))AttrGC ((Attr)(1<<9))AttrINCR_RB ((Attr)(1<<10))AttrINCR_WB ((Attr)(1<<11))AttrMOVINGGC ((Attr)(1<<12))AttrMASK (AttrFMT | AttrSCAN | AttrPM_NO_READ | AttrPM_NO_WRITE | AttrALLOC | AttrFREE | AttrBUF | AttrBUF_RESERVE | AttrBUF_ALLOC | AttrGC | AttrINCR_RB | AttrINCR_WB | AttrMOVINGGC)BufferModeATTACHED ((BufferMode)(1<<0))BufferModeFLIPPED ((BufferMode)(1<<1))BufferModeLOGGED ((BufferMode)(1<<2))BufferModeTRANSITION ((BufferMode)(1<<3))RootModeCONSTANT ((RootMode)1<<0)RootModePROTECTABLE ((RootMode)1<<1)RootModePROTECTABLE_INNER ((RootMode)1<<2)STATISTIC_DECL(field) field!EventNameMAX ((size_t)19)"EventCodeMAX ((EventCode)0x0069)&EVENT_0(type) NOOPEVENT_A(type,p0) NOOPEVENT_AW(type,p0,p1) NOOPEVENT_P(type,p0) NOOPEVENT_PAA(type,p0,p1,p2) NOOPEVENT_PAW(type,p0,p1,p2) NOOPEVENT_PAWA(type,p0,p1,p2,p3) NOOPEVENT_PDDWWW(type,p0,p1,p2,p3,p4,p5) NOOPEVENT_PP(type,p0,p1) NOOPEVENT_PPAU(type,p0,p1,p2,p3) NOOPEVENT_PPAWP(type,p0,p1,p2,p3,p4) NOOPEVENT_PPP(type,p0,p1,p2) NOOPEVENT_PPPA(type,p0,p1,p2,p3) NOOPEVENT_PPPU(type,p0,p1,p2,p3) NOOPEVENT_PPPUU(type,p0,p1,p2,p3,p4) NOOPEVENT_PPU(type,p0,p1,p2) NOOPEVENT_PPUU(type,p0,p1,p2,p3) NOOPEVENT_PPUWWW(type,p0,p1,p2,p3,p4,p5) NOOPEVENT_PPWW(type,p0,p1,p2,p3) NOOPEVENT_PPWWW(type,p0,p1,p2,p3,p4) NOOPEVENT_PPWWWUUU(type,p0,p1,p2,p3,p4,p5,p6,p7) NOOPEVENT_PU(type,p0,p1) NOOPEVENT_PW(type,p0,p1) NOOPEVENT_PWA(type,p0,p1,p2) NOOPEVENT_PWAW(type,p0,p1,p2,p3) NOOPEVENT_PWP(type,p0,p1,p2) NOOPEVENT_PWU(type,p0,p1,p2) NOOPEVENT_PWW(type,p0,p1,p2) NOOPEVENT_PWWWWDD(type,p0,p1,p2,p3,p4,p5,p6) NOOPEVENT_PWWWWW(type,p0,p1,p2,p3,p4,p5) NOOPEVENT_PWWWWWWWWW(type,p0,p1,p2,p3,p4,p5,p6,p7,p8,p9) NOOPEVENT_PWWWWWWWWWWWW(type,p0,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11,p12) NOOPEVENT_UUPA(type,p0,p1,p2,p3) NOOPEVENT_UUPP(type,p0,p1,p2,p3) NOOPEVENT_UUPPP(type,p0,p1,p2,p3,p4) NOOPEVENT_WS(type,p0,p1,l1) NOOP:EventEventTime ((EventType)0xEF213E99);EventPoolInit ((EventType)0xEFB07141)EventPoolFree ((EventType)0xEFB07F6E)?EventArenaCreateVM ((EventType)0xEFA64CF3)@EventArenaCreateVMNZ ((EventType)0xEFA64CF2)AEventArenaCreateCL ((EventType)0xEFA64CC7)BEventArenaDestroy ((EventType)0xEFA64DE5)CEventArenaAlloc ((EventType)0xEFA64A77)DEventArenaFree ((EventType)0xEFA64F6E)EEventSegAlloc ((EventType)0xEF5E9A77)FEventSegFree ((EventType)0xEF5E9F6E)GEventSegMerge ((EventType)0xEF5E93E6)HEventSegSplit ((EventType)0xEF5E95B7)IEventAMCGenCreate ((EventType)0xEFA3C94C)JEventAMCGenDestroy ((EventType)0xEFA3C94D)KEventAMCInit ((EventType)0xEFA3C141)LEventAMCFinish ((EventType)0xEFA3CF14)MEventAMCTraceBegin ((EventType)0xEFA3C26B)NEventAMCScanBegin ((EventType)0xEFA3C5CB)OEventAMCScanEnd ((EventType)0xEFA3C5CE)PEventAMCFix ((EventType)0xEFA3CF18)QEventAMCFixInPlace ((EventType)0xEFA3CF8A)REventAMCFixForward ((EventType)0xEFA3CF8F)SEventAMCReclaim ((EventType)0xEFA3C6EC)TEventTraceStart ((EventType)0xEF26AC52)UEventTraceCreate ((EventType)0xEF26ACC6)VEventTraceDestroy ((EventType)0xEF26ACDE)WEventSegSetGrey ((EventType)0xEF59596A)XEventTraceFlipBegin ((EventType)0xEF26AF7B)YEventTraceFlipEnd ((EventType)0xEF26AF7E)ZEventTraceReclaim ((EventType)0xEF26A6EC)[EventTraceScanSeg ((EventType)0xEF26A559)\EventTraceScanSingleRef ((EventType)0xEF26A556)^EventTraceAccess ((EventType)0xEF26AACC)_EventTracePoll ((EventType)0xEF26AB01)`EventTraceStep ((EventType)0xEF26A52B)aEventTraceFix ((EventType)0xEF26AF18)bEventTraceFixSeg ((EventType)0xEF26AF85)cEventTraceFixWhite ((EventType)0xEF26AF83)dEventTraceScanArea ((EventType)0xEF26A5CA)eEventTraceScanAreaTagged ((EventType)0xEF26A5C2)fEventVMCreate ((EventType)0xEFF3C6EA)gEventVMDestroy ((EventType)0xEFF3DE52)hEventVMMap ((EventType)0xEFF33AB9)iEventVMUnmap ((EventType)0xEFF3043B)jEventIntern ((EventType)0xEF142E64)kEventArenaExtend ((EventType)0xEFA64E82)lEventArenaRetract ((EventType)0xEFA646E2)mEventRootScan ((EventType)0xEF625CA4)nEventLabel ((EventType)0xEF7ABE79)oEventTraceSegGreyen ((EventType)0xEF26A599)pEventBufferReserve ((EventType)0xEFB0FF6E)qEventBufferCommit ((EventType)0xEFB0FFC0)rEventBufferInit ((EventType)0xEFB0FF14)sEventBufferInitSeg ((EventType)0xEFB0F15E)tEventBufferInitRank ((EventType)0xEFB0F16A)uEventBufferInitEPVM ((EventType)0xEFB0F1EF)vEventBufferFinish ((EventType)0xEFB0FFF1)wEventBufferFill ((EventType)0xEFB0FFF7)xEventBufferEmpty ((EventType)0xEFB0FFE3)yEventArenaAllocFail ((EventType)0xEFA64A7F)zEventSegAllocFail ((EventType)0xEF5E9A7F){EventMeterInit ((EventType)0xEF3E2141)|EventMeterValues ((EventType)0xEF3E2FA7)}EventCBSInit ((EventType)0xEFCB5141)~EventTraceStatCondemn ((EventType)0xEF26A5C0)EventTraceStatScan ((EventType)0xEF26A55C)EventTraceStatFix ((EventType)0xEF26A5F8)EventTraceStatReclaim ((EventType)0xEF26A56E)EventArenaWriteFaults ((EventType)0xEFA6436F)EventPoolInitMV ((EventType)0xEFB0713F)EventPoolInitMVFF ((EventType)0xEFB071FF)EventPoolInitMFS ((EventType)0xEFB07135)EventPoolInitEPVM ((EventType)0xEFB071EF)EventPoolInitEPDL ((EventType)0xEFB071E7)EventPoolInitAMS ((EventType)0xEFB071A5)EventPoolInitAMC ((EventType)0xEFB071AC)EventPoolInitAMCZ ((EventType)0xEFB071A2)EventPoolInitAWL ((EventType)0xEFB071A3)EventPoolInitLO ((EventType)0xEFB07170)EventPoolInitSNC ((EventType)0xEFB07154)EventPoolInitMVT ((EventType)0xEFB07132)EventPoolPush ((EventType)0xEFB07B58)EventPoolPop ((EventType)0xEFB07B0B)EventReservoirLimitSet ((EventType)0xEF6E5713)EventCommitLimitSet ((EventType)0xEFC03713)EventSpareCommitLimitSet ((EventType)0xEF5BC713)hEventInit() NOOPiEventFinish() NOOPjEventControl(r,f) (UNUSED(r), UNUSED(f), (Word)0)kEventInternString(s) (UNUSED(s), (Word)0)lEventInternGenString(l,s) (UNUSED(l), UNUSED(s), (Word)0)mEventLabelAddr(a,i) BEGIN UNUSED(a); UNUSED(i); ENDPlock_h ULockSig ((Sig)0x51970CC9) th_h  ring_h RingNONE ((Ring)0)$RingInit(ring) BEGIN Ring _ring = (ring); AVER(_ring != NULL); _ring->next = _ring; _ring->prev = _ring; AVER(RingCheck(_ring)); END/RingFinish(ring) BEGIN Ring _ring = (ring); AVER(RingCheckSingle(_ring)); _ring->next = RingNONE; _ring->prev = RingNONE; END9RingAppend(ring,new) BEGIN Ring _ring = (ring), _new = (new); AVER(RingCheck(_ring)); AVER(RingCheckSingle(_new)); _new->prev = _ring->prev; _new->next = _ring; _ring->prev->next = _new; _ring->prev = _new; ENDFRingInsert(ring,new) BEGIN Ring _ring = (ring), _new = (new); AVER(RingCheck(_ring)); AVER(RingCheckSingle(_new)); _new->prev = _ring; _new->next = _ring->next; _ring->next->prev = _new; _ring->next = _new; ENDSRingRemove(old) BEGIN Ring _old = (old); AVER(RingCheck(_old)); AVER(!RingIsSingle(_old)); _old->next->prev = _old->prev; _old->prev->next = _old->next; _old->next = _old; _old->prev = _old; END`RingNext(ring) ((ring)->next)dRingPrev(ring) ((ring)->prev)gRING_ELT(type,field,node) ((type)(void *)((char *)(node) - (size_t)(&((type)0)->field)))kRING_FOR(node,ring,next) for(node = RingNext(ring), next = RingNext(node); node != (ring); node = (next), next = RingNext(node))ThreadSig ((Sig)0x519286ED) ss_h  tract_h   bt_h BTSize(n) (((n) + MPS_WORD_WIDTH-1) / MPS_WORD_WIDTH * sizeof(Word))BTGet(a,i) ((Bool)(((a)[((i) >> MPS_WORD_SHIFT)] >> ((i) & ~((Word)-1 << MPS_WORD_SHIFT))) & (Word)1))BTSet(a,i) BEGIN (a)[((i)>>MPS_WORD_SHIFT)] |= (Word)1<<((i)&~((Word)-1<>MPS_WORD_SHIFT)] &= ~((Word)1 << ((i) & ~((Word)-1<base)&TractPool(tract) ((tract)->pool)'TractP(tract) ((tract)->p)(TractSetP(tract,pp) ((void)((tract)->p = (pp))))TractHasSeg(tract) ((Bool)(tract)->hasSeg)*TractSetHasSeg(tract,b) ((void)((tract)->hasSeg = (b)))+TractWhite(tract) ((tract)->white),TractSetWhite(tract,w) ((void)((tract)->white = (w)))8TRACT_SEG(segReturn,tract) (TractHasSeg(tract) && ((*(segReturn) = (Seg)TractP(tract)), TRUE));TRACT_SET_SEG(tract,seg) (TractSetHasSeg(tract, TRUE), TractSetP(tract, seg))>TRACT_UNSET_SEG(tract) (TractSetHasSeg(tract, FALSE), TractSetP(tract, NULL))nPageTract(page) (&(page)->the.tractStruct)rPageOfTract(tract) PARENT(PageStruct, the.tractStruct, (tract))vPagePool(page) ((page)->the.rest.pool)}PageIsAllocated(page) ((page)->the.rest.pool != NULL)PageType(page) ((page)->the.rest.type)ChunkSig ((Sig)0x519C804C)ChunkArena(chunk) ((chunk)->arena)ChunkPageSize(chunk) ((chunk)->pageSize)ChunkPageShift(chunk) ((chunk)->pageShift)ChunkPagesToSize(chunk,pages) ((Size)(pages) << (chunk)->pageShift)ChunkSizeToPages(chunk,size) ((Count)((size) >> (chunk)->pageShift))CHUNK_OF_ADDR(chunkReturn,arena,addr) (((arena)->chunkCache.base <= (addr) && (addr) < (arena)->chunkCache.limit) ? (*(chunkReturn) = (arena)->chunkCache.chunk, TRUE) : ChunkOfAddr(chunkReturn, arena, addr))AddrPageBase(chunk,addr) AddrAlignDown((addr), ChunkPageSize(chunk))TRACT_OF_ADDR(tractReturn,arena,addr) BEGIN Arena _arena = (arena); Addr _addr = (addr); Chunk _chunk; Index _i; if (CHUNK_OF_ADDR(&_chunk, _arena, _addr)) { _i = INDEX_OF_ADDR(_chunk, _addr); if (BTGet(_chunk->allocTable, _i)) *(tractReturn) = PageTract(&_chunk->pageTable[_i]); else *(tractReturn) = NULL; } else *(tractReturn) = NULL; ENDINDEX_OF_ADDR(chunk,addr) ((Index)ChunkSizeToPages(chunk, AddrOffset((chunk)->base, addr)))PageIndexBase(chunk,i) AddrAdd((chunk)->base, ChunkPagesToSize(chunk, i))TractAverContiguousRange(arena,rangeBase,rangeLimit) BEGIN Chunk _ch = NULL; UNUSED(_ch); AVER(ChunkOfAddr(&_ch, arena, rangeBase) && (rangeLimit) <= _ch->limit); ENDTRACT_TRACT_FOR(tract,addr,arena,firstTract,limit) tract = (firstTract); addr = TractBase(tract); TractAverContiguousRange(arena, addr, limit); for(; tract != NULL; (addr = AddrAdd(addr, (arena)->alignment)), (addr < (limit) ? (tract = PageTract(PageOfTract(tract) + 1)) : (tract = NULL) ))TRACT_FOR(tract,addr,arena,base,limit) TRACT_TRACT_FOR(tract, addr, arena, TractOfBaseAddr(arena, base), limit)mpmst_h protocol_h DERIVE_LOCAL(name) protocol ## nameDERIVE_STRUCT(name) name ## StructDERIVE_ENSURE(name) name ## GetDERIVE_ENSURE_OLD(name) Ensure ## nameDERIVE_ENSURE_INTERNAL(name) protocolGet ## nameDERIVE_GUARDIAN(name) protocol ## name ## GuardianDERIVE_STATIC_STORAGE(name) protocol ## name ## StructProtocolClassSetSuperclassPoly(class,super) (((ProtocolClass)(class))->superclass) = (ProtocolClass)(super)$DEFINE_CLASS(className,var) static Bool DERIVE_GUARDIAN(className) = FALSE; static DERIVE_STRUCT(className) DERIVE_STATIC_STORAGE(className); static void DERIVE_ENSURE_INTERNAL(className)(className); extern className DERIVE_ENSURE(className)(void); className DERIVE_ENSURE(className)(void) { if (DERIVE_GUARDIAN(className) == FALSE) { LockClaimGlobalRecursive(); if (DERIVE_GUARDIAN(className) == FALSE) { DERIVE_ENSURE_INTERNAL(className) (&DERIVE_STATIC_STORAGE(className)); DERIVE_GUARDIAN(className) = TRUE; } LockReleaseGlobalRecursive(); } return &DERIVE_STATIC_STORAGE(className); } extern className DERIVE_ENSURE_OLD(className)(void); className DERIVE_ENSURE_OLD(className)(void) { return DERIVE_ENSURE(className)(); } static void DERIVE_ENSURE_INTERNAL(className) (className var)AINHERIT_CLASS(this,parentName) BEGIN parentName DERIVE_LOCAL(parentName) = DERIVE_ENSURE(parentName)(); *this = *(DERIVE_LOCAL(parentName)); ProtocolClassSetSuperclassPoly(this, DERIVE_LOCAL(parentName)); ENDODEFINE_ALIAS_CLASS(className,typeName,var) typedef typeName className; typedef DERIVE_STRUCT(typeName) DERIVE_STRUCT(className); DEFINE_CLASS(className, var)VProtocolClassSig ((Sig)0x519B60C7)WProtocolInstSig ((Sig)0x519B6014)ProtocolClassSuperclassPoly(class) (((ProtocolClass)(class))->superclass)ClassOfPoly(inst) ((ProtocolInst)(inst)->class)IsSubclassPoly(sub,super) ProtocolIsSubclass((ProtocolClass)(sub), (ProtocolClass)(super))SUPERCLASS(className) ProtocolClassSuperclassPoly(DERIVE_ENSURE(className)())chain_h GenDescSig ((Sig)0x5199E4DE)+PoolGenSig ((Sig)0x519B009E);ChainSig ((Sig)0x519C8A14)XPoolGenNr(gen) ((gen)->nr)/PoolClassSig ((Sig)0x519C7A55)]PoolSig ((Sig)0x519B0019)}MFSSig ((Sig)0x5193F599)MVSig ((Sig)0x5193B999)ReservoirSig ((Sig)0x5196e599)MessageClassSig ((Sig)0x519359c1)MessageSig ((Sig)0x5193e559)SegClassSig ((Sig)0x5195E9C7)SegSig ((Sig)0x5195E999)GCSegSig ((Sig)0x5199C5E9)SegPrefSig ((Sig)0x5195E9B6)BufferClassSig ((Sig)0x519B0FC7)BufferSig ((Sig)0x519B0FFE)SegBufSig ((Sig)0x51959B0F)FormatSig ((Sig)0x519F63A2)ScanStateSig ((Sig)0x5195CA45)TraceSig ((Sig)0x51924ACE)ChunkCacheEntrySig ((Sig)0x519C80CE)ArenaClassSig ((Sig)0x519A6C1A)GlobalsSig ((Sig)0x519970BA)ArenaSig ((Sig)0x519A6E4A)%BoolCheck(b) ((unsigned)(b) <= 1)(FUNCHECK(f) (FunCheck((Fun)f))4WordIsAligned(w,a) (((w) & ((a) - 1)) == 0)7WordAlignUp(w,a) (((w) + (a) - 1) & ~((Word)(a) - 1));WordRoundUp(w,r) (((w)+(r)-1) - ((w)+(r)-1)%(r))>WordAlignDown(w,a) ((w) & ~((Word)(a) - 1))@size_tAlignUp(s,a) ((size_t)WordAlignUp((Word)(s), a))BPointerAdd(p,s) ((void *)((char *)(p) + (s)))CPointerSub(p,s) ((void *)((char *)(p) - (s)))EPointerOffset(base,limit) ((size_t)((char *)(limit) - (char *)(base)))HPointerAlignUp(p,s) ((void *)WordAlignUp((Word)(p), (Align)(s)))KAddrAdd(p,s) ((Addr)PointerAdd((void *)(p), s))LAddrSub(p,s) ((Addr)PointerSub((void *)(p), s))NAddrOffset(b,l) ((Size)(PointerOffset((void *)(b), (void *)(l))))RAddrAlignDown(p,a) ((Addr)WordAlignDown((Word)(p), a))TAlignWord(s) ((Word)(s))VAddrIsAligned(p,a) WordIsAligned((Word)(p), a)WAddrAlignUp(p,a) ((Addr)WordAlignUp((Word)(p), a))YSizeIsAligned(s,a) WordIsAligned((Word)(s), a)ZSizeAlignUp(s,a) ((Size)WordAlignUp((Word)(s), a))[SizeAlignDown(s,a) ((Size)WordAlignDown((Word)(s), a))]SizeRoundUp(s,r) ((Size)WordRoundUp((Word)(s), (Size)(r)))_IndexIsAligned(s,a) WordIsAligned((Word)(s), a)`IndexAlignUp(s,a) ((Index)WordAlignUp((Word)(s), a))aIndexAlignDown(s,a) ((Index)WordAlignDown((Word)(s), a))cAlignIsAligned(a1,a2) WordIsAligned((Word)(a1), a2)iAddrSet(target,value,size) mps_lib_memset(target, (int)(value), size)mAddrCopy(target,source,size) mps_lib_memcpy(target, source, size)qAddrComp(a,b,size) mps_lib_memcmp(a, b, size)wADDR_PTR(type,addr) ((type *)(addr))PoolArena(pool) ((pool)->arena)PoolAlignment(pool) ((pool)->alignment)PoolSegRing(pool) (&(pool)->segRing)PoolFix(pool,ss,seg,refIO) ((*(pool)->fix)(pool, ss, seg, refIO))ClassOfPool(pool) ((pool)->class)SuperclassOfPool(pool) ((PoolClass)ProtocolClassSuperclassPoly((pool)->class))DEFINE_POOL_CLASS(className,var) DEFINE_ALIAS_CLASS(className, PoolClass, var)POOL_SUPERCLASS(className) ((PoolClass)SUPERCLASS(className))TraceSetSingle(trace) BS_SINGLE(TraceSet, (trace)->ti)TraceSetIsSingle(ts) BS_IS_SINGLE(ts)TraceSetIsMember(ts,trace) BS_IS_MEMBER(ts, (trace)->ti)TraceSetAdd(ts,trace) BS_ADD(TraceSet, ts, (trace)->ti)TraceSetDel(ts,trace) BS_DEL(TraceSet, ts, (trace)->ti)TraceSetUnion(ts1,ts2) BS_UNION(ts1, ts2)TraceSetInter(ts1,ts2) BS_INTER(ts1, ts2)TraceSetDiff(ts1,ts2) BS_DIFF(ts1, ts2)TraceSetSuper(ts1,ts2) BS_SUPER(ts1, ts2)TraceSetSub(ts1,ts2) BS_SUB(ts1, ts2)TraceSetComp(ts) BS_COMP(ts)TRACE_SET_ITER(ti,trace,ts,arena) for(ti = 0, trace = ArenaTrace(arena, ti); ti < TraceLIMIT; ++ti, trace = ArenaTrace(arena, ti)) BEGIN if (TraceSetIsMember(ts, trace)) {TRACE_SET_ITER_END(ti,trace,ts,arena) } ENDTRACE_SCAN_BEGIN(ss) BEGIN Shift SCANzoneShift = (ss)->zoneShift; ZoneSet SCANwhite = (ss)->white; RefSet SCANsummary = (ss)->unfixedSummary; Word SCANt; {TRACE_FIX1(ss,ref) (SCANt = (Word)1 << ((Word)(ref) >> SCANzoneShift & (MPS_WORD_WIDTH-1)), SCANsummary |= SCANt, SCANwhite & SCANt)TRACE_FIX2(ss,refIO) ((*(ss)->fix)(ss, refIO))TRACE_FIX(ss,refIO) (TRACE_FIX1(ss, *(refIO)) ? TRACE_FIX2(ss, refIO) : ResOK)TRACE_SCAN_END(ss) } (ss)->unfixedSummary = SCANsummary; ENDDEFINE_ARENA_CLASS(className,var) DEFINE_ALIAS_CLASS(className, ArenaClass, var)ARENA_SUPERCLASS(className) ((ArenaClass)SUPERCLASS(className))ArenaGlobals(arena) (&(arena)->globals)GlobalsArena(glob) PARENT(ArenaStruct, globals, glob)ArenaRootRing(arena) (&(arena)->rootRing)ArenaTraceRing(arena) (&(arena)->traceRing)ArenaThreadRing(arena) (&(arena)->threadRing)ArenaEpoch(arena) ((arena)->epoch)ArenaTrace(arena,ti) (&(arena)->trace[ti])ArenaZoneShift(arena) ((arena)->zoneShift)ArenaAlign(arena) ((arena)->alignment)ArenaGreyRing(arena,rank) (&(arena)->greyRing[rank])ArenaReservoir(arena) (&(arena)->reservoirStruct)DEFINE_SEG_CLASS(className,var) DEFINE_ALIAS_CLASS(className, SegClass, var)SEG_SUPERCLASS(className) ((SegClass)SUPERCLASS(className))ClassOfSeg(seg) ((seg)->class)SegBase(seg) (TractBase((seg)->firstTract))SegLimit(seg) ((seg)->limit)SegPool(seg) (TractPool((seg)->firstTract))SegRankSet(seg) ((RankSet)(seg)->rankSet)SegPM(seg) ((AccessSet)(seg)->pm)SegSM(seg) ((AccessSet)(seg)->sm)SegDepth(seg) ((unsigned)(seg)->depth)SegGrey(seg) ((TraceSet)(seg)->grey)SegWhite(seg) ((TraceSet)(seg)->white)SegNailed(seg) ((TraceSet)(seg)->nailed)SegOfPoolRing(node) (RING_ELT(Seg, poolRing, (node)))SegOfGreyRing(node) (&(RING_ELT(GCSeg, greyRing, (node)) ->segStruct))SegSummary(seg) (((GCSeg)(seg))->summary)SegSetPM(seg,mode) ((void)((seg)->pm = (mode)))SegSetSM(seg,mode) ((void)((seg)->sm = (mode)))SegSetDepth(seg,d) ((void)((seg)->depth = (d)))SegSetNailed(seg,ts) ((void)((seg)->nailed = (ts)))BUFFER_RESERVE(pReturn,buffer,size,withReservoirPermit) (AddrAdd(BufferAlloc(buffer), size) > BufferAlloc(buffer) && AddrAdd(BufferAlloc(buffer), size) <= BufferAP(buffer)->limit ? (*(pReturn) = BufferAlloc(buffer), BufferAP(buffer)->alloc = AddrAdd(BufferAlloc(buffer), size), ResOK) : BufferFill(pReturn, buffer, size, withReservoirPermit))BUFFER_COMMIT(buffer,p,size) (BufferAP(buffer)->init = BufferAlloc(buffer), BufferAP(buffer)->limit != 0 || BufferTrip(buffer, p, size))BufferAP(buffer) (&(buffer)->apStruct)BufferOfAP(ap) PARENT(BufferStruct, apStruct, ap)BufferArena(buffer) ((buffer)->arena)BufferPool(buffer) ((buffer)->pool)BufferBase(buffer) ((buffer)->base)BufferGetInit(buffer) (BufferAP(buffer)->init)BufferAlloc(buffer) (BufferAP(buffer)->alloc)BufferLimit(buffer) ((buffer)->poolLimit)DEFINE_BUFFER_CLASS(className,var) DEFINE_ALIAS_CLASS(className, BufferClass, var)BUFFER_SUPERCLASS(className) ((BufferClass)SUPERCLASS(className))RankSetIsMember(rs,r) BS_IS_MEMBER((rs), (r))RankSetSingle(r) BS_SINGLE(RankSet, (r))RankSetIsSingle(r) BS_IS_SINGLE(r)RankSetUnion(rs1,rs2) BS_UNION((rs1), (rs2))RankSetDel(rs,r) BS_DEL(RankSet, (rs), (r))AddrZone(arena,addr) (((Word)(addr) >> (arena)->zoneShift) & (MPS_WORD_WIDTH - 1))RefSetUnion(rs1,rs2) BS_UNION((rs1), (rs2))RefSetInter(rs1,rs2) BS_INTER((rs1), (rs2))RefSetDiff(rs1,rs2) BS_DIFF((rs1), (rs2))RefSetAdd(arena,rs,addr) BS_ADD(RefSet, rs, AddrZone(arena, addr))RefSetIsMember(arena,rs,addr) BS_IS_MEMBER(rs, AddrZone(arena, addr))RefSetSuper(rs1,rs2) BS_SUPER((rs1), (rs2))RefSetSub(rs1,rs2) BS_SUB((rs1), (rs2))ZoneSetUnion(zs1,zs2) BS_UNION(zs1, zs2)ZoneSetInter(zs1,zs2) BS_INTER(zs1, zs2)ZoneSetDiff(zs1,zs2) BS_DIFF(zs1, zs2)ZoneSetAdd(arena,zs,addr) BS_ADD(ZoneSet, zs, AddrZone(arena, addr))ZoneSetIsMember(arena,zs,addr) BS_IS_MEMBER(zs, AddrZone(arena, addr))ZoneSetSub(zs1,zs2) BS_SUB(zs1, zs2)ZoneSetSuper(zs1,zs2) BS_SUPER(zs1, zs2)ZoneSetComp(zs) BS_COMP(zs)STATISTIC(gather) BEGIN (gather); ENDSTATISTIC_STAT(gather) BEGIN gather; ENDSTATISTIC_WRITE(format,arg) (format), (arg),&ASMV(x) __asm__ volatile (x)ssfri3.cJan 17 200703:43:49$Id: //info.ravenbrook.com/project/mps/master/code/ssfri3.c#8 $ | AB O., $#StackScan#ssfri3SrcIdallocTablePoolDescribeMethodcontrolPoolStructpageTableLimitgreySegMaxchunkFinishnamepageSizeFormatPadMethodrankrootSerialchunkRingArenaAllocMethodreservoirSizeactiveTracesformatfoundationLockPoolBufferClassMethodTraceFixMethodsuperclassthreadRingunitsPerExtentPagefillMutatorSizepoolSerialBoolprehistoryArenaFreeMethodunitSizesetRankSetunsigned intGNU C 3.4.6 [FreeBSD] 20060305BufferRankSetMethodextendArenaChunkFinishMethodfillInternalSizeBufferReassignSegMethodreassignSegisCollectedpoolReadyscmidwhiteSegRefCountforwardedSizeforwardedCountArenaSpareCommitExceededMethodProtocolClassmergegreyRingfinishshort intAlignArenaDescribeMethodprotocoldescribefillSizesegScanCountPoolmodePoolDebugMixinStructrememberedSummaryRingprevfixRefCountserialEpochsetBufferapStructemptyMutatorSizeallocMutatorSizePoolFramePushMethodPoolFinishMethodbusyTraceslwPopPendingchunkspansallocBasesuspendedpollThresholdArenaStructenabledMessageTypesmpsVersionStringSizefreeListframePopGlobalsStructreservoirStructChainStructbaseArenaClassAccessSetframeptrhistorySegSetRankSummaryMethodFileSrcIdStructlong long unsigned intfileoffsettraceshDepthhighattrgenCountSegClassStructrateFreeBlockStepMethodPoolClassStructglobalsprimaryArenaChunkInitMethodarenaBufferFinishMethodFormatVarietyPoolWalkMethodskipPoolFreeMethodmortalityssfri3.cwasMarkedproflowmessageRingsize_tmoveAPStructTractStructrampEndmayMoveBootBlockpoolLimitChunkclampedPoolReclaimMethodunroundedUnitSizeshCachereclaimCountpageTablePagesfreePoolFixMethodStackScanSegPrefWordmps_lib_stream_sFormatStructpreservedInPlaceCountfreewalkframePushFormattedObjectsStepMethodSegClassgensCountPageStructisMovedsetRankSummarySegDescribeMethodbufferClassPoolDebugMixinSegSetSummaryMethodinsidePollstackBotreclaimAddrreservoirLimitcharscannedSizereserveBufferStructFormatScanMethodchunkSerialSegFinishMethodMFSHeaderStructSerialLockStructsplitFormatClassMethodArenaFormatMoveMethodspacefinalPoolBufferDescribeMethodBufferModelimitMFSStructArenaInitMethodlockrampCountPoolFixEmergencyMethodzoneShiftpagesisGennailedPoolFreeWalkMethodchainva_listChainlong long intMVStructtracedTimeZoneSetTractBufferSegMethoddepthPoolRampEndMethodlocusRingfixEmergencyTracegreylastWorldCollectPoolDebugMixinMethodpageShiftChunkCacheEntryStructBufferClassStructArenaClassStructrememberedSummaryIndexgreySegCountisMutatorArenaFinishMethodstackTopfixedSummarycommittedframePopPendingscansingleCopiedSizeSegSetBufferMethodProtocolInstStructAddrStructrampBeginbufferPoolRampBeginMethodsizeSegStructGenDescStructProtocolInstBufferSetRankSetMethodinitAtFlipPoolStructpoolRingFormatdetachspareCommitLimittopGenPoolWhitenMethodspanPoolStructPoolInitMethodTraceIdpoolaccesschainRingPoolGreyMethodlastTractMutatorFaultContextvarietyemptyInternalSizeSrcIdarenaRingsegRefCountavgSizecopytractListBufferDetachMethodPoolScanMethodFormatCopyMethodlostcapacitywhitenScanStatecondemnedbufferRingChunkStructflippedTracesrootScanCountenabledrootScanSizepointlessScanCountallocRankshCacheLimitsegCopiedSizeBufferInitMethodlong intsetSummarynotCondemnedextendByTraceStateTraceSetstatepreservedInPlaceSizenextSegBufferMethodbuild_timePoolClassProtocolCoerceInstMethodemergencyPoolBlackenMethodwhitepoolStruct__size_trootRingSegInitMethodFormatSkipMethodsegScanSizecopiedSizessfri3SrcIdArenaExtendMethodScanStateStructSegSetWhiteMethodunfixedSummarypageTableBaselastTractBasethreadSeriallabelledsetGreytracedSize__va_listwalksetWhitePoolAllocMethodRingStructrankSetlong unsigned intPoolFramePopPendingMethodSrcIdStructBootBlockStructwriteBarrierHitCountMutatorFaultContextStructArenaReservedMethodinitAttrbufferLoggingProtocolClassStructclassbufferFillIndexspareCommitExceededFormatIsMovedMethodmaxSizechunkInitPoolAccessMethodsnapCounttypeattachnailCountunsigned char__uint32_tspareCommittedinsideShieldRingSegSplitMethodblockPoolStructRefSetAllocFrameStructPoolFramePopMethodtractStructBufferClassformatSerialsegRingAllocFramehasSegcoerceClassReservoirStructbuild_datesingleScanSizeBufferreadBarrierHitCountpageTableheaderSizecoerceInstdebugMixinchunkCachesigned charSegMergeMethodSegPrefStructmps_lib_FILEPoolBufferFillMethodreclaimSizebufferSerialshort unsigned intzonesbufferEmptyProtocolCoerceClassMethodreservedRankSetisFinalPooldoublesingleScanCountfirstTractalignmentPoolBufferEmptyMethodBufferAttachMethodrestSegSetRankSetMethodShiftemptySize/home/hannes/dylan/mps/codeTraceStructglobalRingformatRingcommitLimitrootCopiedSizeSegSetGreyMethodshCacheIepochblackentracesGCC: (GNU) 3.4.6 [FreeBSD] 20060305.symtab.strtab.shstrtab.rel.text.rel.data.bss.debug_abbrev.rel.debug_info.rel.debug_line.debug_macinfo.rodata.str1.1.rodata.str1.4.rel.rodata.rel.debug_frame.rel.debug_pubnames.rel.debug_aranges.debug_str.comment4 `)P% h/T4TF# $B pV/&R 0 b'uq22@ 8  0 X<0 hl  p0%жP  >     &0ssfri3.cFileSrcIdStructssfri3SrcIdStackScanTraceScanArea  !%*18?MX_fmt{(39Zev| #.9Tek-<KZiy,;Ziq%4CRap (6DR`n &4BP^lz"0>LZhv  ) 8 G V e t            ( 7 F U d s           : I X g v            + @ V d r           0 > L Z h v         !0@U,>Qfn|$2Od{ />M\kz 0@P`p 0@P`p 0@P`p '6ETcr*4<JXf(i+\ .Uw*Ur4Z.Z>ny)P1Rt  4 ? K \ q        !N!]!s!!!!!!!!!!! ""("6"S"_"n"w""""""""" ##"#.#:#L######## #$u     span.o/ 1169001829 1001 1001 100644 33700 ` ELF |4(UC% $ > $ > : ; I I&I : ;  : ; I8 .? : ; ' @ : ; I 4: ; I 4: ; I?  F m2intQy""h$#,%#&#'# ot a<# &U  A ~|d /usr/include/usr/include/sys/usr/include/machinempm.hconfig.hmpstd.hmisc.hstddef.hcdefs.h_null.h_types.h_types.hcheck.hmpslib.hevent.heventcom.hmpmtypes.hstdarg.heventgen.hlock.hth.hring.hss.htract.hbt.hmpmst.hprotocol.hchain.hspan.c<__STDC_HOSTED__ 1__GNUC__ 3__GNUC_MINOR__ 4__GNUC_PATCHLEVEL__ 6__SIZE_TYPE__ unsigned int__PTRDIFF_TYPE__ int__WCHAR_TYPE__ int__WINT_TYPE__ unsigned int __GXX_ABI_VERSION 1002 __SCHAR_MAX__ 127 __SHRT_MAX__ 32767 __INT_MAX__ 2147483647 __LONG_MAX__ 2147483647L__LONG_LONG_MAX__ 9223372036854775807LL__WCHAR_MAX__ 2147483647__CHAR_BIT__ 8__FLT_EVAL_METHOD__ 2__FLT_RADIX__ 2__FLT_MANT_DIG__ 24__FLT_DIG__ 6__FLT_MIN_EXP__ (-125)__FLT_MIN_10_EXP__ (-37)__FLT_MAX_EXP__ 128__FLT_MAX_10_EXP__ 38__FLT_MAX__ 3.40282347e+38F__FLT_MIN__ 1.17549435e-38F__FLT_EPSILON__ 1.19209290e-7F__FLT_DENORM_MIN__ 1.40129846e-45F__FLT_HAS_INFINITY__ 1__FLT_HAS_QUIET_NAN__ 1__DBL_MANT_DIG__ 53 __DBL_DIG__ 15!__DBL_MIN_EXP__ (-1021)"__DBL_MIN_10_EXP__ (-307)#__DBL_MAX_EXP__ 1024$__DBL_MAX_10_EXP__ 308%__DBL_MAX__ 1.7976931348623157e+308&__DBL_MIN__ 2.2250738585072014e-308'__DBL_EPSILON__ 2.2204460492503131e-16(__DBL_DENORM_MIN__ 4.9406564584124654e-324)__DBL_HAS_INFINITY__ 1*__DBL_HAS_QUIET_NAN__ 1+__LDBL_MANT_DIG__ 53,__LDBL_DIG__ 15-__LDBL_MIN_EXP__ (-16381).__LDBL_MIN_10_EXP__ (-4931)/__LDBL_MAX_EXP__ 163840__LDBL_MAX_10_EXP__ 49321__DECIMAL_DIG__ 172__LDBL_MAX__ 1.1897314953572316e+4932L3__LDBL_MIN__ 3.3621031431120935e-4932L4__LDBL_EPSILON__ 2.2204460492503131e-16L5__LDBL_DENORM_MIN__ 7.4653686412953080e-4948L6__LDBL_HAS_INFINITY__ 17__LDBL_HAS_QUIET_NAN__ 18__REGISTER_PREFIX__ 9__USER_LABEL_PREFIX__ :__VERSION__ "3.4.6 [FreeBSD] 20060305";__OPTIMIZE__ 1<__FINITE_MATH_ONLY__ 0=__STRICT_ANSI__ 1@__i386 1A__i386__ 1B__tune_i386__ 1C__FreeBSD__ 6D__unix 1E__unix__ 1F__KPRINTF_ATTRIBUTE__ 1J__FreeBSD_cc_version 602001K__ELF__ 1_REENTRANT 1CONFIG_PROD_DYLAN 1CONFIG_VAR_HI 1NDEBUG 1 mpm_h config_h !CONFIG_DEBUG "CHECK_DEFAULT CheckNONE6CHECK_NONE 7MPS_ASSERT_STRING "nonasserted"?EVENT_NONE @MPS_LOG_STRING "nonlogging"EDIAGNOSTICS FMPS_DEBUG_STRING "debug"LMPS_VARIETY_STRING MPS_ASSERT_STRING "." MPS_LOG_STRING "." MPS_DEBUG_STRINGRmpstd_h MPS_PF_FRI4GC MPS_PF_STRING "fri4gc"MPS_OS_FR MPS_ARCH_I4 MPS_BUILD_GC MPS_T_WORD unsigned longMPS_WORD_WIDTH 32MPS_WORD_SHIFT 5MPS_PF_ALIGN 4EPVMDefaultSubsequentSegSIZE (64ul * 1024)ARENA_CONTROL_EXTENDBY ((Size)4096)ARENA_CONTROL_AVGSIZE ((Size)32)ARENA_CONTROL_MAXSIZE ((Size)65536)ArenaPollALLOCTIME (65536.0)ARENA_ZONESHIFT ((Shift)20)ARENA_CLIENT_PAGE_SIZE ((Size)8192)ArenaDefaultZONESET (ZoneSetUNIV << (MPS_WORD_WIDTH / 2))SegPrefDEFAULT { SegPrefSig, TRUE, ArenaDefaultZONESET, FALSE, FALSE, (Serial)0, }LDHistoryLENGTH ((Size)4)StackProbeDEPTH ((Size)0)ShieldCacheSIZE ((size_t)16)ShieldDepthWIDTH (4)VMANPageALIGNMENT ((Align)4096)VMJunkBYTE ((unsigned char)0xA9)TraceLIMIT ((size_t)1)TraceCopyScanRATIO (1.5)RememberedSummaryBLOCK 15EventBufferSIZE ((size_t)4096)EventStringLengthMAX ((size_t)255)ASSERT_BUFFER_SIZE ((Size)512)MPS_PROD_STRING "dylan"MPS_PROD_DYLAN ARENA_INIT_SPARE_COMMIT_LIMIT ((Size)10uL*1024uL*1024uL)THREAD_MULTI PROTECTION DONGLE_NONE PROD_CHECK_DEFAULT CheckSHALLOWARENA_SIZE ((Size)1<<30)misc_h '_STDDEF_H_ )%_SYS_CDEFS_H_ +__BEGIN_DECLS ,__END_DECLS 8__GNUCLIKE_ASM 39__GNUCLIKE_MATH_BUILTIN_CONSTANTS =__GNUCLIKE___TYPEOF 1>__GNUCLIKE___OFFSETOF 1?__GNUCLIKE___SECTION 1A__GNUCLIKE_ATTRIBUTE_MODE_DI 1D__GNUCLIKE_CTOR_SECTION_HANDLING 1G__GNUCLIKE_BUILTIN_CONSTANT_P 1N__GNUCLIKE_BUILTIN_VARARGS 1O__GNUCLIKE_BUILTIN_STDARG 1P__GNUCLIKE_BUILTIN_VAALIST 1T__GNUC_VA_LIST_COMPATIBILITY 1X__GNUCLIKE_BUILTIN_NEXT_ARG 1Y__GNUCLIKE_MATH_BUILTIN_RELOPS \__GNUCLIKE_BUILTIN_MEMCPY 1___CC_SUPPORTS_INLINE 1`__CC_SUPPORTS___INLINE 1a__CC_SUPPORTS___INLINE__ 1c__CC_SUPPORTS___FUNC__ 1d__CC_SUPPORTS_WARNING 1f__CC_SUPPORTS_VARADIC_XXX 1h__CC_SUPPORTS_DYNAMIC_ARRAY_INIT 1k__CC_INT_IS_32BIT 1s__GNUC_PREREQ__(ma,mi) (__GNUC__ > (ma) || __GNUC__ == (ma) && __GNUC_MINOR__ >= (mi))__P(protos) protos__CONCAT1(x,y) x ## y__CONCAT(x,y) __CONCAT1(x,y)__STRING(x) #x__XSTRING(x) __STRING(x)__const const__signed signed__volatile volatile__dead2 __attribute__((__noreturn__))__pure2 __attribute__((__const__))__unused __attribute__((__unused__))__used __attribute__((__used__))__packed __attribute__((__packed__))__aligned(x) __attribute__((__aligned__(x)))__section(x) __attribute__((__section__(x)))__pure __attribute__((__pure__))__always_inline __attribute__((__always_inline__))__nonnull(x) __attribute__((__nonnull__(x)))__restrict __predict_true(exp) __builtin_expect((exp), 1)__predict_false(exp) __builtin_expect((exp), 0)__offsetof(type,field) ((size_t)(&((type *)0)->field))__rangeof(type,start,end) (__offsetof(type, end) - __offsetof(type, start))__printflike(fmtarg,firstvararg) __attribute__((__format__ (__printf__, fmtarg, firstvararg)))__scanflike(fmtarg,firstvararg) __attribute__((__format__ (__scanf__, fmtarg, firstvararg)))__format_arg(fmtarg) __attribute__((__format_arg__ (fmtarg)))__printf0like(fmtarg,firstvararg) __attribute__((__format__ (__printf0__, fmtarg, firstvararg)))__strong_reference(sym,aliassym) extern __typeof (sym) aliassym __attribute__ ((__alias__ (#sym)));__weak_reference(sym,alias) __asm__(".weak " #alias); __asm__(".equ " #alias ", " #sym)__warn_references(sym,msg) __asm__(".section .gnu.warning." #sym); __asm__(".asciz \"" msg "\""); __asm__(".previous")__IDSTRING(name,string) __asm__(".ident\t\"" string "\"")__FBSDID(s) __IDSTRING(__CONCAT(__rcsid_,__LINE__),s)__RCSID(s) __IDSTRING(__CONCAT(__rcsid_,__LINE__),s)__RCSID_SOURCE(s) __IDSTRING(__CONCAT(__rcsid_source_,__LINE__),s)__SCCSID(s) __IDSTRING(__CONCAT(__sccsid_,__LINE__),s)__COPYRIGHT(s) __IDSTRING(__CONCAT(__copyright_,__LINE__),s)__DECONST(type,var) ((type)(uintptr_t)(const void *)(var))__DEVOLATILE(type,var) ((type)(uintptr_t)(volatile void *)(var))__DEQUALIFY(type,var) ((type)(uintptr_t)(const volatile void *)(var))__POSIX_VISIBLE 200112__XSI_VISIBLE 600__BSD_VISIBLE 1__ISO_C_VISIBLE 1999* NULL ((void *)0)+_SYS__TYPES_H_ ! (_MACHINE__TYPES_H_ .__NO_STRICT_ALIGNMENT __GNUC_VA_LIST 2_RUNE_T_DECLARED 8_SIZE_T_DECLARED >_WCHAR_T_DECLARED Boffsetof(type,member) __offsetof(type, member)*SRCID(id,scmid) static SrcIdStruct FileSrcIdStruct = {__FILE__, (scmid), __DATE__, __TIME__}; SrcId id ## SrcId = &FileSrcIdStruct;BEGIN do {> (i)) & 1)BS_UNION(s1,s2) ((s1) | (s2))BS_ADD(ty,s,i) BS_UNION((s), BS_SINGLE(ty, (i)))BS_INTER(s1,s2) ((s1) & (s2))BS_DIFF(s1,s2) BS_INTER((s1), BS_COMP(s2))BS_DEL(ty,s,i) BS_DIFF((s), BS_SINGLE(ty, (i)))BS_SUPER(s1,s2) (BS_INTER((s1), (s2)) == (s2))BS_SUB(s1,s2) BS_SUPER((s2), (s1))BS_IS_SINGLE(s) (((s) & ((s)-1)) == 0)BS_SYM_DIFF(s1,s2) ((s1) ^ (s2)) check_h  mpslib_h mps_lib_EOF (mps_lib_get_EOF())mps_lib_stderr (mps_lib_get_stderr())mps_lib_stdout (mps_lib_get_stdout())0AVER(cond) DISCARD(cond)1AVERT(type,val) DISCARD(type ## Check(val))2AVER_CRITICAL(cond) DISCARD(cond)3AVERT_CRITICAL(type,val) DISCARD(type ## Check(val))MASSERT(cond,condstring) BEGIN if (cond) NOOP; else mps_lib_assert_fail(condstring "\n" __FILE__ "\n" STR(__LINE__)); END_NOTREACHED NOOPjCHECKT(type,val) ((val) != NULL && (val)->sig == type ## Sig)pCHECKS(type,val) DISCARD(CHECKT(type, val))qCHECKL(cond) DISCARD(cond)rCHECKD(type,val) DISCARD(CHECKT(type, val))sCHECKD_NOSIG(type,val) DISCARD((val) != NULL)tCHECKU(type,val) DISCARD(CHECKT(type, val))uCHECKU_NOSIG(type,val) DISCARD((val) != NULL)CHECKLVALUE(lv1,lv2) ((void)sizeof((lv1) = (lv2)), (void)sizeof((lv2) = (lv1)), TRUE)CHECKTYPE(t1,t2) (sizeof(t1) == sizeof(t2) && CHECKLVALUE(*((t1 *)0), *((t2 *)0)))CHECKFIELDAPPROX(s1,f1,s2,f2) (sizeof(((s1 *)0)->f1) == sizeof(((s2 *)0)->f2) && offsetof(s1, f1) == offsetof(s2, f2))CHECKFIELD(s1,f1,s2,f2) (CHECKFIELDAPPROX(s1, f1, s2, f2) && CHECKLVALUE(((s1 *)0)->f1, ((s2 *)0)->f2)) event_h   eventcom_h  mpmtypes_h '_MACHINE_STDARG_H_ -_VA_LIST_DECLARED 3va_start(ap,last) __builtin_stdarg_start((ap), (last))6va_arg(ap,type) __builtin_va_arg((ap), type):va_copy(dest,src) __builtin_va_copy((dest), (src))>va_end(ap) __builtin_va_end(ap)SigInvalid ((Sig)0x51915BAD)SizeMAX ((Size)-1)AccessSetEMPTY ((AccessSet)0)AccessREAD ((AccessSet)(1<<0))AccessWRITE ((AccessSet)(1<<1))AccessSetWIDTH (2)RefSetEMPTY BS_EMPTY(RefSet)RefSetUNIV BS_UNIV(RefSet)ZoneSetEMPTY BS_EMPTY(ZoneSet)ZoneSetUNIV BS_UNIV(ZoneSet)TraceSetEMPTY BS_EMPTY(TraceSet)TraceSetUNIV ((TraceSet)((1u << TraceLIMIT) - 1))RankSetEMPTY BS_EMPTY(RankSet)RankSetUNIV ((RankSet)((1u << RankLIMIT) - 1))AttrFMT ((Attr)(1<<0))AttrSCAN ((Attr)(1<<1))AttrPM_NO_READ ((Attr)(1<<2))AttrPM_NO_WRITE ((Attr)(1<<3))AttrALLOC ((Attr)(1<<4))AttrFREE ((Attr)(1<<5))AttrBUF ((Attr)(1<<6))AttrBUF_RESERVE ((Attr)(1<<7))AttrBUF_ALLOC ((Attr)(1<<8))AttrGC ((Attr)(1<<9))AttrINCR_RB ((Attr)(1<<10))AttrINCR_WB ((Attr)(1<<11))AttrMOVINGGC ((Attr)(1<<12))AttrMASK (AttrFMT | AttrSCAN | AttrPM_NO_READ | AttrPM_NO_WRITE | AttrALLOC | AttrFREE | AttrBUF | AttrBUF_RESERVE | AttrBUF_ALLOC | AttrGC | AttrINCR_RB | AttrINCR_WB | AttrMOVINGGC)BufferModeATTACHED ((BufferMode)(1<<0))BufferModeFLIPPED ((BufferMode)(1<<1))BufferModeLOGGED ((BufferMode)(1<<2))BufferModeTRANSITION ((BufferMode)(1<<3))RootModeCONSTANT ((RootMode)1<<0)RootModePROTECTABLE ((RootMode)1<<1)RootModePROTECTABLE_INNER ((RootMode)1<<2)STATISTIC_DECL(field) field!EventNameMAX ((size_t)19)"EventCodeMAX ((EventCode)0x0069)&EVENT_0(type) NOOPEVENT_A(type,p0) NOOPEVENT_AW(type,p0,p1) NOOPEVENT_P(type,p0) NOOPEVENT_PAA(type,p0,p1,p2) NOOPEVENT_PAW(type,p0,p1,p2) NOOPEVENT_PAWA(type,p0,p1,p2,p3) NOOPEVENT_PDDWWW(type,p0,p1,p2,p3,p4,p5) NOOPEVENT_PP(type,p0,p1) NOOPEVENT_PPAU(type,p0,p1,p2,p3) NOOPEVENT_PPAWP(type,p0,p1,p2,p3,p4) NOOPEVENT_PPP(type,p0,p1,p2) NOOPEVENT_PPPA(type,p0,p1,p2,p3) NOOPEVENT_PPPU(type,p0,p1,p2,p3) NOOPEVENT_PPPUU(type,p0,p1,p2,p3,p4) NOOPEVENT_PPU(type,p0,p1,p2) NOOPEVENT_PPUU(type,p0,p1,p2,p3) NOOPEVENT_PPUWWW(type,p0,p1,p2,p3,p4,p5) NOOPEVENT_PPWW(type,p0,p1,p2,p3) NOOPEVENT_PPWWW(type,p0,p1,p2,p3,p4) NOOPEVENT_PPWWWUUU(type,p0,p1,p2,p3,p4,p5,p6,p7) NOOPEVENT_PU(type,p0,p1) NOOPEVENT_PW(type,p0,p1) NOOPEVENT_PWA(type,p0,p1,p2) NOOPEVENT_PWAW(type,p0,p1,p2,p3) NOOPEVENT_PWP(type,p0,p1,p2) NOOPEVENT_PWU(type,p0,p1,p2) NOOPEVENT_PWW(type,p0,p1,p2) NOOPEVENT_PWWWWDD(type,p0,p1,p2,p3,p4,p5,p6) NOOPEVENT_PWWWWW(type,p0,p1,p2,p3,p4,p5) NOOPEVENT_PWWWWWWWWW(type,p0,p1,p2,p3,p4,p5,p6,p7,p8,p9) NOOPEVENT_PWWWWWWWWWWWW(type,p0,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11,p12) NOOPEVENT_UUPA(type,p0,p1,p2,p3) NOOPEVENT_UUPP(type,p0,p1,p2,p3) NOOPEVENT_UUPPP(type,p0,p1,p2,p3,p4) NOOPEVENT_WS(type,p0,p1,l1) NOOP:EventEventTime ((EventType)0xEF213E99);EventPoolInit ((EventType)0xEFB07141)EventPoolFree ((EventType)0xEFB07F6E)?EventArenaCreateVM ((EventType)0xEFA64CF3)@EventArenaCreateVMNZ ((EventType)0xEFA64CF2)AEventArenaCreateCL ((EventType)0xEFA64CC7)BEventArenaDestroy ((EventType)0xEFA64DE5)CEventArenaAlloc ((EventType)0xEFA64A77)DEventArenaFree ((EventType)0xEFA64F6E)EEventSegAlloc ((EventType)0xEF5E9A77)FEventSegFree ((EventType)0xEF5E9F6E)GEventSegMerge ((EventType)0xEF5E93E6)HEventSegSplit ((EventType)0xEF5E95B7)IEventAMCGenCreate ((EventType)0xEFA3C94C)JEventAMCGenDestroy ((EventType)0xEFA3C94D)KEventAMCInit ((EventType)0xEFA3C141)LEventAMCFinish ((EventType)0xEFA3CF14)MEventAMCTraceBegin ((EventType)0xEFA3C26B)NEventAMCScanBegin ((EventType)0xEFA3C5CB)OEventAMCScanEnd ((EventType)0xEFA3C5CE)PEventAMCFix ((EventType)0xEFA3CF18)QEventAMCFixInPlace ((EventType)0xEFA3CF8A)REventAMCFixForward ((EventType)0xEFA3CF8F)SEventAMCReclaim ((EventType)0xEFA3C6EC)TEventTraceStart ((EventType)0xEF26AC52)UEventTraceCreate ((EventType)0xEF26ACC6)VEventTraceDestroy ((EventType)0xEF26ACDE)WEventSegSetGrey ((EventType)0xEF59596A)XEventTraceFlipBegin ((EventType)0xEF26AF7B)YEventTraceFlipEnd ((EventType)0xEF26AF7E)ZEventTraceReclaim ((EventType)0xEF26A6EC)[EventTraceScanSeg ((EventType)0xEF26A559)\EventTraceScanSingleRef ((EventType)0xEF26A556)^EventTraceAccess ((EventType)0xEF26AACC)_EventTracePoll ((EventType)0xEF26AB01)`EventTraceStep ((EventType)0xEF26A52B)aEventTraceFix ((EventType)0xEF26AF18)bEventTraceFixSeg ((EventType)0xEF26AF85)cEventTraceFixWhite ((EventType)0xEF26AF83)dEventTraceScanArea ((EventType)0xEF26A5CA)eEventTraceScanAreaTagged ((EventType)0xEF26A5C2)fEventVMCreate ((EventType)0xEFF3C6EA)gEventVMDestroy ((EventType)0xEFF3DE52)hEventVMMap ((EventType)0xEFF33AB9)iEventVMUnmap ((EventType)0xEFF3043B)jEventIntern ((EventType)0xEF142E64)kEventArenaExtend ((EventType)0xEFA64E82)lEventArenaRetract ((EventType)0xEFA646E2)mEventRootScan ((EventType)0xEF625CA4)nEventLabel ((EventType)0xEF7ABE79)oEventTraceSegGreyen ((EventType)0xEF26A599)pEventBufferReserve ((EventType)0xEFB0FF6E)qEventBufferCommit ((EventType)0xEFB0FFC0)rEventBufferInit ((EventType)0xEFB0FF14)sEventBufferInitSeg ((EventType)0xEFB0F15E)tEventBufferInitRank ((EventType)0xEFB0F16A)uEventBufferInitEPVM ((EventType)0xEFB0F1EF)vEventBufferFinish ((EventType)0xEFB0FFF1)wEventBufferFill ((EventType)0xEFB0FFF7)xEventBufferEmpty ((EventType)0xEFB0FFE3)yEventArenaAllocFail ((EventType)0xEFA64A7F)zEventSegAllocFail ((EventType)0xEF5E9A7F){EventMeterInit ((EventType)0xEF3E2141)|EventMeterValues ((EventType)0xEF3E2FA7)}EventCBSInit ((EventType)0xEFCB5141)~EventTraceStatCondemn ((EventType)0xEF26A5C0)EventTraceStatScan ((EventType)0xEF26A55C)EventTraceStatFix ((EventType)0xEF26A5F8)EventTraceStatReclaim ((EventType)0xEF26A56E)EventArenaWriteFaults ((EventType)0xEFA6436F)EventPoolInitMV ((EventType)0xEFB0713F)EventPoolInitMVFF ((EventType)0xEFB071FF)EventPoolInitMFS ((EventType)0xEFB07135)EventPoolInitEPVM ((EventType)0xEFB071EF)EventPoolInitEPDL ((EventType)0xEFB071E7)EventPoolInitAMS ((EventType)0xEFB071A5)EventPoolInitAMC ((EventType)0xEFB071AC)EventPoolInitAMCZ ((EventType)0xEFB071A2)EventPoolInitAWL ((EventType)0xEFB071A3)EventPoolInitLO ((EventType)0xEFB07170)EventPoolInitSNC ((EventType)0xEFB07154)EventPoolInitMVT ((EventType)0xEFB07132)EventPoolPush ((EventType)0xEFB07B58)EventPoolPop ((EventType)0xEFB07B0B)EventReservoirLimitSet ((EventType)0xEF6E5713)EventCommitLimitSet ((EventType)0xEFC03713)EventSpareCommitLimitSet ((EventType)0xEF5BC713)hEventInit() NOOPiEventFinish() NOOPjEventControl(r,f) (UNUSED(r), UNUSED(f), (Word)0)kEventInternString(s) (UNUSED(s), (Word)0)lEventInternGenString(l,s) (UNUSED(l), UNUSED(s), (Word)0)mEventLabelAddr(a,i) BEGIN UNUSED(a); UNUSED(i); ENDPlock_h ULockSig ((Sig)0x51970CC9) th_h  ring_h RingNONE ((Ring)0)$RingInit(ring) BEGIN Ring _ring = (ring); AVER(_ring != NULL); _ring->next = _ring; _ring->prev = _ring; AVER(RingCheck(_ring)); END/RingFinish(ring) BEGIN Ring _ring = (ring); AVER(RingCheckSingle(_ring)); _ring->next = RingNONE; _ring->prev = RingNONE; END9RingAppend(ring,new) BEGIN Ring _ring = (ring), _new = (new); AVER(RingCheck(_ring)); AVER(RingCheckSingle(_new)); _new->prev = _ring->prev; _new->next = _ring; _ring->prev->next = _new; _ring->prev = _new; ENDFRingInsert(ring,new) BEGIN Ring _ring = (ring), _new = (new); AVER(RingCheck(_ring)); AVER(RingCheckSingle(_new)); _new->prev = _ring; _new->next = _ring->next; _ring->next->prev = _new; _ring->next = _new; ENDSRingRemove(old) BEGIN Ring _old = (old); AVER(RingCheck(_old)); AVER(!RingIsSingle(_old)); _old->next->prev = _old->prev; _old->prev->next = _old->next; _old->next = _old; _old->prev = _old; END`RingNext(ring) ((ring)->next)dRingPrev(ring) ((ring)->prev)gRING_ELT(type,field,node) ((type)(void *)((char *)(node) - (size_t)(&((type)0)->field)))kRING_FOR(node,ring,next) for(node = RingNext(ring), next = RingNext(node); node != (ring); node = (next), next = RingNext(node))ThreadSig ((Sig)0x519286ED) ss_h  tract_h   bt_h BTSize(n) (((n) + MPS_WORD_WIDTH-1) / MPS_WORD_WIDTH * sizeof(Word))BTGet(a,i) ((Bool)(((a)[((i) >> MPS_WORD_SHIFT)] >> ((i) & ~((Word)-1 << MPS_WORD_SHIFT))) & (Word)1))BTSet(a,i) BEGIN (a)[((i)>>MPS_WORD_SHIFT)] |= (Word)1<<((i)&~((Word)-1<>MPS_WORD_SHIFT)] &= ~((Word)1 << ((i) & ~((Word)-1<base)&TractPool(tract) ((tract)->pool)'TractP(tract) ((tract)->p)(TractSetP(tract,pp) ((void)((tract)->p = (pp))))TractHasSeg(tract) ((Bool)(tract)->hasSeg)*TractSetHasSeg(tract,b) ((void)((tract)->hasSeg = (b)))+TractWhite(tract) ((tract)->white),TractSetWhite(tract,w) ((void)((tract)->white = (w)))8TRACT_SEG(segReturn,tract) (TractHasSeg(tract) && ((*(segReturn) = (Seg)TractP(tract)), TRUE));TRACT_SET_SEG(tract,seg) (TractSetHasSeg(tract, TRUE), TractSetP(tract, seg))>TRACT_UNSET_SEG(tract) (TractSetHasSeg(tract, FALSE), TractSetP(tract, NULL))nPageTract(page) (&(page)->the.tractStruct)rPageOfTract(tract) PARENT(PageStruct, the.tractStruct, (tract))vPagePool(page) ((page)->the.rest.pool)}PageIsAllocated(page) ((page)->the.rest.pool != NULL)PageType(page) ((page)->the.rest.type)ChunkSig ((Sig)0x519C804C)ChunkArena(chunk) ((chunk)->arena)ChunkPageSize(chunk) ((chunk)->pageSize)ChunkPageShift(chunk) ((chunk)->pageShift)ChunkPagesToSize(chunk,pages) ((Size)(pages) << (chunk)->pageShift)ChunkSizeToPages(chunk,size) ((Count)((size) >> (chunk)->pageShift))CHUNK_OF_ADDR(chunkReturn,arena,addr) (((arena)->chunkCache.base <= (addr) && (addr) < (arena)->chunkCache.limit) ? (*(chunkReturn) = (arena)->chunkCache.chunk, TRUE) : ChunkOfAddr(chunkReturn, arena, addr))AddrPageBase(chunk,addr) AddrAlignDown((addr), ChunkPageSize(chunk))TRACT_OF_ADDR(tractReturn,arena,addr) BEGIN Arena _arena = (arena); Addr _addr = (addr); Chunk _chunk; Index _i; if (CHUNK_OF_ADDR(&_chunk, _arena, _addr)) { _i = INDEX_OF_ADDR(_chunk, _addr); if (BTGet(_chunk->allocTable, _i)) *(tractReturn) = PageTract(&_chunk->pageTable[_i]); else *(tractReturn) = NULL; } else *(tractReturn) = NULL; ENDINDEX_OF_ADDR(chunk,addr) ((Index)ChunkSizeToPages(chunk, AddrOffset((chunk)->base, addr)))PageIndexBase(chunk,i) AddrAdd((chunk)->base, ChunkPagesToSize(chunk, i))TractAverContiguousRange(arena,rangeBase,rangeLimit) BEGIN Chunk _ch = NULL; UNUSED(_ch); AVER(ChunkOfAddr(&_ch, arena, rangeBase) && (rangeLimit) <= _ch->limit); ENDTRACT_TRACT_FOR(tract,addr,arena,firstTract,limit) tract = (firstTract); addr = TractBase(tract); TractAverContiguousRange(arena, addr, limit); for(; tract != NULL; (addr = AddrAdd(addr, (arena)->alignment)), (addr < (limit) ? (tract = PageTract(PageOfTract(tract) + 1)) : (tract = NULL) ))TRACT_FOR(tract,addr,arena,base,limit) TRACT_TRACT_FOR(tract, addr, arena, TractOfBaseAddr(arena, base), limit)mpmst_h protocol_h DERIVE_LOCAL(name) protocol ## nameDERIVE_STRUCT(name) name ## StructDERIVE_ENSURE(name) name ## GetDERIVE_ENSURE_OLD(name) Ensure ## nameDERIVE_ENSURE_INTERNAL(name) protocolGet ## nameDERIVE_GUARDIAN(name) protocol ## name ## GuardianDERIVE_STATIC_STORAGE(name) protocol ## name ## StructProtocolClassSetSuperclassPoly(class,super) (((ProtocolClass)(class))->superclass) = (ProtocolClass)(super)$DEFINE_CLASS(className,var) static Bool DERIVE_GUARDIAN(className) = FALSE; static DERIVE_STRUCT(className) DERIVE_STATIC_STORAGE(className); static void DERIVE_ENSURE_INTERNAL(className)(className); extern className DERIVE_ENSURE(className)(void); className DERIVE_ENSURE(className)(void) { if (DERIVE_GUARDIAN(className) == FALSE) { LockClaimGlobalRecursive(); if (DERIVE_GUARDIAN(className) == FALSE) { DERIVE_ENSURE_INTERNAL(className) (&DERIVE_STATIC_STORAGE(className)); DERIVE_GUARDIAN(className) = TRUE; } LockReleaseGlobalRecursive(); } return &DERIVE_STATIC_STORAGE(className); } extern className DERIVE_ENSURE_OLD(className)(void); className DERIVE_ENSURE_OLD(className)(void) { return DERIVE_ENSURE(className)(); } static void DERIVE_ENSURE_INTERNAL(className) (className var)AINHERIT_CLASS(this,parentName) BEGIN parentName DERIVE_LOCAL(parentName) = DERIVE_ENSURE(parentName)(); *this = *(DERIVE_LOCAL(parentName)); ProtocolClassSetSuperclassPoly(this, DERIVE_LOCAL(parentName)); ENDODEFINE_ALIAS_CLASS(className,typeName,var) typedef typeName className; typedef DERIVE_STRUCT(typeName) DERIVE_STRUCT(className); DEFINE_CLASS(className, var)VProtocolClassSig ((Sig)0x519B60C7)WProtocolInstSig ((Sig)0x519B6014)ProtocolClassSuperclassPoly(class) (((ProtocolClass)(class))->superclass)ClassOfPoly(inst) ((ProtocolInst)(inst)->class)IsSubclassPoly(sub,super) ProtocolIsSubclass((ProtocolClass)(sub), (ProtocolClass)(super))SUPERCLASS(className) ProtocolClassSuperclassPoly(DERIVE_ENSURE(className)())chain_h GenDescSig ((Sig)0x5199E4DE)+PoolGenSig ((Sig)0x519B009E);ChainSig ((Sig)0x519C8A14)XPoolGenNr(gen) ((gen)->nr)/PoolClassSig ((Sig)0x519C7A55)]PoolSig ((Sig)0x519B0019)}MFSSig ((Sig)0x5193F599)MVSig ((Sig)0x5193B999)ReservoirSig ((Sig)0x5196e599)MessageClassSig ((Sig)0x519359c1)MessageSig ((Sig)0x5193e559)SegClassSig ((Sig)0x5195E9C7)SegSig ((Sig)0x5195E999)GCSegSig ((Sig)0x5199C5E9)SegPrefSig ((Sig)0x5195E9B6)BufferClassSig ((Sig)0x519B0FC7)BufferSig ((Sig)0x519B0FFE)SegBufSig ((Sig)0x51959B0F)FormatSig ((Sig)0x519F63A2)ScanStateSig ((Sig)0x5195CA45)TraceSig ((Sig)0x51924ACE)ChunkCacheEntrySig ((Sig)0x519C80CE)ArenaClassSig ((Sig)0x519A6C1A)GlobalsSig ((Sig)0x519970BA)ArenaSig ((Sig)0x519A6E4A)%BoolCheck(b) ((unsigned)(b) <= 1)(FUNCHECK(f) (FunCheck((Fun)f))4WordIsAligned(w,a) (((w) & ((a) - 1)) == 0)7WordAlignUp(w,a) (((w) + (a) - 1) & ~((Word)(a) - 1));WordRoundUp(w,r) (((w)+(r)-1) - ((w)+(r)-1)%(r))>WordAlignDown(w,a) ((w) & ~((Word)(a) - 1))@size_tAlignUp(s,a) ((size_t)WordAlignUp((Word)(s), a))BPointerAdd(p,s) ((void *)((char *)(p) + (s)))CPointerSub(p,s) ((void *)((char *)(p) - (s)))EPointerOffset(base,limit) ((size_t)((char *)(limit) - (char *)(base)))HPointerAlignUp(p,s) ((void *)WordAlignUp((Word)(p), (Align)(s)))KAddrAdd(p,s) ((Addr)PointerAdd((void *)(p), s))LAddrSub(p,s) ((Addr)PointerSub((void *)(p), s))NAddrOffset(b,l) ((Size)(PointerOffset((void *)(b), (void *)(l))))RAddrAlignDown(p,a) ((Addr)WordAlignDown((Word)(p), a))TAlignWord(s) ((Word)(s))VAddrIsAligned(p,a) WordIsAligned((Word)(p), a)WAddrAlignUp(p,a) ((Addr)WordAlignUp((Word)(p), a))YSizeIsAligned(s,a) WordIsAligned((Word)(s), a)ZSizeAlignUp(s,a) ((Size)WordAlignUp((Word)(s), a))[SizeAlignDown(s,a) ((Size)WordAlignDown((Word)(s), a))]SizeRoundUp(s,r) ((Size)WordRoundUp((Word)(s), (Size)(r)))_IndexIsAligned(s,a) WordIsAligned((Word)(s), a)`IndexAlignUp(s,a) ((Index)WordAlignUp((Word)(s), a))aIndexAlignDown(s,a) ((Index)WordAlignDown((Word)(s), a))cAlignIsAligned(a1,a2) WordIsAligned((Word)(a1), a2)iAddrSet(target,value,size) mps_lib_memset(target, (int)(value), size)mAddrCopy(target,source,size) mps_lib_memcpy(target, source, size)qAddrComp(a,b,size) mps_lib_memcmp(a, b, size)wADDR_PTR(type,addr) ((type *)(addr))PoolArena(pool) ((pool)->arena)PoolAlignment(pool) ((pool)->alignment)PoolSegRing(pool) (&(pool)->segRing)PoolFix(pool,ss,seg,refIO) ((*(pool)->fix)(pool, ss, seg, refIO))ClassOfPool(pool) ((pool)->class)SuperclassOfPool(pool) ((PoolClass)ProtocolClassSuperclassPoly((pool)->class))DEFINE_POOL_CLASS(className,var) DEFINE_ALIAS_CLASS(className, PoolClass, var)POOL_SUPERCLASS(className) ((PoolClass)SUPERCLASS(className))TraceSetSingle(trace) BS_SINGLE(TraceSet, (trace)->ti)TraceSetIsSingle(ts) BS_IS_SINGLE(ts)TraceSetIsMember(ts,trace) BS_IS_MEMBER(ts, (trace)->ti)TraceSetAdd(ts,trace) BS_ADD(TraceSet, ts, (trace)->ti)TraceSetDel(ts,trace) BS_DEL(TraceSet, ts, (trace)->ti)TraceSetUnion(ts1,ts2) BS_UNION(ts1, ts2)TraceSetInter(ts1,ts2) BS_INTER(ts1, ts2)TraceSetDiff(ts1,ts2) BS_DIFF(ts1, ts2)TraceSetSuper(ts1,ts2) BS_SUPER(ts1, ts2)TraceSetSub(ts1,ts2) BS_SUB(ts1, ts2)TraceSetComp(ts) BS_COMP(ts)TRACE_SET_ITER(ti,trace,ts,arena) for(ti = 0, trace = ArenaTrace(arena, ti); ti < TraceLIMIT; ++ti, trace = ArenaTrace(arena, ti)) BEGIN if (TraceSetIsMember(ts, trace)) {TRACE_SET_ITER_END(ti,trace,ts,arena) } ENDTRACE_SCAN_BEGIN(ss) BEGIN Shift SCANzoneShift = (ss)->zoneShift; ZoneSet SCANwhite = (ss)->white; RefSet SCANsummary = (ss)->unfixedSummary; Word SCANt; {TRACE_FIX1(ss,ref) (SCANt = (Word)1 << ((Word)(ref) >> SCANzoneShift & (MPS_WORD_WIDTH-1)), SCANsummary |= SCANt, SCANwhite & SCANt)TRACE_FIX2(ss,refIO) ((*(ss)->fix)(ss, refIO))TRACE_FIX(ss,refIO) (TRACE_FIX1(ss, *(refIO)) ? TRACE_FIX2(ss, refIO) : ResOK)TRACE_SCAN_END(ss) } (ss)->unfixedSummary = SCANsummary; ENDDEFINE_ARENA_CLASS(className,var) DEFINE_ALIAS_CLASS(className, ArenaClass, var)ARENA_SUPERCLASS(className) ((ArenaClass)SUPERCLASS(className))ArenaGlobals(arena) (&(arena)->globals)GlobalsArena(glob) PARENT(ArenaStruct, globals, glob)ArenaRootRing(arena) (&(arena)->rootRing)ArenaTraceRing(arena) (&(arena)->traceRing)ArenaThreadRing(arena) (&(arena)->threadRing)ArenaEpoch(arena) ((arena)->epoch)ArenaTrace(arena,ti) (&(arena)->trace[ti])ArenaZoneShift(arena) ((arena)->zoneShift)ArenaAlign(arena) ((arena)->alignment)ArenaGreyRing(arena,rank) (&(arena)->greyRing[rank])ArenaReservoir(arena) (&(arena)->reservoirStruct)DEFINE_SEG_CLASS(className,var) DEFINE_ALIAS_CLASS(className, SegClass, var)SEG_SUPERCLASS(className) ((SegClass)SUPERCLASS(className))ClassOfSeg(seg) ((seg)->class)SegBase(seg) (TractBase((seg)->firstTract))SegLimit(seg) ((seg)->limit)SegPool(seg) (TractPool((seg)->firstTract))SegRankSet(seg) ((RankSet)(seg)->rankSet)SegPM(seg) ((AccessSet)(seg)->pm)SegSM(seg) ((AccessSet)(seg)->sm)SegDepth(seg) ((unsigned)(seg)->depth)SegGrey(seg) ((TraceSet)(seg)->grey)SegWhite(seg) ((TraceSet)(seg)->white)SegNailed(seg) ((TraceSet)(seg)->nailed)SegOfPoolRing(node) (RING_ELT(Seg, poolRing, (node)))SegOfGreyRing(node) (&(RING_ELT(GCSeg, greyRing, (node)) ->segStruct))SegSummary(seg) (((GCSeg)(seg))->summary)SegSetPM(seg,mode) ((void)((seg)->pm = (mode)))SegSetSM(seg,mode) ((void)((seg)->sm = (mode)))SegSetDepth(seg,d) ((void)((seg)->depth = (d)))SegSetNailed(seg,ts) ((void)((seg)->nailed = (ts)))BUFFER_RESERVE(pReturn,buffer,size,withReservoirPermit) (AddrAdd(BufferAlloc(buffer), size) > BufferAlloc(buffer) && AddrAdd(BufferAlloc(buffer), size) <= BufferAP(buffer)->limit ? (*(pReturn) = BufferAlloc(buffer), BufferAP(buffer)->alloc = AddrAdd(BufferAlloc(buffer), size), ResOK) : BufferFill(pReturn, buffer, size, withReservoirPermit))BUFFER_COMMIT(buffer,p,size) (BufferAP(buffer)->init = BufferAlloc(buffer), BufferAP(buffer)->limit != 0 || BufferTrip(buffer, p, size))BufferAP(buffer) (&(buffer)->apStruct)BufferOfAP(ap) PARENT(BufferStruct, apStruct, ap)BufferArena(buffer) ((buffer)->arena)BufferPool(buffer) ((buffer)->pool)BufferBase(buffer) ((buffer)->base)BufferGetInit(buffer) (BufferAP(buffer)->init)BufferAlloc(buffer) (BufferAP(buffer)->alloc)BufferLimit(buffer) ((buffer)->poolLimit)DEFINE_BUFFER_CLASS(className,var) DEFINE_ALIAS_CLASS(className, BufferClass, var)BUFFER_SUPERCLASS(className) ((BufferClass)SUPERCLASS(className))RankSetIsMember(rs,r) BS_IS_MEMBER((rs), (r))RankSetSingle(r) BS_SINGLE(RankSet, (r))RankSetIsSingle(r) BS_IS_SINGLE(r)RankSetUnion(rs1,rs2) BS_UNION((rs1), (rs2))RankSetDel(rs,r) BS_DEL(RankSet, (rs), (r))AddrZone(arena,addr) (((Word)(addr) >> (arena)->zoneShift) & (MPS_WORD_WIDTH - 1))RefSetUnion(rs1,rs2) BS_UNION((rs1), (rs2))RefSetInter(rs1,rs2) BS_INTER((rs1), (rs2))RefSetDiff(rs1,rs2) BS_DIFF((rs1), (rs2))RefSetAdd(arena,rs,addr) BS_ADD(RefSet, rs, AddrZone(arena, addr))RefSetIsMember(arena,rs,addr) BS_IS_MEMBER(rs, AddrZone(arena, addr))RefSetSuper(rs1,rs2) BS_SUPER((rs1), (rs2))RefSetSub(rs1,rs2) BS_SUB((rs1), (rs2))ZoneSetUnion(zs1,zs2) BS_UNION(zs1, zs2)ZoneSetInter(zs1,zs2) BS_INTER(zs1, zs2)ZoneSetDiff(zs1,zs2) BS_DIFF(zs1, zs2)ZoneSetAdd(arena,zs,addr) BS_ADD(ZoneSet, zs, AddrZone(arena, addr))ZoneSetIsMember(arena,zs,addr) BS_IS_MEMBER(zs, AddrZone(arena, addr))ZoneSetSub(zs1,zs2) BS_SUB(zs1, zs2)ZoneSetSuper(zs1,zs2) BS_SUPER(zs1, zs2)ZoneSetComp(zs) BS_COMP(zs)STATISTIC(gather) BEGIN (gather); ENDSTATISTIC_STAT(gather) BEGIN gather; ENDSTATISTIC_WRITE(format,arg) (format), (arg),span.cJan 17 200703:43:49$Id: //info.ravenbrook.com/project/mps/master/code/span.c#8 $| AB +JStackProbe7spanSrcIdunsigned intGNU C 3.4.6 [FreeBSD] 20060305scmidshort intSizeFileSrcIdStructlong long unsigned intfilespan.cWordcharspanSrcIdlong long intdepthSrcIdlong intbuild_timelong unsigned intSrcIdStructunsigned charStackProbebuild_datesigned charshort unsigned intdouble/home/hannes/dylan/mps/codeGCC: (GNU) 3.4.6 [FreeBSD] 20060305.symtab.strtab.shstrtab.text.rel.data.bss.debug_abbrev.rel.debug_info.rel.debug_line.debug_macinfo.rodata.str1.1.rodata.str1.4.rel.rodata.rel.debug_frame.rel.debug_pubnames.rel.debug_aranges.debug_str.comment4%<! ,+@0@BJ> 4 R7N T^um2y|2y>y \  y, |z/ Gz  0gz:{%{@ -     "span.cFileSrcIdStructspanSrcIdStackProbe  !%*18?MT[bipw~ '3 8Es     poolamc.o/ 1169001830 1001 1001 100644 91700 ` ELF &4(UÉUWVS ]؃8u@Suuuu VP …u~0F4F8Y $ > : ; I I<  &I  : ; : ; I8 : ; I : ;I8 : ;I8  : ; I8  : ; I 8  : ;I 8  : ;I 8  : ; ' II' ' I : ;  : ;  : ; I: ;II!I/ .: ; ' I@ : ; I : ; I 4: ; I !4: ; I "4: ; I# $.: ; ' I@ %.? : ; ' I@ &.: ; ' @ '4: ; I(.: ;' I@ ): ;I * +4: ;I,4: ;I-: ;I . : ;/.: ;' @ 04: ;I 14: ;I 2.: ;' I@ 3.? : ;' I@ 4 : ;5 U6.? : ;' @ 74: ; I?  Cf o`@&intz 8W Ie _L |W7z . . E`" b" $b# %b# "&b# 'b# hx  Sigl ResEh l "|[#$ %^&5'WP(W Ref),8-.W/W12W 3W4W5WX6W7W BT:r; ` < `< sigs~# ]t # Y u# v# wp# x # y# z# {s#$ |s#, V}#4 V~#8 $#< #T #X cW#\o= l=   %# $#` seg#d sig~#h> @> DU## Eb# LF# |G5# H`# I}# J#$ dK?#( segL#, M#0 N#4 O#8 sigP~#<? AW iIC |a# tb# c# d# e# X f#. Dtz Y <D sig~# Y # q# # & # #  # c< # ] #$ A #(  #, pad #0 ] #4 #8Fdj G{ `8XGsig`~# Y a# ]b`# c# &d # e # f# yg #$ h#, ii#0fixjI#4 ks#8 7ls#@ ms#H wns#PCHkq 2 H 2U## 3b# L4# 5# 6f# |7e# 8#$ t9#( :#, 3 ;#0 <9#4 =e#8 +>#< ?#@ @#D A#HfixBI#L Cy#P dD#T =E#X ;F#\ G#` H #d I4#h #J[#l K#p L#t dM#x N#| O#sigP~#$N`OH N z 5 O sig~# ti:# # R# # P# # ] # # #$ Y#( #, #0 0#4 #8 #< #@ +#D #H #L #P Q#T a#X #\  #` #d -#h #l #p ~ #t G #x  #|  # [ # +# ,#jP  TP fix # # R# s# sig~# # E# # # #$ #(  #, #0 -#4 #8 G#< #@ #D [#H #L #PQ  E Qsig >~#  ?#  @ #  AE# M B# ; C!#9RP V zR p#p# V#RE# W# 8S   8Ssig~# Y # #  # # # V# # w #$ #( |#, z]"#0 #4 rT sig~# ? # V# # # # U * Utheh3"# SegV% V sig~# ]Q# E #   #  #v W#pm [#sm [# E#RE#E#$# Q0W $#  # #$ ~  #( sig!~#,^X\b OLX U## b# L# |# # `# ~ #$ }#( 7#,  #0 #4 I 9#8 d#< #@ *#Dsig~#H> YQ|Zek XZ sig0~# 1# 2# 3# 4# gen5#>\ LH\ &U## '9%# L(# )# |*# +# ,#$ -#( .#, t/3#0 0t#4 1#8 G 2#< d3#@ sig4~#D^j(^ o?%# Y p#t ]r#x 5 t#| %u$# w$# my# z# m|# }# # # E # #  #  # # -%# h!#  # #  # |# # :p# 3  # W# o# K%# # q # # # E# 8E#  [%# 6s# s# (# k%# #  # '/# # {%# sig~# t_ sigB~# gE # "FY# Is# |J# gK# Ls# 7Ms#( ?Ns#0 Os#8 wPs#@ .Sb#H V#L Y #P Z#X * ] #\ ^#d /a #h d#pde*g/5  lhh @k## i E #X #\ @#`sig~#d}n'o>p|q r3 t>DhhnZpE up7v R w Kxm0z 0AGgiplrxppN Em"(9$CDJ`$ kq|N*k@F`pFkq} kD$ $(.?JPepvpp hpXp! 9hhpDJeppvp[ȥp= p= EpER$CCz pkTZypz 0T]GҚpp> p$4p$P?E[p$flp6lSݗpgh޾ p    p " < z G M ] h n  G | h    G     #  #  h!9$ sig ~#  # w #  !s# ? "s#  # #9 $!% )~!! !! )sig .~#nr /#  0p# ] 1 # 2 3 # N 4#  5#! 6!h!zV 3"g ep# |fE#R"hc";g"* iR"A \n"t" "\sig}~# ~c"# "# @$## a"" "asig~# ]c"# m"###"c""x/#5#O#O#c"c"c"t"Qq8o #t @k## #X #\ #` #d d##h E #lsig~#p#v#$O ` @k## ?##X E## # # %# # #  #sig~#O  $l;b%"X6kQIg5 N re[%k%!%{% % AMC %% o&  @ k##  $#X 2  #\ g #d ]  #h ; #l gen !*#p  "o&#t  #o&#x o $o&#| c %W# &E# sig '~#7 z&& &8   *!# | +E#  , #$  -#, | .#0sig /~#4` =&& o' =sig ?~# | @E#gen Ao&#  B# l C# f D#  E# F|#% Tz'' '< T  Y$#  Z'#0new [#4sig \~#8E' g U fo'( u gUseg s sp V sL s t tS  v'W q wQP  xo'V!res yP|) h(Useg S V!res R  pp" o' q QP!i l!p h V W  d | `  \!row X#Y!j W!c W Q $$ \(oU%_ |)p}U&) U] |)S# % OV-*; Useg P"| E^* &Useg P'p '(* o&U)seg S**+l &#,p 'o&(* 1 *U)gen 0o&+ 2,amc 3%(*+z F,6U- E&* \6+<+.w+ t \  _%# gen `o&#l sig a~#p(+ n8BU- m*++ o(+r }o&DOU-~ |P/, P^U-~ P)gen o&R+ *+(,H `U-~ V- p - 0amc %S1 *+W1   P0res P/, U-~ S1q  P+ *+   $2m CU3; ,DQU/_- TU-] ,#\w1X t(]. vU- *P)amc %W-R 1 h1~ l+ p0gen o&V0res S0p p4 l4* X4 G*8. 1  Q#';1  R+  /.u xU)gen o&S1 V*.1  R#+  (/( &U)gen o&P-  ,res (/ ,(U)seg +- +p 1 -&V1 .l1f /W0res 0S0p 1p4 O 4- M/0 WU)seg VV- VpP+ X&,gen Yo&1 ZW1f [P(X0 mU)seg lS)ref lQ+ n&0i oS(0 ~/U)seg }S)ref }P+ &0i P/ 1 0U)seg S-V V- S+ &1 V1 S1 W(1" U)seg S-V Q- R+ &1 p1 R1 W(2 v U- pQ- $P)arg R0amc %V0res W1 l0i S1 h1M d4 #l 4 < *k2  1  P#w  0p p(2 (x U- 'p)arg ' (2 - U- ,p)arg , /3G 7 U- 6p0amc 8%p1f 9 l1p : R1 : W*s3 0gen Go&S*3 & 0seg NV1L OP,gen Po&*3H R ,gen \o&#l x 0gen `o&P(4 o  U-a lhP- lhP- mp-~ m-L mR-m n0seg p@0amc q%0res rP1V sR1 sR1 tP1 u0gen vo&1R wD19 x$H/k5  l U- pP-~ V-| W- S,amc %1L S1 V0seg p/5 l U- pP)buf  -M ,amc %/L6  ;U- pV)buf  0amc %p# 31 s!l1p  R1  W# (0seg S(6 <?U- p- =  )seg W0gen o&V0amc %S1~ V0res P(7- |@U- zC- zC )ss {z - {pP)seg {)amc {%0p }V1 }p1 ~iW0res P1S l1 h4 *70q S#,~0q S(j8?  U- C)ss z  - pW)seg V)amc %S1S l16 p#0res P(9   U- C)ss z  - pS)seg 1V V1 S+ 1 iW,amc %0res P/9 $ U- #p)seg #S)ss #z W-T #0P0ref %V#-N1 2R(:_ FU- Ep)ss Ez W)seg E-T E01 GV,amc H%1 IS4 d(B;/ oU- npS)ss nz  )seg n-T n01 pl,amc q%0res rR1 sih0ref td1 up1 vW1~ wS,gen xo&1 yEQ1v zER1 {Q1 |R1t }V4 4c (<C U- pS)ss z V)seg W-T 01 l,amc %0res R1 ih0ref d1 `1u p1 \1~ S,gen o&1 EQ1v ER1 Q1 R1t X4 4c #`O1 `T/=" jU- p- =  )seg 0p S1 p1 l1 ih1[ d1 `1[ \,amc %1 X#P0q W1 V/= lU- pV- =  )seg W0amc %p0gen o&S1L P/> U- pW)seg S)f 6)p )s l1 S1$ P1 V,amc %1 ip/3?  6U- 4p)f 46 )p 5)s 5l1 7W1f 8 p1 8 V1p 8 P#0seg @S(? N&U- MpP- MV0res OP0amc P%S1p Q R1 Q W1 R9%P50gen no&P |`- |`#2 |k(oU3 |?p}U/J@# }.U- |?S#11 ~2 VZ `O `#3 J@0wU3 J@xU/@ U- J@S#1 ?V3l U3 U.5A  f KA# p # s #KA5A A/A  U-  - i - p)p P)s l+ AQA6AB  Y U- S)f KAP)p P)s P+ p1 QAh1 V(lB \ f U)amc %  7Q  X   އ) 1 1 ,1X |1 |?1  1v V@` /usr/include/usr/include/sys/usr/include/machinempscamc.hmps.hstddef.hcdefs.h_null.h_types.h_types.hstdarg.hlimits.hlimits.h_limits.hsyslimits.hchain.hmpmtypes.hconfig.hmpstd.hmisc.hmpslib.hring.hcheck.hbt.hmpm.hevent.heventcom.heventgen.hlock.hth.hss.htract.hmpmst.hprotocol.hpoolamc.c @w>::*J:rtV fde:d`H!FXF[CVH.uqhqscBcVrrrr MrƎue!c9 9 9:d??M=:*J,stdtrcBcrrrr e;tsrrdu;Vt;,drԎe0M :rrrrsdd:;,dVduH]:izUHr:J  :  eH  ,eWdeerrrrstלdH,oj;ds?vFIW,dXd] c:n;:d;w Ǚ:   cd:):*#de%֎V::VV ==H cdM>df;z   IS  tU:Td +Հ:d>ԸԪVrwdrrsssZuGr;sy,V>Vr-eV<vHrwu=Hrl+u+r ]Ƒr,VV hsf,tVV cdde*VVr t<Ԏ;.;:d:.$e/iXVvkd:de#:VHVV tdX:;gg:R:gddd;H,(VrrrrrW:nԥMdcBcrrrrrrrrrrrrrrrrrrcBcrrrrrdVZdVU L:d;9__STDC_HOSTED__ 1__GNUC__ 3__GNUC_MINOR__ 4__GNUC_PATCHLEVEL__ 6__SIZE_TYPE__ unsigned int__PTRDIFF_TYPE__ int__WCHAR_TYPE__ int__WINT_TYPE__ unsigned int __GXX_ABI_VERSION 1002 __SCHAR_MAX__ 127 __SHRT_MAX__ 32767 __INT_MAX__ 2147483647 __LONG_MAX__ 2147483647L__LONG_LONG_MAX__ 9223372036854775807LL__WCHAR_MAX__ 2147483647__CHAR_BIT__ 8__FLT_EVAL_METHOD__ 2__FLT_RADIX__ 2__FLT_MANT_DIG__ 24__FLT_DIG__ 6__FLT_MIN_EXP__ (-125)__FLT_MIN_10_EXP__ (-37)__FLT_MAX_EXP__ 128__FLT_MAX_10_EXP__ 38__FLT_MAX__ 3.40282347e+38F__FLT_MIN__ 1.17549435e-38F__FLT_EPSILON__ 1.19209290e-7F__FLT_DENORM_MIN__ 1.40129846e-45F__FLT_HAS_INFINITY__ 1__FLT_HAS_QUIET_NAN__ 1__DBL_MANT_DIG__ 53 __DBL_DIG__ 15!__DBL_MIN_EXP__ (-1021)"__DBL_MIN_10_EXP__ (-307)#__DBL_MAX_EXP__ 1024$__DBL_MAX_10_EXP__ 308%__DBL_MAX__ 1.7976931348623157e+308&__DBL_MIN__ 2.2250738585072014e-308'__DBL_EPSILON__ 2.2204460492503131e-16(__DBL_DENORM_MIN__ 4.9406564584124654e-324)__DBL_HAS_INFINITY__ 1*__DBL_HAS_QUIET_NAN__ 1+__LDBL_MANT_DIG__ 53,__LDBL_DIG__ 15-__LDBL_MIN_EXP__ (-16381).__LDBL_MIN_10_EXP__ (-4931)/__LDBL_MAX_EXP__ 163840__LDBL_MAX_10_EXP__ 49321__DECIMAL_DIG__ 172__LDBL_MAX__ 1.1897314953572316e+4932L3__LDBL_MIN__ 3.3621031431120935e-4932L4__LDBL_EPSILON__ 2.2204460492503131e-16L5__LDBL_DENORM_MIN__ 7.4653686412953080e-4948L6__LDBL_HAS_INFINITY__ 17__LDBL_HAS_QUIET_NAN__ 18__REGISTER_PREFIX__ 9__USER_LABEL_PREFIX__ :__VERSION__ "3.4.6 [FreeBSD] 20060305";__OPTIMIZE__ 1<__FINITE_MATH_ONLY__ 0=__STRICT_ANSI__ 1@__i386 1A__i386__ 1B__tune_i386__ 1C__FreeBSD__ 6D__unix 1E__unix__ 1F__KPRINTF_ATTRIBUTE__ 1J__FreeBSD_cc_version 602001K__ELF__ 1_REENTRANT 1CONFIG_PROD_DYLAN 1CONFIG_VAR_HI 1NDEBUG 1 mpscamc_h   mps_h '_STDDEF_H_ )%_SYS_CDEFS_H_ +__BEGIN_DECLS ,__END_DECLS 8__GNUCLIKE_ASM 39__GNUCLIKE_MATH_BUILTIN_CONSTANTS =__GNUCLIKE___TYPEOF 1>__GNUCLIKE___OFFSETOF 1?__GNUCLIKE___SECTION 1A__GNUCLIKE_ATTRIBUTE_MODE_DI 1D__GNUCLIKE_CTOR_SECTION_HANDLING 1G__GNUCLIKE_BUILTIN_CONSTANT_P 1N__GNUCLIKE_BUILTIN_VARARGS 1O__GNUCLIKE_BUILTIN_STDARG 1P__GNUCLIKE_BUILTIN_VAALIST 1T__GNUC_VA_LIST_COMPATIBILITY 1X__GNUCLIKE_BUILTIN_NEXT_ARG 1Y__GNUCLIKE_MATH_BUILTIN_RELOPS \__GNUCLIKE_BUILTIN_MEMCPY 1___CC_SUPPORTS_INLINE 1`__CC_SUPPORTS___INLINE 1a__CC_SUPPORTS___INLINE__ 1c__CC_SUPPORTS___FUNC__ 1d__CC_SUPPORTS_WARNING 1f__CC_SUPPORTS_VARADIC_XXX 1h__CC_SUPPORTS_DYNAMIC_ARRAY_INIT 1k__CC_INT_IS_32BIT 1s__GNUC_PREREQ__(ma,mi) (__GNUC__ > (ma) || __GNUC__ == (ma) && __GNUC_MINOR__ >= (mi))__P(protos) protos__CONCAT1(x,y) x ## y__CONCAT(x,y) __CONCAT1(x,y)__STRING(x) #x__XSTRING(x) __STRING(x)__const const__signed signed__volatile volatile__dead2 __attribute__((__noreturn__))__pure2 __attribute__((__const__))__unused __attribute__((__unused__))__used __attribute__((__used__))__packed __attribute__((__packed__))__aligned(x) __attribute__((__aligned__(x)))__section(x) __attribute__((__section__(x)))__pure __attribute__((__pure__))__always_inline __attribute__((__always_inline__))__nonnull(x) __attribute__((__nonnull__(x)))__restrict __predict_true(exp) __builtin_expect((exp), 1)__predict_false(exp) __builtin_expect((exp), 0)__offsetof(type,field) ((size_t)(&((type *)0)->field))__rangeof(type,start,end) (__offsetof(type, end) - __offsetof(type, start))__printflike(fmtarg,firstvararg) __attribute__((__format__ (__printf__, fmtarg, firstvararg)))__scanflike(fmtarg,firstvararg) __attribute__((__format__ (__scanf__, fmtarg, firstvararg)))__format_arg(fmtarg) __attribute__((__format_arg__ (fmtarg)))__printf0like(fmtarg,firstvararg) __attribute__((__format__ (__printf0__, fmtarg, firstvararg)))__strong_reference(sym,aliassym) extern __typeof (sym) aliassym __attribute__ ((__alias__ (#sym)));__weak_reference(sym,alias) __asm__(".weak " #alias); __asm__(".equ " #alias ", " #sym)__warn_references(sym,msg) __asm__(".section .gnu.warning." #sym); __asm__(".asciz \"" msg "\""); __asm__(".previous")__IDSTRING(name,string) __asm__(".ident\t\"" string "\"")__FBSDID(s) __IDSTRING(__CONCAT(__rcsid_,__LINE__),s)__RCSID(s) __IDSTRING(__CONCAT(__rcsid_,__LINE__),s)__RCSID_SOURCE(s) __IDSTRING(__CONCAT(__rcsid_source_,__LINE__),s)__SCCSID(s) __IDSTRING(__CONCAT(__sccsid_,__LINE__),s)__COPYRIGHT(s) __IDSTRING(__CONCAT(__copyright_,__LINE__),s)__DECONST(type,var) ((type)(uintptr_t)(const void *)(var))__DEVOLATILE(type,var) ((type)(uintptr_t)(volatile void *)(var))__DEQUALIFY(type,var) ((type)(uintptr_t)(const volatile void *)(var))__POSIX_VISIBLE 200112__XSI_VISIBLE 600__BSD_VISIBLE 1__ISO_C_VISIBLE 1999* NULL ((void *)0)+_SYS__TYPES_H_ !(_MACHINE__TYPES_H_ .__NO_STRICT_ALIGNMENT __GNUC_VA_LIST 2_RUNE_T_DECLARED 8_SIZE_T_DECLARED >_WCHAR_T_DECLARED Boffsetof(type,member) __offsetof(type, member)'_MACHINE_STDARG_H_ -_VA_LIST_DECLARED 3va_start(ap,last) __builtin_stdarg_start((ap), (last))6va_arg(ap,type) __builtin_va_arg((ap), type):va_copy(dest,src) __builtin_va_copy((dest), (src))>va_end(ap) __builtin_va_end(ap) &_LIMITS_H_ +_POSIX_ARG_MAX 4096,_POSIX_CHILD_MAX 25-_POSIX_LINK_MAX 8._POSIX_MAX_CANON 255/_POSIX_MAX_INPUT 2550_POSIX_NAME_MAX 141_POSIX_NGROUPS_MAX 82_POSIX_OPEN_MAX 203_POSIX_PATH_MAX 2564_POSIX_PIPE_BUF 5125_POSIX_SSIZE_MAX 327676_POSIX_STREAM_MAX 87_POSIX_TZNAME_MAX 69BC_BASE_MAX 99:BC_DIM_MAX 2048;BC_SCALE_MAX 99EXPR_NEST_MAX 32?LINE_MAX 2048@RE_DUP_MAX 255B_POSIX2_BC_BASE_MAX 99C_POSIX2_BC_DIM_MAX 2048D_POSIX2_BC_SCALE_MAX 99E_POSIX2_BC_STRING_MAX 1000F_POSIX2_EQUIV_CLASS_MAX 2G_POSIX2_EXPR_NEST_MAX 32H_POSIX2_LINE_MAX 2048I_POSIX2_RE_DUP_MAX 255M_POSIX_AIO_LISTIO_MAX 16N_POSIX_AIO_MAX 1O_POSIX_DELAYTIMER_MAX 32P_POSIX_MQ_OPEN_MAX 8Q_POSIX_MQ_PRIO_MAX 32R_POSIX_RTSIG_MAX 8S_POSIX_SEM_NSEMS_MAX 256T_POSIX_SEM_VALUE_MAX 32767U_POSIX_SIGQUEUE_MAX 32V_POSIX_TIMER_MAX 32Z_POSIX_THREAD_DESTRUCTOR_ITERATIONS 4[_POSIX_THREAD_KEYS_MAX 128\_POSIX_THREAD_THREADS_MAX 64`_POSIX_HOST_NAME_MAX 255a_POSIX_LOGIN_NAME_MAX 9b_POSIX_SS_REPL_MAX 4c_POSIX_SYMLINK_MAX 255d_POSIX_SYMLOOP_MAX 8e_POSIX_TRACE_EVENT_NAME_MAX 30f_POSIX_TRACE_NAME_MAX 8g_POSIX_TRACE_SYS_MAX 8h_POSIX_TRACE_USER_EVENT_MAX 32i_POSIX_TTY_NAME_MAX 9j_POSIX2_CHARCLASS_NAME_MAX 14k_POSIX2_COLL_WEIGHTS_MAX 2m_POSIX_RE_DUP_MAX _POSIX2_RE_DUP_MAXq_XOPEN_IOV_MAX 16r_XOPEN_NAME_MAX 255s_XOPEN_PATH_MAX 1024tPASS_MAX 128vNL_ARGMAX 99wNL_LANGMAX 31xNL_MSGMAX 32767yNL_NMAX 1zNL_SETMAX 255{NL_TEXTMAX 2048~MB_LEN_MAX 6 !_SYS_LIMITS_H_ $ "_MACHINE__LIMITS_H_ /__CHAR_BIT 81__SCHAR_MAX 0x7f2__SCHAR_MIN (-0x7f - 1)4__UCHAR_MAX 0xff6__USHRT_MAX 0xffff7__SHRT_MAX 0x7fff8__SHRT_MIN (-0x7fff - 1):__UINT_MAX 0xffffffffU;__INT_MAX 0x7fffffff<__INT_MIN (-0x7fffffff - 1)D__ULONG_MAX 0xffffffffULE__LONG_MAX 0x7fffffffLF__LONG_MIN (-0x7fffffffL - 1)J__ULLONG_MAX 0xffffffffffffffffULLK__LLONG_MAX 0x7fffffffffffffffLLL__LLONG_MIN (-0x7fffffffffffffffLL - 1)N__SSIZE_MAX __INT_MAXP__SIZE_T_MAX __UINT_MAXR__OFF_MAX __LLONG_MAXS__OFF_MIN __LLONG_MINV__UQUAD_MAX __ULLONG_MAXW__QUAD_MAX __LLONG_MAXX__QUAD_MIN __LLONG_MIN]__LONG_BIT 32___WORD_BIT 32&CHAR_BIT __CHAR_BIT(SCHAR_MAX __SCHAR_MAX)SCHAR_MIN __SCHAR_MIN+UCHAR_MAX __UCHAR_MAX1CHAR_MAX SCHAR_MAX2CHAR_MIN SCHAR_MIN5USHRT_MAX __USHRT_MAX6SHRT_MAX __SHRT_MAX7SHRT_MIN __SHRT_MIN9UINT_MAX __UINT_MAX:INT_MAX __INT_MAX;INT_MIN __INT_MIN=ULONG_MAX __ULONG_MAX>LONG_MAX __LONG_MAX?LONG_MIN __LONG_MINHSSIZE_MAX __SSIZE_MAXLSIZE_T_MAX __SIZE_T_MAXNOFF_MAX __OFF_MAXOOFF_MIN __OFF_MINSGID_MAX UINT_MAXTUID_MAX UINT_MAXVUQUAD_MAX (__UQUAD_MAX)WQUAD_MAX (__QUAD_MAX)XQUAD_MIN (__QUAD_MIN)\LONG_BIT __LONG_BIT]WORD_BIT __WORD_BIT "_SYS_SYSLIMITS_H_ 4ARG_MAX 2621447CHILD_MAX 409LINK_MAX 32767:MAX_CANON 255;MAX_INPUT 255 (sac)->mps_middle) { _mps_i = 0; while (_mps_s > (sac)->mps_freelists[_mps_i].mps_size) _mps_i += 2; } else { _mps_i = 1; while (_mps_s <= (sac)->mps_freelists[_mps_i].mps_size) _mps_i += 2; } if ((sac)->mps_freelists[_mps_i].mps_count != 0) { (p_o) = (sac)->mps_freelists[_mps_i].mps_blocks; (sac)->mps_freelists[_mps_i].mps_blocks = *(mps_addr_t *)(p_o); --(sac)->mps_freelists[_mps_i].mps_count; (res_o) = MPS_RES_OK; } else (res_o) = mps_sac_fill(&(p_o), sac, _mps_s, has_reservoir_permit); MPS_ENDMPS_SAC_FREE_FAST(sac,p,size) MPS_BEGIN size_t _mps_i, _mps_s; _mps_s = (size); if (_mps_s > (sac)->mps_middle) { _mps_i = 0; while (_mps_s > (sac)->mps_freelists[_mps_i].mps_size) _mps_i += 2; } else { _mps_i = 1; while (_mps_s <= (sac)->mps_freelists[_mps_i].mps_size) _mps_i += 2; } if ((sac)->mps_freelists[_mps_i].mps_count < (sac)->mps_freelists[_mps_i].mps_count_max) { *(mps_addr_t *)(p) = (sac)->mps_freelists[_mps_i].mps_blocks; (sac)->mps_freelists[_mps_i].mps_blocks = (p); ++(sac)->mps_freelists[_mps_i].mps_count; } else mps_sac_empty(sac, p, _mps_s); MPS_ENDMPS_SAC_ALLOC(res_o,p_o,sac,size,has_reservoir_permit) MPS_SAC_ALLOC_FAST(res_o, p_o, sac, size, has_reservoir_permit)MPS_SAC_FREE(sac,p,size) MPS_SAC_FREE_FAST(sac, p, size)mps_reserve(_p_o,_mps_ap,_size) ((char *)(_mps_ap)->alloc + (_size) > (char *)(_mps_ap)->alloc && (char *)(_mps_ap)->alloc + (_size) <= (char *)(_mps_ap)->limit ? ((_mps_ap)->alloc = (mps_addr_t)((char *)(_mps_ap)->alloc + (_size)), *(_p_o) = (_mps_ap)->init, MPS_RES_OK) : mps_ap_fill(_p_o, _mps_ap, _size))MPS_RESERVE_BLOCK(_res_v,_p_v,_mps_ap,_size) MPS_BEGIN char *_alloc = (char *)(_mps_ap)->alloc; char *_next = _alloc + (_size); if(_next > _alloc && _next <= (char *)(_mps_ap)->limit) { (_mps_ap)->alloc = (mps_addr_t)_next; (_p_v) = (_mps_ap)->init; (_res_v) = MPS_RES_OK; } else (_res_v) = mps_ap_fill(&(_p_v), _mps_ap, _size); MPS_ENDMPS_RESERVE_WITH_RESERVOIR_PERMIT_BLOCK(_res_v,_p_v,_mps_ap,_size) MPS_BEGIN char *_alloc = (char *)(_mps_ap)->alloc; char *_next = _alloc + (_size); if(_next > _alloc && _next <= (char *)(_mps_ap)->limit) { (_mps_ap)->alloc = (mps_addr_t)_next; (_p_v) = (_mps_ap)->init; (_res_v) = MPS_RES_OK; } else (_res_v) = mps_ap_fill_with_reservoir_permit(&(_p_v), _mps_ap, _size); MPS_ENDmps_commit(_mps_ap,_p,_size) ((_mps_ap)->init = (_mps_ap)->alloc, (_mps_ap)->limit != 0 || mps_ap_trip(_mps_ap, _p, _size))MPS_SCAN_BEGIN(ss) MPS_BEGIN mps_ss_t _ss = (ss); mps_word_t _mps_w0 = (_ss)->w0; mps_word_t _mps_w1 = (_ss)->w1; mps_word_t _mps_w2 = (_ss)->w2; mps_word_t _mps_wt; {MPS_FIX1(ss,ref) (_mps_wt = 1uL << ((mps_word_t)(ref) >> _mps_w0 & (sizeof(mps_word_t) * CHAR_BIT - 1)), _mps_w2 |= _mps_wt, _mps_w1 & _mps_wt)MPS_FIX2(ss,ref_io) ((*(ss)->fix)(ss, ref_io))MPS_FIX12(ss,ref_io) (MPS_FIX1(ss, *(ref_io)) ? MPS_FIX2(ss, ref_io) : MPS_RES_OK)MPS_FIX(ss,ref_io) MPS_FIX12(ss, ref_io)MPS_FIX_CALL(ss,call) MPS_BEGIN (call); _mps_w2 |= (ss)->w2; MPS_ENDMPS_SCAN_END(ss) } (ss)->w2 = _mps_w2; MPS_END chain_h  mpmtypes_h config_h !CONFIG_DEBUG "CHECK_DEFAULT CheckNONE6CHECK_NONE 7MPS_ASSERT_STRING "nonasserted"?EVENT_NONE @MPS_LOG_STRING "nonlogging"EDIAGNOSTICS FMPS_DEBUG_STRING "debug"LMPS_VARIETY_STRING MPS_ASSERT_STRING "." MPS_LOG_STRING "." MPS_DEBUG_STRINGRmpstd_h MPS_PF_FRI4GC MPS_PF_STRING "fri4gc"MPS_OS_FR MPS_ARCH_I4 MPS_BUILD_GC MPS_T_WORD unsigned longMPS_WORD_WIDTH 32MPS_WORD_SHIFT 5MPS_PF_ALIGN 4EPVMDefaultSubsequentSegSIZE (64ul * 1024)ARENA_CONTROL_EXTENDBY ((Size)4096)ARENA_CONTROL_AVGSIZE ((Size)32)ARENA_CONTROL_MAXSIZE ((Size)65536)ArenaPollALLOCTIME (65536.0)ARENA_ZONESHIFT ((Shift)20)ARENA_CLIENT_PAGE_SIZE ((Size)8192)ArenaDefaultZONESET (ZoneSetUNIV << (MPS_WORD_WIDTH / 2))SegPrefDEFAULT { SegPrefSig, TRUE, ArenaDefaultZONESET, FALSE, FALSE, (Serial)0, }LDHistoryLENGTH ((Size)4)StackProbeDEPTH ((Size)0)ShieldCacheSIZE ((size_t)16)ShieldDepthWIDTH (4)VMANPageALIGNMENT ((Align)4096)VMJunkBYTE ((unsigned char)0xA9)TraceLIMIT ((size_t)1)TraceCopyScanRATIO (1.5)RememberedSummaryBLOCK 15EventBufferSIZE ((size_t)4096)EventStringLengthMAX ((size_t)255)ASSERT_BUFFER_SIZE ((Size)512)MPS_PROD_STRING "dylan"MPS_PROD_DYLAN ARENA_INIT_SPARE_COMMIT_LIMIT ((Size)10uL*1024uL*1024uL)THREAD_MULTI PROTECTION DONGLE_NONE PROD_CHECK_DEFAULT CheckSHALLOWARENA_SIZE ((Size)1<<30)misc_h *SRCID(id,scmid) static SrcIdStruct FileSrcIdStruct = {__FILE__, (scmid), __DATE__, __TIME__}; SrcId id ## SrcId = &FileSrcIdStruct;BEGIN do {> (i)) & 1)BS_UNION(s1,s2) ((s1) | (s2))BS_ADD(ty,s,i) BS_UNION((s), BS_SINGLE(ty, (i)))BS_INTER(s1,s2) ((s1) & (s2))BS_DIFF(s1,s2) BS_INTER((s1), BS_COMP(s2))BS_DEL(ty,s,i) BS_DIFF((s), BS_SINGLE(ty, (i)))BS_SUPER(s1,s2) (BS_INTER((s1), (s2)) == (s2))BS_SUB(s1,s2) BS_SUPER((s2), (s1))BS_IS_SINGLE(s) (((s) & ((s)-1)) == 0)BS_SYM_DIFF(s1,s2) ((s1) ^ (s2))mpslib_h mps_lib_EOF (mps_lib_get_EOF())mps_lib_stderr (mps_lib_get_stderr())mps_lib_stdout (mps_lib_get_stdout())SigInvalid ((Sig)0x51915BAD)SizeMAX ((Size)-1)AccessSetEMPTY ((AccessSet)0)AccessREAD ((AccessSet)(1<<0))AccessWRITE ((AccessSet)(1<<1))AccessSetWIDTH (2)RefSetEMPTY BS_EMPTY(RefSet)RefSetUNIV BS_UNIV(RefSet)ZoneSetEMPTY BS_EMPTY(ZoneSet)ZoneSetUNIV BS_UNIV(ZoneSet)TraceSetEMPTY BS_EMPTY(TraceSet)TraceSetUNIV ((TraceSet)((1u << TraceLIMIT) - 1))RankSetEMPTY BS_EMPTY(RankSet)RankSetUNIV ((RankSet)((1u << RankLIMIT) - 1))AttrFMT ((Attr)(1<<0))AttrSCAN ((Attr)(1<<1))AttrPM_NO_READ ((Attr)(1<<2))AttrPM_NO_WRITE ((Attr)(1<<3))AttrALLOC ((Attr)(1<<4))AttrFREE ((Attr)(1<<5))AttrBUF ((Attr)(1<<6))AttrBUF_RESERVE ((Attr)(1<<7))AttrBUF_ALLOC ((Attr)(1<<8))AttrGC ((Attr)(1<<9))AttrINCR_RB ((Attr)(1<<10))AttrINCR_WB ((Attr)(1<<11))AttrMOVINGGC ((Attr)(1<<12))AttrMASK (AttrFMT | AttrSCAN | AttrPM_NO_READ | AttrPM_NO_WRITE | AttrALLOC | AttrFREE | AttrBUF | AttrBUF_RESERVE | AttrBUF_ALLOC | AttrGC | AttrINCR_RB | AttrINCR_WB | AttrMOVINGGC)BufferModeATTACHED ((BufferMode)(1<<0))BufferModeFLIPPED ((BufferMode)(1<<1))BufferModeLOGGED ((BufferMode)(1<<2))BufferModeTRANSITION ((BufferMode)(1<<3))RootModeCONSTANT ((RootMode)1<<0)RootModePROTECTABLE ((RootMode)1<<1)RootModePROTECTABLE_INNER ((RootMode)1<<2)STATISTIC_DECL(field) field  ring_h  check_h 0AVER(cond) DISCARD(cond)1AVERT(type,val) DISCARD(type ## Check(val))2AVER_CRITICAL(cond) DISCARD(cond)3AVERT_CRITICAL(type,val) DISCARD(type ## Check(val))MASSERT(cond,condstring) BEGIN if (cond) NOOP; else mps_lib_assert_fail(condstring "\n" __FILE__ "\n" STR(__LINE__)); END_NOTREACHED NOOPjCHECKT(type,val) ((val) != NULL && (val)->sig == type ## Sig)pCHECKS(type,val) DISCARD(CHECKT(type, val))qCHECKL(cond) DISCARD(cond)rCHECKD(type,val) DISCARD(CHECKT(type, val))sCHECKD_NOSIG(type,val) DISCARD((val) != NULL)tCHECKU(type,val) DISCARD(CHECKT(type, val))uCHECKU_NOSIG(type,val) DISCARD((val) != NULL)CHECKLVALUE(lv1,lv2) ((void)sizeof((lv1) = (lv2)), (void)sizeof((lv2) = (lv1)), TRUE)CHECKTYPE(t1,t2) (sizeof(t1) == sizeof(t2) && CHECKLVALUE(*((t1 *)0), *((t2 *)0)))CHECKFIELDAPPROX(s1,f1,s2,f2) (sizeof(((s1 *)0)->f1) == sizeof(((s2 *)0)->f2) && offsetof(s1, f1) == offsetof(s2, f2))CHECKFIELD(s1,f1,s2,f2) (CHECKFIELDAPPROX(s1, f1, s2, f2) && CHECKLVALUE(((s1 *)0)->f1, ((s2 *)0)->f2))RingNONE ((Ring)0)$RingInit(ring) BEGIN Ring _ring = (ring); AVER(_ring != NULL); _ring->next = _ring; _ring->prev = _ring; AVER(RingCheck(_ring)); END/RingFinish(ring) BEGIN Ring _ring = (ring); AVER(RingCheckSingle(_ring)); _ring->next = RingNONE; _ring->prev = RingNONE; END9RingAppend(ring,new) BEGIN Ring _ring = (ring), _new = (new); AVER(RingCheck(_ring)); AVER(RingCheckSingle(_new)); _new->prev = _ring->prev; _new->next = _ring; _ring->prev->next = _new; _ring->prev = _new; ENDFRingInsert(ring,new) BEGIN Ring _ring = (ring), _new = (new); AVER(RingCheck(_ring)); AVER(RingCheckSingle(_new)); _new->prev = _ring; _new->next = _ring->next; _ring->next->prev = _new; _ring->next = _new; ENDSRingRemove(old) BEGIN Ring _old = (old); AVER(RingCheck(_old)); AVER(!RingIsSingle(_old)); _old->next->prev = _old->prev; _old->prev->next = _old->next; _old->next = _old; _old->prev = _old; END`RingNext(ring) ((ring)->next)dRingPrev(ring) ((ring)->prev)gRING_ELT(type,field,node) ((type)(void *)((char *)(node) - (size_t)(&((type)0)->field)))kRING_FOR(node,ring,next) for(node = RingNext(ring), next = RingNext(node); node != (ring); node = (next), next = RingNext(node))GenDescSig ((Sig)0x5199E4DE)+PoolGenSig ((Sig)0x519B009E);ChainSig ((Sig)0x519C8A14)XPoolGenNr(gen) ((gen)->nr)  bt_h BTSize(n) (((n) + MPS_WORD_WIDTH-1) / MPS_WORD_WIDTH * sizeof(Word))BTGet(a,i) ((Bool)(((a)[((i) >> MPS_WORD_SHIFT)] >> ((i) & ~((Word)-1 << MPS_WORD_SHIFT))) & (Word)1))BTSet(a,i) BEGIN (a)[((i)>>MPS_WORD_SHIFT)] |= (Word)1<<((i)&~((Word)-1<>MPS_WORD_SHIFT)] &= ~((Word)1 << ((i) & ~((Word)-1<EventPoolFree ((EventType)0xEFB07F6E)?EventArenaCreateVM ((EventType)0xEFA64CF3)@EventArenaCreateVMNZ ((EventType)0xEFA64CF2)AEventArenaCreateCL ((EventType)0xEFA64CC7)BEventArenaDestroy ((EventType)0xEFA64DE5)CEventArenaAlloc ((EventType)0xEFA64A77)DEventArenaFree ((EventType)0xEFA64F6E)EEventSegAlloc ((EventType)0xEF5E9A77)FEventSegFree ((EventType)0xEF5E9F6E)GEventSegMerge ((EventType)0xEF5E93E6)HEventSegSplit ((EventType)0xEF5E95B7)IEventAMCGenCreate ((EventType)0xEFA3C94C)JEventAMCGenDestroy ((EventType)0xEFA3C94D)KEventAMCInit ((EventType)0xEFA3C141)LEventAMCFinish ((EventType)0xEFA3CF14)MEventAMCTraceBegin ((EventType)0xEFA3C26B)NEventAMCScanBegin ((EventType)0xEFA3C5CB)OEventAMCScanEnd ((EventType)0xEFA3C5CE)PEventAMCFix ((EventType)0xEFA3CF18)QEventAMCFixInPlace ((EventType)0xEFA3CF8A)REventAMCFixForward ((EventType)0xEFA3CF8F)SEventAMCReclaim ((EventType)0xEFA3C6EC)TEventTraceStart ((EventType)0xEF26AC52)UEventTraceCreate ((EventType)0xEF26ACC6)VEventTraceDestroy ((EventType)0xEF26ACDE)WEventSegSetGrey ((EventType)0xEF59596A)XEventTraceFlipBegin ((EventType)0xEF26AF7B)YEventTraceFlipEnd ((EventType)0xEF26AF7E)ZEventTraceReclaim ((EventType)0xEF26A6EC)[EventTraceScanSeg ((EventType)0xEF26A559)\EventTraceScanSingleRef ((EventType)0xEF26A556)^EventTraceAccess ((EventType)0xEF26AACC)_EventTracePoll ((EventType)0xEF26AB01)`EventTraceStep ((EventType)0xEF26A52B)aEventTraceFix ((EventType)0xEF26AF18)bEventTraceFixSeg ((EventType)0xEF26AF85)cEventTraceFixWhite ((EventType)0xEF26AF83)dEventTraceScanArea ((EventType)0xEF26A5CA)eEventTraceScanAreaTagged ((EventType)0xEF26A5C2)fEventVMCreate ((EventType)0xEFF3C6EA)gEventVMDestroy ((EventType)0xEFF3DE52)hEventVMMap ((EventType)0xEFF33AB9)iEventVMUnmap ((EventType)0xEFF3043B)jEventIntern ((EventType)0xEF142E64)kEventArenaExtend ((EventType)0xEFA64E82)lEventArenaRetract ((EventType)0xEFA646E2)mEventRootScan ((EventType)0xEF625CA4)nEventLabel ((EventType)0xEF7ABE79)oEventTraceSegGreyen ((EventType)0xEF26A599)pEventBufferReserve ((EventType)0xEFB0FF6E)qEventBufferCommit ((EventType)0xEFB0FFC0)rEventBufferInit ((EventType)0xEFB0FF14)sEventBufferInitSeg ((EventType)0xEFB0F15E)tEventBufferInitRank ((EventType)0xEFB0F16A)uEventBufferInitEPVM ((EventType)0xEFB0F1EF)vEventBufferFinish ((EventType)0xEFB0FFF1)wEventBufferFill ((EventType)0xEFB0FFF7)xEventBufferEmpty ((EventType)0xEFB0FFE3)yEventArenaAllocFail ((EventType)0xEFA64A7F)zEventSegAllocFail ((EventType)0xEF5E9A7F){EventMeterInit ((EventType)0xEF3E2141)|EventMeterValues ((EventType)0xEF3E2FA7)}EventCBSInit ((EventType)0xEFCB5141)~EventTraceStatCondemn ((EventType)0xEF26A5C0)EventTraceStatScan ((EventType)0xEF26A55C)EventTraceStatFix ((EventType)0xEF26A5F8)EventTraceStatReclaim ((EventType)0xEF26A56E)EventArenaWriteFaults ((EventType)0xEFA6436F)EventPoolInitMV ((EventType)0xEFB0713F)EventPoolInitMVFF ((EventType)0xEFB071FF)EventPoolInitMFS ((EventType)0xEFB07135)EventPoolInitEPVM ((EventType)0xEFB071EF)EventPoolInitEPDL ((EventType)0xEFB071E7)EventPoolInitAMS ((EventType)0xEFB071A5)EventPoolInitAMC ((EventType)0xEFB071AC)EventPoolInitAMCZ ((EventType)0xEFB071A2)EventPoolInitAWL ((EventType)0xEFB071A3)EventPoolInitLO ((EventType)0xEFB07170)EventPoolInitSNC ((EventType)0xEFB07154)EventPoolInitMVT ((EventType)0xEFB07132)EventPoolPush ((EventType)0xEFB07B58)EventPoolPop ((EventType)0xEFB07B0B)EventReservoirLimitSet ((EventType)0xEF6E5713)EventCommitLimitSet ((EventType)0xEFC03713)EventSpareCommitLimitSet ((EventType)0xEF5BC713)hEventInit() NOOPiEventFinish() NOOPjEventControl(r,f) (UNUSED(r), UNUSED(f), (Word)0)kEventInternString(s) (UNUSED(s), (Word)0)lEventInternGenString(l,s) (UNUSED(l), UNUSED(s), (Word)0)mEventLabelAddr(a,i) BEGIN UNUSED(a); UNUSED(i); ENDPlock_h ULockSig ((Sig)0x51970CC9) th_h ThreadSig ((Sig)0x519286ED) ss_h  tract_h #TractBase(tract) ((tract)->base)&TractPool(tract) ((tract)->pool)'TractP(tract) ((tract)->p)(TractSetP(tract,pp) ((void)((tract)->p = (pp))))TractHasSeg(tract) ((Bool)(tract)->hasSeg)*TractSetHasSeg(tract,b) ((void)((tract)->hasSeg = (b)))+TractWhite(tract) ((tract)->white),TractSetWhite(tract,w) ((void)((tract)->white = (w)))8TRACT_SEG(segReturn,tract) (TractHasSeg(tract) && ((*(segReturn) = (Seg)TractP(tract)), TRUE));TRACT_SET_SEG(tract,seg) (TractSetHasSeg(tract, TRUE), TractSetP(tract, seg))>TRACT_UNSET_SEG(tract) (TractSetHasSeg(tract, FALSE), TractSetP(tract, NULL))nPageTract(page) (&(page)->the.tractStruct)rPageOfTract(tract) PARENT(PageStruct, the.tractStruct, (tract))vPagePool(page) ((page)->the.rest.pool)}PageIsAllocated(page) ((page)->the.rest.pool != NULL)PageType(page) ((page)->the.rest.type)ChunkSig ((Sig)0x519C804C)ChunkArena(chunk) ((chunk)->arena)ChunkPageSize(chunk) ((chunk)->pageSize)ChunkPageShift(chunk) ((chunk)->pageShift)ChunkPagesToSize(chunk,pages) ((Size)(pages) << (chunk)->pageShift)ChunkSizeToPages(chunk,size) ((Count)((size) >> (chunk)->pageShift))CHUNK_OF_ADDR(chunkReturn,arena,addr) (((arena)->chunkCache.base <= (addr) && (addr) < (arena)->chunkCache.limit) ? (*(chunkReturn) = (arena)->chunkCache.chunk, TRUE) : ChunkOfAddr(chunkReturn, arena, addr))AddrPageBase(chunk,addr) AddrAlignDown((addr), ChunkPageSize(chunk))TRACT_OF_ADDR(tractReturn,arena,addr) BEGIN Arena _arena = (arena); Addr _addr = (addr); Chunk _chunk; Index _i; if (CHUNK_OF_ADDR(&_chunk, _arena, _addr)) { _i = INDEX_OF_ADDR(_chunk, _addr); if (BTGet(_chunk->allocTable, _i)) *(tractReturn) = PageTract(&_chunk->pageTable[_i]); else *(tractReturn) = NULL; } else *(tractReturn) = NULL; ENDINDEX_OF_ADDR(chunk,addr) ((Index)ChunkSizeToPages(chunk, AddrOffset((chunk)->base, addr)))PageIndexBase(chunk,i) AddrAdd((chunk)->base, ChunkPagesToSize(chunk, i))TractAverContiguousRange(arena,rangeBase,rangeLimit) BEGIN Chunk _ch = NULL; UNUSED(_ch); AVER(ChunkOfAddr(&_ch, arena, rangeBase) && (rangeLimit) <= _ch->limit); ENDTRACT_TRACT_FOR(tract,addr,arena,firstTract,limit) tract = (firstTract); addr = TractBase(tract); TractAverContiguousRange(arena, addr, limit); for(; tract != NULL; (addr = AddrAdd(addr, (arena)->alignment)), (addr < (limit) ? (tract = PageTract(PageOfTract(tract) + 1)) : (tract = NULL) ))TRACT_FOR(tract,addr,arena,base,limit) TRACT_TRACT_FOR(tract, addr, arena, TractOfBaseAddr(arena, base), limit)mpmst_h protocol_h DERIVE_LOCAL(name) protocol ## nameDERIVE_STRUCT(name) name ## StructDERIVE_ENSURE(name) name ## GetDERIVE_ENSURE_OLD(name) Ensure ## nameDERIVE_ENSURE_INTERNAL(name) protocolGet ## nameDERIVE_GUARDIAN(name) protocol ## name ## GuardianDERIVE_STATIC_STORAGE(name) protocol ## name ## StructProtocolClassSetSuperclassPoly(class,super) (((ProtocolClass)(class))->superclass) = (ProtocolClass)(super)$DEFINE_CLASS(className,var) static Bool DERIVE_GUARDIAN(className) = FALSE; static DERIVE_STRUCT(className) DERIVE_STATIC_STORAGE(className); static void DERIVE_ENSURE_INTERNAL(className)(className); extern className DERIVE_ENSURE(className)(void); className DERIVE_ENSURE(className)(void) { if (DERIVE_GUARDIAN(className) == FALSE) { LockClaimGlobalRecursive(); if (DERIVE_GUARDIAN(className) == FALSE) { DERIVE_ENSURE_INTERNAL(className) (&DERIVE_STATIC_STORAGE(className)); DERIVE_GUARDIAN(className) = TRUE; } LockReleaseGlobalRecursive(); } return &DERIVE_STATIC_STORAGE(className); } extern className DERIVE_ENSURE_OLD(className)(void); className DERIVE_ENSURE_OLD(className)(void) { return DERIVE_ENSURE(className)(); } static void DERIVE_ENSURE_INTERNAL(className) (className var)AINHERIT_CLASS(this,parentName) BEGIN parentName DERIVE_LOCAL(parentName) = DERIVE_ENSURE(parentName)(); *this = *(DERIVE_LOCAL(parentName)); ProtocolClassSetSuperclassPoly(this, DERIVE_LOCAL(parentName)); ENDODEFINE_ALIAS_CLASS(className,typeName,var) typedef typeName className; typedef DERIVE_STRUCT(typeName) DERIVE_STRUCT(className); DEFINE_CLASS(className, var)VProtocolClassSig ((Sig)0x519B60C7)WProtocolInstSig ((Sig)0x519B6014)ProtocolClassSuperclassPoly(class) (((ProtocolClass)(class))->superclass)ClassOfPoly(inst) ((ProtocolInst)(inst)->class)IsSubclassPoly(sub,super) ProtocolIsSubclass((ProtocolClass)(sub), (ProtocolClass)(super))SUPERCLASS(className) ProtocolClassSuperclassPoly(DERIVE_ENSURE(className)())/PoolClassSig ((Sig)0x519C7A55)]PoolSig ((Sig)0x519B0019)}MFSSig ((Sig)0x5193F599)MVSig ((Sig)0x5193B999)ReservoirSig ((Sig)0x5196e599)MessageClassSig ((Sig)0x519359c1)MessageSig ((Sig)0x5193e559)SegClassSig ((Sig)0x5195E9C7)SegSig ((Sig)0x5195E999)GCSegSig ((Sig)0x5199C5E9)SegPrefSig ((Sig)0x5195E9B6)BufferClassSig ((Sig)0x519B0FC7)BufferSig ((Sig)0x519B0FFE)SegBufSig ((Sig)0x51959B0F)FormatSig ((Sig)0x519F63A2)ScanStateSig ((Sig)0x5195CA45)TraceSig ((Sig)0x51924ACE)ChunkCacheEntrySig ((Sig)0x519C80CE)ArenaClassSig ((Sig)0x519A6C1A)GlobalsSig ((Sig)0x519970BA)ArenaSig ((Sig)0x519A6E4A)%BoolCheck(b) ((unsigned)(b) <= 1)(FUNCHECK(f) (FunCheck((Fun)f))4WordIsAligned(w,a) (((w) & ((a) - 1)) == 0)7WordAlignUp(w,a) (((w) + (a) - 1) & ~((Word)(a) - 1));WordRoundUp(w,r) (((w)+(r)-1) - ((w)+(r)-1)%(r))>WordAlignDown(w,a) ((w) & ~((Word)(a) - 1))@size_tAlignUp(s,a) ((size_t)WordAlignUp((Word)(s), a))BPointerAdd(p,s) ((void *)((char *)(p) + (s)))CPointerSub(p,s) ((void *)((char *)(p) - (s)))EPointerOffset(base,limit) ((size_t)((char *)(limit) - (char *)(base)))HPointerAlignUp(p,s) ((void *)WordAlignUp((Word)(p), (Align)(s)))KAddrAdd(p,s) ((Addr)PointerAdd((void *)(p), s))LAddrSub(p,s) ((Addr)PointerSub((void *)(p), s))NAddrOffset(b,l) ((Size)(PointerOffset((void *)(b), (void *)(l))))RAddrAlignDown(p,a) ((Addr)WordAlignDown((Word)(p), a))TAlignWord(s) ((Word)(s))VAddrIsAligned(p,a) WordIsAligned((Word)(p), a)WAddrAlignUp(p,a) ((Addr)WordAlignUp((Word)(p), a))YSizeIsAligned(s,a) WordIsAligned((Word)(s), a)ZSizeAlignUp(s,a) ((Size)WordAlignUp((Word)(s), a))[SizeAlignDown(s,a) ((Size)WordAlignDown((Word)(s), a))]SizeRoundUp(s,r) ((Size)WordRoundUp((Word)(s), (Size)(r)))_IndexIsAligned(s,a) WordIsAligned((Word)(s), a)`IndexAlignUp(s,a) ((Index)WordAlignUp((Word)(s), a))aIndexAlignDown(s,a) ((Index)WordAlignDown((Word)(s), a))cAlignIsAligned(a1,a2) WordIsAligned((Word)(a1), a2)iAddrSet(target,value,size) mps_lib_memset(target, (int)(value), size)mAddrCopy(target,source,size) mps_lib_memcpy(target, source, size)qAddrComp(a,b,size) mps_lib_memcmp(a, b, size)wADDR_PTR(type,addr) ((type *)(addr))PoolArena(pool) ((pool)->arena)PoolAlignment(pool) ((pool)->alignment)PoolSegRing(pool) (&(pool)->segRing)PoolFix(pool,ss,seg,refIO) ((*(pool)->fix)(pool, ss, seg, refIO))ClassOfPool(pool) ((pool)->class)SuperclassOfPool(pool) ((PoolClass)ProtocolClassSuperclassPoly((pool)->class))DEFINE_POOL_CLASS(className,var) DEFINE_ALIAS_CLASS(className, PoolClass, var)POOL_SUPERCLASS(className) ((PoolClass)SUPERCLASS(className))TraceSetSingle(trace) BS_SINGLE(TraceSet, (trace)->ti)TraceSetIsSingle(ts) BS_IS_SINGLE(ts)TraceSetIsMember(ts,trace) BS_IS_MEMBER(ts, (trace)->ti)TraceSetAdd(ts,trace) BS_ADD(TraceSet, ts, (trace)->ti)TraceSetDel(ts,trace) BS_DEL(TraceSet, ts, (trace)->ti)TraceSetUnion(ts1,ts2) BS_UNION(ts1, ts2)TraceSetInter(ts1,ts2) BS_INTER(ts1, ts2)TraceSetDiff(ts1,ts2) BS_DIFF(ts1, ts2)TraceSetSuper(ts1,ts2) BS_SUPER(ts1, ts2)TraceSetSub(ts1,ts2) BS_SUB(ts1, ts2)TraceSetComp(ts) BS_COMP(ts)TRACE_SET_ITER(ti,trace,ts,arena) for(ti = 0, trace = ArenaTrace(arena, ti); ti < TraceLIMIT; ++ti, trace = ArenaTrace(arena, ti)) BEGIN if (TraceSetIsMember(ts, trace)) {TRACE_SET_ITER_END(ti,trace,ts,arena) } ENDTRACE_SCAN_BEGIN(ss) BEGIN Shift SCANzoneShift = (ss)->zoneShift; ZoneSet SCANwhite = (ss)->white; RefSet SCANsummary = (ss)->unfixedSummary; Word SCANt; {TRACE_FIX1(ss,ref) (SCANt = (Word)1 << ((Word)(ref) >> SCANzoneShift & (MPS_WORD_WIDTH-1)), SCANsummary |= SCANt, SCANwhite & SCANt)TRACE_FIX2(ss,refIO) ((*(ss)->fix)(ss, refIO))TRACE_FIX(ss,refIO) (TRACE_FIX1(ss, *(refIO)) ? TRACE_FIX2(ss, refIO) : ResOK)TRACE_SCAN_END(ss) } (ss)->unfixedSummary = SCANsummary; ENDDEFINE_ARENA_CLASS(className,var) DEFINE_ALIAS_CLASS(className, ArenaClass, var)ARENA_SUPERCLASS(className) ((ArenaClass)SUPERCLASS(className))ArenaGlobals(arena) (&(arena)->globals)GlobalsArena(glob) PARENT(ArenaStruct, globals, glob)ArenaRootRing(arena) (&(arena)->rootRing)ArenaTraceRing(arena) (&(arena)->traceRing)ArenaThreadRing(arena) (&(arena)->threadRing)ArenaEpoch(arena) ((arena)->epoch)ArenaTrace(arena,ti) (&(arena)->trace[ti])ArenaZoneShift(arena) ((arena)->zoneShift)ArenaAlign(arena) ((arena)->alignment)ArenaGreyRing(arena,rank) (&(arena)->greyRing[rank])ArenaReservoir(arena) (&(arena)->reservoirStruct)DEFINE_SEG_CLASS(className,var) DEFINE_ALIAS_CLASS(className, SegClass, var)SEG_SUPERCLASS(className) ((SegClass)SUPERCLASS(className))ClassOfSeg(seg) ((seg)->class)SegBase(seg) (TractBase((seg)->firstTract))SegLimit(seg) ((seg)->limit)SegPool(seg) (TractPool((seg)->firstTract))SegRankSet(seg) ((RankSet)(seg)->rankSet)SegPM(seg) ((AccessSet)(seg)->pm)SegSM(seg) ((AccessSet)(seg)->sm)SegDepth(seg) ((unsigned)(seg)->depth)SegGrey(seg) ((TraceSet)(seg)->grey)SegWhite(seg) ((TraceSet)(seg)->white)SegNailed(seg) ((TraceSet)(seg)->nailed)SegOfPoolRing(node) (RING_ELT(Seg, poolRing, (node)))SegOfGreyRing(node) (&(RING_ELT(GCSeg, greyRing, (node)) ->segStruct))SegSummary(seg) (((GCSeg)(seg))->summary)SegSetPM(seg,mode) ((void)((seg)->pm = (mode)))SegSetSM(seg,mode) ((void)((seg)->sm = (mode)))SegSetDepth(seg,d) ((void)((seg)->depth = (d)))SegSetNailed(seg,ts) ((void)((seg)->nailed = (ts)))BUFFER_RESERVE(pReturn,buffer,size,withReservoirPermit) (AddrAdd(BufferAlloc(buffer), size) > BufferAlloc(buffer) && AddrAdd(BufferAlloc(buffer), size) <= BufferAP(buffer)->limit ? (*(pReturn) = BufferAlloc(buffer), BufferAP(buffer)->alloc = AddrAdd(BufferAlloc(buffer), size), ResOK) : BufferFill(pReturn, buffer, size, withReservoirPermit))BUFFER_COMMIT(buffer,p,size) (BufferAP(buffer)->init = BufferAlloc(buffer), BufferAP(buffer)->limit != 0 || BufferTrip(buffer, p, size))BufferAP(buffer) (&(buffer)->apStruct)BufferOfAP(ap) PARENT(BufferStruct, apStruct, ap)BufferArena(buffer) ((buffer)->arena)BufferPool(buffer) ((buffer)->pool)BufferBase(buffer) ((buffer)->base)BufferGetInit(buffer) (BufferAP(buffer)->init)BufferAlloc(buffer) (BufferAP(buffer)->alloc)BufferLimit(buffer) ((buffer)->poolLimit)DEFINE_BUFFER_CLASS(className,var) DEFINE_ALIAS_CLASS(className, BufferClass, var)BUFFER_SUPERCLASS(className) ((BufferClass)SUPERCLASS(className))RankSetIsMember(rs,r) BS_IS_MEMBER((rs), (r))RankSetSingle(r) BS_SINGLE(RankSet, (r))RankSetIsSingle(r) BS_IS_SINGLE(r)RankSetUnion(rs1,rs2) BS_UNION((rs1), (rs2))RankSetDel(rs,r) BS_DEL(RankSet, (rs), (r))AddrZone(arena,addr) (((Word)(addr) >> (arena)->zoneShift) & (MPS_WORD_WIDTH - 1))RefSetUnion(rs1,rs2) BS_UNION((rs1), (rs2))RefSetInter(rs1,rs2) BS_INTER((rs1), (rs2))RefSetDiff(rs1,rs2) BS_DIFF((rs1), (rs2))RefSetAdd(arena,rs,addr) BS_ADD(RefSet, rs, AddrZone(arena, addr))RefSetIsMember(arena,rs,addr) BS_IS_MEMBER(rs, AddrZone(arena, addr))RefSetSuper(rs1,rs2) BS_SUPER((rs1), (rs2))RefSetSub(rs1,rs2) BS_SUB((rs1), (rs2))ZoneSetUnion(zs1,zs2) BS_UNION(zs1, zs2)ZoneSetInter(zs1,zs2) BS_INTER(zs1, zs2)ZoneSetDiff(zs1,zs2) BS_DIFF(zs1, zs2)ZoneSetAdd(arena,zs,addr) BS_ADD(ZoneSet, zs, AddrZone(arena, addr))ZoneSetIsMember(arena,zs,addr) BS_IS_MEMBER(zs, AddrZone(arena, addr))ZoneSetSub(zs1,zs2) BS_SUB(zs1, zs2)ZoneSetSuper(zs1,zs2) BS_SUPER(zs1, zs2)ZoneSetComp(zs) BS_COMP(zs)STATISTIC(gather) BEGIN (gather); ENDSTATISTIC_STAT(gather) BEGIN gather; ENDSTATISTIC_WRITE(format,arg) (format), (arg),'amcGenSig ((Sig)0x519A3C9E)2amcGenAMC(amcgen) Pool2AMC((amcgen)->pgen.pool)3amcGenPool(amcgen) ((amcgen)->pgen.pool)5amcGenNr(amcgen) ((amcgen)->pgen.nr)IamcNailboardSig ((Sig)0x519A3C4B)VamcSegSig ((Sig)0x519A3C59)_Seg2amcSeg(seg) ((amcSeg)(seg))`amcSeg2Seg(amcseg) ((Seg)(amcseg))bamcSegTypeP(seg) (Seg2amcSeg(seg)->segTypeP)camcSegSetTypeP(seg,type) (Seg2amcSeg(seg)->segTypeP = (type))AMCSig ((Sig)0x519A3C99)Pool2AMC(pool) PARENT(AMCStruct, poolStruct, (pool))AMC2Pool(amc) (&(amc)->poolStruct)amcBufSig ((Sig)0x519A3CBF)Buffer2amcBuf(buffer) ((amcBuf)(buffer))poolamc.cJan 17 200703:43:49 Map AMC seg $P [$A,$A){ $A $C } AMC Seg $P AMCSEGAMCBUF } amcGen buffer $P amcGen $P ($U) { pool $P ($U) $P { AMCZAMCoutside rampbegin ramprampingfinish rampcollecting rampunknown ramp mode ($U) } AMC $P $Id: //info.ravenbrook.com/project/mps/master/code/poolamc.c#13 $ segs $U, totalSize $U, newSize $U |  AB  [AB Ff. (hAB FP.x. k.(GAB b.S.p AB IAB BQ.AB AB /AB AD.  AB , AB 8 AB D AB PAB  `rAB FV.%AB DV.GAB b.S.D AB TFAB E$AB FR.[.M.x[AB Bs.RAB F.0$(AB FR._.f.$lAB FD.\.<AB AD. oAB FD.$0XAB FD.s.$OAB FD.u.(AB F..Y.x AB K. AB K., AB Fc.t.N.w.f.< zAB FI.e.].t.M. X.W.L.W.L.  TAB FJ.l *AB $ AB FO.`.<<AB FD.U.b.p.J..T.u.n.K.4@tAB FW.r.c.T.p.T.J. WAB F\. ( AB FI.Z. b.H.( AB FL.N.a. |AB F].0AB Fa..P.|.M.Q.0AB Fa..P.r.@.Q.4AB Fq.d.H.u.P.X..U.$lAB FJ.G.,AB FV.P.H.s. J.$dAB Fc.U. J.$BAB Fk. .(GAB b.S.p AB AB BT.0GAB b.S.x AB NAB BT. AB  AB AB O. IAB EG.\ AB C)EnsureamcSegClass-EnsureamcBufClass?EnsureAMCPoolClassb@AMCZPoolClassGetz@EnsureAMCZPoolClass@mps_class_amc@mps_class_amczAmps_amc_apply}BpoolamcSrcIdf ProtocolCoerceClassMethodMutatorFaultContextmpsVersionStringchunkPoolBlackenMethodsize_tSegClassclampedafterRampGenArenaSpareCommitExceededMethodchunkSerialobjectLockStructalignmentframePushAMCDescribepageTablePagespageTableLimitpoolamc.cEnsureAMCPoolClassunitsPerExtentprotocolGetAMCPoolClassamcSegHasNailboardtotalSizePoolFreeMethodglobalRingChunkCacheEntryStructAMCReclaimAMCRampBeginsegtypeSrcIdStructMFSHeaderStructAMCChecknurseryAMCZPoolClassGetPoolAccessMethodgreyRingdetachisGensuperclassnewRefstatePoolGenamcScanNailedOnceblockPoolStructAMCZPoolClassStructrampCountamcBufClassGettypeshort intprotocolAMCZPoolClassGuardianArenaMutatorFaultContextStructdoubleprotocolamcSegClassStructmergepoolLimitfinishamcSegClassGetpoolRingBufferStructarenaRinggreySegMaxgenspoolStructArenaDescribeMethodEnsureamcSegClasssuperemptyInternalSizeLockforwardedSizereservoirLimitmarkShiftstreamPoolFinishMethodamcSegGenarenaArenaFreeMethodmps_addr_tsegbufnextNodesegTypePlong intPoolClassStructfailBufferCreaterestcoerceClassArenaClassStructclassskipWordSegSetWhiteMethodhistorywriteBarrierHitCountpageSizeibaseheaderSizerankreturnGoodAMCWhitenbuild_timeamcNailGetAndSetMarkmortalityhighAMCWalkTraceIdProtocolInstblackenAbstractCollectPoolClassrampBeginPoolRampBeginMethodSizesigned charReservoirStructAddrStruct/home/hannes/dylan/mps/codesingleScanCountreservoirPermitAMCScanspaceamcSegNailboardstepfreewalkextendsetRankSetProtocolInstStructSegFinishMethodnextObjectrememberedSummaryRingspanPoolStructrefIOAMCZPoolClassPoolBufferClassMethodpointlessScanCounttractListRingfailGensAllocGCSegStructforwardAMCRampEndPoolDescribeMethodFormatSkipMethod_ringcopiedSizeFormatScanMethodSegStructvarietyprotocolGCSegClassflippedTracesBufferFinishMethodfoundationdescribecommittedcapacityScanStateStructwhiteSegRefCountnailsrootScanSizethisprotocolGetamcSegClasssummarysegbufStructattrsnapCountEpochrememberedSummaryIndexEnsureAMCZPoolClassamcSegreclaimSizePoolStructSegSetRankSummaryMethodpreservedInPlaceSizenodenewBaseArenaInitMethodprotocolamcBufClassGuardianFormatPadMethodfirstTractSegBufStructmayMovefilesegStructpagesgcSegStructlimitamcSegClassAMCStructtraceIndexamcReclaimNailedthreadRingPoolFramePushMethodArenaChunkFinishMethodreserveshCacheLimitbufferamcNailGetMarkbusyTracesPoolAllocMethodmoveArenaExtendMethodmps_amc_apply_closure_sratecoerceInstunroundedUnitSizemps_lib_stream_sbufferStructsegRefCountrootRingbufferFillGCSegClasssetRankSummaryprotocolAMCPoolClassGuardianamcGenDestroyAddrChunkStructamcBufClassfixRefCountAMCZInitframeptrshDepthAMCInittracesrootScanCountisCollectedenabledAMCPoolClassGetArenaAllocMethodclosureclosure_samcBufprotocolAbstractCollectPoolClassgenNrlwPopPendinglong unsigned intallocBase__va_listformatextendByAMCSegDescribeavgSizeAMCSegInitAllocFrameStructchunkRinggreyPoolfailAllocNailboardlabelledfillMutatorSizePagemps_poolamcFixInPlacePageStructpoolReadyproflowchunkFinishtotalserialBuffergensBootedamcBufGenFormatCopyMethodBootBlockStructmarkamcBufClassStructBoolamcSegCreateNailboardamcBufSetGenprotocolamcBufClassStructargsbufferLoggingreservoirStructPoolDebugMixinMethodFormatTraceStructProtocolClassMVStructprotocolSegBufClassmps_class_amc__uint32_tProtocolCoerceInstMethodSegSetSummaryMethodprotocollong long intsegCopiedSizeva_listTraceSetBufferAttachMethodrampModeCountshCachePoolGreyMethodPoolBufferFillMethodmoreScanningAMCHeaderFixSerialthreadSerialreclaimNailboarddepthinitfillSizeTracehasSegspareCommitExceededBufferClassStructnailedgenReturnRefSetamcNailboardStructPoolDebugMixinscmidprotocolGetamcBufClassamcNailMarkRangecontrolPoolStructsetGreyallocMutatorSizePoolFramePopPendingMethodScanStateallocTractStructSegSplitMethodunitSizeunsigned intBufferReassignSegMethod_oldGlobalsStructPoolInitMethodamcRingAMCPoolClassattachrankSetamcBufStructpageShiftamcWalkAllwhitengenRingfinalPoolBufferRankSetMethodSegPrefStructbitsPoolFixMethodsegRingPoolBufferEmptyMethodMFSStructzonesprimaryBufferModeamcGenCheckamcSegCheckbufferEmptyoffsetPoolWhitenMethodChainStructprehistoryFileSrcIdStructSegInitMethodreclaimCountZoneSetunsigned charSegSetGreyMethodAMCFixEmergencyGNU C 3.4.6 [FreeBSD] 20060305FormattedObjectsStepMethodSegClassStructmps_class_amcz__size_tfixedSummaryamcBufCheckcharTraceStatereadBarrierHitCountmps_pool_smps_pool_twalkamcGenDescribeArenaChunkInitMethodsizepoolamcSrcIdAlignfreeListwithReservoirPermitpreservedInPlaceCountlastTractrootCopiedSizeprotocolAMCPoolClassStructfailGenAllocscansetWhitefixEmergencyformatRingsegScanSizeRingStructcommitLimitPoolGenStructAMCFixtracedSizeisMovedlong long unsigned intSrcIdnewMarksinsideShieldSegSetBufferMethodRankzoneShiftTraceFixMethodlengthlocusRinggenArraySizepoolSegBufClassrampmodebufferRingformatSerialPoolDebugMixinStructdebugMixin_newbuild_datefailMarkTablerampEndPoolClassgenCountinitAtFlipbaseReturndistinctNailspageTablepoolSerialprotocolGetAMCZPoolClasstoSummaryFormatIsMovedMethodamcGenCreatePoolRampEndMethodPoolFramePopMethodchunkInitBufferSegMethodmps_amc_apply_itermaxSizeAMCPoolClassStructreservoirSizeSegMergeMethodPoolReclaimMethodSegBuftoGreysetBuffercopynewSizeamcsegAMCBufferFillpgentracedTimeBufferClassilimitrootSerialChainreassignSegframePopprotocolAMCPoolClassactiveTracesmps_amc_applyamcNailRangeIsMarkedemptyMutatorSizeAMCBufInitPoolFreeWalkMethodringBufferInitMethodsegstopGenboardfailGenInitsuspendedreturnResglobalsFormatClassMethodnameallocTableBufferDetachMethodlastTractBaseapStructSegSetRankSetMethodFreeBlockStepMethodAllocFrameShiftEnsureamcBufClasscollectAllAttrchainupdateReferenceunfixedSummarylostnotCondemnedtractStructmodeRankSetshCacheIfillInternalSizetotalReturnFormatMoveMethodBufferDescribeMethodmps_class_smps_class_tisMutatorAMCBufFinishlastWorldCollectsegPrefStructAMCFinishsingleScanSizeamcNailboardspareCommittedSegPrefalignedSizeamcbufspansfailControlAllocpollThresholdmessageRingframePopPendingchunkCacheemptySizefixInPlacemoreReturnbufferSerialPoolFixEmergencyMethodepochnailCountamcGenArenaClassAPStructwhiteprotocolamcSegClassGuardiantoSegamcNailboardChecksplitcondemnedisFinalPoolemergencySegBufferMethodfreechainRingwasMarkedFormatVarietyamcSegStructamcSegClassStructAccessSetenabledMessageTypesshort unsigned intGenDescStructforwardedCountbasebytesReclaimedArenaStructprotocolAMCZPoolClassStructspareCommitLimitamcGenStructsetSummarymps_lib_FILEBufferSetRankSetMethodSegDescribeMethodbytesScannedrampGenaccessaddrgreySegCountlimitReturnsegScanCountChunkArenaReservedMethodPoolScanMethodsingleCopiedSizeBootBlockinsidePollreservednextPoolWalkMethodamcInitCommbufferClassamcSegDestroyNailboardProtocolClassStructprevpageTableBaseAMCBufferEmptyFormatStructscannedSizelockArenaFinishMethodTractamcScanNailedGCC: (GNU) 3.4.6 [FreeBSD] 20060305.symtab.strtab.shstrtab.rel.text.rel.data.bss.debug_abbrev.rel.debug_info.rel.debug_line.debug_macinfo.rodata.str1.1.rodata.str1.4.rel.rodata.rel.debug_frame.rel.debug_pubnames.rel.debug_aranges.debug_ranges.debug_str.comment4f  :p) % A/  4 $F#CB A VfR b blq22j( bP0L \b| fF   $ff 0~ M%%%H+`O 3      ' [2(GAhPl LI/  , 8 D P `rG%%2N@hTFx[R(l<o0X O ,3@x H Q [ zi Txl * <@tW  |ldB8(GHc{ `N\ /Jp \c}D  )4AKX`o~ /:p Mi~0Gx    Ipoolamc.cFileSrcIdStructamcSegCheckAMCSegInitamcSegClassGetAMCSegDescribeprotocolamcSegClassGuardianprotocolamcSegClassStructprotocolGetamcSegClassamcSegHasNailboardamcSegNailboardamcSegGenamcGenCheckamcNailboardCheckamcBufCheckamcBufGenamcBufSetGenAMCBufInitamcBufClassGetAMCBufFinishprotocolamcBufClassGuardianprotocolamcBufClassStructprotocolGetamcBufClassamcGenCreateamcGenDestroyamcGenDescribeamcSegCreateNailboardamcSegDestroyNailboardamcNailGetMarkamcNailGetAndSetMarkamcNailMarkRangeamcNailRangeIsMarkedamcInitCommAMCFixAMCHeaderFixAMCInitAMCZInitAMCFinishAMCBufferFillAMCBufferEmptyAMCRampBeginAMCRampEndAMCWhitenamcScanNailedOnceamcScanNailedAMCScanamcFixInPlaceAMCFixEmergencyamcReclaimNailedAMCReclaimAMCWalkamcWalkAllAMCDescribeprotocolAMCPoolClassGuardianAMCPoolClassGetprotocolAMCPoolClassStructprotocolGetAMCPoolClassprotocolAMCZPoolClassGuardianprotocolAMCZPoolClassStructprotocolGetAMCZPoolClassmps_amc_apply_iterAMCCheckpoolamcSrcIdGCSegClassGetSegBufferWriteFLockClaimGlobalRecursiveLockReleaseGlobalRecursiveEnsureamcSegClassmemcpySegClassMixInNoSplitMergeBufferIsMutatorBufferSetRankSetEnsureamcBufClassSegBufClassGetControlAllocBufferCreatePoolGenInitBufferDestroyControlFreePoolGenFinishSizeLog2SegSizeBTResRangeBTSetRangeBTIsSetRangeChainGensBufferDetachSegFreeSegPrefDefaultSegPrefExpressSegAllocBufferRankSetSegSetRankAndSummaryPoolGenUpdateZonesBufferSegShieldExposeShieldCoverBufferScanLimitSegSetWhiteSegSetGreyBufferFillSegSetSummarymps_lib_memcpyBufferTripEnsureAMCPoolClassAbstractCollectPoolClassGetPoolClassMixInFormatAMCZPoolClassGetEnsureAMCZPoolClassPoolNoGreyPoolNoScanmps_class_amcmps_class_amczmps_amc_applyArenaEnterArenaLeavePQQ* 4 :R_ eR R R R08S>ITaTiPVW XY S(5T=][z \Z]^N_d`a_`    RD\bc\d`Bc]`o`qefR [ p g \c ` h c" i j k k2 lJ ma mm n m n o, pC q] rcJQ`XshsssXstcchhQs Q[QcsQuqrqr?uvpq6u[wox{ryqrqruvpqu%w=xKriyqrqQ'Q/srtciQ(Q0sqr< B G R YR|         R R08S>ITaTi{V| #8@SFQ\iTq}V } @ N   M!M%M*M1M8M?MMMXM_MfMmMtM{MMMMMMMMMMMMMM"M*M8MFMTMnMyMMMMMMMMMMMMM%M0M;MFMQM\MgMrMMMMMMMMM MM*M9MHMWMfMuMMMMMMMM M!M)M8MGMVMeMtMMMMMMMMMMM-M<MKMZMjMMMMMMMMMMMM;MJMZMkMqMMMMMMMMMM M(M6MDMRMaMvM~MMMMMMMMMM MM&M4MBMPMlMzMMMMMMMMMM M M3 M> MS Mx M M M M M M M M M M M M, M; MJ MY Mh Mw M M M M M M M M M M M M+ M: MJ MZ Mj M{ M M M M M M M M M M. M= ML M[ Mj My M M M M M M M M M M M) M7 MF M[ Mc M} M M M M M M M MMMM-M;MIMWMeMsMMMMMMMMM*MAMPM_MnM}MMMMMMMM$M3MRMgMoM}MMMMMMMMMM MM%M3MPM[MpMMMMMMMMMMM,M;MJMYMhMwMMMMMMMMMMM,M<MLM\MlM|MMMMMMMMM MM,M<MLM\MlM|MMMMMMMMM MM,M<MLM\MlM|MMMMMMMMM$M3MBMQM`MoM~MMMMMMMMMMMM%M6M@MHMVMdMrMMMMM M4MuMMMM M7MhMMMM MM:MaMMMMM+M6MaM~MMMMMM@MfMMMMM:MfMMMMMJMzMMMMM M5M\MMMMM M= M^ M M M M M M M M M M !M"!M0!M>!ML!MZ!Mi!Mt!M!M!M!M!M!M!M!M"M"M%"M<"MG"MS"Md"My"M"M"M"M"M"M"M"M%#MV#Ma#Ml#M{#M#M#M#M#M#M#M#M#M$M$M$M&$M4$MC$MR$Ma$Mp$M$M$M$M$M$M$M$M$M$M$M %M%M"%M.%M@%M%M%M%M%M%M%M%M&M!&M0&M?&MO&Mp&M&M&M&M&M&M&M&M&M 'M)'M7'ME'MS'Ma'Mp'M'M'M'M'M'''M'M(((M+(M9(MG(MU(Mb(Mo(M|(M(M(((M(M(M(M)M#)M1)M?)M[)_)})M)M)M)))M)))M)))M)))M)M **"*M2*M=*A*c*Mo*s****M***M***M+M+++M++MA+MJ+M|+M+++M+M+M+++M+M+++M ,M,M),-,4,MB,MQ,Mn,M|,M,M,,,M,M,M,M,M,M,- -M--$-M,-0-7-MF-J-O-Md-Mp-t-{-M-M-M-M-M-M..M ..M.!.%.*.M9.=.B.MP.Mb.Mj.n..M...M...M.M...M /M//3/MB/MP/M_/M/M//M//M///M/M/M/M 0M00@0M]0Mi0m00M0M000M0M0M0M1M1M%1M1151J1MX1Mf1Mr1M1M1M1M111M1M1M2M)2M82M?2D2MK2T2X2]2Ml2p22M222M2M222M2M333M-3M<3MJ3M\3`3x3|33M33333M333M4M4M#4M24M@4M|4M4M4M4M4M4M4M444M 5M5M&5M@5MN5Mp5Mx5|55M5M5M555M566M6M%6M3676Q6M]6a6h6Mw6M6M6M666M6M7ML7M[7Mw7M7M7M777777M777M 8M48MC8MR8V8o8M{888M8M8M8M8M8M9M9!9(9MR9Mn9r9w9M9M999M9M9M9M:M ::M!:%:,:MW:Mf:M:M:M:M:M:M:M;M;M;M*;M1;6;M=;G;MS;W;^;M;M;M;M;M;M;M <M$<M2<M@<MN<M\<Mk<Mr<w<M~<<<<M<M<<<M<M<M<M =M=M)=M8=MS=Mb=f=w=M=M===M=M=M=M>> >MO>M]>Mk>M>M>M>>>M>M>M>M ?M??8?MD?H?O?M]?M?M?M?M?L?M?M?M???M@@@M@@$@M2@6@;@MK@MW@Md@Mp@t@|@M@@@M@@@M@@@M@M@@@M@@AMRAMbAMjAnAuAMAMAMAMAMAAAMBM$BM3BMFBMRBVBmBMyB ~BMBOBMBBMBBMBBMBBMBBMBBMC CMC     $I0I4TIXIIIIII (I,@IDXI\pItIIIIII <I@dIhIIIII4I8\I`IIIIIXI\|IIII4I8XI\IIII <I@tIxIIII <I@TIXtIxIIIIII8I<poollo.o/ 1169001830 1001 1001 100644 72112 ` ELF 4(U=u1=u h .v ÐUÍvUVS]ƃjLPSs$CCHCCe[^ÍvUÉUWVSE u}P UE@EuuVuuuPà EHXu4uVuEPÃuyEG4uVuEPÃuHEG8ujP ujw4UW0EG $ > : ; I I<  &I  : ; : ; I8 : ; I : ;I8 : ;I8  : ; I8  : ; I 8  : ;I 8  : ;I 8  : ; ' II' ' I : ;  : ;  : ; I: ;II!I/ .? : ; ' I@ .: ; ' @ : ; I !4: ; I ".: ; ' I@ #: ; I $4: ; I % : ; &4: ; I'4: ; I(.: ;' I@ ): ;I *4: ;I +4: ;I ,.: ;' @ -: ;I . : ;/4: ;I0 14: ;I2.? : ;' I@ 34: ; I?  1 Rc< Bint 8Wk  8 d_LT |zk W7z .6 E" @=" +$@# %@# |&@# '@# FV Sigl ResEV lR"X7#r> $ra%r&r'Wp (W Ref)} ,r -r.W-/W12W" 3W4W$5W6W7W BT:drI;u{  < `< sigs\# Kt# u# vJ# !w# xu # y# (zp# {s#$ O|s#, r}}#4 ~}#8 $#< }#T #X W#\> p @> D!# kE@# F# G# H# I# sJ'#$ K#( segL2#, MS#0 Nt#4 O#8 sigP\#<i AW C a}# A b}# Lc}# zd}# e# + f#s D <D sig\# # O# J# (u # # ,# Q# #$ #( j #, pad #0 K0 #4 #8F G XGsig`\# a# Kb# cJ# (du # &eu # f# 3 gu #$ h#, ^ i#0fixj#4 ks#8 ls#@ >ms#H gns#PH H 2!# k3@# 4# 5# u6D# 7# 8#$ A 9!#( :Q#, -;x#0 <#4 =#8 >#< ?>#@ @e#D ,A#HfixB#L LC#P D#T E#X F/#\ GQ#` H#d 4I#h J#l K#p L,#t MC#x mNi#| +O#sigP\#N O O sig\# ti# J# # ## .# # L # # #$ #( #, #0 2#4 #8 [#< #@ #D d#H #L #P #T 8#X c#\ #` J#d #h z#l #p Z #t c #x  #|  #  # # #7 P  L :TP fix# r# # # sig\# J# ## # # m#$ c#( #, J#0 #4 z#8 c#< #@ #D #H #L #PQW ] Qsig>\# ?J# @u # A## B# =C"#R  & G R !#p# r}###  W#  S1 7 W8Ssig\# # J# u # # # r}# L}# J #$ :#( pZ#,  #0 #4 aT sig\# ?& # r}# L}# a# a# Ulr  Utheh # SegV rV sig\# K#  #  u # L }#  W#pm 9#sm 9# #### ## # 0W 0i$# ju # m#$  #( sig!\#,^X ULX !# k@# #  # F# # #$ `#(  c#, 1#0 #4 C#8 >#< d#@ #Dsig\#H8YZ K Z sig0\# 1# [ 2# 3# z4# gen5#\V\ J:H\ &!# k'$# (# )# *# +8# ^,U#$ -v#( .#, A /#0 0#4 1#8 2:#< 3W#@ sig4\#D^U[E(^ wo$# p#t KrK#x t#| uH$# N wS$# y# {z# |# }# # #  # }# a & # u # # D$# .r"# Yu # <# u # .Z# # # gu # w # # D $# 5#  # # A# ## ## [$# s# s# r# j$# u# u #  # # m$# sig\# o t_ sigB\# Eu # F# Is# SJ# sK# Ls# Ms#( oNs#0 >Os#8 gPs#@ .S@#H @ V#L Yu #P Z#X $]u #\ ^#d au #h d#pdz eIgv  Hhh B##  #X #\ 1#`sig\#dn2g2KJoCIUJp`fvJ{qCrgJ}tg} u}v%:g& jwEKW& Mxbh}gJ}Kg :}l }} Fg}QWc nt#[n  '->IOdg}?oug}}}S og+ '}}}{=CS ^dtx kg} g!,2Qg\bx}[ ƒg; Ľ}}Yg}9o $>gL IOeEpv#)̗g % g eNI#/:@Qr\b|g|׍g ٸzl,D7=NTig}^ tzg }}}}Z}}   0 }YF L u p ; # ; #pL G   g !e# fE# hc )g  ir  \  6!\sig}\# ~ # p!# .!# aA!G! p!asig\# K # m{!!!!6! 6!x!!!!    "  1# s#! r"K$sig\# [ # 1 # !s# "s# #u #K$" " )sig.\#nr/# !0# 1L # 3u # 4# 5#6}"r"Qo #Q t B## #X e #\ b #` r#d ##h m #lsig\#pI#Q #H$ ` B## ##X )## e # n # )# # # u #sig\# #HU"r 6g{   eE$$$$u % LO  %% u%  B ## O #Xgen #\  L #`  "#dsig !\#( .%% %8H . @ 3u$#lo 4%#0 # 5Z#4 A 6Z#8  7#< 8#@sig 9\#D H H^$( H%GU H%HUUs& IXUK H%S `v!g JV"&o VU Uu%"'x ggU#seg e! ePr e} eV f; f!a hl! iu%W$lo j%h$res kgS! lV! mJd! ol`$p pp% %^ (Y U#seg S&lo %' u%!a P!! V! JW! P! lP"D(  =U u%P$lo %S! P( @vU u%S ֪W1 ֪V"9)U x U P P u%V P! l!1 p$lo %W$seg S' J!z h! lP!5 }S() g U) )P)!  ) ) *lo %*seg !@*res "gP+ #$H*gen $D+ %JP+ &Su%, +  FhU) Eu%)[ E *p G}V+r G}p+L G}l+ Hh+w Id*seg J`*lo K%\+^ LX+ MT+ NP + cS*q d}W*i eS *j P,,% h}U)! -seg  -f -p -s l+r }p*lo %l+ u%h*i S+L d+^ ` f+ }V+ }P*j S + W(, gU)! W-arg  +^ P*lo %V+ JS*res gS+ ".5 ,-( dU)! Q*lo %W+ ; R+ ; S $0*seg P/ u%(S. !gdFU) P) P)! ) ) V) *res "gP+ #; R+ #; S*lo $%W+ %u%h/ &J+r '}l+L '}p. I. `<0.*seg 9P + KV+1 KS+5 L}P,/t hHU)! g) g ) g})L g}1lo i%/r j}+5 j}P*seg kW/ lu%/ m+y mV+1 mS/ nJ(/ g= U)! V)[ W-seg S1lo %+ lP * / u%(20 g@ U)! V-ss   -seg ) *lo %Q+ u%W+ P+r }R *i V,0  U)! )[  -seg 1lo %/ u%g : "2 0 S U2 0T a U,1 d  U)h 0S l + V2 '  U(V1 /  U-lo .%! 3 ! H! H% + + 0A /usr/include/usr/include/sys/usr/include/machinempsclo.hmps.hstddef.hcdefs.h_null.h_types.h_types.hstdarg.hlimits.hlimits.h_limits.hsyslimits.hmpm.hconfig.hmpstd.hmisc.hcheck.hmpslib.hevent.heventcom.hmpmtypes.heventgen.hlock.hth.hring.hss.htract.hbt.hmpmst.hprotocol.hchain.hpoollo.c cBcVrrrr 9 ;f=rsdsdddrr:t: X;td;dV#V  @SLSOdV  f::*IV urvdddsk$9^rr:[dIdr:ƹʸd& effW9d:[-drd:, ;Z:dr,uttV.>z  9:;&  9b+JjtƀfeVVY  9 cdrwH:r ոr$ -cBcrrrrrrrrrrrrrrrrwdV[ 9__STDC_HOSTED__ 1__GNUC__ 3__GNUC_MINOR__ 4__GNUC_PATCHLEVEL__ 6__SIZE_TYPE__ unsigned int__PTRDIFF_TYPE__ int__WCHAR_TYPE__ int__WINT_TYPE__ unsigned int __GXX_ABI_VERSION 1002 __SCHAR_MAX__ 127 __SHRT_MAX__ 32767 __INT_MAX__ 2147483647 __LONG_MAX__ 2147483647L__LONG_LONG_MAX__ 9223372036854775807LL__WCHAR_MAX__ 2147483647__CHAR_BIT__ 8__FLT_EVAL_METHOD__ 2__FLT_RADIX__ 2__FLT_MANT_DIG__ 24__FLT_DIG__ 6__FLT_MIN_EXP__ (-125)__FLT_MIN_10_EXP__ (-37)__FLT_MAX_EXP__ 128__FLT_MAX_10_EXP__ 38__FLT_MAX__ 3.40282347e+38F__FLT_MIN__ 1.17549435e-38F__FLT_EPSILON__ 1.19209290e-7F__FLT_DENORM_MIN__ 1.40129846e-45F__FLT_HAS_INFINITY__ 1__FLT_HAS_QUIET_NAN__ 1__DBL_MANT_DIG__ 53 __DBL_DIG__ 15!__DBL_MIN_EXP__ (-1021)"__DBL_MIN_10_EXP__ (-307)#__DBL_MAX_EXP__ 1024$__DBL_MAX_10_EXP__ 308%__DBL_MAX__ 1.7976931348623157e+308&__DBL_MIN__ 2.2250738585072014e-308'__DBL_EPSILON__ 2.2204460492503131e-16(__DBL_DENORM_MIN__ 4.9406564584124654e-324)__DBL_HAS_INFINITY__ 1*__DBL_HAS_QUIET_NAN__ 1+__LDBL_MANT_DIG__ 53,__LDBL_DIG__ 15-__LDBL_MIN_EXP__ (-16381).__LDBL_MIN_10_EXP__ (-4931)/__LDBL_MAX_EXP__ 163840__LDBL_MAX_10_EXP__ 49321__DECIMAL_DIG__ 172__LDBL_MAX__ 1.1897314953572316e+4932L3__LDBL_MIN__ 3.3621031431120935e-4932L4__LDBL_EPSILON__ 2.2204460492503131e-16L5__LDBL_DENORM_MIN__ 7.4653686412953080e-4948L6__LDBL_HAS_INFINITY__ 17__LDBL_HAS_QUIET_NAN__ 18__REGISTER_PREFIX__ 9__USER_LABEL_PREFIX__ :__VERSION__ "3.4.6 [FreeBSD] 20060305";__OPTIMIZE__ 1<__FINITE_MATH_ONLY__ 0=__STRICT_ANSI__ 1@__i386 1A__i386__ 1B__tune_i386__ 1C__FreeBSD__ 6D__unix 1E__unix__ 1F__KPRINTF_ATTRIBUTE__ 1J__FreeBSD_cc_version 602001K__ELF__ 1_REENTRANT 1CONFIG_PROD_DYLAN 1CONFIG_VAR_HI 1NDEBUG 1  mpsclo_h   mps_h '_STDDEF_H_ )%_SYS_CDEFS_H_ +__BEGIN_DECLS ,__END_DECLS 8__GNUCLIKE_ASM 39__GNUCLIKE_MATH_BUILTIN_CONSTANTS =__GNUCLIKE___TYPEOF 1>__GNUCLIKE___OFFSETOF 1?__GNUCLIKE___SECTION 1A__GNUCLIKE_ATTRIBUTE_MODE_DI 1D__GNUCLIKE_CTOR_SECTION_HANDLING 1G__GNUCLIKE_BUILTIN_CONSTANT_P 1N__GNUCLIKE_BUILTIN_VARARGS 1O__GNUCLIKE_BUILTIN_STDARG 1P__GNUCLIKE_BUILTIN_VAALIST 1T__GNUC_VA_LIST_COMPATIBILITY 1X__GNUCLIKE_BUILTIN_NEXT_ARG 1Y__GNUCLIKE_MATH_BUILTIN_RELOPS \__GNUCLIKE_BUILTIN_MEMCPY 1___CC_SUPPORTS_INLINE 1`__CC_SUPPORTS___INLINE 1a__CC_SUPPORTS___INLINE__ 1c__CC_SUPPORTS___FUNC__ 1d__CC_SUPPORTS_WARNING 1f__CC_SUPPORTS_VARADIC_XXX 1h__CC_SUPPORTS_DYNAMIC_ARRAY_INIT 1k__CC_INT_IS_32BIT 1s__GNUC_PREREQ__(ma,mi) (__GNUC__ > (ma) || __GNUC__ == (ma) && __GNUC_MINOR__ >= (mi))__P(protos) protos__CONCAT1(x,y) x ## y__CONCAT(x,y) __CONCAT1(x,y)__STRING(x) #x__XSTRING(x) __STRING(x)__const const__signed signed__volatile volatile__dead2 __attribute__((__noreturn__))__pure2 __attribute__((__const__))__unused __attribute__((__unused__))__used __attribute__((__used__))__packed __attribute__((__packed__))__aligned(x) __attribute__((__aligned__(x)))__section(x) __attribute__((__section__(x)))__pure __attribute__((__pure__))__always_inline __attribute__((__always_inline__))__nonnull(x) __attribute__((__nonnull__(x)))__restrict __predict_true(exp) __builtin_expect((exp), 1)__predict_false(exp) __builtin_expect((exp), 0)__offsetof(type,field) ((size_t)(&((type *)0)->field))__rangeof(type,start,end) (__offsetof(type, end) - __offsetof(type, start))__printflike(fmtarg,firstvararg) __attribute__((__format__ (__printf__, fmtarg, firstvararg)))__scanflike(fmtarg,firstvararg) __attribute__((__format__ (__scanf__, fmtarg, firstvararg)))__format_arg(fmtarg) __attribute__((__format_arg__ (fmtarg)))__printf0like(fmtarg,firstvararg) __attribute__((__format__ (__printf0__, fmtarg, firstvararg)))__strong_reference(sym,aliassym) extern __typeof (sym) aliassym __attribute__ ((__alias__ (#sym)));__weak_reference(sym,alias) __asm__(".weak " #alias); __asm__(".equ " #alias ", " #sym)__warn_references(sym,msg) __asm__(".section .gnu.warning." #sym); __asm__(".asciz \"" msg "\""); __asm__(".previous")__IDSTRING(name,string) __asm__(".ident\t\"" string "\"")__FBSDID(s) __IDSTRING(__CONCAT(__rcsid_,__LINE__),s)__RCSID(s) __IDSTRING(__CONCAT(__rcsid_,__LINE__),s)__RCSID_SOURCE(s) __IDSTRING(__CONCAT(__rcsid_source_,__LINE__),s)__SCCSID(s) __IDSTRING(__CONCAT(__sccsid_,__LINE__),s)__COPYRIGHT(s) __IDSTRING(__CONCAT(__copyright_,__LINE__),s)__DECONST(type,var) ((type)(uintptr_t)(const void *)(var))__DEVOLATILE(type,var) ((type)(uintptr_t)(volatile void *)(var))__DEQUALIFY(type,var) ((type)(uintptr_t)(const volatile void *)(var))__POSIX_VISIBLE 200112__XSI_VISIBLE 600__BSD_VISIBLE 1__ISO_C_VISIBLE 1999* NULL ((void *)0)+_SYS__TYPES_H_ !(_MACHINE__TYPES_H_ .__NO_STRICT_ALIGNMENT __GNUC_VA_LIST 2_RUNE_T_DECLARED 8_SIZE_T_DECLARED >_WCHAR_T_DECLARED Boffsetof(type,member) __offsetof(type, member)'_MACHINE_STDARG_H_ -_VA_LIST_DECLARED 3va_start(ap,last) __builtin_stdarg_start((ap), (last))6va_arg(ap,type) __builtin_va_arg((ap), type):va_copy(dest,src) __builtin_va_copy((dest), (src))>va_end(ap) __builtin_va_end(ap) &_LIMITS_H_ +_POSIX_ARG_MAX 4096,_POSIX_CHILD_MAX 25-_POSIX_LINK_MAX 8._POSIX_MAX_CANON 255/_POSIX_MAX_INPUT 2550_POSIX_NAME_MAX 141_POSIX_NGROUPS_MAX 82_POSIX_OPEN_MAX 203_POSIX_PATH_MAX 2564_POSIX_PIPE_BUF 5125_POSIX_SSIZE_MAX 327676_POSIX_STREAM_MAX 87_POSIX_TZNAME_MAX 69BC_BASE_MAX 99:BC_DIM_MAX 2048;BC_SCALE_MAX 99EXPR_NEST_MAX 32?LINE_MAX 2048@RE_DUP_MAX 255B_POSIX2_BC_BASE_MAX 99C_POSIX2_BC_DIM_MAX 2048D_POSIX2_BC_SCALE_MAX 99E_POSIX2_BC_STRING_MAX 1000F_POSIX2_EQUIV_CLASS_MAX 2G_POSIX2_EXPR_NEST_MAX 32H_POSIX2_LINE_MAX 2048I_POSIX2_RE_DUP_MAX 255M_POSIX_AIO_LISTIO_MAX 16N_POSIX_AIO_MAX 1O_POSIX_DELAYTIMER_MAX 32P_POSIX_MQ_OPEN_MAX 8Q_POSIX_MQ_PRIO_MAX 32R_POSIX_RTSIG_MAX 8S_POSIX_SEM_NSEMS_MAX 256T_POSIX_SEM_VALUE_MAX 32767U_POSIX_SIGQUEUE_MAX 32V_POSIX_TIMER_MAX 32Z_POSIX_THREAD_DESTRUCTOR_ITERATIONS 4[_POSIX_THREAD_KEYS_MAX 128\_POSIX_THREAD_THREADS_MAX 64`_POSIX_HOST_NAME_MAX 255a_POSIX_LOGIN_NAME_MAX 9b_POSIX_SS_REPL_MAX 4c_POSIX_SYMLINK_MAX 255d_POSIX_SYMLOOP_MAX 8e_POSIX_TRACE_EVENT_NAME_MAX 30f_POSIX_TRACE_NAME_MAX 8g_POSIX_TRACE_SYS_MAX 8h_POSIX_TRACE_USER_EVENT_MAX 32i_POSIX_TTY_NAME_MAX 9j_POSIX2_CHARCLASS_NAME_MAX 14k_POSIX2_COLL_WEIGHTS_MAX 2m_POSIX_RE_DUP_MAX _POSIX2_RE_DUP_MAXq_XOPEN_IOV_MAX 16r_XOPEN_NAME_MAX 255s_XOPEN_PATH_MAX 1024tPASS_MAX 128vNL_ARGMAX 99wNL_LANGMAX 31xNL_MSGMAX 32767yNL_NMAX 1zNL_SETMAX 255{NL_TEXTMAX 2048~MB_LEN_MAX 6 !_SYS_LIMITS_H_ $ "_MACHINE__LIMITS_H_ /__CHAR_BIT 81__SCHAR_MAX 0x7f2__SCHAR_MIN (-0x7f - 1)4__UCHAR_MAX 0xff6__USHRT_MAX 0xffff7__SHRT_MAX 0x7fff8__SHRT_MIN (-0x7fff - 1):__UINT_MAX 0xffffffffU;__INT_MAX 0x7fffffff<__INT_MIN (-0x7fffffff - 1)D__ULONG_MAX 0xffffffffULE__LONG_MAX 0x7fffffffLF__LONG_MIN (-0x7fffffffL - 1)J__ULLONG_MAX 0xffffffffffffffffULLK__LLONG_MAX 0x7fffffffffffffffLLL__LLONG_MIN (-0x7fffffffffffffffLL - 1)N__SSIZE_MAX __INT_MAXP__SIZE_T_MAX __UINT_MAXR__OFF_MAX __LLONG_MAXS__OFF_MIN __LLONG_MINV__UQUAD_MAX __ULLONG_MAXW__QUAD_MAX __LLONG_MAXX__QUAD_MIN __LLONG_MIN]__LONG_BIT 32___WORD_BIT 32&CHAR_BIT __CHAR_BIT(SCHAR_MAX __SCHAR_MAX)SCHAR_MIN __SCHAR_MIN+UCHAR_MAX __UCHAR_MAX1CHAR_MAX SCHAR_MAX2CHAR_MIN SCHAR_MIN5USHRT_MAX __USHRT_MAX6SHRT_MAX __SHRT_MAX7SHRT_MIN __SHRT_MIN9UINT_MAX __UINT_MAX:INT_MAX __INT_MAX;INT_MIN __INT_MIN=ULONG_MAX __ULONG_MAX>LONG_MAX __LONG_MAX?LONG_MIN __LONG_MINHSSIZE_MAX __SSIZE_MAXLSIZE_T_MAX __SIZE_T_MAXNOFF_MAX __OFF_MAXOOFF_MIN __OFF_MINSGID_MAX UINT_MAXTUID_MAX UINT_MAXVUQUAD_MAX (__UQUAD_MAX)WQUAD_MAX (__QUAD_MAX)XQUAD_MIN (__QUAD_MIN)\LONG_BIT __LONG_BIT]WORD_BIT __WORD_BIT "_SYS_SYSLIMITS_H_ 4ARG_MAX 2621447CHILD_MAX 409LINK_MAX 32767:MAX_CANON 255;MAX_INPUT 255 (sac)->mps_middle) { _mps_i = 0; while (_mps_s > (sac)->mps_freelists[_mps_i].mps_size) _mps_i += 2; } else { _mps_i = 1; while (_mps_s <= (sac)->mps_freelists[_mps_i].mps_size) _mps_i += 2; } if ((sac)->mps_freelists[_mps_i].mps_count != 0) { (p_o) = (sac)->mps_freelists[_mps_i].mps_blocks; (sac)->mps_freelists[_mps_i].mps_blocks = *(mps_addr_t *)(p_o); --(sac)->mps_freelists[_mps_i].mps_count; (res_o) = MPS_RES_OK; } else (res_o) = mps_sac_fill(&(p_o), sac, _mps_s, has_reservoir_permit); MPS_ENDMPS_SAC_FREE_FAST(sac,p,size) MPS_BEGIN size_t _mps_i, _mps_s; _mps_s = (size); if (_mps_s > (sac)->mps_middle) { _mps_i = 0; while (_mps_s > (sac)->mps_freelists[_mps_i].mps_size) _mps_i += 2; } else { _mps_i = 1; while (_mps_s <= (sac)->mps_freelists[_mps_i].mps_size) _mps_i += 2; } if ((sac)->mps_freelists[_mps_i].mps_count < (sac)->mps_freelists[_mps_i].mps_count_max) { *(mps_addr_t *)(p) = (sac)->mps_freelists[_mps_i].mps_blocks; (sac)->mps_freelists[_mps_i].mps_blocks = (p); ++(sac)->mps_freelists[_mps_i].mps_count; } else mps_sac_empty(sac, p, _mps_s); MPS_ENDMPS_SAC_ALLOC(res_o,p_o,sac,size,has_reservoir_permit) MPS_SAC_ALLOC_FAST(res_o, p_o, sac, size, has_reservoir_permit)MPS_SAC_FREE(sac,p,size) MPS_SAC_FREE_FAST(sac, p, size)mps_reserve(_p_o,_mps_ap,_size) ((char *)(_mps_ap)->alloc + (_size) > (char *)(_mps_ap)->alloc && (char *)(_mps_ap)->alloc + (_size) <= (char *)(_mps_ap)->limit ? ((_mps_ap)->alloc = (mps_addr_t)((char *)(_mps_ap)->alloc + (_size)), *(_p_o) = (_mps_ap)->init, MPS_RES_OK) : mps_ap_fill(_p_o, _mps_ap, _size))MPS_RESERVE_BLOCK(_res_v,_p_v,_mps_ap,_size) MPS_BEGIN char *_alloc = (char *)(_mps_ap)->alloc; char *_next = _alloc + (_size); if(_next > _alloc && _next <= (char *)(_mps_ap)->limit) { (_mps_ap)->alloc = (mps_addr_t)_next; (_p_v) = (_mps_ap)->init; (_res_v) = MPS_RES_OK; } else (_res_v) = mps_ap_fill(&(_p_v), _mps_ap, _size); MPS_ENDMPS_RESERVE_WITH_RESERVOIR_PERMIT_BLOCK(_res_v,_p_v,_mps_ap,_size) MPS_BEGIN char *_alloc = (char *)(_mps_ap)->alloc; char *_next = _alloc + (_size); if(_next > _alloc && _next <= (char *)(_mps_ap)->limit) { (_mps_ap)->alloc = (mps_addr_t)_next; (_p_v) = (_mps_ap)->init; (_res_v) = MPS_RES_OK; } else (_res_v) = mps_ap_fill_with_reservoir_permit(&(_p_v), _mps_ap, _size); MPS_ENDmps_commit(_mps_ap,_p,_size) ((_mps_ap)->init = (_mps_ap)->alloc, (_mps_ap)->limit != 0 || mps_ap_trip(_mps_ap, _p, _size))MPS_SCAN_BEGIN(ss) MPS_BEGIN mps_ss_t _ss = (ss); mps_word_t _mps_w0 = (_ss)->w0; mps_word_t _mps_w1 = (_ss)->w1; mps_word_t _mps_w2 = (_ss)->w2; mps_word_t _mps_wt; {MPS_FIX1(ss,ref) (_mps_wt = 1uL << ((mps_word_t)(ref) >> _mps_w0 & (sizeof(mps_word_t) * CHAR_BIT - 1)), _mps_w2 |= _mps_wt, _mps_w1 & _mps_wt)MPS_FIX2(ss,ref_io) ((*(ss)->fix)(ss, ref_io))MPS_FIX12(ss,ref_io) (MPS_FIX1(ss, *(ref_io)) ? MPS_FIX2(ss, ref_io) : MPS_RES_OK)MPS_FIX(ss,ref_io) MPS_FIX12(ss, ref_io)MPS_FIX_CALL(ss,call) MPS_BEGIN (call); _mps_w2 |= (ss)->w2; MPS_ENDMPS_SCAN_END(ss) } (ss)->w2 = _mps_w2; MPS_END  mpm_h config_h !CONFIG_DEBUG "CHECK_DEFAULT CheckNONE6CHECK_NONE 7MPS_ASSERT_STRING "nonasserted"?EVENT_NONE @MPS_LOG_STRING "nonlogging"EDIAGNOSTICS FMPS_DEBUG_STRING "debug"LMPS_VARIETY_STRING MPS_ASSERT_STRING "." MPS_LOG_STRING "." MPS_DEBUG_STRINGRmpstd_h MPS_PF_FRI4GC MPS_PF_STRING "fri4gc"MPS_OS_FR MPS_ARCH_I4 MPS_BUILD_GC MPS_T_WORD unsigned longMPS_WORD_WIDTH 32MPS_WORD_SHIFT 5MPS_PF_ALIGN 4EPVMDefaultSubsequentSegSIZE (64ul * 1024)ARENA_CONTROL_EXTENDBY ((Size)4096)ARENA_CONTROL_AVGSIZE ((Size)32)ARENA_CONTROL_MAXSIZE ((Size)65536)ArenaPollALLOCTIME (65536.0)ARENA_ZONESHIFT ((Shift)20)ARENA_CLIENT_PAGE_SIZE ((Size)8192)ArenaDefaultZONESET (ZoneSetUNIV << (MPS_WORD_WIDTH / 2))SegPrefDEFAULT { SegPrefSig, TRUE, ArenaDefaultZONESET, FALSE, FALSE, (Serial)0, }LDHistoryLENGTH ((Size)4)StackProbeDEPTH ((Size)0)ShieldCacheSIZE ((size_t)16)ShieldDepthWIDTH (4)VMANPageALIGNMENT ((Align)4096)VMJunkBYTE ((unsigned char)0xA9)TraceLIMIT ((size_t)1)TraceCopyScanRATIO (1.5)RememberedSummaryBLOCK 15EventBufferSIZE ((size_t)4096)EventStringLengthMAX ((size_t)255)ASSERT_BUFFER_SIZE ((Size)512)MPS_PROD_STRING "dylan"MPS_PROD_DYLAN ARENA_INIT_SPARE_COMMIT_LIMIT ((Size)10uL*1024uL*1024uL)THREAD_MULTI PROTECTION DONGLE_NONE PROD_CHECK_DEFAULT CheckSHALLOWARENA_SIZE ((Size)1<<30)misc_h *SRCID(id,scmid) static SrcIdStruct FileSrcIdStruct = {__FILE__, (scmid), __DATE__, __TIME__}; SrcId id ## SrcId = &FileSrcIdStruct;BEGIN do {> (i)) & 1)BS_UNION(s1,s2) ((s1) | (s2))BS_ADD(ty,s,i) BS_UNION((s), BS_SINGLE(ty, (i)))BS_INTER(s1,s2) ((s1) & (s2))BS_DIFF(s1,s2) BS_INTER((s1), BS_COMP(s2))BS_DEL(ty,s,i) BS_DIFF((s), BS_SINGLE(ty, (i)))BS_SUPER(s1,s2) (BS_INTER((s1), (s2)) == (s2))BS_SUB(s1,s2) BS_SUPER((s2), (s1))BS_IS_SINGLE(s) (((s) & ((s)-1)) == 0)BS_SYM_DIFF(s1,s2) ((s1) ^ (s2))check_h mpslib_h mps_lib_EOF (mps_lib_get_EOF())mps_lib_stderr (mps_lib_get_stderr())mps_lib_stdout (mps_lib_get_stdout())0AVER(cond) DISCARD(cond)1AVERT(type,val) DISCARD(type ## Check(val))2AVER_CRITICAL(cond) DISCARD(cond)3AVERT_CRITICAL(type,val) DISCARD(type ## Check(val))MASSERT(cond,condstring) BEGIN if (cond) NOOP; else mps_lib_assert_fail(condstring "\n" __FILE__ "\n" STR(__LINE__)); END_NOTREACHED NOOPjCHECKT(type,val) ((val) != NULL && (val)->sig == type ## Sig)pCHECKS(type,val) DISCARD(CHECKT(type, val))qCHECKL(cond) DISCARD(cond)rCHECKD(type,val) DISCARD(CHECKT(type, val))sCHECKD_NOSIG(type,val) DISCARD((val) != NULL)tCHECKU(type,val) DISCARD(CHECKT(type, val))uCHECKU_NOSIG(type,val) DISCARD((val) != NULL)CHECKLVALUE(lv1,lv2) ((void)sizeof((lv1) = (lv2)), (void)sizeof((lv2) = (lv1)), TRUE)CHECKTYPE(t1,t2) (sizeof(t1) == sizeof(t2) && CHECKLVALUE(*((t1 *)0), *((t2 *)0)))CHECKFIELDAPPROX(s1,f1,s2,f2) (sizeof(((s1 *)0)->f1) == sizeof(((s2 *)0)->f2) && offsetof(s1, f1) == offsetof(s2, f2))CHECKFIELD(s1,f1,s2,f2) (CHECKFIELDAPPROX(s1, f1, s2, f2) && CHECKLVALUE(((s1 *)0)->f1, ((s2 *)0)->f2))event_h  eventcom_h  mpmtypes_h SigInvalid ((Sig)0x51915BAD)SizeMAX ((Size)-1)AccessSetEMPTY ((AccessSet)0)AccessREAD ((AccessSet)(1<<0))AccessWRITE ((AccessSet)(1<<1))AccessSetWIDTH (2)RefSetEMPTY BS_EMPTY(RefSet)RefSetUNIV BS_UNIV(RefSet)ZoneSetEMPTY BS_EMPTY(ZoneSet)ZoneSetUNIV BS_UNIV(ZoneSet)TraceSetEMPTY BS_EMPTY(TraceSet)TraceSetUNIV ((TraceSet)((1u << TraceLIMIT) - 1))RankSetEMPTY BS_EMPTY(RankSet)RankSetUNIV ((RankSet)((1u << RankLIMIT) - 1))AttrFMT ((Attr)(1<<0))AttrSCAN ((Attr)(1<<1))AttrPM_NO_READ ((Attr)(1<<2))AttrPM_NO_WRITE ((Attr)(1<<3))AttrALLOC ((Attr)(1<<4))AttrFREE ((Attr)(1<<5))AttrBUF ((Attr)(1<<6))AttrBUF_RESERVE ((Attr)(1<<7))AttrBUF_ALLOC ((Attr)(1<<8))AttrGC ((Attr)(1<<9))AttrINCR_RB ((Attr)(1<<10))AttrINCR_WB ((Attr)(1<<11))AttrMOVINGGC ((Attr)(1<<12))AttrMASK (AttrFMT | AttrSCAN | AttrPM_NO_READ | AttrPM_NO_WRITE | AttrALLOC | AttrFREE | AttrBUF | AttrBUF_RESERVE | AttrBUF_ALLOC | AttrGC | AttrINCR_RB | AttrINCR_WB | AttrMOVINGGC)BufferModeATTACHED ((BufferMode)(1<<0))BufferModeFLIPPED ((BufferMode)(1<<1))BufferModeLOGGED ((BufferMode)(1<<2))BufferModeTRANSITION ((BufferMode)(1<<3))RootModeCONSTANT ((RootMode)1<<0)RootModePROTECTABLE ((RootMode)1<<1)RootModePROTECTABLE_INNER ((RootMode)1<<2)STATISTIC_DECL(field) field!EventNameMAX ((size_t)19)"EventCodeMAX ((EventCode)0x0069)&EVENT_0(type) NOOPEVENT_A(type,p0) NOOPEVENT_AW(type,p0,p1) NOOPEVENT_P(type,p0) NOOPEVENT_PAA(type,p0,p1,p2) NOOPEVENT_PAW(type,p0,p1,p2) NOOPEVENT_PAWA(type,p0,p1,p2,p3) NOOPEVENT_PDDWWW(type,p0,p1,p2,p3,p4,p5) NOOPEVENT_PP(type,p0,p1) NOOPEVENT_PPAU(type,p0,p1,p2,p3) NOOPEVENT_PPAWP(type,p0,p1,p2,p3,p4) NOOPEVENT_PPP(type,p0,p1,p2) NOOPEVENT_PPPA(type,p0,p1,p2,p3) NOOPEVENT_PPPU(type,p0,p1,p2,p3) NOOPEVENT_PPPUU(type,p0,p1,p2,p3,p4) NOOPEVENT_PPU(type,p0,p1,p2) NOOPEVENT_PPUU(type,p0,p1,p2,p3) NOOPEVENT_PPUWWW(type,p0,p1,p2,p3,p4,p5) NOOPEVENT_PPWW(type,p0,p1,p2,p3) NOOPEVENT_PPWWW(type,p0,p1,p2,p3,p4) NOOPEVENT_PPWWWUUU(type,p0,p1,p2,p3,p4,p5,p6,p7) NOOPEVENT_PU(type,p0,p1) NOOPEVENT_PW(type,p0,p1) NOOPEVENT_PWA(type,p0,p1,p2) NOOPEVENT_PWAW(type,p0,p1,p2,p3) NOOPEVENT_PWP(type,p0,p1,p2) NOOPEVENT_PWU(type,p0,p1,p2) NOOPEVENT_PWW(type,p0,p1,p2) NOOPEVENT_PWWWWDD(type,p0,p1,p2,p3,p4,p5,p6) NOOPEVENT_PWWWWW(type,p0,p1,p2,p3,p4,p5) NOOPEVENT_PWWWWWWWWW(type,p0,p1,p2,p3,p4,p5,p6,p7,p8,p9) NOOPEVENT_PWWWWWWWWWWWW(type,p0,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11,p12) NOOPEVENT_UUPA(type,p0,p1,p2,p3) NOOPEVENT_UUPP(type,p0,p1,p2,p3) NOOPEVENT_UUPPP(type,p0,p1,p2,p3,p4) NOOPEVENT_WS(type,p0,p1,l1) NOOP:EventEventTime ((EventType)0xEF213E99);EventPoolInit ((EventType)0xEFB07141)EventPoolFree ((EventType)0xEFB07F6E)?EventArenaCreateVM ((EventType)0xEFA64CF3)@EventArenaCreateVMNZ ((EventType)0xEFA64CF2)AEventArenaCreateCL ((EventType)0xEFA64CC7)BEventArenaDestroy ((EventType)0xEFA64DE5)CEventArenaAlloc ((EventType)0xEFA64A77)DEventArenaFree ((EventType)0xEFA64F6E)EEventSegAlloc ((EventType)0xEF5E9A77)FEventSegFree ((EventType)0xEF5E9F6E)GEventSegMerge ((EventType)0xEF5E93E6)HEventSegSplit ((EventType)0xEF5E95B7)IEventAMCGenCreate ((EventType)0xEFA3C94C)JEventAMCGenDestroy ((EventType)0xEFA3C94D)KEventAMCInit ((EventType)0xEFA3C141)LEventAMCFinish ((EventType)0xEFA3CF14)MEventAMCTraceBegin ((EventType)0xEFA3C26B)NEventAMCScanBegin ((EventType)0xEFA3C5CB)OEventAMCScanEnd ((EventType)0xEFA3C5CE)PEventAMCFix ((EventType)0xEFA3CF18)QEventAMCFixInPlace ((EventType)0xEFA3CF8A)REventAMCFixForward ((EventType)0xEFA3CF8F)SEventAMCReclaim ((EventType)0xEFA3C6EC)TEventTraceStart ((EventType)0xEF26AC52)UEventTraceCreate ((EventType)0xEF26ACC6)VEventTraceDestroy ((EventType)0xEF26ACDE)WEventSegSetGrey ((EventType)0xEF59596A)XEventTraceFlipBegin ((EventType)0xEF26AF7B)YEventTraceFlipEnd ((EventType)0xEF26AF7E)ZEventTraceReclaim ((EventType)0xEF26A6EC)[EventTraceScanSeg ((EventType)0xEF26A559)\EventTraceScanSingleRef ((EventType)0xEF26A556)^EventTraceAccess ((EventType)0xEF26AACC)_EventTracePoll ((EventType)0xEF26AB01)`EventTraceStep ((EventType)0xEF26A52B)aEventTraceFix ((EventType)0xEF26AF18)bEventTraceFixSeg ((EventType)0xEF26AF85)cEventTraceFixWhite ((EventType)0xEF26AF83)dEventTraceScanArea ((EventType)0xEF26A5CA)eEventTraceScanAreaTagged ((EventType)0xEF26A5C2)fEventVMCreate ((EventType)0xEFF3C6EA)gEventVMDestroy ((EventType)0xEFF3DE52)hEventVMMap ((EventType)0xEFF33AB9)iEventVMUnmap ((EventType)0xEFF3043B)jEventIntern ((EventType)0xEF142E64)kEventArenaExtend ((EventType)0xEFA64E82)lEventArenaRetract ((EventType)0xEFA646E2)mEventRootScan ((EventType)0xEF625CA4)nEventLabel ((EventType)0xEF7ABE79)oEventTraceSegGreyen ((EventType)0xEF26A599)pEventBufferReserve ((EventType)0xEFB0FF6E)qEventBufferCommit ((EventType)0xEFB0FFC0)rEventBufferInit ((EventType)0xEFB0FF14)sEventBufferInitSeg ((EventType)0xEFB0F15E)tEventBufferInitRank ((EventType)0xEFB0F16A)uEventBufferInitEPVM ((EventType)0xEFB0F1EF)vEventBufferFinish ((EventType)0xEFB0FFF1)wEventBufferFill ((EventType)0xEFB0FFF7)xEventBufferEmpty ((EventType)0xEFB0FFE3)yEventArenaAllocFail ((EventType)0xEFA64A7F)zEventSegAllocFail ((EventType)0xEF5E9A7F){EventMeterInit ((EventType)0xEF3E2141)|EventMeterValues ((EventType)0xEF3E2FA7)}EventCBSInit ((EventType)0xEFCB5141)~EventTraceStatCondemn ((EventType)0xEF26A5C0)EventTraceStatScan ((EventType)0xEF26A55C)EventTraceStatFix ((EventType)0xEF26A5F8)EventTraceStatReclaim ((EventType)0xEF26A56E)EventArenaWriteFaults ((EventType)0xEFA6436F)EventPoolInitMV ((EventType)0xEFB0713F)EventPoolInitMVFF ((EventType)0xEFB071FF)EventPoolInitMFS ((EventType)0xEFB07135)EventPoolInitEPVM ((EventType)0xEFB071EF)EventPoolInitEPDL ((EventType)0xEFB071E7)EventPoolInitAMS ((EventType)0xEFB071A5)EventPoolInitAMC ((EventType)0xEFB071AC)EventPoolInitAMCZ ((EventType)0xEFB071A2)EventPoolInitAWL ((EventType)0xEFB071A3)EventPoolInitLO ((EventType)0xEFB07170)EventPoolInitSNC ((EventType)0xEFB07154)EventPoolInitMVT ((EventType)0xEFB07132)EventPoolPush ((EventType)0xEFB07B58)EventPoolPop ((EventType)0xEFB07B0B)EventReservoirLimitSet ((EventType)0xEF6E5713)EventCommitLimitSet ((EventType)0xEFC03713)EventSpareCommitLimitSet ((EventType)0xEF5BC713) hEventInit() NOOPiEventFinish() NOOPjEventControl(r,f) (UNUSED(r), UNUSED(f), (Word)0)kEventInternString(s) (UNUSED(s), (Word)0)lEventInternGenString(l,s) (UNUSED(l), UNUSED(s), (Word)0)mEventLabelAddr(a,i) BEGIN UNUSED(a); UNUSED(i); ENDPlock_h ULockSig ((Sig)0x51970CC9) th_h  ring_h RingNONE ((Ring)0)$RingInit(ring) BEGIN Ring _ring = (ring); AVER(_ring != NULL); _ring->next = _ring; _ring->prev = _ring; AVER(RingCheck(_ring)); END/RingFinish(ring) BEGIN Ring _ring = (ring); AVER(RingCheckSingle(_ring)); _ring->next = RingNONE; _ring->prev = RingNONE; END9RingAppend(ring,new) BEGIN Ring _ring = (ring), _new = (new); AVER(RingCheck(_ring)); AVER(RingCheckSingle(_new)); _new->prev = _ring->prev; _new->next = _ring; _ring->prev->next = _new; _ring->prev = _new; ENDFRingInsert(ring,new) BEGIN Ring _ring = (ring), _new = (new); AVER(RingCheck(_ring)); AVER(RingCheckSingle(_new)); _new->prev = _ring; _new->next = _ring->next; _ring->next->prev = _new; _ring->next = _new; ENDSRingRemove(old) BEGIN Ring _old = (old); AVER(RingCheck(_old)); AVER(!RingIsSingle(_old)); _old->next->prev = _old->prev; _old->prev->next = _old->next; _old->next = _old; _old->prev = _old; END`RingNext(ring) ((ring)->next)dRingPrev(ring) ((ring)->prev)gRING_ELT(type,field,node) ((type)(void *)((char *)(node) - (size_t)(&((type)0)->field)))kRING_FOR(node,ring,next) for(node = RingNext(ring), next = RingNext(node); node != (ring); node = (next), next = RingNext(node))ThreadSig ((Sig)0x519286ED) ss_h  tract_h   bt_h BTSize(n) (((n) + MPS_WORD_WIDTH-1) / MPS_WORD_WIDTH * sizeof(Word))BTGet(a,i) ((Bool)(((a)[((i) >> MPS_WORD_SHIFT)] >> ((i) & ~((Word)-1 << MPS_WORD_SHIFT))) & (Word)1))BTSet(a,i) BEGIN (a)[((i)>>MPS_WORD_SHIFT)] |= (Word)1<<((i)&~((Word)-1<>MPS_WORD_SHIFT)] &= ~((Word)1 << ((i) & ~((Word)-1<base)&TractPool(tract) ((tract)->pool)'TractP(tract) ((tract)->p)(TractSetP(tract,pp) ((void)((tract)->p = (pp))))TractHasSeg(tract) ((Bool)(tract)->hasSeg)*TractSetHasSeg(tract,b) ((void)((tract)->hasSeg = (b)))+TractWhite(tract) ((tract)->white),TractSetWhite(tract,w) ((void)((tract)->white = (w)))8TRACT_SEG(segReturn,tract) (TractHasSeg(tract) && ((*(segReturn) = (Seg)TractP(tract)), TRUE));TRACT_SET_SEG(tract,seg) (TractSetHasSeg(tract, TRUE), TractSetP(tract, seg))>TRACT_UNSET_SEG(tract) (TractSetHasSeg(tract, FALSE), TractSetP(tract, NULL))nPageTract(page) (&(page)->the.tractStruct)rPageOfTract(tract) PARENT(PageStruct, the.tractStruct, (tract))vPagePool(page) ((page)->the.rest.pool)}PageIsAllocated(page) ((page)->the.rest.pool != NULL)PageType(page) ((page)->the.rest.type)ChunkSig ((Sig)0x519C804C)ChunkArena(chunk) ((chunk)->arena)ChunkPageSize(chunk) ((chunk)->pageSize)ChunkPageShift(chunk) ((chunk)->pageShift)ChunkPagesToSize(chunk,pages) ((Size)(pages) << (chunk)->pageShift)ChunkSizeToPages(chunk,size) ((Count)((size) >> (chunk)->pageShift))CHUNK_OF_ADDR(chunkReturn,arena,addr) (((arena)->chunkCache.base <= (addr) && (addr) < (arena)->chunkCache.limit) ? (*(chunkReturn) = (arena)->chunkCache.chunk, TRUE) : ChunkOfAddr(chunkReturn, arena, addr))AddrPageBase(chunk,addr) AddrAlignDown((addr), ChunkPageSize(chunk))TRACT_OF_ADDR(tractReturn,arena,addr) BEGIN Arena _arena = (arena); Addr _addr = (addr); Chunk _chunk; Index _i; if (CHUNK_OF_ADDR(&_chunk, _arena, _addr)) { _i = INDEX_OF_ADDR(_chunk, _addr); if (BTGet(_chunk->allocTable, _i)) *(tractReturn) = PageTract(&_chunk->pageTable[_i]); else *(tractReturn) = NULL; } else *(tractReturn) = NULL; ENDINDEX_OF_ADDR(chunk,addr) ((Index)ChunkSizeToPages(chunk, AddrOffset((chunk)->base, addr)))PageIndexBase(chunk,i) AddrAdd((chunk)->base, ChunkPagesToSize(chunk, i))TractAverContiguousRange(arena,rangeBase,rangeLimit) BEGIN Chunk _ch = NULL; UNUSED(_ch); AVER(ChunkOfAddr(&_ch, arena, rangeBase) && (rangeLimit) <= _ch->limit); ENDTRACT_TRACT_FOR(tract,addr,arena,firstTract,limit) tract = (firstTract); addr = TractBase(tract); TractAverContiguousRange(arena, addr, limit); for(; tract != NULL; (addr = AddrAdd(addr, (arena)->alignment)), (addr < (limit) ? (tract = PageTract(PageOfTract(tract) + 1)) : (tract = NULL) ))TRACT_FOR(tract,addr,arena,base,limit) TRACT_TRACT_FOR(tract, addr, arena, TractOfBaseAddr(arena, base), limit)mpmst_h protocol_h DERIVE_LOCAL(name) protocol ## nameDERIVE_STRUCT(name) name ## StructDERIVE_ENSURE(name) name ## GetDERIVE_ENSURE_OLD(name) Ensure ## nameDERIVE_ENSURE_INTERNAL(name) protocolGet ## nameDERIVE_GUARDIAN(name) protocol ## name ## GuardianDERIVE_STATIC_STORAGE(name) protocol ## name ## StructProtocolClassSetSuperclassPoly(class,super) (((ProtocolClass)(class))->superclass) = (ProtocolClass)(super)$DEFINE_CLASS(className,var) static Bool DERIVE_GUARDIAN(className) = FALSE; static DERIVE_STRUCT(className) DERIVE_STATIC_STORAGE(className); static void DERIVE_ENSURE_INTERNAL(className)(className); extern className DERIVE_ENSURE(className)(void); className DERIVE_ENSURE(className)(void) { if (DERIVE_GUARDIAN(className) == FALSE) { LockClaimGlobalRecursive(); if (DERIVE_GUARDIAN(className) == FALSE) { DERIVE_ENSURE_INTERNAL(className) (&DERIVE_STATIC_STORAGE(className)); DERIVE_GUARDIAN(className) = TRUE; } LockReleaseGlobalRecursive(); } return &DERIVE_STATIC_STORAGE(className); } extern className DERIVE_ENSURE_OLD(className)(void); className DERIVE_ENSURE_OLD(className)(void) { return DERIVE_ENSURE(className)(); } static void DERIVE_ENSURE_INTERNAL(className) (className var)AINHERIT_CLASS(this,parentName) BEGIN parentName DERIVE_LOCAL(parentName) = DERIVE_ENSURE(parentName)(); *this = *(DERIVE_LOCAL(parentName)); ProtocolClassSetSuperclassPoly(this, DERIVE_LOCAL(parentName)); ENDODEFINE_ALIAS_CLASS(className,typeName,var) typedef typeName className; typedef DERIVE_STRUCT(typeName) DERIVE_STRUCT(className); DEFINE_CLASS(className, var)VProtocolClassSig ((Sig)0x519B60C7)WProtocolInstSig ((Sig)0x519B6014)ProtocolClassSuperclassPoly(class) (((ProtocolClass)(class))->superclass)ClassOfPoly(inst) ((ProtocolInst)(inst)->class)IsSubclassPoly(sub,super) ProtocolIsSubclass((ProtocolClass)(sub), (ProtocolClass)(super))SUPERCLASS(className) ProtocolClassSuperclassPoly(DERIVE_ENSURE(className)())chain_h GenDescSig ((Sig)0x5199E4DE)+PoolGenSig ((Sig)0x519B009E);ChainSig ((Sig)0x519C8A14)XPoolGenNr(gen) ((gen)->nr)/PoolClassSig ((Sig)0x519C7A55)]PoolSig ((Sig)0x519B0019)}MFSSig ((Sig)0x5193F599)MVSig ((Sig)0x5193B999)ReservoirSig ((Sig)0x5196e599)MessageClassSig ((Sig)0x519359c1)MessageSig ((Sig)0x5193e559)SegClassSig ((Sig)0x5195E9C7)SegSig ((Sig)0x5195E999)GCSegSig ((Sig)0x5199C5E9)SegPrefSig ((Sig)0x5195E9B6)BufferClassSig ((Sig)0x519B0FC7)BufferSig ((Sig)0x519B0FFE)SegBufSig ((Sig)0x51959B0F)FormatSig ((Sig)0x519F63A2)ScanStateSig ((Sig)0x5195CA45)TraceSig ((Sig)0x51924ACE)ChunkCacheEntrySig ((Sig)0x519C80CE)ArenaClassSig ((Sig)0x519A6C1A)GlobalsSig ((Sig)0x519970BA)ArenaSig ((Sig)0x519A6E4A)%BoolCheck(b) ((unsigned)(b) <= 1)(FUNCHECK(f) (FunCheck((Fun)f))4WordIsAligned(w,a) (((w) & ((a) - 1)) == 0)7WordAlignUp(w,a) (((w) + (a) - 1) & ~((Word)(a) - 1));WordRoundUp(w,r) (((w)+(r)-1) - ((w)+(r)-1)%(r))>WordAlignDown(w,a) ((w) & ~((Word)(a) - 1))@size_tAlignUp(s,a) ((size_t)WordAlignUp((Word)(s), a))BPointerAdd(p,s) ((void *)((char *)(p) + (s)))CPointerSub(p,s) ((void *)((char *)(p) - (s)))EPointerOffset(base,limit) ((size_t)((char *)(limit) - (char *)(base)))HPointerAlignUp(p,s) ((void *)WordAlignUp((Word)(p), (Align)(s)))KAddrAdd(p,s) ((Addr)PointerAdd((void *)(p), s))LAddrSub(p,s) ((Addr)PointerSub((void *)(p), s))NAddrOffset(b,l) ((Size)(PointerOffset((void *)(b), (void *)(l))))RAddrAlignDown(p,a) ((Addr)WordAlignDown((Word)(p), a))TAlignWord(s) ((Word)(s))VAddrIsAligned(p,a) WordIsAligned((Word)(p), a)WAddrAlignUp(p,a) ((Addr)WordAlignUp((Word)(p), a))YSizeIsAligned(s,a) WordIsAligned((Word)(s), a)ZSizeAlignUp(s,a) ((Size)WordAlignUp((Word)(s), a))[SizeAlignDown(s,a) ((Size)WordAlignDown((Word)(s), a))]SizeRoundUp(s,r) ((Size)WordRoundUp((Word)(s), (Size)(r)))_IndexIsAligned(s,a) WordIsAligned((Word)(s), a)`IndexAlignUp(s,a) ((Index)WordAlignUp((Word)(s), a))aIndexAlignDown(s,a) ((Index)WordAlignDown((Word)(s), a))cAlignIsAligned(a1,a2) WordIsAligned((Word)(a1), a2)iAddrSet(target,value,size) mps_lib_memset(target, (int)(value), size)mAddrCopy(target,source,size) mps_lib_memcpy(target, source, size)qAddrComp(a,b,size) mps_lib_memcmp(a, b, size)wADDR_PTR(type,addr) ((type *)(addr))PoolArena(pool) ((pool)->arena)PoolAlignment(pool) ((pool)->alignment)PoolSegRing(pool) (&(pool)->segRing)PoolFix(pool,ss,seg,refIO) ((*(pool)->fix)(pool, ss, seg, refIO))ClassOfPool(pool) ((pool)->class)SuperclassOfPool(pool) ((PoolClass)ProtocolClassSuperclassPoly((pool)->class))DEFINE_POOL_CLASS(className,var) DEFINE_ALIAS_CLASS(className, PoolClass, var)POOL_SUPERCLASS(className) ((PoolClass)SUPERCLASS(className))TraceSetSingle(trace) BS_SINGLE(TraceSet, (trace)->ti)TraceSetIsSingle(ts) BS_IS_SINGLE(ts)TraceSetIsMember(ts,trace) BS_IS_MEMBER(ts, (trace)->ti)TraceSetAdd(ts,trace) BS_ADD(TraceSet, ts, (trace)->ti)TraceSetDel(ts,trace) BS_DEL(TraceSet, ts, (trace)->ti)TraceSetUnion(ts1,ts2) BS_UNION(ts1, ts2)TraceSetInter(ts1,ts2) BS_INTER(ts1, ts2)TraceSetDiff(ts1,ts2) BS_DIFF(ts1, ts2)TraceSetSuper(ts1,ts2) BS_SUPER(ts1, ts2)TraceSetSub(ts1,ts2) BS_SUB(ts1, ts2)TraceSetComp(ts) BS_COMP(ts)TRACE_SET_ITER(ti,trace,ts,arena) for(ti = 0, trace = ArenaTrace(arena, ti); ti < TraceLIMIT; ++ti, trace = ArenaTrace(arena, ti)) BEGIN if (TraceSetIsMember(ts, trace)) {TRACE_SET_ITER_END(ti,trace,ts,arena) } ENDTRACE_SCAN_BEGIN(ss) BEGIN Shift SCANzoneShift = (ss)->zoneShift; ZoneSet SCANwhite = (ss)->white; RefSet SCANsummary = (ss)->unfixedSummary; Word SCANt; {TRACE_FIX1(ss,ref) (SCANt = (Word)1 << ((Word)(ref) >> SCANzoneShift & (MPS_WORD_WIDTH-1)), SCANsummary |= SCANt, SCANwhite & SCANt)TRACE_FIX2(ss,refIO) ((*(ss)->fix)(ss, refIO))TRACE_FIX(ss,refIO) (TRACE_FIX1(ss, *(refIO)) ? TRACE_FIX2(ss, refIO) : ResOK)TRACE_SCAN_END(ss) } (ss)->unfixedSummary = SCANsummary; ENDDEFINE_ARENA_CLASS(className,var) DEFINE_ALIAS_CLASS(className, ArenaClass, var)ARENA_SUPERCLASS(className) ((ArenaClass)SUPERCLASS(className))ArenaGlobals(arena) (&(arena)->globals)GlobalsArena(glob) PARENT(ArenaStruct, globals, glob)ArenaRootRing(arena) (&(arena)->rootRing)ArenaTraceRing(arena) (&(arena)->traceRing)ArenaThreadRing(arena) (&(arena)->threadRing)ArenaEpoch(arena) ((arena)->epoch)ArenaTrace(arena,ti) (&(arena)->trace[ti])ArenaZoneShift(arena) ((arena)->zoneShift)ArenaAlign(arena) ((arena)->alignment)ArenaGreyRing(arena,rank) (&(arena)->greyRing[rank])ArenaReservoir(arena) (&(arena)->reservoirStruct)DEFINE_SEG_CLASS(className,var) DEFINE_ALIAS_CLASS(className, SegClass, var)SEG_SUPERCLASS(className) ((SegClass)SUPERCLASS(className))ClassOfSeg(seg) ((seg)->class)SegBase(seg) (TractBase((seg)->firstTract))SegLimit(seg) ((seg)->limit)SegPool(seg) (TractPool((seg)->firstTract))SegRankSet(seg) ((RankSet)(seg)->rankSet)SegPM(seg) ((AccessSet)(seg)->pm)SegSM(seg) ((AccessSet)(seg)->sm)SegDepth(seg) ((unsigned)(seg)->depth)SegGrey(seg) ((TraceSet)(seg)->grey)SegWhite(seg) ((TraceSet)(seg)->white)SegNailed(seg) ((TraceSet)(seg)->nailed)SegOfPoolRing(node) (RING_ELT(Seg, poolRing, (node)))SegOfGreyRing(node) (&(RING_ELT(GCSeg, greyRing, (node)) ->segStruct))SegSummary(seg) (((GCSeg)(seg))->summary)SegSetPM(seg,mode) ((void)((seg)->pm = (mode)))SegSetSM(seg,mode) ((void)((seg)->sm = (mode)))SegSetDepth(seg,d) ((void)((seg)->depth = (d)))SegSetNailed(seg,ts) ((void)((seg)->nailed = (ts)))BUFFER_RESERVE(pReturn,buffer,size,withReservoirPermit) (AddrAdd(BufferAlloc(buffer), size) > BufferAlloc(buffer) && AddrAdd(BufferAlloc(buffer), size) <= BufferAP(buffer)->limit ? (*(pReturn) = BufferAlloc(buffer), BufferAP(buffer)->alloc = AddrAdd(BufferAlloc(buffer), size), ResOK) : BufferFill(pReturn, buffer, size, withReservoirPermit))BUFFER_COMMIT(buffer,p,size) (BufferAP(buffer)->init = BufferAlloc(buffer), BufferAP(buffer)->limit != 0 || BufferTrip(buffer, p, size))BufferAP(buffer) (&(buffer)->apStruct)BufferOfAP(ap) PARENT(BufferStruct, apStruct, ap)BufferArena(buffer) ((buffer)->arena)BufferPool(buffer) ((buffer)->pool)BufferBase(buffer) ((buffer)->base)BufferGetInit(buffer) (BufferAP(buffer)->init)BufferAlloc(buffer) (BufferAP(buffer)->alloc)BufferLimit(buffer) ((buffer)->poolLimit)DEFINE_BUFFER_CLASS(className,var) DEFINE_ALIAS_CLASS(className, BufferClass, var)BUFFER_SUPERCLASS(className) ((BufferClass)SUPERCLASS(className))RankSetIsMember(rs,r) BS_IS_MEMBER((rs), (r))RankSetSingle(r) BS_SINGLE(RankSet, (r))RankSetIsSingle(r) BS_IS_SINGLE(r)RankSetUnion(rs1,rs2) BS_UNION((rs1), (rs2))RankSetDel(rs,r) BS_DEL(RankSet, (rs), (r))AddrZone(arena,addr) (((Word)(addr) >> (arena)->zoneShift) & (MPS_WORD_WIDTH - 1))RefSetUnion(rs1,rs2) BS_UNION((rs1), (rs2))RefSetInter(rs1,rs2) BS_INTER((rs1), (rs2))RefSetDiff(rs1,rs2) BS_DIFF((rs1), (rs2))RefSetAdd(arena,rs,addr) BS_ADD(RefSet, rs, AddrZone(arena, addr))RefSetIsMember(arena,rs,addr) BS_IS_MEMBER(rs, AddrZone(arena, addr))RefSetSuper(rs1,rs2) BS_SUPER((rs1), (rs2))RefSetSub(rs1,rs2) BS_SUB((rs1), (rs2))ZoneSetUnion(zs1,zs2) BS_UNION(zs1, zs2)ZoneSetInter(zs1,zs2) BS_INTER(zs1, zs2)ZoneSetDiff(zs1,zs2) BS_DIFF(zs1, zs2)ZoneSetAdd(arena,zs,addr) BS_ADD(ZoneSet, zs, AddrZone(arena, addr))ZoneSetIsMember(arena,zs,addr) BS_IS_MEMBER(zs, AddrZone(arena, addr))ZoneSetSub(zs1,zs2) BS_SUB(zs1, zs2)ZoneSetSuper(zs1,zs2) BS_SUPER(zs1, zs2)ZoneSetComp(zs) BS_COMP(zs)STATISTIC(gather) BEGIN (gather); ENDSTATISTIC_STAT(gather) BEGIN gather; ENDSTATISTIC_WRITE(format,arg) (format), (arg),LOGen ((Serial)1)LOSig ((Sig)0x51970B07)$PoolPoolLO(pool) PARENT(LOStruct, poolStruct, pool)%LOPool(lo) (&(lo)->poolStruct)0LOSegSig ((Sig)0x519705E9)> (lo)->alignShift)loAddrOfIndex(base,lo,i) (AddrAdd((base), (i) << (lo)->alignShift))poollo.cJan 17 200703:43:50LOSEGLO$Id: //info.ravenbrook.com/project/mps/master/code/poollo.c#13 $ | GAB b.S.H AB XIAB BQ. AB $ AB Fp. u.$cAB FL.x.K. AB DG. @6AB FN.$xAB FR.s. ( AB F.b.M. [. AB FQ.$hAB F\.. AB FU. \AB FZ. dAB Fq. HfAB FC. AB FJ.@ AB C AB I. GAB b.S.T AB d AB BT. AB  AB 1 &LOSegClassGet!&EnsureLOSegClass0LOPoolClassGet0EnsureLOPoolClass1mps_class_log1poolloSrcId ProtocolCoerceClassMethodMutatorFaultContextmpsVersionStringchunkPoolBlackenMethodsize_tSegClassLOPoolClassclampedArenaSpareCommitExceededMethodchunkSerialLockStructalignmentframePushpageTablePagespageTableLimitunitsPerExtentnewAlloctotalSizePoolFreeMethodtablebytesChunkCacheEntryStructsegBaseSrcIdStructMFSHeaderStructPoolAccessMethodgreyRingdetachisGensuperclassstatefoundLOReclaimblockPoolStructrampCounttypeloSegBitsshort intArenaMutatorFaultContextStructdoublemergepoolLimitfinishpoolRingBufferStructarenaRinggreySegMaxgenspoolStructArenaDescribeMethodsuperemptyInternalSizeinitIndexLockforwardedSizereservoirLimitprotocolLOPoolClassStructPoolFinishMethodLOSegClassAttrEnsureLOSegClassarenaArenaFreeMethodnextNodelong intPoolClassStructrestcoerceClassArenaClassStructclassskipWordSegSetWhiteMethodhistorywriteBarrierHitCountpageSizeheaderSizerankbuild_timemortalitymps_class_lohighTraceIdProtocolInstloSegCreateblackenAbstractCollectPoolClassloSegReclaimrampBeginPoolRampBeginMethodSizesigned charReservoirStructAddrStruct/home/hannes/dylan/mps/codesingleScanCountreservoirPermitprotocolGetLOPoolClassspacefreewalkextendsetRankSetProtocolInstStructSegFinishMethodrememberedSummaryRingprotocolLOSegClassStructspanPoolStructLOSegStructPoolBufferClassMethodpointlessScanCounttractListglobalsRingGCSegStructPoolDescribeMethodFormatSkipMethodcopiedSizeFormatScanMethodSegStructmarkedvarietyflippedTracesBufferFinishMethodfoundationdescribecommittedLOFinishcapacityScanStateStructwhiteSegRefCountrootScanSizethissummaryattrsnapCountEpochrememberedSummaryIndexLOFixreclaimSizePoolStructlReturnSegSetRankSummaryMethodpreservedInPlaceSizenodeArenaInitMethodFormatPadMethodfirstTractmayMovefilesegStructpagesgcSegStructlimitpoollo.ctraceIndexthreadRingPoolFramePushMethodArenaChunkFinishMethodreserveobjectbufferbusyTracesPoolAllocMethodmoveArenaExtendMethodratecoerceInstunroundedUnitSizemps_lib_stream_ssegRefCountrootRingbufferFillGCSegClasssetRankSummaryAddrChunkStructfixRefCountLOSegCheckframeptrLOCheckshDepthprotocolLOSegClassGuardiantracesrootScanCountisCollectedenabledArenaAllocMethodprotocolLOPoolClassGuardianrefIOprotocolAbstractCollectPoolClasslwPopPendinglong unsigned intallocBase__va_listformatextendByavgSizeAllocFrameStructglobalRingchunkRinggreyPoollosegfillMutatorSizePagetablesizePageStructpoolReadyproflowchunkFinishserialBufferFormatCopyMethodBootBlockStructmarkLOSegClassGetBoolargsbufferLoggingreservoirStructPoolDebugMixinMethodFormatagrainsTraceStructProtocolClassMVStruct__uint32_tProtocolCoerceInstMethodSegSetSummaryMethodprotocollong long intsegCopiedSizeva_listLOStructLOPoolClassGetTraceSetBufferAttachMethodCountshCachePoolGreyMethodPoolBufferFillMethodSerialthreadSerialreclaimdepthinitfillSizeTracehasSegspareCommitExceededBufferClassStructnailedRefSetPoolDebugMixinscmidcontrolPoolStructsetGreyshCacheLimitPoolFramePopPendingMethodScanStateallocTractStructSegSplitMethodunitSizeunsigned intBufferReassignSegMethodGlobalsStructbufferSerialPoolInitMethodLOInitattachrankSetpageShiftfailCreatewhitengenRingfinalPoolBufferRankSetMethodSegPrefStructbitsPoolFixMethodsegRingPoolBufferEmptyMethodMFSStructzonesprimaryBufferModeLOBufferEmptybufferEmptyoffsetPoolWhitenMethodChainStructloSegReturnprehistoryFileSrcIdStructSegInitMethodreclaimCountZoneSetunsigned charSegSetGreyMethodGNU C 3.4.6 [FreeBSD] 20060305FormattedObjectsStepMethodSegClassStruct__size_tfixedSummarycharTraceStatereadBarrierHitCountwalkArenaChunkInitMethodpoolloSrcIdsizeclientRefAlignfreeListwithReservoirPermitpreservedInPlaceCountlastTractrootCopiedSizeLOWalkscansetWhiteLOPoolClassStructfixEmergencyformatRingsegScanSizeRingStructcommitLimitbaseReturnLOWhitenPoolGenStructtracedSizeisMovedlong long unsigned intSrcIdinsideShieldSegSetBufferMethodRankzoneShiftTraceFixMethodlocusRingpoolbufferRinglimitIndexformatSerialPoolDebugMixinStructfailAllocTabledebugMixinloSegInitfailMarkTablerampEndPoolClassgenCountinitAtFliploGenParampageTablepoolSerialFormatIsMovedMethodPoolRampEndMethodPoolFramePopMethodchunkInitBufferSegMethodmaxSizereservoirSizeSegMergeMethodPoolReclaimMethodsetBuffercopyallocMutatorSizenewSizepgentracedTimeBufferClassloSegFreerootSerialChainreassignSegframePopactiveTracesemptyMutatorSizePoolFreeWalkMethodEnsureLOPoolClassBufferInitMethodLOSegtopGenfailGenInitsuspendedGenDescStructFormatClassMethodnameallocTableBufferDetachMethodlastTractBaseapStructSegSetRankSetMethodFreeBlockStepMethodAllocFrameShiftchainunfixedSummaryGenParamStructlostbReturnnotCondemnedtractStructmodeRankSetshCacheIfillInternalSizealignShiftFormatMoveMethodBufferDescribeMethodmps_class_smps_class_tisMutatorlastWorldCollectsegPrefStructasizesingleScanSizespareCommittedLOBufferFillSegPrefspanspollThresholdmessageRingLOSegClassStructlabelledframePopPendingchunkCacheemptySizeloSegFinishPoolFixEmergencyMethodbuild_dateepochnailCountArenaClassprotocolGetLOSegClassAPStructwhitesplitcondemnedisFinalPoolemergencySegBufferMethodfreechainRingwasMarkedFormatVarietyAccessSetenabledMessageTypesshort unsigned intloSegFindFreeforwardedCountbasebytesReclaimedArenaStructbaseIndexsetSummarymps_lib_FILEBufferSetRankSetMethodSegDescribeMethodaccessgreySegCountlimitReturnsegScanCountChunknextArenaReservedMethodPoolScanMethodsingleCopiedSizeBootBlockinsidePollreservedprotocolGCSegClassPoolWalkMethodbufferClassProtocolClassStructprevpageTableBaseFormatStructscannedSizelockArenaFinishMethodTractspareCommitLimitGCC: (GNU) 3.4.6 [FreeBSD] 20060305.symtab.strtab.shstrtab.rel.text.rel.data.bss.debug_abbrev.rel.debug_info.rel.debug_line.debug_macinfo.rodata.str1.1.rodata.str1.4.rel.rodata.rel.debug_frame.rel.debug_pubnames.rel.debug_aranges.debug_str.comment4  x)T % (/  4 FZ1B 0V@ER  b_C q2i'2A  0    0%*      5 LNXId ncz  @6x h \dHf@  4Nd e myGH *2<O^mv GT &BWbp{ poollo.cFileSrcIdStructprotocolLOSegClassGuardianprotocolLOSegClassStructprotocolGetLOSegClassloSegInitloSegFinishLOSegCheckloSegBitsloSegFreeloSegFindFreeloSegCreateloSegReclaimLOWalkloGenParam.0LOInitLOFinishLOBufferFillLOBufferEmptyLOWhitenLOFixLOReclaimprotocolLOPoolClassGuardianprotocolLOPoolClassStructprotocolGetLOPoolClassLOCheckpoolloSrcIdLOSegClassGetLockClaimGlobalRecursiveLockReleaseGlobalRecursiveEnsureLOSegClassGCSegClassGetmemcpySegClassMixInNoSplitMergeControlAllocBTResRangeBTSetRangeControlFreeSegSizeSegBufferBTFindLongResRangeSegPrefDefaultSegPrefExpressSegAllocPoolGenUpdateZonesBufferScanLimitSegSetWhiteSegFreeSizeLog2ChainCreatePoolGenInitChainDestroyPoolGenFinishBufferSegBTCopyInvertRangeLOPoolClassGetEnsureLOPoolClassAbstractCollectPoolClassGetPoolClassMixInFormatPoolNoGreyPoolNoBlackenPoolNoScanmps_class_lo,!,9-AO+a/o0z1 +2>2[3k45655 +/6X3e4768/9U:d:w.;<70=@=C>W?677==@ABC,?CDNC4UE76F6& >  ," - 8 E -M [ Gm I~ 0 J       K L M     H  (!(%(*(1(8(?(M(X(_(f(m(t({(((((((((((((($(2(L(W(s(~(((((((((((((($(/(:(E(P(k(|(((((((((((&(5(D(S(b(q((((((((((((4(C(R(q((((((((((((-(<(K(Z(i(x((((((((((#(1(?(M([(i(w(((((((((((!(/(=(K(Y(g(u((((((((((((+(9(G(U(c(q((((((( ( ( (- (< (K (Z (i (x ( ( ( ( ( ( ( ( ( ( ( (, (; (J (Y (h (w ( ( ( ( ( ( ( ( ( ( (/ (> (\ (k (z ( ( ( ( ( ( ( ( ( ( ( (. (= (M (b (x ( ( ( ( ( ( ( ( ( ( (' (< (R (` (n (| ( ( ( ( ( ( ( ( ( ((%(4(C(R(b(w(((((((*(<(N(`(w((((((((((( (.(<(J(X(f(t(((((((((((-(L(a(i(x((((((((((((,(K(`(i(x(((((((((((%(5(E(U(e(u(((((((((((%(5(E(U(e(u(((((((((((%(J(a(p(((((((((((($(3(B(Q(`(p((((((((((((9(V(w(((((;(X(((( (G(d(((((((?(e(((((((3(T(u((((("(R(y((((?(f((((( (0(R(((((-(D(j((((( ( (1 (< (Q (Y (g (v ( ( ( ( ( ( ( ( ( !(!((!(7!(L!(b!(q!(!(!(!(!(!("("(,"(:"(H"(V"(d"(s"("("("("("("("("(#(#(#(-#(;#(I#(W#(e#(s#(#(#(#(#(#(#(#(#(#( $($(*$(I$(T$(_$(j$(v$($($($($($(%( %(.%(J%(X%(v%(%(%(%(%(%(%(%(&( &(&&#&(.&2&=&(D&H&O&(\&`&e&(x&(&&&(&(&&&(&(&(&(&( '('(>'(K'(Y'(s'(y'~'(''('''('('('('('(((((((7((I((P(T([((h((u(((((((((((((((((()()()(,)(>)(J)N)U)(c)(r)()()()()(*( * **(#*(>*(M*(\*(k*(*(*(*(***(**+(++"+(g+(+(+(+(+++(+(+++( ,(,,#,(@,([,(w,(,,(,,(,,,(,(,(,,,( -(--$-(2-(@-(O-(^-(l-(-(-(-(-(-(-(-(--(-. ..#.(.(6.(D.(X.(`.d.k.(z.(.(.(.(.(.(.(.(/(/(/(+///6/(D/(k/(y/}//(/(///(/(/(0(0(0 070(?0C0J0(Y0(0(0(0(0(000(000(000(011(1("1&111(=1A1W1(c1 h1(u1*z1(11(11(11(1    %8%<P%Tp%t%%%%% D%Hp%t%%%%(%,L%Pp%t%%%%%% poolsnc.o/ 1169001830 1001 1001 100644 71320 ` ELF \4(UÉUE@lÐUU EPlÉUS]e@uu SP…uClCpLQЋ]ÉUS]jSsCp[Q@$P]ÐU=u1=u h .v ÐUÍvUWVE}UBBBtB(Bl^_ÉUÉUS]=@uuuuu SP …uC0C4YLQЋ]ÐU=u1=u h`.v`ÐUÍvUVS]ƃjLPSs$C&C8CHe[^ÉUVSu] VC0$Ve[^UVSu] jS jjSFXC0^Xe[^ÐUWVS }uu m9tX0@0PW؃9uVu Je[^_ÉUWVS }E XXtB S9r(u C0U BXC0F0C0Eދ[0ue[^_ÉUWVS ]E C0CXƍ{\CtLuQ [^_ÍvUVSEp$@$9t P؋9ue[^ÉUWVS]}uVSEPu;C \T!ƒuSRC\PPEP …uz Wu!jWPujWPuuWjWMAPEQE Ѝe[^_ÐUWVS] }uSEjS[ ])t/uuE@0SWP0uue[^_UWVS} ]E@0ECpSt S$Ã[9s!SVWURtUv)GPEe[^_ÍvUVSu] Su Se[^ÉUÉUWVS u} EuuVW jWuswÃPv EPu9uSWBVW uWu$SEp@pWjWe[^_ÍvUWVS }u Fu[FX Vt V$ƃv9s% uuWw0SUG0SP 9r܍e[^_U=u1=u h.vÐUÍvUVS]ƃhPSs$C-CxCC DC$C0C4CH C`CdChClCte[^ÐUÍvUC% $ > $ > : ; I I<  &I  : ; : ; I8 : ; I : ;I8 : ;I8  : ; I8  : ; I 8  : ;I 8  : ;I 8  : ; ' II' ' I : ;  : ;  : ; I: ;II!I/ .: ; ' I@ : ; I 4: ; I .: ; ' @ !: ; I "4: ; I #4: ; I $4: ; I%.: ; ' I@ &.? : ; ' I@ ' (.: ;' I@ ).? : ;' I@ *.: ;' @ +: ;I ,4: ;I -: ;I ..: ;' I@ /4: ;I04: ;I 1 : ;24: ;I34: ; I?  /rKuint 8W 8  _L | o7zT .  E3" @M" $@# o %@# &@# '@# FJV Sigl ResEv l "gF#r $r%rR&rE'W (W Ref)}Y ,rm-rY.W/W12Wn 3W 4W5W6W7W BT:dr;u{x ` < .`< sigs\# \t# Y u# v# wY# %x # y# ~z# {s#$ |s#, }}#4 !~}#8 \$#< }#T #X W#\= l= h$# K #` seg#d sig\#h> @ @> / DB"# E@# MF# G# HI# D If# J#$ GK(#( segL#, K M#0 N#4 ?O#8 sigP\#< @ AWdBW RqC a}# b}# c}#  d}# P e# f# D]c Bg<D sig\# Y # O# # ; # # # b% # RF #$ h #( s #, pad~ #0 \ #4 #8FMS Gdj IXGsig`\# Y a# \bI# c# ;d # e # !f# g #$ h#, iR#0fixj2#4  ks#8 als#@ ms#H zns#PHTZ  H / 2B"# 3@# M4# 5# 6D# 7N# 8t#$ 9#( :#, ;#0 <"#4 =N#8 ] >#<  ?#@ @#D A#HfixB2#L Cb#P Dm#T (Ex#X F#\ G#` KH#d I#h *JD#l Ku#p 5L#t GM#x N#|  O#sigP\#MI O1 7 c O sig\# ti# # z# # .# # K # # e#$ <#( #, #0 E#4 6 #8 #< #@ #D #H F #L #P W#T #X  #\ #` s#d K#h #l #p e #t  #x  #| u # K # `# # Pn t cTP fix# ^r# z# Q# sig\# # / ## # # #$  #( #, s#0 K#4 #8 #< #@ u#D K#H #L t#P9Q  . +Qsig>\# ?# @ # TA## B# PC"#R9 ? R Y#p# }#z##  W# S  j 8Ssig\# Y # #  # # S # }# }# #$ #( Z#, 7J!#0 #4 7T sig\# L # }# }# h# #+ U 0 Utheh !# SegV V sig\# \:# . # %  #  }#  W#pm 9#sm 9# ##z##R ##K # :0W ,$# z # #$ 0 #( sig!\#,vXEK 8LX / B"# @# M# |# # ?I# 0k#$ #( #, #0 #4 "#8 G#< #@ #Dsig\#HY:uZNT  Z sig0\# 1# 2# D 3# 4# gen5#f\ 4H\ / &B"# '$# M(# )# *w# +# ,#$ , -#( .#, /#0 0]#4 1#8 M 2#< G3#@ sig4\#D^"(^ o$# Y p#t \r#x ; t#| u u $# w$# Py# z# f|# .}# ^# # . # }#  #  # # $# "#  # #  # Z# # v Y#  # # 9# $# # # ' # # 7## ## $# s# s# "r# z$# #  # E # 7# $# sig\#  t_ sigB\# ,E # FB# Is# J# K#  Ls# aMs#( Ns#0 Os#8 zPs#@ ;S@#H V#L %Y #P AZ#X ] #\ .^#d *a #h d#p'd` e:g  wWhh U"# !. #X #\ #`sig\#dengopqurg}X t'-QgQWCY}. uhn}Y/vg j w `xgKvgc *0P}RYl&[a|}}YRgY}#{ "3-3I TZkv|Fngg}}} )/IgY)TZfw qw}}}T W (39Ng' Y_tgYYBgQYY} "gQQY -3NY}}iY_gY}9ȎgY&  ɹY& RY# ,g,c Y =CbgYc .=ѹ2҃Y`ӪYgY rgY  (.DY &OUuYlr݀YPOާ߾gY Y  % gc }}0 6 F }}Q W h }}L0 g Q u   }0     # U #  ?  !g eY# fE#?!hrc g 0 i?! \[!a! !A\sig}\# ~P!# !# ("# a!! !asig\# \P!# m!! " "!P!!x"""<"<"P!P!P!Aa! "$sig\# # Z # !s# E "s# # #$M""QZoj R# t U"# #X #\ #` r#d XX##h x. #lsig\#pYR# " $ ` U"# ^##X @^## # # # # `#  #sig\# i#W$K" 6T@ Qqg. 7 7j e$$$$ $ /%x % U &"#  '#X 3 (D$#\sig )\#t SNC *:%$ HK%Q% %t H  Kt$#  L#lsig M\#p% Y U X@% Z%# i U0 hP j@% +& u&U0 tP!seg tR v@%& g(jU0 S Y   @%"res gP# P & lU0 S#t P @%$snc /% Y \ P$%g U& &U f'E :U\ &'# t q'w' 'Z8  8$#  f'#0sig \#4' <FU f'm( gHU!seg  Y  }M   #t :P# f'S"res gP : !$( EU)d m(U*( .U+\ m(S' , 8V*&) 0TU+0 V-seg S*Z)U TU-snc /%V-seg S*) 1U-snc 0/%W-buf 0 + 0V, 2P', <S.&*  NBU+ M&*P-snc M/% +M MW, OS, PV.* mgDU+ lYS-arg l /snc n/%, oRP** U+ YP/snc /%,  V,`  P,  S'0seg P.+6 gU+, QP+ QP+ YS+0 W+M V+a /snc /%, P0res gP0seg p,A R1 *=,  U+ YP+0 S+ }W+ }V/snc /%0seg p, l,M S.,$ g U+ ,-ss c W+ YP-seg S, }V, }S, Rp/snc /%0res gP.+- gU+ V+ Y -buf S, P.t- 1gU+ 0Y-buf 0 + 0 *. ?U+ >YV-buf >W+ > P, @}S0snc A/%l'2 P0seg Qp2 R*. kU+ iYW-seg iV-f i-p j-s jl' ,) t}S, u}P, v}V/snc w/%2 xR! I} ")G .[U) .\iU*1/ lU+ .S't,W  V)  U.t/D U-snc /%#B 3 # # & , , y(`,i , . /usr/include/usr/include/sys/usr/include/machinempscsnc.hmps.hstddef.hcdefs.h_null.h_types.h_types.hstdarg.hlimits.hlimits.h_limits.hsyslimits.hmpm.hconfig.hmpstd.hmisc.hcheck.hmpslib.hevent.heventcom.hmpmtypes.heventgen.hlock.hth.hring.hss.htract.hbt.hmpmst.hprotocol.hchain.hpoolsnc.c  9>d?@M :*KrtV tdhcBcrrrr@w?V:*JrsVcBcVrrrwd:  `:r dUtUHerVs,tV X:tv:;"::*LԀV%?g- gIO,;֮d c?R:gcBcrrrrrrrrrrrrrdV[ 9__STDC_HOSTED__ 1__GNUC__ 3__GNUC_MINOR__ 4__GNUC_PATCHLEVEL__ 6__SIZE_TYPE__ unsigned int__PTRDIFF_TYPE__ int__WCHAR_TYPE__ int__WINT_TYPE__ unsigned int __GXX_ABI_VERSION 1002 __SCHAR_MAX__ 127 __SHRT_MAX__ 32767 __INT_MAX__ 2147483647 __LONG_MAX__ 2147483647L__LONG_LONG_MAX__ 9223372036854775807LL__WCHAR_MAX__ 2147483647__CHAR_BIT__ 8__FLT_EVAL_METHOD__ 2__FLT_RADIX__ 2__FLT_MANT_DIG__ 24__FLT_DIG__ 6__FLT_MIN_EXP__ (-125)__FLT_MIN_10_EXP__ (-37)__FLT_MAX_EXP__ 128__FLT_MAX_10_EXP__ 38__FLT_MAX__ 3.40282347e+38F__FLT_MIN__ 1.17549435e-38F__FLT_EPSILON__ 1.19209290e-7F__FLT_DENORM_MIN__ 1.40129846e-45F__FLT_HAS_INFINITY__ 1__FLT_HAS_QUIET_NAN__ 1__DBL_MANT_DIG__ 53 __DBL_DIG__ 15!__DBL_MIN_EXP__ (-1021)"__DBL_MIN_10_EXP__ (-307)#__DBL_MAX_EXP__ 1024$__DBL_MAX_10_EXP__ 308%__DBL_MAX__ 1.7976931348623157e+308&__DBL_MIN__ 2.2250738585072014e-308'__DBL_EPSILON__ 2.2204460492503131e-16(__DBL_DENORM_MIN__ 4.9406564584124654e-324)__DBL_HAS_INFINITY__ 1*__DBL_HAS_QUIET_NAN__ 1+__LDBL_MANT_DIG__ 53,__LDBL_DIG__ 15-__LDBL_MIN_EXP__ (-16381).__LDBL_MIN_10_EXP__ (-4931)/__LDBL_MAX_EXP__ 163840__LDBL_MAX_10_EXP__ 49321__DECIMAL_DIG__ 172__LDBL_MAX__ 1.1897314953572316e+4932L3__LDBL_MIN__ 3.3621031431120935e-4932L4__LDBL_EPSILON__ 2.2204460492503131e-16L5__LDBL_DENORM_MIN__ 7.4653686412953080e-4948L6__LDBL_HAS_INFINITY__ 17__LDBL_HAS_QUIET_NAN__ 18__REGISTER_PREFIX__ 9__USER_LABEL_PREFIX__ :__VERSION__ "3.4.6 [FreeBSD] 20060305";__OPTIMIZE__ 1<__FINITE_MATH_ONLY__ 0=__STRICT_ANSI__ 1@__i386 1A__i386__ 1B__tune_i386__ 1C__FreeBSD__ 6D__unix 1E__unix__ 1F__KPRINTF_ATTRIBUTE__ 1J__FreeBSD_cc_version 602001K__ELF__ 1_REENTRANT 1CONFIG_PROD_DYLAN 1CONFIG_VAR_HI 1NDEBUG 1mpscsnc_h   mps_h '_STDDEF_H_ )%_SYS_CDEFS_H_ +__BEGIN_DECLS ,__END_DECLS 8__GNUCLIKE_ASM 39__GNUCLIKE_MATH_BUILTIN_CONSTANTS =__GNUCLIKE___TYPEOF 1>__GNUCLIKE___OFFSETOF 1?__GNUCLIKE___SECTION 1A__GNUCLIKE_ATTRIBUTE_MODE_DI 1D__GNUCLIKE_CTOR_SECTION_HANDLING 1G__GNUCLIKE_BUILTIN_CONSTANT_P 1N__GNUCLIKE_BUILTIN_VARARGS 1O__GNUCLIKE_BUILTIN_STDARG 1P__GNUCLIKE_BUILTIN_VAALIST 1T__GNUC_VA_LIST_COMPATIBILITY 1X__GNUCLIKE_BUILTIN_NEXT_ARG 1Y__GNUCLIKE_MATH_BUILTIN_RELOPS \__GNUCLIKE_BUILTIN_MEMCPY 1___CC_SUPPORTS_INLINE 1`__CC_SUPPORTS___INLINE 1a__CC_SUPPORTS___INLINE__ 1c__CC_SUPPORTS___FUNC__ 1d__CC_SUPPORTS_WARNING 1f__CC_SUPPORTS_VARADIC_XXX 1h__CC_SUPPORTS_DYNAMIC_ARRAY_INIT 1k__CC_INT_IS_32BIT 1s__GNUC_PREREQ__(ma,mi) (__GNUC__ > (ma) || __GNUC__ == (ma) && __GNUC_MINOR__ >= (mi))__P(protos) protos__CONCAT1(x,y) x ## y__CONCAT(x,y) __CONCAT1(x,y)__STRING(x) #x__XSTRING(x) __STRING(x)__const const__signed signed__volatile volatile__dead2 __attribute__((__noreturn__))__pure2 __attribute__((__const__))__unused __attribute__((__unused__))__used __attribute__((__used__))__packed __attribute__((__packed__))__aligned(x) __attribute__((__aligned__(x)))__section(x) __attribute__((__section__(x)))__pure __attribute__((__pure__))__always_inline __attribute__((__always_inline__))__nonnull(x) __attribute__((__nonnull__(x)))__restrict __predict_true(exp) __builtin_expect((exp), 1)__predict_false(exp) __builtin_expect((exp), 0)__offsetof(type,field) ((size_t)(&((type *)0)->field))__rangeof(type,start,end) (__offsetof(type, end) - __offsetof(type, start))__printflike(fmtarg,firstvararg) __attribute__((__format__ (__printf__, fmtarg, firstvararg)))__scanflike(fmtarg,firstvararg) __attribute__((__format__ (__scanf__, fmtarg, firstvararg)))__format_arg(fmtarg) __attribute__((__format_arg__ (fmtarg)))__printf0like(fmtarg,firstvararg) __attribute__((__format__ (__printf0__, fmtarg, firstvararg)))__strong_reference(sym,aliassym) extern __typeof (sym) aliassym __attribute__ ((__alias__ (#sym)));__weak_reference(sym,alias) __asm__(".weak " #alias); __asm__(".equ " #alias ", " #sym)__warn_references(sym,msg) __asm__(".section .gnu.warning." #sym); __asm__(".asciz \"" msg "\""); __asm__(".previous")__IDSTRING(name,string) __asm__(".ident\t\"" string "\"")__FBSDID(s) __IDSTRING(__CONCAT(__rcsid_,__LINE__),s)__RCSID(s) __IDSTRING(__CONCAT(__rcsid_,__LINE__),s)__RCSID_SOURCE(s) __IDSTRING(__CONCAT(__rcsid_source_,__LINE__),s)__SCCSID(s) __IDSTRING(__CONCAT(__sccsid_,__LINE__),s)__COPYRIGHT(s) __IDSTRING(__CONCAT(__copyright_,__LINE__),s)__DECONST(type,var) ((type)(uintptr_t)(const void *)(var))__DEVOLATILE(type,var) ((type)(uintptr_t)(volatile void *)(var))__DEQUALIFY(type,var) ((type)(uintptr_t)(const volatile void *)(var))__POSIX_VISIBLE 200112__XSI_VISIBLE 600__BSD_VISIBLE 1__ISO_C_VISIBLE 1999* NULL ((void *)0)+_SYS__TYPES_H_ !(_MACHINE__TYPES_H_ .__NO_STRICT_ALIGNMENT __GNUC_VA_LIST 2_RUNE_T_DECLARED 8_SIZE_T_DECLARED >_WCHAR_T_DECLARED Boffsetof(type,member) __offsetof(type, member)'_MACHINE_STDARG_H_ -_VA_LIST_DECLARED 3va_start(ap,last) __builtin_stdarg_start((ap), (last))6va_arg(ap,type) __builtin_va_arg((ap), type):va_copy(dest,src) __builtin_va_copy((dest), (src))>va_end(ap) __builtin_va_end(ap) &_LIMITS_H_ +_POSIX_ARG_MAX 4096,_POSIX_CHILD_MAX 25-_POSIX_LINK_MAX 8._POSIX_MAX_CANON 255/_POSIX_MAX_INPUT 2550_POSIX_NAME_MAX 141_POSIX_NGROUPS_MAX 82_POSIX_OPEN_MAX 203_POSIX_PATH_MAX 2564_POSIX_PIPE_BUF 5125_POSIX_SSIZE_MAX 327676_POSIX_STREAM_MAX 87_POSIX_TZNAME_MAX 69BC_BASE_MAX 99:BC_DIM_MAX 2048;BC_SCALE_MAX 99EXPR_NEST_MAX 32?LINE_MAX 2048@RE_DUP_MAX 255B_POSIX2_BC_BASE_MAX 99C_POSIX2_BC_DIM_MAX 2048D_POSIX2_BC_SCALE_MAX 99E_POSIX2_BC_STRING_MAX 1000F_POSIX2_EQUIV_CLASS_MAX 2G_POSIX2_EXPR_NEST_MAX 32H_POSIX2_LINE_MAX 2048I_POSIX2_RE_DUP_MAX 255M_POSIX_AIO_LISTIO_MAX 16N_POSIX_AIO_MAX 1O_POSIX_DELAYTIMER_MAX 32P_POSIX_MQ_OPEN_MAX 8Q_POSIX_MQ_PRIO_MAX 32R_POSIX_RTSIG_MAX 8S_POSIX_SEM_NSEMS_MAX 256T_POSIX_SEM_VALUE_MAX 32767U_POSIX_SIGQUEUE_MAX 32V_POSIX_TIMER_MAX 32Z_POSIX_THREAD_DESTRUCTOR_ITERATIONS 4[_POSIX_THREAD_KEYS_MAX 128\_POSIX_THREAD_THREADS_MAX 64`_POSIX_HOST_NAME_MAX 255a_POSIX_LOGIN_NAME_MAX 9b_POSIX_SS_REPL_MAX 4c_POSIX_SYMLINK_MAX 255d_POSIX_SYMLOOP_MAX 8e_POSIX_TRACE_EVENT_NAME_MAX 30f_POSIX_TRACE_NAME_MAX 8g_POSIX_TRACE_SYS_MAX 8h_POSIX_TRACE_USER_EVENT_MAX 32i_POSIX_TTY_NAME_MAX 9j_POSIX2_CHARCLASS_NAME_MAX 14k_POSIX2_COLL_WEIGHTS_MAX 2m_POSIX_RE_DUP_MAX _POSIX2_RE_DUP_MAXq_XOPEN_IOV_MAX 16r_XOPEN_NAME_MAX 255s_XOPEN_PATH_MAX 1024tPASS_MAX 128vNL_ARGMAX 99wNL_LANGMAX 31xNL_MSGMAX 32767yNL_NMAX 1zNL_SETMAX 255{NL_TEXTMAX 2048~MB_LEN_MAX 6 !_SYS_LIMITS_H_ $ "_MACHINE__LIMITS_H_ /__CHAR_BIT 81__SCHAR_MAX 0x7f2__SCHAR_MIN (-0x7f - 1)4__UCHAR_MAX 0xff6__USHRT_MAX 0xffff7__SHRT_MAX 0x7fff8__SHRT_MIN (-0x7fff - 1):__UINT_MAX 0xffffffffU;__INT_MAX 0x7fffffff<__INT_MIN (-0x7fffffff - 1)D__ULONG_MAX 0xffffffffULE__LONG_MAX 0x7fffffffLF__LONG_MIN (-0x7fffffffL - 1)J__ULLONG_MAX 0xffffffffffffffffULLK__LLONG_MAX 0x7fffffffffffffffLLL__LLONG_MIN (-0x7fffffffffffffffLL - 1)N__SSIZE_MAX __INT_MAXP__SIZE_T_MAX __UINT_MAXR__OFF_MAX __LLONG_MAXS__OFF_MIN __LLONG_MINV__UQUAD_MAX __ULLONG_MAXW__QUAD_MAX __LLONG_MAXX__QUAD_MIN __LLONG_MIN]__LONG_BIT 32___WORD_BIT 32&CHAR_BIT __CHAR_BIT(SCHAR_MAX __SCHAR_MAX)SCHAR_MIN __SCHAR_MIN+UCHAR_MAX __UCHAR_MAX1CHAR_MAX SCHAR_MAX2CHAR_MIN SCHAR_MIN5USHRT_MAX __USHRT_MAX6SHRT_MAX __SHRT_MAX7SHRT_MIN __SHRT_MIN9UINT_MAX __UINT_MAX:INT_MAX __INT_MAX;INT_MIN __INT_MIN=ULONG_MAX __ULONG_MAX>LONG_MAX __LONG_MAX?LONG_MIN __LONG_MINHSSIZE_MAX __SSIZE_MAXLSIZE_T_MAX __SIZE_T_MAXNOFF_MAX __OFF_MAXOOFF_MIN __OFF_MINSGID_MAX UINT_MAXTUID_MAX UINT_MAXVUQUAD_MAX (__UQUAD_MAX)WQUAD_MAX (__QUAD_MAX)XQUAD_MIN (__QUAD_MIN)\LONG_BIT __LONG_BIT]WORD_BIT __WORD_BIT "_SYS_SYSLIMITS_H_ 4ARG_MAX 2621447CHILD_MAX 409LINK_MAX 32767:MAX_CANON 255;MAX_INPUT 255 (sac)->mps_middle) { _mps_i = 0; while (_mps_s > (sac)->mps_freelists[_mps_i].mps_size) _mps_i += 2; } else { _mps_i = 1; while (_mps_s <= (sac)->mps_freelists[_mps_i].mps_size) _mps_i += 2; } if ((sac)->mps_freelists[_mps_i].mps_count != 0) { (p_o) = (sac)->mps_freelists[_mps_i].mps_blocks; (sac)->mps_freelists[_mps_i].mps_blocks = *(mps_addr_t *)(p_o); --(sac)->mps_freelists[_mps_i].mps_count; (res_o) = MPS_RES_OK; } else (res_o) = mps_sac_fill(&(p_o), sac, _mps_s, has_reservoir_permit); MPS_ENDMPS_SAC_FREE_FAST(sac,p,size) MPS_BEGIN size_t _mps_i, _mps_s; _mps_s = (size); if (_mps_s > (sac)->mps_middle) { _mps_i = 0; while (_mps_s > (sac)->mps_freelists[_mps_i].mps_size) _mps_i += 2; } else { _mps_i = 1; while (_mps_s <= (sac)->mps_freelists[_mps_i].mps_size) _mps_i += 2; } if ((sac)->mps_freelists[_mps_i].mps_count < (sac)->mps_freelists[_mps_i].mps_count_max) { *(mps_addr_t *)(p) = (sac)->mps_freelists[_mps_i].mps_blocks; (sac)->mps_freelists[_mps_i].mps_blocks = (p); ++(sac)->mps_freelists[_mps_i].mps_count; } else mps_sac_empty(sac, p, _mps_s); MPS_ENDMPS_SAC_ALLOC(res_o,p_o,sac,size,has_reservoir_permit) MPS_SAC_ALLOC_FAST(res_o, p_o, sac, size, has_reservoir_permit)MPS_SAC_FREE(sac,p,size) MPS_SAC_FREE_FAST(sac, p, size)mps_reserve(_p_o,_mps_ap,_size) ((char *)(_mps_ap)->alloc + (_size) > (char *)(_mps_ap)->alloc && (char *)(_mps_ap)->alloc + (_size) <= (char *)(_mps_ap)->limit ? ((_mps_ap)->alloc = (mps_addr_t)((char *)(_mps_ap)->alloc + (_size)), *(_p_o) = (_mps_ap)->init, MPS_RES_OK) : mps_ap_fill(_p_o, _mps_ap, _size))MPS_RESERVE_BLOCK(_res_v,_p_v,_mps_ap,_size) MPS_BEGIN char *_alloc = (char *)(_mps_ap)->alloc; char *_next = _alloc + (_size); if(_next > _alloc && _next <= (char *)(_mps_ap)->limit) { (_mps_ap)->alloc = (mps_addr_t)_next; (_p_v) = (_mps_ap)->init; (_res_v) = MPS_RES_OK; } else (_res_v) = mps_ap_fill(&(_p_v), _mps_ap, _size); MPS_ENDMPS_RESERVE_WITH_RESERVOIR_PERMIT_BLOCK(_res_v,_p_v,_mps_ap,_size) MPS_BEGIN char *_alloc = (char *)(_mps_ap)->alloc; char *_next = _alloc + (_size); if(_next > _alloc && _next <= (char *)(_mps_ap)->limit) { (_mps_ap)->alloc = (mps_addr_t)_next; (_p_v) = (_mps_ap)->init; (_res_v) = MPS_RES_OK; } else (_res_v) = mps_ap_fill_with_reservoir_permit(&(_p_v), _mps_ap, _size); MPS_ENDmps_commit(_mps_ap,_p,_size) ((_mps_ap)->init = (_mps_ap)->alloc, (_mps_ap)->limit != 0 || mps_ap_trip(_mps_ap, _p, _size))MPS_SCAN_BEGIN(ss) MPS_BEGIN mps_ss_t _ss = (ss); mps_word_t _mps_w0 = (_ss)->w0; mps_word_t _mps_w1 = (_ss)->w1; mps_word_t _mps_w2 = (_ss)->w2; mps_word_t _mps_wt; {MPS_FIX1(ss,ref) (_mps_wt = 1uL << ((mps_word_t)(ref) >> _mps_w0 & (sizeof(mps_word_t) * CHAR_BIT - 1)), _mps_w2 |= _mps_wt, _mps_w1 & _mps_wt)MPS_FIX2(ss,ref_io) ((*(ss)->fix)(ss, ref_io))MPS_FIX12(ss,ref_io) (MPS_FIX1(ss, *(ref_io)) ? MPS_FIX2(ss, ref_io) : MPS_RES_OK)MPS_FIX(ss,ref_io) MPS_FIX12(ss, ref_io)MPS_FIX_CALL(ss,call) MPS_BEGIN (call); _mps_w2 |= (ss)->w2; MPS_ENDMPS_SCAN_END(ss) } (ss)->w2 = _mps_w2; MPS_END  mpm_h config_h !CONFIG_DEBUG "CHECK_DEFAULT CheckNONE6CHECK_NONE 7MPS_ASSERT_STRING "nonasserted"?EVENT_NONE @MPS_LOG_STRING "nonlogging"EDIAGNOSTICS FMPS_DEBUG_STRING "debug"LMPS_VARIETY_STRING MPS_ASSERT_STRING "." MPS_LOG_STRING "." MPS_DEBUG_STRINGRmpstd_h MPS_PF_FRI4GC MPS_PF_STRING "fri4gc"MPS_OS_FR MPS_ARCH_I4 MPS_BUILD_GC MPS_T_WORD unsigned longMPS_WORD_WIDTH 32MPS_WORD_SHIFT 5MPS_PF_ALIGN 4EPVMDefaultSubsequentSegSIZE (64ul * 1024)ARENA_CONTROL_EXTENDBY ((Size)4096)ARENA_CONTROL_AVGSIZE ((Size)32)ARENA_CONTROL_MAXSIZE ((Size)65536)ArenaPollALLOCTIME (65536.0)ARENA_ZONESHIFT ((Shift)20)ARENA_CLIENT_PAGE_SIZE ((Size)8192)ArenaDefaultZONESET (ZoneSetUNIV << (MPS_WORD_WIDTH / 2))SegPrefDEFAULT { SegPrefSig, TRUE, ArenaDefaultZONESET, FALSE, FALSE, (Serial)0, }LDHistoryLENGTH ((Size)4)StackProbeDEPTH ((Size)0)ShieldCacheSIZE ((size_t)16)ShieldDepthWIDTH (4)VMANPageALIGNMENT ((Align)4096)VMJunkBYTE ((unsigned char)0xA9)TraceLIMIT ((size_t)1)TraceCopyScanRATIO (1.5)RememberedSummaryBLOCK 15EventBufferSIZE ((size_t)4096)EventStringLengthMAX ((size_t)255)ASSERT_BUFFER_SIZE ((Size)512)MPS_PROD_STRING "dylan"MPS_PROD_DYLAN ARENA_INIT_SPARE_COMMIT_LIMIT ((Size)10uL*1024uL*1024uL)THREAD_MULTI PROTECTION DONGLE_NONE PROD_CHECK_DEFAULT CheckSHALLOWARENA_SIZE ((Size)1<<30)misc_h *SRCID(id,scmid) static SrcIdStruct FileSrcIdStruct = {__FILE__, (scmid), __DATE__, __TIME__}; SrcId id ## SrcId = &FileSrcIdStruct;BEGIN do {> (i)) & 1)BS_UNION(s1,s2) ((s1) | (s2))BS_ADD(ty,s,i) BS_UNION((s), BS_SINGLE(ty, (i)))BS_INTER(s1,s2) ((s1) & (s2))BS_DIFF(s1,s2) BS_INTER((s1), BS_COMP(s2))BS_DEL(ty,s,i) BS_DIFF((s), BS_SINGLE(ty, (i)))BS_SUPER(s1,s2) (BS_INTER((s1), (s2)) == (s2))BS_SUB(s1,s2) BS_SUPER((s2), (s1))BS_IS_SINGLE(s) (((s) & ((s)-1)) == 0)BS_SYM_DIFF(s1,s2) ((s1) ^ (s2))check_h mpslib_h mps_lib_EOF (mps_lib_get_EOF())mps_lib_stderr (mps_lib_get_stderr())mps_lib_stdout (mps_lib_get_stdout())0AVER(cond) DISCARD(cond)1AVERT(type,val) DISCARD(type ## Check(val))2AVER_CRITICAL(cond) DISCARD(cond)3AVERT_CRITICAL(type,val) DISCARD(type ## Check(val))MASSERT(cond,condstring) BEGIN if (cond) NOOP; else mps_lib_assert_fail(condstring "\n" __FILE__ "\n" STR(__LINE__)); END_NOTREACHED NOOPjCHECKT(type,val) ((val) != NULL && (val)->sig == type ## Sig)pCHECKS(type,val) DISCARD(CHECKT(type, val))qCHECKL(cond) DISCARD(cond)rCHECKD(type,val) DISCARD(CHECKT(type, val))sCHECKD_NOSIG(type,val) DISCARD((val) != NULL)tCHECKU(type,val) DISCARD(CHECKT(type, val))uCHECKU_NOSIG(type,val) DISCARD((val) != NULL)CHECKLVALUE(lv1,lv2) ((void)sizeof((lv1) = (lv2)), (void)sizeof((lv2) = (lv1)), TRUE)CHECKTYPE(t1,t2) (sizeof(t1) == sizeof(t2) && CHECKLVALUE(*((t1 *)0), *((t2 *)0)))CHECKFIELDAPPROX(s1,f1,s2,f2) (sizeof(((s1 *)0)->f1) == sizeof(((s2 *)0)->f2) && offsetof(s1, f1) == offsetof(s2, f2))CHECKFIELD(s1,f1,s2,f2) (CHECKFIELDAPPROX(s1, f1, s2, f2) && CHECKLVALUE(((s1 *)0)->f1, ((s2 *)0)->f2))event_h  eventcom_h  mpmtypes_h SigInvalid ((Sig)0x51915BAD)SizeMAX ((Size)-1)AccessSetEMPTY ((AccessSet)0)AccessREAD ((AccessSet)(1<<0))AccessWRITE ((AccessSet)(1<<1))AccessSetWIDTH (2)RefSetEMPTY BS_EMPTY(RefSet)RefSetUNIV BS_UNIV(RefSet)ZoneSetEMPTY BS_EMPTY(ZoneSet)ZoneSetUNIV BS_UNIV(ZoneSet)TraceSetEMPTY BS_EMPTY(TraceSet)TraceSetUNIV ((TraceSet)((1u << TraceLIMIT) - 1))RankSetEMPTY BS_EMPTY(RankSet)RankSetUNIV ((RankSet)((1u << RankLIMIT) - 1))AttrFMT ((Attr)(1<<0))AttrSCAN ((Attr)(1<<1))AttrPM_NO_READ ((Attr)(1<<2))AttrPM_NO_WRITE ((Attr)(1<<3))AttrALLOC ((Attr)(1<<4))AttrFREE ((Attr)(1<<5))AttrBUF ((Attr)(1<<6))AttrBUF_RESERVE ((Attr)(1<<7))AttrBUF_ALLOC ((Attr)(1<<8))AttrGC ((Attr)(1<<9))AttrINCR_RB ((Attr)(1<<10))AttrINCR_WB ((Attr)(1<<11))AttrMOVINGGC ((Attr)(1<<12))AttrMASK (AttrFMT | AttrSCAN | AttrPM_NO_READ | AttrPM_NO_WRITE | AttrALLOC | AttrFREE | AttrBUF | AttrBUF_RESERVE | AttrBUF_ALLOC | AttrGC | AttrINCR_RB | AttrINCR_WB | AttrMOVINGGC)BufferModeATTACHED ((BufferMode)(1<<0))BufferModeFLIPPED ((BufferMode)(1<<1))BufferModeLOGGED ((BufferMode)(1<<2))BufferModeTRANSITION ((BufferMode)(1<<3))RootModeCONSTANT ((RootMode)1<<0)RootModePROTECTABLE ((RootMode)1<<1)RootModePROTECTABLE_INNER ((RootMode)1<<2)STATISTIC_DECL(field) field!EventNameMAX ((size_t)19)"EventCodeMAX ((EventCode)0x0069)&EVENT_0(type) NOOPEVENT_A(type,p0) NOOPEVENT_AW(type,p0,p1) NOOPEVENT_P(type,p0) NOOPEVENT_PAA(type,p0,p1,p2) NOOPEVENT_PAW(type,p0,p1,p2) NOOPEVENT_PAWA(type,p0,p1,p2,p3) NOOPEVENT_PDDWWW(type,p0,p1,p2,p3,p4,p5) NOOPEVENT_PP(type,p0,p1) NOOPEVENT_PPAU(type,p0,p1,p2,p3) NOOPEVENT_PPAWP(type,p0,p1,p2,p3,p4) NOOPEVENT_PPP(type,p0,p1,p2) NOOPEVENT_PPPA(type,p0,p1,p2,p3) NOOPEVENT_PPPU(type,p0,p1,p2,p3) NOOPEVENT_PPPUU(type,p0,p1,p2,p3,p4) NOOPEVENT_PPU(type,p0,p1,p2) NOOPEVENT_PPUU(type,p0,p1,p2,p3) NOOPEVENT_PPUWWW(type,p0,p1,p2,p3,p4,p5) NOOPEVENT_PPWW(type,p0,p1,p2,p3) NOOPEVENT_PPWWW(type,p0,p1,p2,p3,p4) NOOPEVENT_PPWWWUUU(type,p0,p1,p2,p3,p4,p5,p6,p7) NOOPEVENT_PU(type,p0,p1) NOOPEVENT_PW(type,p0,p1) NOOPEVENT_PWA(type,p0,p1,p2) NOOPEVENT_PWAW(type,p0,p1,p2,p3) NOOPEVENT_PWP(type,p0,p1,p2) NOOPEVENT_PWU(type,p0,p1,p2) NOOPEVENT_PWW(type,p0,p1,p2) NOOPEVENT_PWWWWDD(type,p0,p1,p2,p3,p4,p5,p6) NOOPEVENT_PWWWWW(type,p0,p1,p2,p3,p4,p5) NOOPEVENT_PWWWWWWWWW(type,p0,p1,p2,p3,p4,p5,p6,p7,p8,p9) NOOPEVENT_PWWWWWWWWWWWW(type,p0,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11,p12) NOOPEVENT_UUPA(type,p0,p1,p2,p3) NOOPEVENT_UUPP(type,p0,p1,p2,p3) NOOPEVENT_UUPPP(type,p0,p1,p2,p3,p4) NOOPEVENT_WS(type,p0,p1,l1) NOOP:EventEventTime ((EventType)0xEF213E99);EventPoolInit ((EventType)0xEFB07141)EventPoolFree ((EventType)0xEFB07F6E)?EventArenaCreateVM ((EventType)0xEFA64CF3)@EventArenaCreateVMNZ ((EventType)0xEFA64CF2)AEventArenaCreateCL ((EventType)0xEFA64CC7)BEventArenaDestroy ((EventType)0xEFA64DE5)CEventArenaAlloc ((EventType)0xEFA64A77)DEventArenaFree ((EventType)0xEFA64F6E)EEventSegAlloc ((EventType)0xEF5E9A77)FEventSegFree ((EventType)0xEF5E9F6E)GEventSegMerge ((EventType)0xEF5E93E6)HEventSegSplit ((EventType)0xEF5E95B7)IEventAMCGenCreate ((EventType)0xEFA3C94C)JEventAMCGenDestroy ((EventType)0xEFA3C94D)KEventAMCInit ((EventType)0xEFA3C141)LEventAMCFinish ((EventType)0xEFA3CF14)MEventAMCTraceBegin ((EventType)0xEFA3C26B)NEventAMCScanBegin ((EventType)0xEFA3C5CB)OEventAMCScanEnd ((EventType)0xEFA3C5CE)PEventAMCFix ((EventType)0xEFA3CF18)QEventAMCFixInPlace ((EventType)0xEFA3CF8A)REventAMCFixForward ((EventType)0xEFA3CF8F)SEventAMCReclaim ((EventType)0xEFA3C6EC)TEventTraceStart ((EventType)0xEF26AC52)UEventTraceCreate ((EventType)0xEF26ACC6)VEventTraceDestroy ((EventType)0xEF26ACDE)WEventSegSetGrey ((EventType)0xEF59596A)XEventTraceFlipBegin ((EventType)0xEF26AF7B)YEventTraceFlipEnd ((EventType)0xEF26AF7E)ZEventTraceReclaim ((EventType)0xEF26A6EC)[EventTraceScanSeg ((EventType)0xEF26A559)\EventTraceScanSingleRef ((EventType)0xEF26A556)^EventTraceAccess ((EventType)0xEF26AACC)_EventTracePoll ((EventType)0xEF26AB01)`EventTraceStep ((EventType)0xEF26A52B)aEventTraceFix ((EventType)0xEF26AF18)bEventTraceFixSeg ((EventType)0xEF26AF85)cEventTraceFixWhite ((EventType)0xEF26AF83)dEventTraceScanArea ((EventType)0xEF26A5CA)eEventTraceScanAreaTagged ((EventType)0xEF26A5C2)fEventVMCreate ((EventType)0xEFF3C6EA)gEventVMDestroy ((EventType)0xEFF3DE52)hEventVMMap ((EventType)0xEFF33AB9)iEventVMUnmap ((EventType)0xEFF3043B)jEventIntern ((EventType)0xEF142E64)kEventArenaExtend ((EventType)0xEFA64E82)lEventArenaRetract ((EventType)0xEFA646E2)mEventRootScan ((EventType)0xEF625CA4)nEventLabel ((EventType)0xEF7ABE79)oEventTraceSegGreyen ((EventType)0xEF26A599)pEventBufferReserve ((EventType)0xEFB0FF6E)qEventBufferCommit ((EventType)0xEFB0FFC0)rEventBufferInit ((EventType)0xEFB0FF14)sEventBufferInitSeg ((EventType)0xEFB0F15E)tEventBufferInitRank ((EventType)0xEFB0F16A)uEventBufferInitEPVM ((EventType)0xEFB0F1EF)vEventBufferFinish ((EventType)0xEFB0FFF1)wEventBufferFill ((EventType)0xEFB0FFF7)xEventBufferEmpty ((EventType)0xEFB0FFE3)yEventArenaAllocFail ((EventType)0xEFA64A7F)zEventSegAllocFail ((EventType)0xEF5E9A7F){EventMeterInit ((EventType)0xEF3E2141)|EventMeterValues ((EventType)0xEF3E2FA7)}EventCBSInit ((EventType)0xEFCB5141)~EventTraceStatCondemn ((EventType)0xEF26A5C0)EventTraceStatScan ((EventType)0xEF26A55C)EventTraceStatFix ((EventType)0xEF26A5F8)EventTraceStatReclaim ((EventType)0xEF26A56E)EventArenaWriteFaults ((EventType)0xEFA6436F)EventPoolInitMV ((EventType)0xEFB0713F)EventPoolInitMVFF ((EventType)0xEFB071FF)EventPoolInitMFS ((EventType)0xEFB07135)EventPoolInitEPVM ((EventType)0xEFB071EF)EventPoolInitEPDL ((EventType)0xEFB071E7)EventPoolInitAMS ((EventType)0xEFB071A5)EventPoolInitAMC ((EventType)0xEFB071AC)EventPoolInitAMCZ ((EventType)0xEFB071A2)EventPoolInitAWL ((EventType)0xEFB071A3)EventPoolInitLO ((EventType)0xEFB07170)EventPoolInitSNC ((EventType)0xEFB07154)EventPoolInitMVT ((EventType)0xEFB07132)EventPoolPush ((EventType)0xEFB07B58)EventPoolPop ((EventType)0xEFB07B0B)EventReservoirLimitSet ((EventType)0xEF6E5713)EventCommitLimitSet ((EventType)0xEFC03713)EventSpareCommitLimitSet ((EventType)0xEF5BC713) hEventInit() NOOPiEventFinish() NOOPjEventControl(r,f) (UNUSED(r), UNUSED(f), (Word)0)kEventInternString(s) (UNUSED(s), (Word)0)lEventInternGenString(l,s) (UNUSED(l), UNUSED(s), (Word)0)mEventLabelAddr(a,i) BEGIN UNUSED(a); UNUSED(i); ENDPlock_h ULockSig ((Sig)0x51970CC9) th_h  ring_h RingNONE ((Ring)0)$RingInit(ring) BEGIN Ring _ring = (ring); AVER(_ring != NULL); _ring->next = _ring; _ring->prev = _ring; AVER(RingCheck(_ring)); END/RingFinish(ring) BEGIN Ring _ring = (ring); AVER(RingCheckSingle(_ring)); _ring->next = RingNONE; _ring->prev = RingNONE; END9RingAppend(ring,new) BEGIN Ring _ring = (ring), _new = (new); AVER(RingCheck(_ring)); AVER(RingCheckSingle(_new)); _new->prev = _ring->prev; _new->next = _ring; _ring->prev->next = _new; _ring->prev = _new; ENDFRingInsert(ring,new) BEGIN Ring _ring = (ring), _new = (new); AVER(RingCheck(_ring)); AVER(RingCheckSingle(_new)); _new->prev = _ring; _new->next = _ring->next; _ring->next->prev = _new; _ring->next = _new; ENDSRingRemove(old) BEGIN Ring _old = (old); AVER(RingCheck(_old)); AVER(!RingIsSingle(_old)); _old->next->prev = _old->prev; _old->prev->next = _old->next; _old->next = _old; _old->prev = _old; END`RingNext(ring) ((ring)->next)dRingPrev(ring) ((ring)->prev)gRING_ELT(type,field,node) ((type)(void *)((char *)(node) - (size_t)(&((type)0)->field)))kRING_FOR(node,ring,next) for(node = RingNext(ring), next = RingNext(node); node != (ring); node = (next), next = RingNext(node))ThreadSig ((Sig)0x519286ED) ss_h  tract_h   bt_h BTSize(n) (((n) + MPS_WORD_WIDTH-1) / MPS_WORD_WIDTH * sizeof(Word))BTGet(a,i) ((Bool)(((a)[((i) >> MPS_WORD_SHIFT)] >> ((i) & ~((Word)-1 << MPS_WORD_SHIFT))) & (Word)1))BTSet(a,i) BEGIN (a)[((i)>>MPS_WORD_SHIFT)] |= (Word)1<<((i)&~((Word)-1<>MPS_WORD_SHIFT)] &= ~((Word)1 << ((i) & ~((Word)-1<base)&TractPool(tract) ((tract)->pool)'TractP(tract) ((tract)->p)(TractSetP(tract,pp) ((void)((tract)->p = (pp))))TractHasSeg(tract) ((Bool)(tract)->hasSeg)*TractSetHasSeg(tract,b) ((void)((tract)->hasSeg = (b)))+TractWhite(tract) ((tract)->white),TractSetWhite(tract,w) ((void)((tract)->white = (w)))8TRACT_SEG(segReturn,tract) (TractHasSeg(tract) && ((*(segReturn) = (Seg)TractP(tract)), TRUE));TRACT_SET_SEG(tract,seg) (TractSetHasSeg(tract, TRUE), TractSetP(tract, seg))>TRACT_UNSET_SEG(tract) (TractSetHasSeg(tract, FALSE), TractSetP(tract, NULL))nPageTract(page) (&(page)->the.tractStruct)rPageOfTract(tract) PARENT(PageStruct, the.tractStruct, (tract))vPagePool(page) ((page)->the.rest.pool)}PageIsAllocated(page) ((page)->the.rest.pool != NULL)PageType(page) ((page)->the.rest.type)ChunkSig ((Sig)0x519C804C)ChunkArena(chunk) ((chunk)->arena)ChunkPageSize(chunk) ((chunk)->pageSize)ChunkPageShift(chunk) ((chunk)->pageShift)ChunkPagesToSize(chunk,pages) ((Size)(pages) << (chunk)->pageShift)ChunkSizeToPages(chunk,size) ((Count)((size) >> (chunk)->pageShift))CHUNK_OF_ADDR(chunkReturn,arena,addr) (((arena)->chunkCache.base <= (addr) && (addr) < (arena)->chunkCache.limit) ? (*(chunkReturn) = (arena)->chunkCache.chunk, TRUE) : ChunkOfAddr(chunkReturn, arena, addr))AddrPageBase(chunk,addr) AddrAlignDown((addr), ChunkPageSize(chunk))TRACT_OF_ADDR(tractReturn,arena,addr) BEGIN Arena _arena = (arena); Addr _addr = (addr); Chunk _chunk; Index _i; if (CHUNK_OF_ADDR(&_chunk, _arena, _addr)) { _i = INDEX_OF_ADDR(_chunk, _addr); if (BTGet(_chunk->allocTable, _i)) *(tractReturn) = PageTract(&_chunk->pageTable[_i]); else *(tractReturn) = NULL; } else *(tractReturn) = NULL; ENDINDEX_OF_ADDR(chunk,addr) ((Index)ChunkSizeToPages(chunk, AddrOffset((chunk)->base, addr)))PageIndexBase(chunk,i) AddrAdd((chunk)->base, ChunkPagesToSize(chunk, i))TractAverContiguousRange(arena,rangeBase,rangeLimit) BEGIN Chunk _ch = NULL; UNUSED(_ch); AVER(ChunkOfAddr(&_ch, arena, rangeBase) && (rangeLimit) <= _ch->limit); ENDTRACT_TRACT_FOR(tract,addr,arena,firstTract,limit) tract = (firstTract); addr = TractBase(tract); TractAverContiguousRange(arena, addr, limit); for(; tract != NULL; (addr = AddrAdd(addr, (arena)->alignment)), (addr < (limit) ? (tract = PageTract(PageOfTract(tract) + 1)) : (tract = NULL) ))TRACT_FOR(tract,addr,arena,base,limit) TRACT_TRACT_FOR(tract, addr, arena, TractOfBaseAddr(arena, base), limit)mpmst_h protocol_h DERIVE_LOCAL(name) protocol ## nameDERIVE_STRUCT(name) name ## StructDERIVE_ENSURE(name) name ## GetDERIVE_ENSURE_OLD(name) Ensure ## nameDERIVE_ENSURE_INTERNAL(name) protocolGet ## nameDERIVE_GUARDIAN(name) protocol ## name ## GuardianDERIVE_STATIC_STORAGE(name) protocol ## name ## StructProtocolClassSetSuperclassPoly(class,super) (((ProtocolClass)(class))->superclass) = (ProtocolClass)(super)$DEFINE_CLASS(className,var) static Bool DERIVE_GUARDIAN(className) = FALSE; static DERIVE_STRUCT(className) DERIVE_STATIC_STORAGE(className); static void DERIVE_ENSURE_INTERNAL(className)(className); extern className DERIVE_ENSURE(className)(void); className DERIVE_ENSURE(className)(void) { if (DERIVE_GUARDIAN(className) == FALSE) { LockClaimGlobalRecursive(); if (DERIVE_GUARDIAN(className) == FALSE) { DERIVE_ENSURE_INTERNAL(className) (&DERIVE_STATIC_STORAGE(className)); DERIVE_GUARDIAN(className) = TRUE; } LockReleaseGlobalRecursive(); } return &DERIVE_STATIC_STORAGE(className); } extern className DERIVE_ENSURE_OLD(className)(void); className DERIVE_ENSURE_OLD(className)(void) { return DERIVE_ENSURE(className)(); } static void DERIVE_ENSURE_INTERNAL(className) (className var)AINHERIT_CLASS(this,parentName) BEGIN parentName DERIVE_LOCAL(parentName) = DERIVE_ENSURE(parentName)(); *this = *(DERIVE_LOCAL(parentName)); ProtocolClassSetSuperclassPoly(this, DERIVE_LOCAL(parentName)); ENDODEFINE_ALIAS_CLASS(className,typeName,var) typedef typeName className; typedef DERIVE_STRUCT(typeName) DERIVE_STRUCT(className); DEFINE_CLASS(className, var)VProtocolClassSig ((Sig)0x519B60C7)WProtocolInstSig ((Sig)0x519B6014)ProtocolClassSuperclassPoly(class) (((ProtocolClass)(class))->superclass)ClassOfPoly(inst) ((ProtocolInst)(inst)->class)IsSubclassPoly(sub,super) ProtocolIsSubclass((ProtocolClass)(sub), (ProtocolClass)(super))SUPERCLASS(className) ProtocolClassSuperclassPoly(DERIVE_ENSURE(className)())chain_h GenDescSig ((Sig)0x5199E4DE)+PoolGenSig ((Sig)0x519B009E);ChainSig ((Sig)0x519C8A14)XPoolGenNr(gen) ((gen)->nr)/PoolClassSig ((Sig)0x519C7A55)]PoolSig ((Sig)0x519B0019)}MFSSig ((Sig)0x5193F599)MVSig ((Sig)0x5193B999)ReservoirSig ((Sig)0x5196e599)MessageClassSig ((Sig)0x519359c1)MessageSig ((Sig)0x5193e559)SegClassSig ((Sig)0x5195E9C7)SegSig ((Sig)0x5195E999)GCSegSig ((Sig)0x5199C5E9)SegPrefSig ((Sig)0x5195E9B6)BufferClassSig ((Sig)0x519B0FC7)BufferSig ((Sig)0x519B0FFE)SegBufSig ((Sig)0x51959B0F)FormatSig ((Sig)0x519F63A2)ScanStateSig ((Sig)0x5195CA45)TraceSig ((Sig)0x51924ACE)ChunkCacheEntrySig ((Sig)0x519C80CE)ArenaClassSig ((Sig)0x519A6C1A)GlobalsSig ((Sig)0x519970BA)ArenaSig ((Sig)0x519A6E4A)%BoolCheck(b) ((unsigned)(b) <= 1)(FUNCHECK(f) (FunCheck((Fun)f))4WordIsAligned(w,a) (((w) & ((a) - 1)) == 0)7WordAlignUp(w,a) (((w) + (a) - 1) & ~((Word)(a) - 1));WordRoundUp(w,r) (((w)+(r)-1) - ((w)+(r)-1)%(r))>WordAlignDown(w,a) ((w) & ~((Word)(a) - 1))@size_tAlignUp(s,a) ((size_t)WordAlignUp((Word)(s), a))BPointerAdd(p,s) ((void *)((char *)(p) + (s)))CPointerSub(p,s) ((void *)((char *)(p) - (s)))EPointerOffset(base,limit) ((size_t)((char *)(limit) - (char *)(base)))HPointerAlignUp(p,s) ((void *)WordAlignUp((Word)(p), (Align)(s)))KAddrAdd(p,s) ((Addr)PointerAdd((void *)(p), s))LAddrSub(p,s) ((Addr)PointerSub((void *)(p), s))NAddrOffset(b,l) ((Size)(PointerOffset((void *)(b), (void *)(l))))RAddrAlignDown(p,a) ((Addr)WordAlignDown((Word)(p), a))TAlignWord(s) ((Word)(s))VAddrIsAligned(p,a) WordIsAligned((Word)(p), a)WAddrAlignUp(p,a) ((Addr)WordAlignUp((Word)(p), a))YSizeIsAligned(s,a) WordIsAligned((Word)(s), a)ZSizeAlignUp(s,a) ((Size)WordAlignUp((Word)(s), a))[SizeAlignDown(s,a) ((Size)WordAlignDown((Word)(s), a))]SizeRoundUp(s,r) ((Size)WordRoundUp((Word)(s), (Size)(r)))_IndexIsAligned(s,a) WordIsAligned((Word)(s), a)`IndexAlignUp(s,a) ((Index)WordAlignUp((Word)(s), a))aIndexAlignDown(s,a) ((Index)WordAlignDown((Word)(s), a))cAlignIsAligned(a1,a2) WordIsAligned((Word)(a1), a2)iAddrSet(target,value,size) mps_lib_memset(target, (int)(value), size)mAddrCopy(target,source,size) mps_lib_memcpy(target, source, size)qAddrComp(a,b,size) mps_lib_memcmp(a, b, size)wADDR_PTR(type,addr) ((type *)(addr))PoolArena(pool) ((pool)->arena)PoolAlignment(pool) ((pool)->alignment)PoolSegRing(pool) (&(pool)->segRing)PoolFix(pool,ss,seg,refIO) ((*(pool)->fix)(pool, ss, seg, refIO))ClassOfPool(pool) ((pool)->class)SuperclassOfPool(pool) ((PoolClass)ProtocolClassSuperclassPoly((pool)->class))DEFINE_POOL_CLASS(className,var) DEFINE_ALIAS_CLASS(className, PoolClass, var)POOL_SUPERCLASS(className) ((PoolClass)SUPERCLASS(className))TraceSetSingle(trace) BS_SINGLE(TraceSet, (trace)->ti)TraceSetIsSingle(ts) BS_IS_SINGLE(ts)TraceSetIsMember(ts,trace) BS_IS_MEMBER(ts, (trace)->ti)TraceSetAdd(ts,trace) BS_ADD(TraceSet, ts, (trace)->ti)TraceSetDel(ts,trace) BS_DEL(TraceSet, ts, (trace)->ti)TraceSetUnion(ts1,ts2) BS_UNION(ts1, ts2)TraceSetInter(ts1,ts2) BS_INTER(ts1, ts2)TraceSetDiff(ts1,ts2) BS_DIFF(ts1, ts2)TraceSetSuper(ts1,ts2) BS_SUPER(ts1, ts2)TraceSetSub(ts1,ts2) BS_SUB(ts1, ts2)TraceSetComp(ts) BS_COMP(ts)TRACE_SET_ITER(ti,trace,ts,arena) for(ti = 0, trace = ArenaTrace(arena, ti); ti < TraceLIMIT; ++ti, trace = ArenaTrace(arena, ti)) BEGIN if (TraceSetIsMember(ts, trace)) {TRACE_SET_ITER_END(ti,trace,ts,arena) } ENDTRACE_SCAN_BEGIN(ss) BEGIN Shift SCANzoneShift = (ss)->zoneShift; ZoneSet SCANwhite = (ss)->white; RefSet SCANsummary = (ss)->unfixedSummary; Word SCANt; {TRACE_FIX1(ss,ref) (SCANt = (Word)1 << ((Word)(ref) >> SCANzoneShift & (MPS_WORD_WIDTH-1)), SCANsummary |= SCANt, SCANwhite & SCANt)TRACE_FIX2(ss,refIO) ((*(ss)->fix)(ss, refIO))TRACE_FIX(ss,refIO) (TRACE_FIX1(ss, *(refIO)) ? TRACE_FIX2(ss, refIO) : ResOK)TRACE_SCAN_END(ss) } (ss)->unfixedSummary = SCANsummary; ENDDEFINE_ARENA_CLASS(className,var) DEFINE_ALIAS_CLASS(className, ArenaClass, var)ARENA_SUPERCLASS(className) ((ArenaClass)SUPERCLASS(className))ArenaGlobals(arena) (&(arena)->globals)GlobalsArena(glob) PARENT(ArenaStruct, globals, glob)ArenaRootRing(arena) (&(arena)->rootRing)ArenaTraceRing(arena) (&(arena)->traceRing)ArenaThreadRing(arena) (&(arena)->threadRing)ArenaEpoch(arena) ((arena)->epoch)ArenaTrace(arena,ti) (&(arena)->trace[ti])ArenaZoneShift(arena) ((arena)->zoneShift)ArenaAlign(arena) ((arena)->alignment)ArenaGreyRing(arena,rank) (&(arena)->greyRing[rank])ArenaReservoir(arena) (&(arena)->reservoirStruct)DEFINE_SEG_CLASS(className,var) DEFINE_ALIAS_CLASS(className, SegClass, var)SEG_SUPERCLASS(className) ((SegClass)SUPERCLASS(className))ClassOfSeg(seg) ((seg)->class)SegBase(seg) (TractBase((seg)->firstTract))SegLimit(seg) ((seg)->limit)SegPool(seg) (TractPool((seg)->firstTract))SegRankSet(seg) ((RankSet)(seg)->rankSet)SegPM(seg) ((AccessSet)(seg)->pm)SegSM(seg) ((AccessSet)(seg)->sm)SegDepth(seg) ((unsigned)(seg)->depth)SegGrey(seg) ((TraceSet)(seg)->grey)SegWhite(seg) ((TraceSet)(seg)->white)SegNailed(seg) ((TraceSet)(seg)->nailed)SegOfPoolRing(node) (RING_ELT(Seg, poolRing, (node)))SegOfGreyRing(node) (&(RING_ELT(GCSeg, greyRing, (node)) ->segStruct))SegSummary(seg) (((GCSeg)(seg))->summary)SegSetPM(seg,mode) ((void)((seg)->pm = (mode)))SegSetSM(seg,mode) ((void)((seg)->sm = (mode)))SegSetDepth(seg,d) ((void)((seg)->depth = (d)))SegSetNailed(seg,ts) ((void)((seg)->nailed = (ts)))BUFFER_RESERVE(pReturn,buffer,size,withReservoirPermit) (AddrAdd(BufferAlloc(buffer), size) > BufferAlloc(buffer) && AddrAdd(BufferAlloc(buffer), size) <= BufferAP(buffer)->limit ? (*(pReturn) = BufferAlloc(buffer), BufferAP(buffer)->alloc = AddrAdd(BufferAlloc(buffer), size), ResOK) : BufferFill(pReturn, buffer, size, withReservoirPermit))BUFFER_COMMIT(buffer,p,size) (BufferAP(buffer)->init = BufferAlloc(buffer), BufferAP(buffer)->limit != 0 || BufferTrip(buffer, p, size))BufferAP(buffer) (&(buffer)->apStruct)BufferOfAP(ap) PARENT(BufferStruct, apStruct, ap)BufferArena(buffer) ((buffer)->arena)BufferPool(buffer) ((buffer)->pool)BufferBase(buffer) ((buffer)->base)BufferGetInit(buffer) (BufferAP(buffer)->init)BufferAlloc(buffer) (BufferAP(buffer)->alloc)BufferLimit(buffer) ((buffer)->poolLimit)DEFINE_BUFFER_CLASS(className,var) DEFINE_ALIAS_CLASS(className, BufferClass, var)BUFFER_SUPERCLASS(className) ((BufferClass)SUPERCLASS(className))RankSetIsMember(rs,r) BS_IS_MEMBER((rs), (r))RankSetSingle(r) BS_SINGLE(RankSet, (r))RankSetIsSingle(r) BS_IS_SINGLE(r)RankSetUnion(rs1,rs2) BS_UNION((rs1), (rs2))RankSetDel(rs,r) BS_DEL(RankSet, (rs), (r))AddrZone(arena,addr) (((Word)(addr) >> (arena)->zoneShift) & (MPS_WORD_WIDTH - 1))RefSetUnion(rs1,rs2) BS_UNION((rs1), (rs2))RefSetInter(rs1,rs2) BS_INTER((rs1), (rs2))RefSetDiff(rs1,rs2) BS_DIFF((rs1), (rs2))RefSetAdd(arena,rs,addr) BS_ADD(RefSet, rs, AddrZone(arena, addr))RefSetIsMember(arena,rs,addr) BS_IS_MEMBER(rs, AddrZone(arena, addr))RefSetSuper(rs1,rs2) BS_SUPER((rs1), (rs2))RefSetSub(rs1,rs2) BS_SUB((rs1), (rs2))ZoneSetUnion(zs1,zs2) BS_UNION(zs1, zs2)ZoneSetInter(zs1,zs2) BS_INTER(zs1, zs2)ZoneSetDiff(zs1,zs2) BS_DIFF(zs1, zs2)ZoneSetAdd(arena,zs,addr) BS_ADD(ZoneSet, zs, AddrZone(arena, addr))ZoneSetIsMember(arena,zs,addr) BS_IS_MEMBER(zs, AddrZone(arena, addr))ZoneSetSub(zs1,zs2) BS_SUB(zs1, zs2)ZoneSetSuper(zs1,zs2) BS_SUPER(zs1, zs2)ZoneSetComp(zs) BS_COMP(zs)STATISTIC(gather) BEGIN (gather); ENDSTATISTIC_STAT(gather) BEGIN gather; ENDSTATISTIC_WRITE(format,arg) (format), (arg),SNCGen ((Serial)1)#SNCSig ((Sig)0x519b754c),Pool2SNC(pool) PARENT(SNCStruct, poolStruct, (pool))FSNCBufSig ((Sig)0x51954CBF)SBufferSNCBuf(buffer) ((SNCBuf)(buffer))SNCSegSig ((Sig)0x51954C59)SegSNCSeg(seg) ((SNCSeg)(seg))SNCSegSeg(sncseg) ((Seg)(sncseg))sncSegNext(seg) (SNCSegSeg(SegSNCSeg(seg)->next))sncSegSetNext(seg,nextseg) ((void)(SegSNCSeg(seg)->next = SegSNCSeg(nextseg)))poolsnc.cJan 17 200703:43:50SNCBUFSNCSEGSNC$Id: //info.ravenbrook.com/project/mps/master/code/poolsnc.c#9 $ |  AB  AB AB (BAB DU. l/AB DI.L.K.GAB b.S. AB FAB E< AB HKAB D^. GAB b.S. AB BAB BQ. 0$AB BG.L.T3AB BL.$NAB FI.].R. jAB FW.DAAB F2AB BV.8AB FO.l.M. R.U.L.U.L.L. lAB FJ.$ AB FV.P.H.>AB BJ. AB (AB FU.|. K.,xAB FV.P.H.c. J.GAB b.S.\ AB lAB BT. AB  AB 0'EnsureSNCBufClass(EnsureSNCSegClass.SNCPoolClassGet.EnsureSNCPoolClass1/mps_class_snc/poolsncSrcIdProtocolCoerceClassMethodSNCBufStructMutatorFaultContextmpsVersionStringchunkPoolBlackenMethodFrameStatesize_tSegClassclampedArenaSpareCommitExceededMethodchunkSerialLockStructalignmentframePushprotocolGetSNCSegClasspageTablePagespageTableLimitunitsPerExtentPoolFreeMethodSNCScanglobalRingChunkCacheEntryStructSrcIdStructMFSHeaderStructPoolAccessMethodgreyRingdetachisGensuperclassSNCSegChecksncSegInitstatefoundblockPoolStructrampCounttypeshort intArenaMutatorFaultContextStructdoublemergepoolLimitfinishpoolRingBufferStructarenaRinggreySegMaxgenspoolStructArenaDescribeMethodsuperemptyInternalSizeLockforwardedSizereservoirLimitPoolFinishMethodSNCBufAttrarenaArenaFreeMethodsegbufnextNodelong intPoolClassStructmps_class_sncrestSNCBufInitcoerceClassArenaClassStructprotocolGetSNCBufClassclassskipSNCBufClassGetWordSegSetWhiteMethodhistorywriteBarrierHitCountpageSizeheaderSizerankbuild_timemortalityprotocolSNCSegClassGuardianhighTraceIdProtocolInstSNCSegClassStructblackenrampBeginPoolRampBeginMethodSizesigned charReservoirStructAddrStruct/home/hannes/dylan/mps/codesingleScanCountreservoirPermitspaceSNCStructfreewalksegBufStructAbstractScanPoolClassextendsetRankSetProtocolInstStructSegFinishMethodnextObjectrememberedSummaryRingspanPoolStructPoolBufferClassMethodpointlessScanCounttractListglobalsprotocolSNCBufClassStructRingGCSegStructaddrPoolDescribeMethodFormatSkipMethodcopiedSizeFormatScanMethodSegStructvarietysncFindFreeSegflippedTracesBufferFinishMethodfoundationdescribecommittedcapacityScanStateStructwhiteSegRefCountrootScanSizethissummaryattrsnapCountEpochrememberedSummaryIndexEnsureSNCBufClassprotocolSNCPoolClassStructreclaimSizePoolStructprotocolRankBufClasssncBufferTopSegSegSetRankSummaryMethodpreservedInPlaceSizenodeArenaInitMethodFormatPadMethodfirstTractSegBufStructmayMovefilesegStructpagesgcSegStructlimitsncBufferSetTopSegtraceIndexthreadRingPoolFramePushMethodArenaChunkFinishMethodreserveobjectbufferbusyTracesPoolAllocMethodmoveprotocolAbstractScanPoolClassArenaExtendMethodratecoerceInstunroundedUnitSizemps_lib_stream_sbufferStructsegRefCountrootRingbufferFillGCSegClasssetRankSummaryAddrChunkStructfixRefCountframeptrshDepthtracesrootScanCountisCollectedenabledArenaAllocMethodprotocolSNCPoolClassGuardianSNCBufferEmptylwPopPendinglong unsigned intallocBase__va_listformatextendByavgSizeAllocFrameStructSNCBufFinishchunkRinggreyPoollabelledfillMutatorSizePagePageStructpoolReadyproflowchunkFinishserialBufferFormatCopyMethodBootBlockStructBoolargsbufferLoggingreservoirStructPoolDebugMixinMethodFormatSNCInitTraceStructProtocolClassMVStruct__uint32_tProtocolCoerceInstMethodSegSetSummaryMethodprotocollong long intsegCopiedSizeva_listSNCBufClassStructTraceSetBufferAttachMethodSNCSegCountshCachePoolGreyMethodPoolBufferFillMethodSerialthreadSerialreclaimRankBufClassdepthinitfillSizeTracehasSegSNCFramePopPendingSNCBufClassspareCommitExceededBufferClassStructnailedRefSetPoolDebugMixinscmidcontrolPoolStructsetGreyshCacheLimitPoolFramePopPendingMethodScanStatesegReturnallocTractStructSegSplitMethodunitSizeunsigned intBufferReassignSegMethodGlobalsStructPoolInitMethodSNCBufferFillattachrankSetpageShiftwhitenEnsureSNCSegClassfinalPoolBufferRankSetMethodSegPrefStructsncPopPartialSegChainPoolFixMethodsegRingPoolBufferEmptyMethodMFSStructzonesprimaryBufferModebufferEmptyoffsetPoolWhitenMethodChainStructprehistoryFileSrcIdStructSegInitMethodreclaimCountZoneSetunsigned charSegSetGreyMethodGNU C 3.4.6 [FreeBSD] 20060305FormattedObjectsStepMethodSegClassStruct__size_tfixedSummarysncsegframeReturncharTraceStatereadBarrierHitCountwalkArenaChunkInitMethodSNCChecksizeAlignfreeListwithReservoirPermitpreservedInPlaceCountlastTractrootCopiedSizetopsegscansetWhitefixEmergencyformatRingsegScanSizeRingStructcommitLimitSNCSegClassfreeSegstracedSizeisMovedlong long unsigned intSrcIdinsideShieldSegSetBufferMethodRankzoneShiftpageTableBaseTraceFixMethodlocusRingSNCFinishpoolbufferRingformatSerialPoolDebugMixinStructdebugMixinprotocolGetSNCPoolClassframebuild_daterampEndPoolClassgenCountsncbufinitAtFlipbaseReturnpageTablepoolSerialFormatIsMovedMethodPoolRampEndMethodPoolFramePopMethodchunkInitBufferSegMethodmaxSizereservoirSizeSegMergeMethodPoolReclaimMethodSegBufsetBuffercopyallocMutatorSizepoolsncSrcIdtracedTimeBufferClassSNCPoolClassrootSerialChainreassignSegframePopactiveTracesemptyMutatorSizePoolFreeWalkMethodringBufferInitMethodSNCBufChecktopGensuspendedGenDescStructFormatClassMethodnameallocTableBufferDetachMethodlastTractBaseapStructSegSetRankSetMethodFreeBlockStepMethodAllocFrameShiftchainunfixedSummarylostnotCondemnedtractStructmodeSNCFramePopRankSetEnsureSNCPoolClasspoolsnc.cshCacheIfillInternalSizetotalReturnFormatMoveMethodBufferDescribeMethodmps_class_smps_class_tisMutatorlastWorldCollectsegPrefStructasizeSNCPoolClassGetsingleScanSizespareCommittedSegPrefSNCPoolClassStructspansupTopollThresholdSNCSegClassGetmessageRingprotocolSNCSegClassStructframePopPendingchunkCacheemptySizesncRecordAllocatedSegSNCWalkbufferSerialPoolFixEmergencyMethodepochnailCountsncRecordFreeSegArenaClassAPStructwhitesplitcondemnedisFinalPoolemergencySegBufferMethodfreechainRingwasMarkedFormatVarietyAccessSetenabledMessageTypesshort unsigned intforwardedCountbaseArenaStructspareCommitLimitsetSummarymps_lib_FILEBufferSetRankSetMethodSegDescribeMethodaccessfoundSeggreySegCountlimitReturnsegScanCountChunknextArenaReservedMethodPoolScanMethodsingleCopiedSizeBootBlockinsidePollreservedprotocolGCSegClassPoolWalkMethodbufferClassProtocolClassStructprevSNCSegStructFormatStructscannedSizeprotocolSNCBufClassGuardianlockArenaFinishMethodSNCFramePushTractlastGCC: (GNU) 3.4.6 [FreeBSD] 20060305.symtab.strtab.shstrtab.rel.text.rel.data.bss.debug_abbrev.rel.debug_info.rel.debug_line.debug_macinfo.rodata.str1.1.rodata.str1.4.rel.rodata.rel.debug_frame.rel.debug_pubnames.rel.debug_aranges.debug_str.comment4 h)H% P/`H 4`FL 0B XVN;R h b">4q2V12A p   d  0O%t 2 3      ' 7J(BUGdl/qN @F< HKG`L0BG0$]T3nj}DA2l > x l8 ANg   $-;OYfr|G\ % poolsnc.cFileSrcIdStructSNCBufChecksncBufferTopSegsncBufferSetTopSegSNCBufInitSNCBufClassGetSNCBufFinishsncPopPartialSegChainprotocolSNCBufClassGuardianprotocolSNCBufClassStructprotocolGetSNCBufClassSNCSegChecksncSegInitSNCSegClassGetprotocolSNCSegClassGuardianprotocolSNCSegClassStructprotocolGetSNCSegClasssncRecordAllocatedSegsncRecordFreeSegsncFindFreeSegSNCInitSNCFinishSNCBufferFillSNCBufferEmptySNCScanSNCFramePushSNCFramePopSNCFramePopPendingSNCWalkprotocolSNCPoolClassGuardianprotocolSNCPoolClassStructprotocolGetSNCPoolClassSNCCheckpoolsncSrcIdLockClaimGlobalRecursiveLockReleaseGlobalRecursiveEnsureSNCBufClassRankBufClassGetEnsureSNCSegClassGCSegClassGetmemcpySegClassMixInNoSplitMergeSegSetGreySegSetRankAndSummarySegSizeSegPrefDefaultSegFreeSegAllocBufferRankSetBufferFrameSetStateBufferSegShieldExposeShieldCoverSegBufferBufferScanLimitBufferFrameStateBufferDetachSegOfAddrBufferSetAllocAddrBufferAttachSNCPoolClassGetEnsureSNCPoolClassAbstractScanPoolClassGetPoolClassMixInFormatmps_class_snc346 (/3489: #f;s<=`>?@ A5AA<VAb<vBCBDE,F<FDGHGI*J5FFKVILBFFG$3*5@M4UcMuO9P M  0!0%0*01080?0M0X0_0f0m0t0{00000000000000$020L0W0s0~00000000000000$0/0:0E0P0k0|00000000000&050D0S0b0q0000000000%040C0R0a0p00000000000%040C0S0h00000000000$030C0T0Z0o000000000000-0;0J0_0g0u0000000000000+090U0c0q00000000000 0' 0< 0a 0p 0 0 0 0 0 0 0 0 0 0 0 0$ 03 0B 0Q 0` 0o 0~ 0 0 0 0 0 0 0 0 0 0 0# 03 0C 0S 0d 0y 0 0 0 0 0 0 0 0 0 0& 05 0D 0S 0b 0q 0 0 0 0 0 0 0 0 0 0 0 0/ 0D 0L 0f 0t 0 0 0 0 0 0 0 0 000$020@0N0\0o000000000*090H0W0f00000000 00;0P0X0f0t000000000000090D0Y0p00000000000$030B0Q0`0o0~0000000000%050E0U0e0u00000000000%050E0U0e0u00000000000%050E0U0e0u00000000 00+0:0I0X0g0v0000000000000)010?0M0[0x000000^00000 0Q0}00000#0J0l000000J0g000000)0O0u0000#0O0000030c0n0y00000E0v00000& 0G 0i 0t 0 0 0 0 0 0 0 0 0!0!0)!04!0@!0Q!0f!0|!0!0!0!0!0!0!0"0C"0R"0h"0v"0"0"0"0"0"0"0"0"0"0"0 #0#0(#06#0S#0_#0n#0w#0#0#0#0#0#0#0#0#0 $0$0"$0-$09$0E$0Q$0]$0i$0u$0$0$0$0$0$0%0%0A%0V%0^%0l%0%0%%%0%0%0%%%0%0%0%%&0 &00&0;&?&F&0S&0a&0o&0&0&0&&&0&0&0&0&0&0&0' ''0'#'.'05'9'@'0N'R'W'0g'0|'0'0'0'0'''0'0''(0(0(0*(08(0F(0S(0n(0z(0(0(((0(((0(((0(((0(0() )0+)03)7)_)0g)k))0)0)))0)0)))0)0 *0*01*0=*A*H*0q*0*0***0*0*0*0***0+++0+0++09+0G+0U+0p+0+0+0++0+++0+0+0+0 ,0/,0B,0N,R,Y,0u,0,0,0,0,0,,,0-0-00-0<-@-G-0e-0y-0---0-0-0---0-0 .0...0_.c.h.0v.0.0.0.0.0.0...0...0// /0//"/03/0?/C/N/0Z/^/u/0/ /0/2/0//0//0//0//0//0/    -0-4H-L`-d------4-8T-Xl-p----- <-@\-`----- H-Lx-|----fmtdy.o/ 1169001830 1001 1001 100644 25840 ` ELF S4(UÉUWVS }GEOMw ] ;]s4uM ƅEtڃCPWtw e[^_ÍvUE@ÐUWVS E@EURUMy ] ;]sW3uM DžEtԃSuUu+;ut}t+EM롋Ex e[^_ÉUWVSEEURUMIMEx U U m쀋M9MsZuUUÐt߃؃tFuM DžEtσFPuUt My e[^_UWVS } tuCCSuƒs3F tbUt rLt EuSuƒ.' FPFPuSuƒ ]Fƒ3$\4uVSu=ƒ]PSuƒtu{%ƃw)ѸD0EJ;%ƃw)ѸD0\ J\ve[^_UWVS }u9u s] SWu 9u re[^_ÐUEu‰ÐUWVSE Su…u>P 4t 3WVSuZ …u E 0vЍe[^_ÉUWVS }u9u s] SWu 9u re[^_ÐUWVS]ЃtuCyCtvB \RЃtX3Ѓ\Ѓu=%ƃw)D0Ov[^_ÉUS]ST)PSu ]ÍvUEƒt)щUVSu ]SC9u  Se[^ÍvUME u AÉUÉU ÉU Pu uÍvU@ÉU`ÉU Pu u$dH$dHLLC% $ > $ > : ; I I<  : ;  : ; I8  ' I I ' : ; I8 .? : ; ' I@ : ; I 4: ; I4: ; I.: ; ' I@ : ; I 4: ; I  : ;  : ;  4: ; I .: ;' I@ : ;I 4: ;I  : ; : ;4: ;I4: ;I .? : ;' I@ !: ;I "4: ;I#.: ;' @ $.? : ;' @ %.? : ;' I@ -N W;intl8Wq*_L7zw: &1 fix #w0&#w1&#w2&# *l,E.G /b_e 1 < < < <  < <&\W  < H 1 < I# T# # u# fwd# $#pad#&  I# T# # uà# fwd# $#pad# 1#ȠCbE Uwawwcvhd&e&f&g&fhh&flh&ffh&vbi&esi&vfi&vtj&tj&&61 uUWp res1PpSr<*outeh_ss &p&l&V&P<xU<P4"&fl&ff& 1U p     pSres1Pr<Vout) _ss &p&l&W&PA"=1 U:p; ;<<&res>1Ppc?ppat@&SpAlppBVbCEPrD<PinM[patOOout[Sk/_ssH H&hH&dH&WH&P 6k1UjXjWplSqmphn&woVfhp&Pflq&Rvhr&Pvfs&Rvlt&PvbuWPesvWRvtw&Vresx1Rl<P1UWp< <Vres1P<U!obj<Pz&P 1JUX "pWpSq<Vres 1Pw!P"&Rff"&fl"&Rh#&"$&vf$&vl$&P G]1LU[Wp\< \<Vres^1P k<"U4j<plSwmhn&Rvho&Rvfp&Pvtq&VvbrWPessWWl|<P# $EU!old<S!new< P <HdU4<Ph&Ptag&R#m dU!old<!new<VpS<R$ U <QePpR% U%* U % 1U% V %6% U%j+ U a41-U3% V3 & # &@{`- /usr/include/usr/include/sys/usr/include/machinefmtdy.hmps.hstddef.hcdefs.h_null.h_types.h_types.hstdarg.hlimits.hlimits.h_limits.hsyslimits.hfmtno.hassert.hstring.hstrings.hstdlib.hfmtdy.c9 VVVIrr-;V9d9r:I;W,rd0eV crd,H:H:V,H:Irr.eV 1tWg=,Ԫ.=Ard?=:W-:;:YHXd:Y.:::8hd,&/d, +,d挜V:XTJ,X W1/;:9js:*KV挜V c<.tVX<\:VW-__GNUCLIKE___OFFSETOF 1?__GNUCLIKE___SECTION 1A__GNUCLIKE_ATTRIBUTE_MODE_DI 1D__GNUCLIKE_CTOR_SECTION_HANDLING 1G__GNUCLIKE_BUILTIN_CONSTANT_P 1N__GNUCLIKE_BUILTIN_VARARGS 1O__GNUCLIKE_BUILTIN_STDARG 1P__GNUCLIKE_BUILTIN_VAALIST 1T__GNUC_VA_LIST_COMPATIBILITY 1X__GNUCLIKE_BUILTIN_NEXT_ARG 1Y__GNUCLIKE_MATH_BUILTIN_RELOPS \__GNUCLIKE_BUILTIN_MEMCPY 1___CC_SUPPORTS_INLINE 1`__CC_SUPPORTS___INLINE 1a__CC_SUPPORTS___INLINE__ 1c__CC_SUPPORTS___FUNC__ 1d__CC_SUPPORTS_WARNING 1f__CC_SUPPORTS_VARADIC_XXX 1h__CC_SUPPORTS_DYNAMIC_ARRAY_INIT 1k__CC_INT_IS_32BIT 1s__GNUC_PREREQ__(ma,mi) (__GNUC__ > (ma) || __GNUC__ == (ma) && __GNUC_MINOR__ >= (mi))__P(protos) protos__CONCAT1(x,y) x ## y__CONCAT(x,y) __CONCAT1(x,y)__STRING(x) #x__XSTRING(x) __STRING(x)__const const__signed signed__volatile volatile__dead2 __attribute__((__noreturn__))__pure2 __attribute__((__const__))__unused __attribute__((__unused__))__used __attribute__((__used__))__packed __attribute__((__packed__))__aligned(x) __attribute__((__aligned__(x)))__section(x) __attribute__((__section__(x)))__pure __attribute__((__pure__))__always_inline __attribute__((__always_inline__))__nonnull(x) __attribute__((__nonnull__(x)))__restrict __predict_true(exp) __builtin_expect((exp), 1)__predict_false(exp) __builtin_expect((exp), 0)__offsetof(type,field) ((size_t)(&((type *)0)->field))__rangeof(type,start,end) (__offsetof(type, end) - __offsetof(type, start))__printflike(fmtarg,firstvararg) __attribute__((__format__ (__printf__, fmtarg, firstvararg)))__scanflike(fmtarg,firstvararg) __attribute__((__format__ (__scanf__, fmtarg, firstvararg)))__format_arg(fmtarg) __attribute__((__format_arg__ (fmtarg)))__printf0like(fmtarg,firstvararg) __attribute__((__format__ (__printf0__, fmtarg, firstvararg)))__strong_reference(sym,aliassym) extern __typeof (sym) aliassym __attribute__ ((__alias__ (#sym)));__weak_reference(sym,alias) __asm__(".weak " #alias); __asm__(".equ " #alias ", " #sym)__warn_references(sym,msg) __asm__(".section .gnu.warning." #sym); __asm__(".asciz \"" msg "\""); __asm__(".previous")__IDSTRING(name,string) __asm__(".ident\t\"" string "\"")__FBSDID(s) __IDSTRING(__CONCAT(__rcsid_,__LINE__),s)__RCSID(s) __IDSTRING(__CONCAT(__rcsid_,__LINE__),s)__RCSID_SOURCE(s) __IDSTRING(__CONCAT(__rcsid_source_,__LINE__),s)__SCCSID(s) __IDSTRING(__CONCAT(__sccsid_,__LINE__),s)__COPYRIGHT(s) __IDSTRING(__CONCAT(__copyright_,__LINE__),s)__DECONST(type,var) ((type)(uintptr_t)(const void *)(var))__DEVOLATILE(type,var) ((type)(uintptr_t)(volatile void *)(var))__DEQUALIFY(type,var) ((type)(uintptr_t)(const volatile void *)(var))__POSIX_VISIBLE 200112__XSI_VISIBLE 600__BSD_VISIBLE 1__ISO_C_VISIBLE 1999* NULL ((void *)0)+_SYS__TYPES_H_ !(_MACHINE__TYPES_H_ .__NO_STRICT_ALIGNMENT __GNUC_VA_LIST 2_RUNE_T_DECLARED 8_SIZE_T_DECLARED >_WCHAR_T_DECLARED Boffsetof(type,member) __offsetof(type, member)'_MACHINE_STDARG_H_ -_VA_LIST_DECLARED 3va_start(ap,last) __builtin_stdarg_start((ap), (last))6va_arg(ap,type) __builtin_va_arg((ap), type):va_copy(dest,src) __builtin_va_copy((dest), (src))>va_end(ap) __builtin_va_end(ap) &_LIMITS_H_ +_POSIX_ARG_MAX 4096,_POSIX_CHILD_MAX 25-_POSIX_LINK_MAX 8._POSIX_MAX_CANON 255/_POSIX_MAX_INPUT 2550_POSIX_NAME_MAX 141_POSIX_NGROUPS_MAX 82_POSIX_OPEN_MAX 203_POSIX_PATH_MAX 2564_POSIX_PIPE_BUF 5125_POSIX_SSIZE_MAX 327676_POSIX_STREAM_MAX 87_POSIX_TZNAME_MAX 69BC_BASE_MAX 99:BC_DIM_MAX 2048;BC_SCALE_MAX 99EXPR_NEST_MAX 32?LINE_MAX 2048@RE_DUP_MAX 255B_POSIX2_BC_BASE_MAX 99C_POSIX2_BC_DIM_MAX 2048D_POSIX2_BC_SCALE_MAX 99E_POSIX2_BC_STRING_MAX 1000F_POSIX2_EQUIV_CLASS_MAX 2G_POSIX2_EXPR_NEST_MAX 32H_POSIX2_LINE_MAX 2048I_POSIX2_RE_DUP_MAX 255M_POSIX_AIO_LISTIO_MAX 16N_POSIX_AIO_MAX 1O_POSIX_DELAYTIMER_MAX 32P_POSIX_MQ_OPEN_MAX 8Q_POSIX_MQ_PRIO_MAX 32R_POSIX_RTSIG_MAX 8S_POSIX_SEM_NSEMS_MAX 256T_POSIX_SEM_VALUE_MAX 32767U_POSIX_SIGQUEUE_MAX 32V_POSIX_TIMER_MAX 32Z_POSIX_THREAD_DESTRUCTOR_ITERATIONS 4[_POSIX_THREAD_KEYS_MAX 128\_POSIX_THREAD_THREADS_MAX 64`_POSIX_HOST_NAME_MAX 255a_POSIX_LOGIN_NAME_MAX 9b_POSIX_SS_REPL_MAX 4c_POSIX_SYMLINK_MAX 255d_POSIX_SYMLOOP_MAX 8e_POSIX_TRACE_EVENT_NAME_MAX 30f_POSIX_TRACE_NAME_MAX 8g_POSIX_TRACE_SYS_MAX 8h_POSIX_TRACE_USER_EVENT_MAX 32i_POSIX_TTY_NAME_MAX 9j_POSIX2_CHARCLASS_NAME_MAX 14k_POSIX2_COLL_WEIGHTS_MAX 2m_POSIX_RE_DUP_MAX _POSIX2_RE_DUP_MAXq_XOPEN_IOV_MAX 16r_XOPEN_NAME_MAX 255s_XOPEN_PATH_MAX 1024tPASS_MAX 128vNL_ARGMAX 99wNL_LANGMAX 31xNL_MSGMAX 32767yNL_NMAX 1zNL_SETMAX 255{NL_TEXTMAX 2048~MB_LEN_MAX 6 !_SYS_LIMITS_H_ $ "_MACHINE__LIMITS_H_ /__CHAR_BIT 81__SCHAR_MAX 0x7f2__SCHAR_MIN (-0x7f - 1)4__UCHAR_MAX 0xff6__USHRT_MAX 0xffff7__SHRT_MAX 0x7fff8__SHRT_MIN (-0x7fff - 1):__UINT_MAX 0xffffffffU;__INT_MAX 0x7fffffff<__INT_MIN (-0x7fffffff - 1)D__ULONG_MAX 0xffffffffULE__LONG_MAX 0x7fffffffLF__LONG_MIN (-0x7fffffffL - 1)J__ULLONG_MAX 0xffffffffffffffffULLK__LLONG_MAX 0x7fffffffffffffffLLL__LLONG_MIN (-0x7fffffffffffffffLL - 1)N__SSIZE_MAX __INT_MAXP__SIZE_T_MAX __UINT_MAXR__OFF_MAX __LLONG_MAXS__OFF_MIN __LLONG_MINV__UQUAD_MAX __ULLONG_MAXW__QUAD_MAX __LLONG_MAXX__QUAD_MIN __LLONG_MIN]__LONG_BIT 32___WORD_BIT 32&CHAR_BIT __CHAR_BIT(SCHAR_MAX __SCHAR_MAX)SCHAR_MIN __SCHAR_MIN+UCHAR_MAX __UCHAR_MAX1CHAR_MAX SCHAR_MAX2CHAR_MIN SCHAR_MIN5USHRT_MAX __USHRT_MAX6SHRT_MAX __SHRT_MAX7SHRT_MIN __SHRT_MIN9UINT_MAX __UINT_MAX:INT_MAX __INT_MAX;INT_MIN __INT_MIN=ULONG_MAX __ULONG_MAX>LONG_MAX __LONG_MAX?LONG_MIN __LONG_MINHSSIZE_MAX __SSIZE_MAXLSIZE_T_MAX __SIZE_T_MAXNOFF_MAX __OFF_MAXOOFF_MIN __OFF_MINSGID_MAX UINT_MAXTUID_MAX UINT_MAXVUQUAD_MAX (__UQUAD_MAX)WQUAD_MAX (__QUAD_MAX)XQUAD_MIN (__QUAD_MIN)\LONG_BIT __LONG_BIT]WORD_BIT __WORD_BIT "_SYS_SYSLIMITS_H_ 4ARG_MAX 2621447CHILD_MAX 409LINK_MAX 32767:MAX_CANON 255;MAX_INPUT 255 (sac)->mps_middle) { _mps_i = 0; while (_mps_s > (sac)->mps_freelists[_mps_i].mps_size) _mps_i += 2; } else { _mps_i = 1; while (_mps_s <= (sac)->mps_freelists[_mps_i].mps_size) _mps_i += 2; } if ((sac)->mps_freelists[_mps_i].mps_count != 0) { (p_o) = (sac)->mps_freelists[_mps_i].mps_blocks; (sac)->mps_freelists[_mps_i].mps_blocks = *(mps_addr_t *)(p_o); --(sac)->mps_freelists[_mps_i].mps_count; (res_o) = MPS_RES_OK; } else (res_o) = mps_sac_fill(&(p_o), sac, _mps_s, has_reservoir_permit); MPS_ENDMPS_SAC_FREE_FAST(sac,p,size) MPS_BEGIN size_t _mps_i, _mps_s; _mps_s = (size); if (_mps_s > (sac)->mps_middle) { _mps_i = 0; while (_mps_s > (sac)->mps_freelists[_mps_i].mps_size) _mps_i += 2; } else { _mps_i = 1; while (_mps_s <= (sac)->mps_freelists[_mps_i].mps_size) _mps_i += 2; } if ((sac)->mps_freelists[_mps_i].mps_count < (sac)->mps_freelists[_mps_i].mps_count_max) { *(mps_addr_t *)(p) = (sac)->mps_freelists[_mps_i].mps_blocks; (sac)->mps_freelists[_mps_i].mps_blocks = (p); ++(sac)->mps_freelists[_mps_i].mps_count; } else mps_sac_empty(sac, p, _mps_s); MPS_ENDMPS_SAC_ALLOC(res_o,p_o,sac,size,has_reservoir_permit) MPS_SAC_ALLOC_FAST(res_o, p_o, sac, size, has_reservoir_permit)MPS_SAC_FREE(sac,p,size) MPS_SAC_FREE_FAST(sac, p, size)mps_reserve(_p_o,_mps_ap,_size) ((char *)(_mps_ap)->alloc + (_size) > (char *)(_mps_ap)->alloc && (char *)(_mps_ap)->alloc + (_size) <= (char *)(_mps_ap)->limit ? ((_mps_ap)->alloc = (mps_addr_t)((char *)(_mps_ap)->alloc + (_size)), *(_p_o) = (_mps_ap)->init, MPS_RES_OK) : mps_ap_fill(_p_o, _mps_ap, _size))MPS_RESERVE_BLOCK(_res_v,_p_v,_mps_ap,_size) MPS_BEGIN char *_alloc = (char *)(_mps_ap)->alloc; char *_next = _alloc + (_size); if(_next > _alloc && _next <= (char *)(_mps_ap)->limit) { (_mps_ap)->alloc = (mps_addr_t)_next; (_p_v) = (_mps_ap)->init; (_res_v) = MPS_RES_OK; } else (_res_v) = mps_ap_fill(&(_p_v), _mps_ap, _size); MPS_ENDMPS_RESERVE_WITH_RESERVOIR_PERMIT_BLOCK(_res_v,_p_v,_mps_ap,_size) MPS_BEGIN char *_alloc = (char *)(_mps_ap)->alloc; char *_next = _alloc + (_size); if(_next > _alloc && _next <= (char *)(_mps_ap)->limit) { (_mps_ap)->alloc = (mps_addr_t)_next; (_p_v) = (_mps_ap)->init; (_res_v) = MPS_RES_OK; } else (_res_v) = mps_ap_fill_with_reservoir_permit(&(_p_v), _mps_ap, _size); MPS_ENDmps_commit(_mps_ap,_p,_size) ((_mps_ap)->init = (_mps_ap)->alloc, (_mps_ap)->limit != 0 || mps_ap_trip(_mps_ap, _p, _size))MPS_SCAN_BEGIN(ss) MPS_BEGIN mps_ss_t _ss = (ss); mps_word_t _mps_w0 = (_ss)->w0; mps_word_t _mps_w1 = (_ss)->w1; mps_word_t _mps_w2 = (_ss)->w2; mps_word_t _mps_wt; {MPS_FIX1(ss,ref) (_mps_wt = 1uL << ((mps_word_t)(ref) >> _mps_w0 & (sizeof(mps_word_t) * CHAR_BIT - 1)), _mps_w2 |= _mps_wt, _mps_w1 & _mps_wt)MPS_FIX2(ss,ref_io) ((*(ss)->fix)(ss, ref_io))MPS_FIX12(ss,ref_io) (MPS_FIX1(ss, *(ref_io)) ? MPS_FIX2(ss, ref_io) : MPS_RES_OK)MPS_FIX(ss,ref_io) MPS_FIX12(ss, ref_io)MPS_FIX_CALL(ss,call) MPS_BEGIN (call); _mps_w2 |= (ss)->w2; MPS_ENDMPS_SCAN_END(ss) } (ss)->w2 = _mps_w2; MPS_ENDWW 0 WC 1!WM 2"WF 3#WV 4$WS 5%WP 6'BASIC_WRAPPER_SIZE (WS + 1))ALIGN sizeof(mps_word_t)7 fmtno_h 91assert2_assert5assert(e) ((void)0)6_assert(e) ((void)0):&_STRING_H_ 1_STRINGS_H_ t_SWAB_DECLARED x_SSIZE_T_DECLARED ;&_STDLIB_H_ IEXIT_FAILURE 1JEXIT_SUCCESS 0LRAND_MAX 0x7fffffffOMB_CUR_MAX __mb_cur_max_MKSTEMP_DECLARED _MKTEMP_DECLARED _SETKEY_DECLARED allocaalloca(sz) __builtin_alloca(sz)?notreached() assert(0)@unused(param) ((void)param)OALIGN sizeof(mps_word_t)QMPS_WORD_WIDTH (sizeof(mps_word_t) * CHAR_BIT)RMPS_WORD_SHIFT (MPS_WORD_WIDTH == 64 ? 6 : 5)]FMTDY_COUNT(x) NONWORD_LENGTH(_vt,_es) ((_es) < MPS_WORD_SHIFT ? ((_vt) + (1 << (MPS_WORD_SHIFT - (_es))) - 1) >> (MPS_WORD_SHIFT - (_es)) : (_vt) << ((_es) - MPS_WORD_SHIFT)) A|  AB  iAB FE.x AB  AB FU. AB F.(AB Fn.n. ]. ;AB FT.AB $jAB FK.q. L;AB FT.AB C $!AB DD.L.HAB d9AB BG.&AB  AB  AB AB O. AB  AB AB O. (dylan_wrapper_checkdylan_weak_dependentAdylan_scan1dylan_scan1_weakm dylan_pad dylan_fmt_A dylan_fmt_B dylan_fmt+ dylan_fmt_A_weakC dylan_fmt_B_weak[ dylan_fmt_weak-size_t/home/hannes/dylan/mps/codedylan_fmt_A_weak_sdylan_scan_contigmps_fmt_class_tobject_iomps_fmt_scan_tlong long unsigned intpatsdylan_skipGNU C 3.4.6 [FreeBSD] 20060305limitdylan_isfwdlong long intsigned chardylan_fmt_Aloopmps_fmt_A_sdylan_fmtaddrparentlong intscanisfwddoublemps_classshort unsigned intfmtdy.carenamps_fmt_isfwd_t__uint32_tmps_arena_sreserved__size_tdylan_fmt_A_sunsigned intdylan_scanmps_fmt_omps_fmt_smps_fmt_tlong unsigned intnr_patsdylan_scan1_weakvword_mps_w0_mps_w1_mps_w2wrapperdylan_fmt_Bdylan_fmt_A_weakdylan_scan_weakshort intdylan_fmt_weakbasecopyfirst_worddylan_fmt_B_sobjectBasemps_fmt_copy_tmps_align_t_mps_wtdylan_weak_dependentalignmps_ssfworddylan_classmps_word_tmps_arena_tunsigned charversiondylan_scan_patmps_ss_smps_ss_tdylan_wrapper_checkmps_fmt_pad_tsizedylan_fmt_B_weakdylan_fmt_B_weak_slengthcharassocclassmps_fmt_B_sskipmps_fmt_skip_tdylan_padmps_addr_tdylan_copyskip_incmps_res_tdylan_scan_contig_weakdylan_fwddylan_scan1mps_fmt_fwd_tobjectGCC: (GNU) 3.4.6 [FreeBSD] 20060305.symtab.strtab.shstrtab.rel.text.rel.data.bss.debug_abbrev.rel.debug_info.rel.debug_line.debug_macinfo.rel.rodata.rel.debug_frame.rel.debug_pubnames.rel.debug_aranges.debug_str.comment4- [p) % \/4&F& B \pV1R Pc b62u4(UÉUÉUÍvUÍvUÉUÍvUÉUÉU ÉU Pu uC% $ > $ > : ; I I<  : ;  : ; I8  ' I I ' : ; I8 .? : ; ' I@ : ; I .? : ; ' @ : ; I .? : ; ' I@ 4: ; I yp{wint 8W)TT _L)7zJ@ & fix #w0&#w1&#w2&# *lf,E[.G /E_e 1 < <L < <  < <   < , 1 < I# T# G# # fwd# #pad#&,  I# T# G# à# fwd# #pad# #,Ƞn841 U12< 3<;< U:<oCUoldA<newB< @J %UoldH<newI< *#P<(2UO<^X49UkV<W ^<<FUobj]<<HRUfT^U1`yU6 pf&!q :  /usr/include/usr/include/sys/usr/include/machinefmtno.hmps.hstddef.hcdefs.h_null.h_types.h_types.hstdarg.hlimits.hlimits.h_limits.hsyslimits.hassert.hstring.hstrings.hstdlib.hfmtno.c3==__GNUCLIKE___OFFSETOF 1?__GNUCLIKE___SECTION 1A__GNUCLIKE_ATTRIBUTE_MODE_DI 1D__GNUCLIKE_CTOR_SECTION_HANDLING 1G__GNUCLIKE_BUILTIN_CONSTANT_P 1N__GNUCLIKE_BUILTIN_VARARGS 1O__GNUCLIKE_BUILTIN_STDARG 1P__GNUCLIKE_BUILTIN_VAALIST 1T__GNUC_VA_LIST_COMPATIBILITY 1X__GNUCLIKE_BUILTIN_NEXT_ARG 1Y__GNUCLIKE_MATH_BUILTIN_RELOPS \__GNUCLIKE_BUILTIN_MEMCPY 1___CC_SUPPORTS_INLINE 1`__CC_SUPPORTS___INLINE 1a__CC_SUPPORTS___INLINE__ 1c__CC_SUPPORTS___FUNC__ 1d__CC_SUPPORTS_WARNING 1f__CC_SUPPORTS_VARADIC_XXX 1h__CC_SUPPORTS_DYNAMIC_ARRAY_INIT 1k__CC_INT_IS_32BIT 1s__GNUC_PREREQ__(ma,mi) (__GNUC__ > (ma) || __GNUC__ == (ma) && __GNUC_MINOR__ >= (mi))__P(protos) protos__CONCAT1(x,y) x ## y__CONCAT(x,y) __CONCAT1(x,y)__STRING(x) #x__XSTRING(x) __STRING(x)__const const__signed signed__volatile volatile__dead2 __attribute__((__noreturn__))__pure2 __attribute__((__const__))__unused __attribute__((__unused__))__used __attribute__((__used__))__packed __attribute__((__packed__))__aligned(x) __attribute__((__aligned__(x)))__section(x) __attribute__((__section__(x)))__pure __attribute__((__pure__))__always_inline __attribute__((__always_inline__))__nonnull(x) __attribute__((__nonnull__(x)))__restrict __predict_true(exp) __builtin_expect((exp), 1)__predict_false(exp) __builtin_expect((exp), 0)__offsetof(type,field) ((size_t)(&((type *)0)->field))__rangeof(type,start,end) (__offsetof(type, end) - __offsetof(type, start))__printflike(fmtarg,firstvararg) __attribute__((__format__ (__printf__, fmtarg, firstvararg)))__scanflike(fmtarg,firstvararg) __attribute__((__format__ (__scanf__, fmtarg, firstvararg)))__format_arg(fmtarg) __attribute__((__format_arg__ (fmtarg)))__printf0like(fmtarg,firstvararg) __attribute__((__format__ (__printf0__, fmtarg, firstvararg)))__strong_reference(sym,aliassym) extern __typeof (sym) aliassym __attribute__ ((__alias__ (#sym)));__weak_reference(sym,alias) __asm__(".weak " #alias); __asm__(".equ " #alias ", " #sym)__warn_references(sym,msg) __asm__(".section .gnu.warning." #sym); __asm__(".asciz \"" msg "\""); __asm__(".previous")__IDSTRING(name,string) __asm__(".ident\t\"" string "\"")__FBSDID(s) __IDSTRING(__CONCAT(__rcsid_,__LINE__),s)__RCSID(s) __IDSTRING(__CONCAT(__rcsid_,__LINE__),s)__RCSID_SOURCE(s) __IDSTRING(__CONCAT(__rcsid_source_,__LINE__),s)__SCCSID(s) __IDSTRING(__CONCAT(__sccsid_,__LINE__),s)__COPYRIGHT(s) __IDSTRING(__CONCAT(__copyright_,__LINE__),s)__DECONST(type,var) ((type)(uintptr_t)(const void *)(var))__DEVOLATILE(type,var) ((type)(uintptr_t)(volatile void *)(var))__DEQUALIFY(type,var) ((type)(uintptr_t)(const volatile void *)(var))__POSIX_VISIBLE 200112__XSI_VISIBLE 600__BSD_VISIBLE 1__ISO_C_VISIBLE 1999* NULL ((void *)0)+_SYS__TYPES_H_ !(_MACHINE__TYPES_H_ .__NO_STRICT_ALIGNMENT __GNUC_VA_LIST 2_RUNE_T_DECLARED 8_SIZE_T_DECLARED >_WCHAR_T_DECLARED Boffsetof(type,member) __offsetof(type, member)'_MACHINE_STDARG_H_ -_VA_LIST_DECLARED 3va_start(ap,last) __builtin_stdarg_start((ap), (last))6va_arg(ap,type) __builtin_va_arg((ap), type):va_copy(dest,src) __builtin_va_copy((dest), (src))>va_end(ap) __builtin_va_end(ap) &_LIMITS_H_ +_POSIX_ARG_MAX 4096,_POSIX_CHILD_MAX 25-_POSIX_LINK_MAX 8._POSIX_MAX_CANON 255/_POSIX_MAX_INPUT 2550_POSIX_NAME_MAX 141_POSIX_NGROUPS_MAX 82_POSIX_OPEN_MAX 203_POSIX_PATH_MAX 2564_POSIX_PIPE_BUF 5125_POSIX_SSIZE_MAX 327676_POSIX_STREAM_MAX 87_POSIX_TZNAME_MAX 69BC_BASE_MAX 99:BC_DIM_MAX 2048;BC_SCALE_MAX 99EXPR_NEST_MAX 32?LINE_MAX 2048@RE_DUP_MAX 255B_POSIX2_BC_BASE_MAX 99C_POSIX2_BC_DIM_MAX 2048D_POSIX2_BC_SCALE_MAX 99E_POSIX2_BC_STRING_MAX 1000F_POSIX2_EQUIV_CLASS_MAX 2G_POSIX2_EXPR_NEST_MAX 32H_POSIX2_LINE_MAX 2048I_POSIX2_RE_DUP_MAX 255M_POSIX_AIO_LISTIO_MAX 16N_POSIX_AIO_MAX 1O_POSIX_DELAYTIMER_MAX 32P_POSIX_MQ_OPEN_MAX 8Q_POSIX_MQ_PRIO_MAX 32R_POSIX_RTSIG_MAX 8S_POSIX_SEM_NSEMS_MAX 256T_POSIX_SEM_VALUE_MAX 32767U_POSIX_SIGQUEUE_MAX 32V_POSIX_TIMER_MAX 32Z_POSIX_THREAD_DESTRUCTOR_ITERATIONS 4[_POSIX_THREAD_KEYS_MAX 128\_POSIX_THREAD_THREADS_MAX 64`_POSIX_HOST_NAME_MAX 255a_POSIX_LOGIN_NAME_MAX 9b_POSIX_SS_REPL_MAX 4c_POSIX_SYMLINK_MAX 255d_POSIX_SYMLOOP_MAX 8e_POSIX_TRACE_EVENT_NAME_MAX 30f_POSIX_TRACE_NAME_MAX 8g_POSIX_TRACE_SYS_MAX 8h_POSIX_TRACE_USER_EVENT_MAX 32i_POSIX_TTY_NAME_MAX 9j_POSIX2_CHARCLASS_NAME_MAX 14k_POSIX2_COLL_WEIGHTS_MAX 2m_POSIX_RE_DUP_MAX _POSIX2_RE_DUP_MAXq_XOPEN_IOV_MAX 16r_XOPEN_NAME_MAX 255s_XOPEN_PATH_MAX 1024tPASS_MAX 128vNL_ARGMAX 99wNL_LANGMAX 31xNL_MSGMAX 32767yNL_NMAX 1zNL_SETMAX 255{NL_TEXTMAX 2048~MB_LEN_MAX 6 !_SYS_LIMITS_H_ $ "_MACHINE__LIMITS_H_ /__CHAR_BIT 81__SCHAR_MAX 0x7f2__SCHAR_MIN (-0x7f - 1)4__UCHAR_MAX 0xff6__USHRT_MAX 0xffff7__SHRT_MAX 0x7fff8__SHRT_MIN (-0x7fff - 1):__UINT_MAX 0xffffffffU;__INT_MAX 0x7fffffff<__INT_MIN (-0x7fffffff - 1)D__ULONG_MAX 0xffffffffULE__LONG_MAX 0x7fffffffLF__LONG_MIN (-0x7fffffffL - 1)J__ULLONG_MAX 0xffffffffffffffffULLK__LLONG_MAX 0x7fffffffffffffffLLL__LLONG_MIN (-0x7fffffffffffffffLL - 1)N__SSIZE_MAX __INT_MAXP__SIZE_T_MAX __UINT_MAXR__OFF_MAX __LLONG_MAXS__OFF_MIN __LLONG_MINV__UQUAD_MAX __ULLONG_MAXW__QUAD_MAX __LLONG_MAXX__QUAD_MIN __LLONG_MIN]__LONG_BIT 32___WORD_BIT 32&CHAR_BIT __CHAR_BIT(SCHAR_MAX __SCHAR_MAX)SCHAR_MIN __SCHAR_MIN+UCHAR_MAX __UCHAR_MAX1CHAR_MAX SCHAR_MAX2CHAR_MIN SCHAR_MIN5USHRT_MAX __USHRT_MAX6SHRT_MAX __SHRT_MAX7SHRT_MIN __SHRT_MIN9UINT_MAX __UINT_MAX:INT_MAX __INT_MAX;INT_MIN __INT_MIN=ULONG_MAX __ULONG_MAX>LONG_MAX __LONG_MAX?LONG_MIN __LONG_MINHSSIZE_MAX __SSIZE_MAXLSIZE_T_MAX __SIZE_T_MAXNOFF_MAX __OFF_MAXOOFF_MIN __OFF_MINSGID_MAX UINT_MAXTUID_MAX UINT_MAXVUQUAD_MAX (__UQUAD_MAX)WQUAD_MAX (__QUAD_MAX)XQUAD_MIN (__QUAD_MIN)\LONG_BIT __LONG_BIT]WORD_BIT __WORD_BIT "_SYS_SYSLIMITS_H_ 4ARG_MAX 2621447CHILD_MAX 409LINK_MAX 32767:MAX_CANON 255;MAX_INPUT 255 (sac)->mps_middle) { _mps_i = 0; while (_mps_s > (sac)->mps_freelists[_mps_i].mps_size) _mps_i += 2; } else { _mps_i = 1; while (_mps_s <= (sac)->mps_freelists[_mps_i].mps_size) _mps_i += 2; } if ((sac)->mps_freelists[_mps_i].mps_count != 0) { (p_o) = (sac)->mps_freelists[_mps_i].mps_blocks; (sac)->mps_freelists[_mps_i].mps_blocks = *(mps_addr_t *)(p_o); --(sac)->mps_freelists[_mps_i].mps_count; (res_o) = MPS_RES_OK; } else (res_o) = mps_sac_fill(&(p_o), sac, _mps_s, has_reservoir_permit); MPS_ENDMPS_SAC_FREE_FAST(sac,p,size) MPS_BEGIN size_t _mps_i, _mps_s; _mps_s = (size); if (_mps_s > (sac)->mps_middle) { _mps_i = 0; while (_mps_s > (sac)->mps_freelists[_mps_i].mps_size) _mps_i += 2; } else { _mps_i = 1; while (_mps_s <= (sac)->mps_freelists[_mps_i].mps_size) _mps_i += 2; } if ((sac)->mps_freelists[_mps_i].mps_count < (sac)->mps_freelists[_mps_i].mps_count_max) { *(mps_addr_t *)(p) = (sac)->mps_freelists[_mps_i].mps_blocks; (sac)->mps_freelists[_mps_i].mps_blocks = (p); ++(sac)->mps_freelists[_mps_i].mps_count; } else mps_sac_empty(sac, p, _mps_s); MPS_ENDMPS_SAC_ALLOC(res_o,p_o,sac,size,has_reservoir_permit) MPS_SAC_ALLOC_FAST(res_o, p_o, sac, size, has_reservoir_permit)MPS_SAC_FREE(sac,p,size) MPS_SAC_FREE_FAST(sac, p, size)mps_reserve(_p_o,_mps_ap,_size) ((char *)(_mps_ap)->alloc + (_size) > (char *)(_mps_ap)->alloc && (char *)(_mps_ap)->alloc + (_size) <= (char *)(_mps_ap)->limit ? ((_mps_ap)->alloc = (mps_addr_t)((char *)(_mps_ap)->alloc + (_size)), *(_p_o) = (_mps_ap)->init, MPS_RES_OK) : mps_ap_fill(_p_o, _mps_ap, _size))MPS_RESERVE_BLOCK(_res_v,_p_v,_mps_ap,_size) MPS_BEGIN char *_alloc = (char *)(_mps_ap)->alloc; char *_next = _alloc + (_size); if(_next > _alloc && _next <= (char *)(_mps_ap)->limit) { (_mps_ap)->alloc = (mps_addr_t)_next; (_p_v) = (_mps_ap)->init; (_res_v) = MPS_RES_OK; } else (_res_v) = mps_ap_fill(&(_p_v), _mps_ap, _size); MPS_ENDMPS_RESERVE_WITH_RESERVOIR_PERMIT_BLOCK(_res_v,_p_v,_mps_ap,_size) MPS_BEGIN char *_alloc = (char *)(_mps_ap)->alloc; char *_next = _alloc + (_size); if(_next > _alloc && _next <= (char *)(_mps_ap)->limit) { (_mps_ap)->alloc = (mps_addr_t)_next; (_p_v) = (_mps_ap)->init; (_res_v) = MPS_RES_OK; } else (_res_v) = mps_ap_fill_with_reservoir_permit(&(_p_v), _mps_ap, _size); MPS_ENDmps_commit(_mps_ap,_p,_size) ((_mps_ap)->init = (_mps_ap)->alloc, (_mps_ap)->limit != 0 || mps_ap_trip(_mps_ap, _p, _size))MPS_SCAN_BEGIN(ss) MPS_BEGIN mps_ss_t _ss = (ss); mps_word_t _mps_w0 = (_ss)->w0; mps_word_t _mps_w1 = (_ss)->w1; mps_word_t _mps_w2 = (_ss)->w2; mps_word_t _mps_wt; {MPS_FIX1(ss,ref) (_mps_wt = 1uL << ((mps_word_t)(ref) >> _mps_w0 & (sizeof(mps_word_t) * CHAR_BIT - 1)), _mps_w2 |= _mps_wt, _mps_w1 & _mps_wt)MPS_FIX2(ss,ref_io) ((*(ss)->fix)(ss, ref_io))MPS_FIX12(ss,ref_io) (MPS_FIX1(ss, *(ref_io)) ? MPS_FIX2(ss, ref_io) : MPS_RES_OK)MPS_FIX(ss,ref_io) MPS_FIX12(ss, ref_io)MPS_FIX_CALL(ss,call) MPS_BEGIN (call); _mps_w2 |= (ss)->w2; MPS_ENDMPS_SCAN_END(ss) } (ss)->w2 = _mps_w2; MPS_END 1assert2_assert5assert(e) ((void)0)6_assert(e) ((void)0) &_STRING_H_ 1_STRINGS_H_ t_SWAB_DECLARED x_SSIZE_T_DECLARED &_STDLIB_H_ IEXIT_FAILURE 1JEXIT_SUCCESS 0LRAND_MAX 0x7fffffffOMB_CUR_MAX __mb_cur_max_MKSTEMP_DECLARED _MKTEMP_DECLARED _SETKEY_DECLARED allocaalloca(sz) __builtin_alloca(sz)notreached() assert(0)unused(param) ((void)param)-ALIGN sizeof(mps_word_t)|  AB  AB AB  AB ( AB 4AB < AB H AB T AB `AB O.#(no_scannno_skipno_copyno_fwdno_isfwd*no_pad^no_classno_fmt_Ano_fmt_Bno_fmtysize_t/home/hannes/dylan/mps/codeno_isfwdmps_fmt_class_tno_fmt_Amps_fmt_scan_tlong long unsigned intaddrGNU C 3.4.6 [FreeBSD] 20060305limitlong long intsigned charmps_fmt_A_slong intscanisfwddoublemps_classshort unsigned intarenamps_fmt_isfwd_t__uint32_tmps_arena_s__size_tunsigned intmps_fmt_omps_fmt_smps_fmt_tlong unsigned intno_fmt_Bno_copyshort intno_padno_classbasecopyno_fmtmps_fmt_copy_tmps_align_talignmps_ssmps_word_tmps_arena_tunsigned charno_skipmps_ss_smps_ss_tmps_fmt_pad_tsizecharno_fmt_B_smps_fmt_B_sno_scanno_fwdskipmps_fmt_skip_tmps_addr_tmps_res_tno_fmt_A_sfmtno.cmps_fmt_fwd_tobjectGCC: (GNU) 3.4.6 [FreeBSD] 20060305.symtab.strtab.shstrtab.rel.text.rel.data.bss.debug_abbrev.rel.debug_info.rel.debug_line.debug_macinfo.rel.debug_frame.rel.debug_pubnames.rel.debug_aranges.debug_str.comment4y C )@ % Dh/4F#B hDV1>R xG bou0u8q G 9 Hw:  (H0:/=%T=A \C     ' /7 >( G4N< WH `T i`pfmtno.cno_fmt_A_sno_fmt_B_sno_scanno_skipno_copyno_fwdno_isfwdno_padno_classno_fmt_Ano_fmt_Bno_fmtmps_fmt_create_BLXgs $(,048< !%*18?MX_fmt{'2=JU+3AO]y.9=DR`t07;BPdos  0 4H L` dx |     poolawl.o/ 1169001830 1001 1001 100644 78560 ` ELF 4(UÉUE@H@LÉUEǀǀǀǀǀÉUWVSU ]}B E؃E@ESuuuVuPà NXEEƃ4uVuEPÃEG0uVuEPÃEG4uVuEPÃunEG8UW<Rjw0 ujw4 ujw8 juuEG@GPY7QGDW}3Vw4uVw0u uURؐe[^_UWVS]C0~ SNX 4Vs8W Vs4W Vs0WCP[Q@$Pe[^_U=u1=u h .v ÐUÍvUVS]ƃjLPSs$CCTC`Ce[^ÍvUMU B@tP=t;v ,=tBD;v vvÉUMUE @D9PLu@HPLÐUEǀÉUMU B@tCExu$zDtBDBDR5UWVSuÉ<$WT)‰)ЋU B UBU J Pue[^_UWVS }u ]9sSVw0 SVw4e[^_UWVS ]CU J߃C PS$tQCp SÉ$ )UJXPjWF w $ > : ; I I<  &I  : ; : ; I8 : ; I : ;I8 : ;I8  : ; I8  : ; I 8  : ;I 8  : ;I 8  : ; ' II' ' I : ;  : ;  : ; I: ;II!I/ .: ; ' I@ : ; I .: ; ' @ : ; I !4: ; I "4: ; I # : ; $4: ; I%4: ; I&.: ;' I@ '.? : ;' I@ (.: ;' @ ): ;I * +4: ;I ,.: ;' I@ -: ;I .4: ;I / : ;0 14: ;I24: ;I34: ; I?  44: ;I?  8><int 8WN   :=_L |ScN W7z . E" @}" $@# %@# T&@# '@# FV Sigl ResE l "#r $r%r&r'WI (W Ref)} ,r-r.WD/W1*2W 3WX4W5W?6W 7W BT:drY;u{  < a`< sigs\# t# u# DvJ# w# Xxu # y# 1zp# p {s#$ |s#, n}}#4 z~}#8 x$#< G}#T #X W#\w> p @> D!# GE@# F# k G# QH# I# J'#$ mK#( segL2#, MS#0 Nt#4 O#8 sigP\#<-AW bC k a}# $ b}# c}# D d}# e# f#\ D <D sig\# # O# DJ# nu # # # # #$ z#( 9 #, pad #0 0 #4 #8FT G <XGsig`\# a# b# DcJ# ndu # eu # f# gu #$ h#, i#0fixj#4 ks#8 ls#@ Ums#H ns#PgH lH 2!# G3@# 4# ]5# 6D# k 7# Q8#$ $ 9!#( :Q#, ;x#0 Q<#4 =#8 >#< O ?>#@ H@e#D A#HfixB#L C#P ] D#T iE#X _F/#\ GQ#` H#d I#h wJ#l K#p L,#t mMC#x INi#| O#sigP\#PNy O c O sig\# ti# DJ# |# # .# # L # # #$ b#( #, #0 x#4 k #8 #< #@ #D 7#H #L #P '#T 7#X . #\ #` #d #h #l c#p u #t _ #x  #|  # } # # 0# P  L TP fix# r# |# # sig\# DJ# d ## # # F#$ . #( #, #0 #4 #8 _#< #@ #D }#H #L #PQW ] ~Qsig>\# D?J# @u # A## qB# C"#R  & * R #p# n}#|##  W# S1 7 " 8Ssig\# # DJ# 3 u # # # n}# }# #$ #( LZ#,  #0 #4 aCT sig\# ?& # n}# }# a# a# Ulr  Utheh # SegV r V sig\# #  # X u #  }#e  W#pm 9#sm 9#O ##|## ## # 0W oi$# u # #$ H #( sig!\#,^X .LX !# G@# # k  # QF# # H#$ /#( c#, #0 #4  #8 m>#< Ad#@ #Dsig\#H YEZ K Z sig0\# %1# 2# y 3# 4# gen5#W\V\ JH\ &!# G'$# (# ])# k *# Q+8# w,U#$ -v#( .#, $ /#0 0#4 1#8 2:#< m3W#@ sig4\#D^U[Es(^ o$# p#t rK#x t#| uH$# 7 wS$# Y y# Nz# 6|# }# # #  # j}# %& # 3 u # # $# r"# ,u # '# u # (Z# # # u # P # # $# L# # M # # d## 9## $# os# ls# r# $# # u #  # # $# sig\# os t_ sigB\# 8Eu # F# Is# lJ# qK# Ls# Ms#( >Ns#0 UOs#8 Ps#@ .S@#H ) V#L XYu #P Z#X ]u #\ ^#d 'au #h d#pdz  e4g"  hh ## 9 #X #\ #`sig\#dn2g2KJoCIUJ p`fvJyqCrgJ} tg} Ju}v%:g& j"wEKW& xbh}gJ}Kg }l }}Fg}QWcnt#ne  '->IOdg}oug}}}6 ogG '}}}W=CS ^dt[ g} g.!y,2Qg)\bx}4 ƒg Ľ}}g}9om$>g% IOeEpv#(̗g  g Is/:@Q\b|g|׍g ٸl,_7=NTig}G tzg }}}}}}   0 }5F L u C ; # ; #CL *   g e# fE# h%c |g  ir o \  6!\sig}\# ~ # p!# !# ;aA!G! p!asig\#  # m{!!!!6! 6!x!!!!    "  # s#! r"$sig\# #  # !s# "s# #u #$" "a )sig.\#nr/# 0# 1L # 3u # 4# _5#a6}"r"lQ<o #t ## #X  #\ E #` r#d ##h  #lsig\#p##H$} ` ## O##X =##  #  # # # # mu #sig\#} #. "r 6bg{c C s eE$$$$u % ,%\ ?  @#  A}#\ B% % F  G# R H# G I#  J# c K# L7%v P ?&k W  X## f Y#X  ZL #\ g ["#`  \#gen ]#  ^#  _%#  `%#sig a\# AWL bJ&% &T w  xu$# yZ#0 Z zZ#4 $ {Z#8 J |#<  }#@  ~#D  ,%#Hsig \#P &P&'  U &9'  "U &P]'H $^U awl ?&Pc( g`U seg  Rn }  $ S! l! &W"awl ?&V!D Jh! d! `"res gS! V"v p# # # (q DU seg S$awl ?&% &! P! V! P!D JW![ P = ^$& DU'Y (U(c) U) (S*+ V,)l 0NU-awl /?&Q-seg /R) /}*L+ 8&R(* VPsU-awl U?&Q-seg U ) U}R+ W&P(W*k ltU-awl k?&P-seg k ) k}(* xU-awl w?&Q-seg w -ss w P+ y&R,c+L gU) c+P)  ) ) S) .awl ?&@.seg D+ &R.res gP+D JP+ $H&,, U) P) P) &S-awl ?&) W.n P.i l.j p.seg V,, gU) W-arg R.awl ?&V+ P+ %P+ L p.res gS+d "/ (-  U) .awl ?&W+ ; V+_ ; P+Z ; S*.seg %P,E. 4g ]U) 1P) 1P) 2W)H 2) 2) 3+n 5}l+ 5}p+ 6&h.awl 7?&d.res 8gP+_ 9; R+Z 9; V/ ^0.@.seg FS*>.i `V.j `S.seg aR(.M u`U) tP)H t )k t}P) t}P1awl v?&2 w&.seg xW+u y}R.i zV.j zS($/ U) &W)n V) S,/g gU) )  -seg .awl ?&S+ &p+H W*<+n }V+U P+ S(0  U) &W)n V) S(0   U) ) R-seg S*4 1awl ?&+ &W*_ +n }V+H S(0  U) )c # -seg P1awl ?&2 &,1 g ~ U)D J-awl ?&P-ss  ) P)n }W) }.res gS+ V+O !}P+( "p,28 Dg U) A-ss B  ) B-seg C)! C+n E}p+ E}l+ E}h.p F}S.hp G}S+D HJd.awl I?&`+ J&W+H K\+ LX* .i hV+ i}T*{ .res {gP,p3 g ^ U)~ -ss  W) -seg V.awl ?&l2 &+ p+! S.res gP, 4Z g` n U) S-ss   -seg )Y + P+n }R.i V.awl ?&W+ &p(5* p hU) )  -seg +n }p.awl ?&l+ &h.i V+1 d+ `+ \+} X+ P* .p }T.q }S.j W* @+H $S,5: OghU) M-seg M ) M}W)1 N9) No.awl P?&V.res QgS(6 w!U) u-seg u -f u-p v-s vl.awl x?&p+ y&l+A z}V+n z}h+ z}d+ {`*,+ }W.i S*>t+H S  "' 6$kU' 6lyU(7s |#U) 6S*+ V'6 $1U,W72 4>U-awl ?&! .3! .+| + ( 4 &4 '4O )4 *+: + 6 /usr/include/usr/include/sys/usr/include/machinempscawl.hmps.hstddef.hcdefs.h_null.h_types.h_types.hstdarg.hlimits.hlimits.h_limits.hsyslimits.hmpm.hconfig.hmpstd.hmisc.hcheck.hmpslib.hevent.heventcom.hmpmtypes.heventgen.hlock.hth.hring.hss.htract.hbt.hmpmst.hprotocol.hchain.hpoolawl.c  9drrJdN ;f/Vddsdddrrd:t: Y>:ƜtdcBcVrrrriUidudM<:WI:d?>Mh@ddfd!fr3f+u3:*Ih:,sV AeHƫJ;e;HXt@$&!Hw.d"< 3 qsrH<eff;d:-chVdXVdWd+s;Vc/r0VVfVdTkUvd ŀrxefe$aefd::d&A, dr, efed: ch:idIdd+ǮcBcrrrrrrrrrrrrrrrrrdV[ 9__STDC_HOSTED__ 1__GNUC__ 3__GNUC_MINOR__ 4__GNUC_PATCHLEVEL__ 6__SIZE_TYPE__ unsigned int__PTRDIFF_TYPE__ int__WCHAR_TYPE__ int__WINT_TYPE__ unsigned int __GXX_ABI_VERSION 1002 __SCHAR_MAX__ 127 __SHRT_MAX__ 32767 __INT_MAX__ 2147483647 __LONG_MAX__ 2147483647L__LONG_LONG_MAX__ 9223372036854775807LL__WCHAR_MAX__ 2147483647__CHAR_BIT__ 8__FLT_EVAL_METHOD__ 2__FLT_RADIX__ 2__FLT_MANT_DIG__ 24__FLT_DIG__ 6__FLT_MIN_EXP__ (-125)__FLT_MIN_10_EXP__ (-37)__FLT_MAX_EXP__ 128__FLT_MAX_10_EXP__ 38__FLT_MAX__ 3.40282347e+38F__FLT_MIN__ 1.17549435e-38F__FLT_EPSILON__ 1.19209290e-7F__FLT_DENORM_MIN__ 1.40129846e-45F__FLT_HAS_INFINITY__ 1__FLT_HAS_QUIET_NAN__ 1__DBL_MANT_DIG__ 53 __DBL_DIG__ 15!__DBL_MIN_EXP__ (-1021)"__DBL_MIN_10_EXP__ (-307)#__DBL_MAX_EXP__ 1024$__DBL_MAX_10_EXP__ 308%__DBL_MAX__ 1.7976931348623157e+308&__DBL_MIN__ 2.2250738585072014e-308'__DBL_EPSILON__ 2.2204460492503131e-16(__DBL_DENORM_MIN__ 4.9406564584124654e-324)__DBL_HAS_INFINITY__ 1*__DBL_HAS_QUIET_NAN__ 1+__LDBL_MANT_DIG__ 53,__LDBL_DIG__ 15-__LDBL_MIN_EXP__ (-16381).__LDBL_MIN_10_EXP__ (-4931)/__LDBL_MAX_EXP__ 163840__LDBL_MAX_10_EXP__ 49321__DECIMAL_DIG__ 172__LDBL_MAX__ 1.1897314953572316e+4932L3__LDBL_MIN__ 3.3621031431120935e-4932L4__LDBL_EPSILON__ 2.2204460492503131e-16L5__LDBL_DENORM_MIN__ 7.4653686412953080e-4948L6__LDBL_HAS_INFINITY__ 17__LDBL_HAS_QUIET_NAN__ 18__REGISTER_PREFIX__ 9__USER_LABEL_PREFIX__ :__VERSION__ "3.4.6 [FreeBSD] 20060305";__OPTIMIZE__ 1<__FINITE_MATH_ONLY__ 0=__STRICT_ANSI__ 1@__i386 1A__i386__ 1B__tune_i386__ 1C__FreeBSD__ 6D__unix 1E__unix__ 1F__KPRINTF_ATTRIBUTE__ 1J__FreeBSD_cc_version 602001K__ELF__ 1_REENTRANT 1CONFIG_PROD_DYLAN 1CONFIG_VAR_HI 1NDEBUG 1*mpscawl_h   mps_h '_STDDEF_H_ )%_SYS_CDEFS_H_ +__BEGIN_DECLS ,__END_DECLS 8__GNUCLIKE_ASM 39__GNUCLIKE_MATH_BUILTIN_CONSTANTS =__GNUCLIKE___TYPEOF 1>__GNUCLIKE___OFFSETOF 1?__GNUCLIKE___SECTION 1A__GNUCLIKE_ATTRIBUTE_MODE_DI 1D__GNUCLIKE_CTOR_SECTION_HANDLING 1G__GNUCLIKE_BUILTIN_CONSTANT_P 1N__GNUCLIKE_BUILTIN_VARARGS 1O__GNUCLIKE_BUILTIN_STDARG 1P__GNUCLIKE_BUILTIN_VAALIST 1T__GNUC_VA_LIST_COMPATIBILITY 1X__GNUCLIKE_BUILTIN_NEXT_ARG 1Y__GNUCLIKE_MATH_BUILTIN_RELOPS \__GNUCLIKE_BUILTIN_MEMCPY 1___CC_SUPPORTS_INLINE 1`__CC_SUPPORTS___INLINE 1a__CC_SUPPORTS___INLINE__ 1c__CC_SUPPORTS___FUNC__ 1d__CC_SUPPORTS_WARNING 1f__CC_SUPPORTS_VARADIC_XXX 1h__CC_SUPPORTS_DYNAMIC_ARRAY_INIT 1k__CC_INT_IS_32BIT 1s__GNUC_PREREQ__(ma,mi) (__GNUC__ > (ma) || __GNUC__ == (ma) && __GNUC_MINOR__ >= (mi))__P(protos) protos__CONCAT1(x,y) x ## y__CONCAT(x,y) __CONCAT1(x,y)__STRING(x) #x__XSTRING(x) __STRING(x)__const const__signed signed__volatile volatile__dead2 __attribute__((__noreturn__))__pure2 __attribute__((__const__))__unused __attribute__((__unused__))__used __attribute__((__used__))__packed __attribute__((__packed__))__aligned(x) __attribute__((__aligned__(x)))__section(x) __attribute__((__section__(x)))__pure __attribute__((__pure__))__always_inline __attribute__((__always_inline__))__nonnull(x) __attribute__((__nonnull__(x)))__restrict __predict_true(exp) __builtin_expect((exp), 1)__predict_false(exp) __builtin_expect((exp), 0)__offsetof(type,field) ((size_t)(&((type *)0)->field))__rangeof(type,start,end) (__offsetof(type, end) - __offsetof(type, start))__printflike(fmtarg,firstvararg) __attribute__((__format__ (__printf__, fmtarg, firstvararg)))__scanflike(fmtarg,firstvararg) __attribute__((__format__ (__scanf__, fmtarg, firstvararg)))__format_arg(fmtarg) __attribute__((__format_arg__ (fmtarg)))__printf0like(fmtarg,firstvararg) __attribute__((__format__ (__printf0__, fmtarg, firstvararg)))__strong_reference(sym,aliassym) extern __typeof (sym) aliassym __attribute__ ((__alias__ (#sym)));__weak_reference(sym,alias) __asm__(".weak " #alias); __asm__(".equ " #alias ", " #sym)__warn_references(sym,msg) __asm__(".section .gnu.warning." #sym); __asm__(".asciz \"" msg "\""); __asm__(".previous")__IDSTRING(name,string) __asm__(".ident\t\"" string "\"")__FBSDID(s) __IDSTRING(__CONCAT(__rcsid_,__LINE__),s)__RCSID(s) __IDSTRING(__CONCAT(__rcsid_,__LINE__),s)__RCSID_SOURCE(s) __IDSTRING(__CONCAT(__rcsid_source_,__LINE__),s)__SCCSID(s) __IDSTRING(__CONCAT(__sccsid_,__LINE__),s)__COPYRIGHT(s) __IDSTRING(__CONCAT(__copyright_,__LINE__),s)__DECONST(type,var) ((type)(uintptr_t)(const void *)(var))__DEVOLATILE(type,var) ((type)(uintptr_t)(volatile void *)(var))__DEQUALIFY(type,var) ((type)(uintptr_t)(const volatile void *)(var))__POSIX_VISIBLE 200112__XSI_VISIBLE 600__BSD_VISIBLE 1__ISO_C_VISIBLE 1999* NULL ((void *)0)+_SYS__TYPES_H_ !(_MACHINE__TYPES_H_ .__NO_STRICT_ALIGNMENT __GNUC_VA_LIST 2_RUNE_T_DECLARED 8_SIZE_T_DECLARED >_WCHAR_T_DECLARED Boffsetof(type,member) __offsetof(type, member)'_MACHINE_STDARG_H_ -_VA_LIST_DECLARED 3va_start(ap,last) __builtin_stdarg_start((ap), (last))6va_arg(ap,type) __builtin_va_arg((ap), type):va_copy(dest,src) __builtin_va_copy((dest), (src))>va_end(ap) __builtin_va_end(ap) &_LIMITS_H_ +_POSIX_ARG_MAX 4096,_POSIX_CHILD_MAX 25-_POSIX_LINK_MAX 8._POSIX_MAX_CANON 255/_POSIX_MAX_INPUT 2550_POSIX_NAME_MAX 141_POSIX_NGROUPS_MAX 82_POSIX_OPEN_MAX 203_POSIX_PATH_MAX 2564_POSIX_PIPE_BUF 5125_POSIX_SSIZE_MAX 327676_POSIX_STREAM_MAX 87_POSIX_TZNAME_MAX 69BC_BASE_MAX 99:BC_DIM_MAX 2048;BC_SCALE_MAX 99EXPR_NEST_MAX 32?LINE_MAX 2048@RE_DUP_MAX 255B_POSIX2_BC_BASE_MAX 99C_POSIX2_BC_DIM_MAX 2048D_POSIX2_BC_SCALE_MAX 99E_POSIX2_BC_STRING_MAX 1000F_POSIX2_EQUIV_CLASS_MAX 2G_POSIX2_EXPR_NEST_MAX 32H_POSIX2_LINE_MAX 2048I_POSIX2_RE_DUP_MAX 255M_POSIX_AIO_LISTIO_MAX 16N_POSIX_AIO_MAX 1O_POSIX_DELAYTIMER_MAX 32P_POSIX_MQ_OPEN_MAX 8Q_POSIX_MQ_PRIO_MAX 32R_POSIX_RTSIG_MAX 8S_POSIX_SEM_NSEMS_MAX 256T_POSIX_SEM_VALUE_MAX 32767U_POSIX_SIGQUEUE_MAX 32V_POSIX_TIMER_MAX 32Z_POSIX_THREAD_DESTRUCTOR_ITERATIONS 4[_POSIX_THREAD_KEYS_MAX 128\_POSIX_THREAD_THREADS_MAX 64`_POSIX_HOST_NAME_MAX 255a_POSIX_LOGIN_NAME_MAX 9b_POSIX_SS_REPL_MAX 4c_POSIX_SYMLINK_MAX 255d_POSIX_SYMLOOP_MAX 8e_POSIX_TRACE_EVENT_NAME_MAX 30f_POSIX_TRACE_NAME_MAX 8g_POSIX_TRACE_SYS_MAX 8h_POSIX_TRACE_USER_EVENT_MAX 32i_POSIX_TTY_NAME_MAX 9j_POSIX2_CHARCLASS_NAME_MAX 14k_POSIX2_COLL_WEIGHTS_MAX 2m_POSIX_RE_DUP_MAX _POSIX2_RE_DUP_MAXq_XOPEN_IOV_MAX 16r_XOPEN_NAME_MAX 255s_XOPEN_PATH_MAX 1024tPASS_MAX 128vNL_ARGMAX 99wNL_LANGMAX 31xNL_MSGMAX 32767yNL_NMAX 1zNL_SETMAX 255{NL_TEXTMAX 2048~MB_LEN_MAX 6 !_SYS_LIMITS_H_ $ "_MACHINE__LIMITS_H_ /__CHAR_BIT 81__SCHAR_MAX 0x7f2__SCHAR_MIN (-0x7f - 1)4__UCHAR_MAX 0xff6__USHRT_MAX 0xffff7__SHRT_MAX 0x7fff8__SHRT_MIN (-0x7fff - 1):__UINT_MAX 0xffffffffU;__INT_MAX 0x7fffffff<__INT_MIN (-0x7fffffff - 1)D__ULONG_MAX 0xffffffffULE__LONG_MAX 0x7fffffffLF__LONG_MIN (-0x7fffffffL - 1)J__ULLONG_MAX 0xffffffffffffffffULLK__LLONG_MAX 0x7fffffffffffffffLLL__LLONG_MIN (-0x7fffffffffffffffLL - 1)N__SSIZE_MAX __INT_MAXP__SIZE_T_MAX __UINT_MAXR__OFF_MAX __LLONG_MAXS__OFF_MIN __LLONG_MINV__UQUAD_MAX __ULLONG_MAXW__QUAD_MAX __LLONG_MAXX__QUAD_MIN __LLONG_MIN]__LONG_BIT 32___WORD_BIT 32&CHAR_BIT __CHAR_BIT(SCHAR_MAX __SCHAR_MAX)SCHAR_MIN __SCHAR_MIN+UCHAR_MAX __UCHAR_MAX1CHAR_MAX SCHAR_MAX2CHAR_MIN SCHAR_MIN5USHRT_MAX __USHRT_MAX6SHRT_MAX __SHRT_MAX7SHRT_MIN __SHRT_MIN9UINT_MAX __UINT_MAX:INT_MAX __INT_MAX;INT_MIN __INT_MIN=ULONG_MAX __ULONG_MAX>LONG_MAX __LONG_MAX?LONG_MIN __LONG_MINHSSIZE_MAX __SSIZE_MAXLSIZE_T_MAX __SIZE_T_MAXNOFF_MAX __OFF_MAXOOFF_MIN __OFF_MINSGID_MAX UINT_MAXTUID_MAX UINT_MAXVUQUAD_MAX (__UQUAD_MAX)WQUAD_MAX (__QUAD_MAX)XQUAD_MIN (__QUAD_MIN)\LONG_BIT __LONG_BIT]WORD_BIT __WORD_BIT "_SYS_SYSLIMITS_H_ 4ARG_MAX 2621447CHILD_MAX 409LINK_MAX 32767:MAX_CANON 255;MAX_INPUT 255 (sac)->mps_middle) { _mps_i = 0; while (_mps_s > (sac)->mps_freelists[_mps_i].mps_size) _mps_i += 2; } else { _mps_i = 1; while (_mps_s <= (sac)->mps_freelists[_mps_i].mps_size) _mps_i += 2; } if ((sac)->mps_freelists[_mps_i].mps_count != 0) { (p_o) = (sac)->mps_freelists[_mps_i].mps_blocks; (sac)->mps_freelists[_mps_i].mps_blocks = *(mps_addr_t *)(p_o); --(sac)->mps_freelists[_mps_i].mps_count; (res_o) = MPS_RES_OK; } else (res_o) = mps_sac_fill(&(p_o), sac, _mps_s, has_reservoir_permit); MPS_ENDMPS_SAC_FREE_FAST(sac,p,size) MPS_BEGIN size_t _mps_i, _mps_s; _mps_s = (size); if (_mps_s > (sac)->mps_middle) { _mps_i = 0; while (_mps_s > (sac)->mps_freelists[_mps_i].mps_size) _mps_i += 2; } else { _mps_i = 1; while (_mps_s <= (sac)->mps_freelists[_mps_i].mps_size) _mps_i += 2; } if ((sac)->mps_freelists[_mps_i].mps_count < (sac)->mps_freelists[_mps_i].mps_count_max) { *(mps_addr_t *)(p) = (sac)->mps_freelists[_mps_i].mps_blocks; (sac)->mps_freelists[_mps_i].mps_blocks = (p); ++(sac)->mps_freelists[_mps_i].mps_count; } else mps_sac_empty(sac, p, _mps_s); MPS_ENDMPS_SAC_ALLOC(res_o,p_o,sac,size,has_reservoir_permit) MPS_SAC_ALLOC_FAST(res_o, p_o, sac, size, has_reservoir_permit)MPS_SAC_FREE(sac,p,size) MPS_SAC_FREE_FAST(sac, p, size)mps_reserve(_p_o,_mps_ap,_size) ((char *)(_mps_ap)->alloc + (_size) > (char *)(_mps_ap)->alloc && (char *)(_mps_ap)->alloc + (_size) <= (char *)(_mps_ap)->limit ? ((_mps_ap)->alloc = (mps_addr_t)((char *)(_mps_ap)->alloc + (_size)), *(_p_o) = (_mps_ap)->init, MPS_RES_OK) : mps_ap_fill(_p_o, _mps_ap, _size))MPS_RESERVE_BLOCK(_res_v,_p_v,_mps_ap,_size) MPS_BEGIN char *_alloc = (char *)(_mps_ap)->alloc; char *_next = _alloc + (_size); if(_next > _alloc && _next <= (char *)(_mps_ap)->limit) { (_mps_ap)->alloc = (mps_addr_t)_next; (_p_v) = (_mps_ap)->init; (_res_v) = MPS_RES_OK; } else (_res_v) = mps_ap_fill(&(_p_v), _mps_ap, _size); MPS_ENDMPS_RESERVE_WITH_RESERVOIR_PERMIT_BLOCK(_res_v,_p_v,_mps_ap,_size) MPS_BEGIN char *_alloc = (char *)(_mps_ap)->alloc; char *_next = _alloc + (_size); if(_next > _alloc && _next <= (char *)(_mps_ap)->limit) { (_mps_ap)->alloc = (mps_addr_t)_next; (_p_v) = (_mps_ap)->init; (_res_v) = MPS_RES_OK; } else (_res_v) = mps_ap_fill_with_reservoir_permit(&(_p_v), _mps_ap, _size); MPS_ENDmps_commit(_mps_ap,_p,_size) ((_mps_ap)->init = (_mps_ap)->alloc, (_mps_ap)->limit != 0 || mps_ap_trip(_mps_ap, _p, _size))MPS_SCAN_BEGIN(ss) MPS_BEGIN mps_ss_t _ss = (ss); mps_word_t _mps_w0 = (_ss)->w0; mps_word_t _mps_w1 = (_ss)->w1; mps_word_t _mps_w2 = (_ss)->w2; mps_word_t _mps_wt; {MPS_FIX1(ss,ref) (_mps_wt = 1uL << ((mps_word_t)(ref) >> _mps_w0 & (sizeof(mps_word_t) * CHAR_BIT - 1)), _mps_w2 |= _mps_wt, _mps_w1 & _mps_wt)MPS_FIX2(ss,ref_io) ((*(ss)->fix)(ss, ref_io))MPS_FIX12(ss,ref_io) (MPS_FIX1(ss, *(ref_io)) ? MPS_FIX2(ss, ref_io) : MPS_RES_OK)MPS_FIX(ss,ref_io) MPS_FIX12(ss, ref_io)MPS_FIX_CALL(ss,call) MPS_BEGIN (call); _mps_w2 |= (ss)->w2; MPS_ENDMPS_SCAN_END(ss) } (ss)->w2 = _mps_w2; MPS_END+  mpm_h config_h !CONFIG_DEBUG "CHECK_DEFAULT CheckNONE6CHECK_NONE 7MPS_ASSERT_STRING "nonasserted"?EVENT_NONE @MPS_LOG_STRING "nonlogging"EDIAGNOSTICS FMPS_DEBUG_STRING "debug"LMPS_VARIETY_STRING MPS_ASSERT_STRING "." MPS_LOG_STRING "." MPS_DEBUG_STRINGRmpstd_h MPS_PF_FRI4GC MPS_PF_STRING "fri4gc"MPS_OS_FR MPS_ARCH_I4 MPS_BUILD_GC MPS_T_WORD unsigned longMPS_WORD_WIDTH 32MPS_WORD_SHIFT 5MPS_PF_ALIGN 4EPVMDefaultSubsequentSegSIZE (64ul * 1024)ARENA_CONTROL_EXTENDBY ((Size)4096)ARENA_CONTROL_AVGSIZE ((Size)32)ARENA_CONTROL_MAXSIZE ((Size)65536)ArenaPollALLOCTIME (65536.0)ARENA_ZONESHIFT ((Shift)20)ARENA_CLIENT_PAGE_SIZE ((Size)8192)ArenaDefaultZONESET (ZoneSetUNIV << (MPS_WORD_WIDTH / 2))SegPrefDEFAULT { SegPrefSig, TRUE, ArenaDefaultZONESET, FALSE, FALSE, (Serial)0, }LDHistoryLENGTH ((Size)4)StackProbeDEPTH ((Size)0)ShieldCacheSIZE ((size_t)16)ShieldDepthWIDTH (4)VMANPageALIGNMENT ((Align)4096)VMJunkBYTE ((unsigned char)0xA9)TraceLIMIT ((size_t)1)TraceCopyScanRATIO (1.5)RememberedSummaryBLOCK 15EventBufferSIZE ((size_t)4096)EventStringLengthMAX ((size_t)255)ASSERT_BUFFER_SIZE ((Size)512)MPS_PROD_STRING "dylan"MPS_PROD_DYLAN ARENA_INIT_SPARE_COMMIT_LIMIT ((Size)10uL*1024uL*1024uL)THREAD_MULTI PROTECTION DONGLE_NONE PROD_CHECK_DEFAULT CheckSHALLOWARENA_SIZE ((Size)1<<30)misc_h *SRCID(id,scmid) static SrcIdStruct FileSrcIdStruct = {__FILE__, (scmid), __DATE__, __TIME__}; SrcId id ## SrcId = &FileSrcIdStruct;BEGIN do {> (i)) & 1)BS_UNION(s1,s2) ((s1) | (s2))BS_ADD(ty,s,i) BS_UNION((s), BS_SINGLE(ty, (i)))BS_INTER(s1,s2) ((s1) & (s2))BS_DIFF(s1,s2) BS_INTER((s1), BS_COMP(s2))BS_DEL(ty,s,i) BS_DIFF((s), BS_SINGLE(ty, (i)))BS_SUPER(s1,s2) (BS_INTER((s1), (s2)) == (s2))BS_SUB(s1,s2) BS_SUPER((s2), (s1))BS_IS_SINGLE(s) (((s) & ((s)-1)) == 0)BS_SYM_DIFF(s1,s2) ((s1) ^ (s2))check_h mpslib_h mps_lib_EOF (mps_lib_get_EOF())mps_lib_stderr (mps_lib_get_stderr())mps_lib_stdout (mps_lib_get_stdout())0AVER(cond) DISCARD(cond)1AVERT(type,val) DISCARD(type ## Check(val))2AVER_CRITICAL(cond) DISCARD(cond)3AVERT_CRITICAL(type,val) DISCARD(type ## Check(val))MASSERT(cond,condstring) BEGIN if (cond) NOOP; else mps_lib_assert_fail(condstring "\n" __FILE__ "\n" STR(__LINE__)); END_NOTREACHED NOOPjCHECKT(type,val) ((val) != NULL && (val)->sig == type ## Sig)pCHECKS(type,val) DISCARD(CHECKT(type, val))qCHECKL(cond) DISCARD(cond)rCHECKD(type,val) DISCARD(CHECKT(type, val))sCHECKD_NOSIG(type,val) DISCARD((val) != NULL)tCHECKU(type,val) DISCARD(CHECKT(type, val))uCHECKU_NOSIG(type,val) DISCARD((val) != NULL)CHECKLVALUE(lv1,lv2) ((void)sizeof((lv1) = (lv2)), (void)sizeof((lv2) = (lv1)), TRUE)CHECKTYPE(t1,t2) (sizeof(t1) == sizeof(t2) && CHECKLVALUE(*((t1 *)0), *((t2 *)0)))CHECKFIELDAPPROX(s1,f1,s2,f2) (sizeof(((s1 *)0)->f1) == sizeof(((s2 *)0)->f2) && offsetof(s1, f1) == offsetof(s2, f2))CHECKFIELD(s1,f1,s2,f2) (CHECKFIELDAPPROX(s1, f1, s2, f2) && CHECKLVALUE(((s1 *)0)->f1, ((s2 *)0)->f2))event_h  eventcom_h  mpmtypes_h SigInvalid ((Sig)0x51915BAD)SizeMAX ((Size)-1)AccessSetEMPTY ((AccessSet)0)AccessREAD ((AccessSet)(1<<0))AccessWRITE ((AccessSet)(1<<1))AccessSetWIDTH (2)RefSetEMPTY BS_EMPTY(RefSet)RefSetUNIV BS_UNIV(RefSet)ZoneSetEMPTY BS_EMPTY(ZoneSet)ZoneSetUNIV BS_UNIV(ZoneSet)TraceSetEMPTY BS_EMPTY(TraceSet)TraceSetUNIV ((TraceSet)((1u << TraceLIMIT) - 1))RankSetEMPTY BS_EMPTY(RankSet)RankSetUNIV ((RankSet)((1u << RankLIMIT) - 1))AttrFMT ((Attr)(1<<0))AttrSCAN ((Attr)(1<<1))AttrPM_NO_READ ((Attr)(1<<2))AttrPM_NO_WRITE ((Attr)(1<<3))AttrALLOC ((Attr)(1<<4))AttrFREE ((Attr)(1<<5))AttrBUF ((Attr)(1<<6))AttrBUF_RESERVE ((Attr)(1<<7))AttrBUF_ALLOC ((Attr)(1<<8))AttrGC ((Attr)(1<<9))AttrINCR_RB ((Attr)(1<<10))AttrINCR_WB ((Attr)(1<<11))AttrMOVINGGC ((Attr)(1<<12))AttrMASK (AttrFMT | AttrSCAN | AttrPM_NO_READ | AttrPM_NO_WRITE | AttrALLOC | AttrFREE | AttrBUF | AttrBUF_RESERVE | AttrBUF_ALLOC | AttrGC | AttrINCR_RB | AttrINCR_WB | AttrMOVINGGC)BufferModeATTACHED ((BufferMode)(1<<0))BufferModeFLIPPED ((BufferMode)(1<<1))BufferModeLOGGED ((BufferMode)(1<<2))BufferModeTRANSITION ((BufferMode)(1<<3))RootModeCONSTANT ((RootMode)1<<0)RootModePROTECTABLE ((RootMode)1<<1)RootModePROTECTABLE_INNER ((RootMode)1<<2)STATISTIC_DECL(field) field!EventNameMAX ((size_t)19)"EventCodeMAX ((EventCode)0x0069)&EVENT_0(type) NOOPEVENT_A(type,p0) NOOPEVENT_AW(type,p0,p1) NOOPEVENT_P(type,p0) NOOPEVENT_PAA(type,p0,p1,p2) NOOPEVENT_PAW(type,p0,p1,p2) NOOPEVENT_PAWA(type,p0,p1,p2,p3) NOOPEVENT_PDDWWW(type,p0,p1,p2,p3,p4,p5) NOOPEVENT_PP(type,p0,p1) NOOPEVENT_PPAU(type,p0,p1,p2,p3) NOOPEVENT_PPAWP(type,p0,p1,p2,p3,p4) NOOPEVENT_PPP(type,p0,p1,p2) NOOPEVENT_PPPA(type,p0,p1,p2,p3) NOOPEVENT_PPPU(type,p0,p1,p2,p3) NOOPEVENT_PPPUU(type,p0,p1,p2,p3,p4) NOOPEVENT_PPU(type,p0,p1,p2) NOOPEVENT_PPUU(type,p0,p1,p2,p3) NOOPEVENT_PPUWWW(type,p0,p1,p2,p3,p4,p5) NOOPEVENT_PPWW(type,p0,p1,p2,p3) NOOPEVENT_PPWWW(type,p0,p1,p2,p3,p4) NOOPEVENT_PPWWWUUU(type,p0,p1,p2,p3,p4,p5,p6,p7) NOOPEVENT_PU(type,p0,p1) NOOPEVENT_PW(type,p0,p1) NOOPEVENT_PWA(type,p0,p1,p2) NOOPEVENT_PWAW(type,p0,p1,p2,p3) NOOPEVENT_PWP(type,p0,p1,p2) NOOPEVENT_PWU(type,p0,p1,p2) NOOPEVENT_PWW(type,p0,p1,p2) NOOPEVENT_PWWWWDD(type,p0,p1,p2,p3,p4,p5,p6) NOOPEVENT_PWWWWW(type,p0,p1,p2,p3,p4,p5) NOOPEVENT_PWWWWWWWWW(type,p0,p1,p2,p3,p4,p5,p6,p7,p8,p9) NOOPEVENT_PWWWWWWWWWWWW(type,p0,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11,p12) NOOPEVENT_UUPA(type,p0,p1,p2,p3) NOOPEVENT_UUPP(type,p0,p1,p2,p3) NOOPEVENT_UUPPP(type,p0,p1,p2,p3,p4) NOOPEVENT_WS(type,p0,p1,l1) NOOP:EventEventTime ((EventType)0xEF213E99);EventPoolInit ((EventType)0xEFB07141)EventPoolFree ((EventType)0xEFB07F6E)?EventArenaCreateVM ((EventType)0xEFA64CF3)@EventArenaCreateVMNZ ((EventType)0xEFA64CF2)AEventArenaCreateCL ((EventType)0xEFA64CC7)BEventArenaDestroy ((EventType)0xEFA64DE5)CEventArenaAlloc ((EventType)0xEFA64A77)DEventArenaFree ((EventType)0xEFA64F6E)EEventSegAlloc ((EventType)0xEF5E9A77)FEventSegFree ((EventType)0xEF5E9F6E)GEventSegMerge ((EventType)0xEF5E93E6)HEventSegSplit ((EventType)0xEF5E95B7)IEventAMCGenCreate ((EventType)0xEFA3C94C)JEventAMCGenDestroy ((EventType)0xEFA3C94D)KEventAMCInit ((EventType)0xEFA3C141)LEventAMCFinish ((EventType)0xEFA3CF14)MEventAMCTraceBegin ((EventType)0xEFA3C26B)NEventAMCScanBegin ((EventType)0xEFA3C5CB)OEventAMCScanEnd ((EventType)0xEFA3C5CE)PEventAMCFix ((EventType)0xEFA3CF18)QEventAMCFixInPlace ((EventType)0xEFA3CF8A)REventAMCFixForward ((EventType)0xEFA3CF8F)SEventAMCReclaim ((EventType)0xEFA3C6EC)TEventTraceStart ((EventType)0xEF26AC52)UEventTraceCreate ((EventType)0xEF26ACC6)VEventTraceDestroy ((EventType)0xEF26ACDE)WEventSegSetGrey ((EventType)0xEF59596A)XEventTraceFlipBegin ((EventType)0xEF26AF7B)YEventTraceFlipEnd ((EventType)0xEF26AF7E)ZEventTraceReclaim ((EventType)0xEF26A6EC)[EventTraceScanSeg ((EventType)0xEF26A559)\EventTraceScanSingleRef ((EventType)0xEF26A556)^EventTraceAccess ((EventType)0xEF26AACC)_EventTracePoll ((EventType)0xEF26AB01)`EventTraceStep ((EventType)0xEF26A52B)aEventTraceFix ((EventType)0xEF26AF18)bEventTraceFixSeg ((EventType)0xEF26AF85)cEventTraceFixWhite ((EventType)0xEF26AF83)dEventTraceScanArea ((EventType)0xEF26A5CA)eEventTraceScanAreaTagged ((EventType)0xEF26A5C2)fEventVMCreate ((EventType)0xEFF3C6EA)gEventVMDestroy ((EventType)0xEFF3DE52)hEventVMMap ((EventType)0xEFF33AB9)iEventVMUnmap ((EventType)0xEFF3043B)jEventIntern ((EventType)0xEF142E64)kEventArenaExtend ((EventType)0xEFA64E82)lEventArenaRetract ((EventType)0xEFA646E2)mEventRootScan ((EventType)0xEF625CA4)nEventLabel ((EventType)0xEF7ABE79)oEventTraceSegGreyen ((EventType)0xEF26A599)pEventBufferReserve ((EventType)0xEFB0FF6E)qEventBufferCommit ((EventType)0xEFB0FFC0)rEventBufferInit ((EventType)0xEFB0FF14)sEventBufferInitSeg ((EventType)0xEFB0F15E)tEventBufferInitRank ((EventType)0xEFB0F16A)uEventBufferInitEPVM ((EventType)0xEFB0F1EF)vEventBufferFinish ((EventType)0xEFB0FFF1)wEventBufferFill ((EventType)0xEFB0FFF7)xEventBufferEmpty ((EventType)0xEFB0FFE3)yEventArenaAllocFail ((EventType)0xEFA64A7F)zEventSegAllocFail ((EventType)0xEF5E9A7F){EventMeterInit ((EventType)0xEF3E2141)|EventMeterValues ((EventType)0xEF3E2FA7)}EventCBSInit ((EventType)0xEFCB5141)~EventTraceStatCondemn ((EventType)0xEF26A5C0)EventTraceStatScan ((EventType)0xEF26A55C)EventTraceStatFix ((EventType)0xEF26A5F8)EventTraceStatReclaim ((EventType)0xEF26A56E)EventArenaWriteFaults ((EventType)0xEFA6436F)EventPoolInitMV ((EventType)0xEFB0713F)EventPoolInitMVFF ((EventType)0xEFB071FF)EventPoolInitMFS ((EventType)0xEFB07135)EventPoolInitEPVM ((EventType)0xEFB071EF)EventPoolInitEPDL ((EventType)0xEFB071E7)EventPoolInitAMS ((EventType)0xEFB071A5)EventPoolInitAMC ((EventType)0xEFB071AC)EventPoolInitAMCZ ((EventType)0xEFB071A2)EventPoolInitAWL ((EventType)0xEFB071A3)EventPoolInitLO ((EventType)0xEFB07170)EventPoolInitSNC ((EventType)0xEFB07154)EventPoolInitMVT ((EventType)0xEFB07132)EventPoolPush ((EventType)0xEFB07B58)EventPoolPop ((EventType)0xEFB07B0B)EventReservoirLimitSet ((EventType)0xEF6E5713)EventCommitLimitSet ((EventType)0xEFC03713)EventSpareCommitLimitSet ((EventType)0xEF5BC713) hEventInit() NOOPiEventFinish() NOOPjEventControl(r,f) (UNUSED(r), UNUSED(f), (Word)0)kEventInternString(s) (UNUSED(s), (Word)0)lEventInternGenString(l,s) (UNUSED(l), UNUSED(s), (Word)0)mEventLabelAddr(a,i) BEGIN UNUSED(a); UNUSED(i); ENDPlock_h ULockSig ((Sig)0x51970CC9) th_h  ring_h RingNONE ((Ring)0)$RingInit(ring) BEGIN Ring _ring = (ring); AVER(_ring != NULL); _ring->next = _ring; _ring->prev = _ring; AVER(RingCheck(_ring)); END/RingFinish(ring) BEGIN Ring _ring = (ring); AVER(RingCheckSingle(_ring)); _ring->next = RingNONE; _ring->prev = RingNONE; END9RingAppend(ring,new) BEGIN Ring _ring = (ring), _new = (new); AVER(RingCheck(_ring)); AVER(RingCheckSingle(_new)); _new->prev = _ring->prev; _new->next = _ring; _ring->prev->next = _new; _ring->prev = _new; ENDFRingInsert(ring,new) BEGIN Ring _ring = (ring), _new = (new); AVER(RingCheck(_ring)); AVER(RingCheckSingle(_new)); _new->prev = _ring; _new->next = _ring->next; _ring->next->prev = _new; _ring->next = _new; ENDSRingRemove(old) BEGIN Ring _old = (old); AVER(RingCheck(_old)); AVER(!RingIsSingle(_old)); _old->next->prev = _old->prev; _old->prev->next = _old->next; _old->next = _old; _old->prev = _old; END`RingNext(ring) ((ring)->next)dRingPrev(ring) ((ring)->prev)gRING_ELT(type,field,node) ((type)(void *)((char *)(node) - (size_t)(&((type)0)->field)))kRING_FOR(node,ring,next) for(node = RingNext(ring), next = RingNext(node); node != (ring); node = (next), next = RingNext(node))ThreadSig ((Sig)0x519286ED) ss_h  tract_h   bt_h BTSize(n) (((n) + MPS_WORD_WIDTH-1) / MPS_WORD_WIDTH * sizeof(Word))BTGet(a,i) ((Bool)(((a)[((i) >> MPS_WORD_SHIFT)] >> ((i) & ~((Word)-1 << MPS_WORD_SHIFT))) & (Word)1))BTSet(a,i) BEGIN (a)[((i)>>MPS_WORD_SHIFT)] |= (Word)1<<((i)&~((Word)-1<>MPS_WORD_SHIFT)] &= ~((Word)1 << ((i) & ~((Word)-1<base)&TractPool(tract) ((tract)->pool)'TractP(tract) ((tract)->p)(TractSetP(tract,pp) ((void)((tract)->p = (pp))))TractHasSeg(tract) ((Bool)(tract)->hasSeg)*TractSetHasSeg(tract,b) ((void)((tract)->hasSeg = (b)))+TractWhite(tract) ((tract)->white),TractSetWhite(tract,w) ((void)((tract)->white = (w)))8TRACT_SEG(segReturn,tract) (TractHasSeg(tract) && ((*(segReturn) = (Seg)TractP(tract)), TRUE));TRACT_SET_SEG(tract,seg) (TractSetHasSeg(tract, TRUE), TractSetP(tract, seg))>TRACT_UNSET_SEG(tract) (TractSetHasSeg(tract, FALSE), TractSetP(tract, NULL))nPageTract(page) (&(page)->the.tractStruct)rPageOfTract(tract) PARENT(PageStruct, the.tractStruct, (tract))vPagePool(page) ((page)->the.rest.pool)}PageIsAllocated(page) ((page)->the.rest.pool != NULL)PageType(page) ((page)->the.rest.type)ChunkSig ((Sig)0x519C804C)ChunkArena(chunk) ((chunk)->arena)ChunkPageSize(chunk) ((chunk)->pageSize)ChunkPageShift(chunk) ((chunk)->pageShift)ChunkPagesToSize(chunk,pages) ((Size)(pages) << (chunk)->pageShift)ChunkSizeToPages(chunk,size) ((Count)((size) >> (chunk)->pageShift))CHUNK_OF_ADDR(chunkReturn,arena,addr) (((arena)->chunkCache.base <= (addr) && (addr) < (arena)->chunkCache.limit) ? (*(chunkReturn) = (arena)->chunkCache.chunk, TRUE) : ChunkOfAddr(chunkReturn, arena, addr))AddrPageBase(chunk,addr) AddrAlignDown((addr), ChunkPageSize(chunk))TRACT_OF_ADDR(tractReturn,arena,addr) BEGIN Arena _arena = (arena); Addr _addr = (addr); Chunk _chunk; Index _i; if (CHUNK_OF_ADDR(&_chunk, _arena, _addr)) { _i = INDEX_OF_ADDR(_chunk, _addr); if (BTGet(_chunk->allocTable, _i)) *(tractReturn) = PageTract(&_chunk->pageTable[_i]); else *(tractReturn) = NULL; } else *(tractReturn) = NULL; ENDINDEX_OF_ADDR(chunk,addr) ((Index)ChunkSizeToPages(chunk, AddrOffset((chunk)->base, addr)))PageIndexBase(chunk,i) AddrAdd((chunk)->base, ChunkPagesToSize(chunk, i))TractAverContiguousRange(arena,rangeBase,rangeLimit) BEGIN Chunk _ch = NULL; UNUSED(_ch); AVER(ChunkOfAddr(&_ch, arena, rangeBase) && (rangeLimit) <= _ch->limit); ENDTRACT_TRACT_FOR(tract,addr,arena,firstTract,limit) tract = (firstTract); addr = TractBase(tract); TractAverContiguousRange(arena, addr, limit); for(; tract != NULL; (addr = AddrAdd(addr, (arena)->alignment)), (addr < (limit) ? (tract = PageTract(PageOfTract(tract) + 1)) : (tract = NULL) ))TRACT_FOR(tract,addr,arena,base,limit) TRACT_TRACT_FOR(tract, addr, arena, TractOfBaseAddr(arena, base), limit)mpmst_h protocol_h DERIVE_LOCAL(name) protocol ## nameDERIVE_STRUCT(name) name ## StructDERIVE_ENSURE(name) name ## GetDERIVE_ENSURE_OLD(name) Ensure ## nameDERIVE_ENSURE_INTERNAL(name) protocolGet ## nameDERIVE_GUARDIAN(name) protocol ## name ## GuardianDERIVE_STATIC_STORAGE(name) protocol ## name ## StructProtocolClassSetSuperclassPoly(class,super) (((ProtocolClass)(class))->superclass) = (ProtocolClass)(super)$DEFINE_CLASS(className,var) static Bool DERIVE_GUARDIAN(className) = FALSE; static DERIVE_STRUCT(className) DERIVE_STATIC_STORAGE(className); static void DERIVE_ENSURE_INTERNAL(className)(className); extern className DERIVE_ENSURE(className)(void); className DERIVE_ENSURE(className)(void) { if (DERIVE_GUARDIAN(className) == FALSE) { LockClaimGlobalRecursive(); if (DERIVE_GUARDIAN(className) == FALSE) { DERIVE_ENSURE_INTERNAL(className) (&DERIVE_STATIC_STORAGE(className)); DERIVE_GUARDIAN(className) = TRUE; } LockReleaseGlobalRecursive(); } return &DERIVE_STATIC_STORAGE(className); } extern className DERIVE_ENSURE_OLD(className)(void); className DERIVE_ENSURE_OLD(className)(void) { return DERIVE_ENSURE(className)(); } static void DERIVE_ENSURE_INTERNAL(className) (className var)AINHERIT_CLASS(this,parentName) BEGIN parentName DERIVE_LOCAL(parentName) = DERIVE_ENSURE(parentName)(); *this = *(DERIVE_LOCAL(parentName)); ProtocolClassSetSuperclassPoly(this, DERIVE_LOCAL(parentName)); ENDODEFINE_ALIAS_CLASS(className,typeName,var) typedef typeName className; typedef DERIVE_STRUCT(typeName) DERIVE_STRUCT(className); DEFINE_CLASS(className, var)VProtocolClassSig ((Sig)0x519B60C7)WProtocolInstSig ((Sig)0x519B6014)ProtocolClassSuperclassPoly(class) (((ProtocolClass)(class))->superclass)ClassOfPoly(inst) ((ProtocolInst)(inst)->class)IsSubclassPoly(sub,super) ProtocolIsSubclass((ProtocolClass)(sub), (ProtocolClass)(super))SUPERCLASS(className) ProtocolClassSuperclassPoly(DERIVE_ENSURE(className)())chain_h GenDescSig ((Sig)0x5199E4DE)+PoolGenSig ((Sig)0x519B009E);ChainSig ((Sig)0x519C8A14)XPoolGenNr(gen) ((gen)->nr)/PoolClassSig ((Sig)0x519C7A55)]PoolSig ((Sig)0x519B0019)}MFSSig ((Sig)0x5193F599)MVSig ((Sig)0x5193B999)ReservoirSig ((Sig)0x5196e599)MessageClassSig ((Sig)0x519359c1)MessageSig ((Sig)0x5193e559)SegClassSig ((Sig)0x5195E9C7)SegSig ((Sig)0x5195E999)GCSegSig ((Sig)0x5199C5E9)SegPrefSig ((Sig)0x5195E9B6)BufferClassSig ((Sig)0x519B0FC7)BufferSig ((Sig)0x519B0FFE)SegBufSig ((Sig)0x51959B0F)FormatSig ((Sig)0x519F63A2)ScanStateSig ((Sig)0x5195CA45)TraceSig ((Sig)0x51924ACE)ChunkCacheEntrySig ((Sig)0x519C80CE)ArenaClassSig ((Sig)0x519A6C1A)GlobalsSig ((Sig)0x519970BA)ArenaSig ((Sig)0x519A6E4A)%BoolCheck(b) ((unsigned)(b) <= 1)(FUNCHECK(f) (FunCheck((Fun)f))4WordIsAligned(w,a) (((w) & ((a) - 1)) == 0)7WordAlignUp(w,a) (((w) + (a) - 1) & ~((Word)(a) - 1));WordRoundUp(w,r) (((w)+(r)-1) - ((w)+(r)-1)%(r))>WordAlignDown(w,a) ((w) & ~((Word)(a) - 1))@size_tAlignUp(s,a) ((size_t)WordAlignUp((Word)(s), a))BPointerAdd(p,s) ((void *)((char *)(p) + (s)))CPointerSub(p,s) ((void *)((char *)(p) - (s)))EPointerOffset(base,limit) ((size_t)((char *)(limit) - (char *)(base)))HPointerAlignUp(p,s) ((void *)WordAlignUp((Word)(p), (Align)(s)))KAddrAdd(p,s) ((Addr)PointerAdd((void *)(p), s))LAddrSub(p,s) ((Addr)PointerSub((void *)(p), s))NAddrOffset(b,l) ((Size)(PointerOffset((void *)(b), (void *)(l))))RAddrAlignDown(p,a) ((Addr)WordAlignDown((Word)(p), a))TAlignWord(s) ((Word)(s))VAddrIsAligned(p,a) WordIsAligned((Word)(p), a)WAddrAlignUp(p,a) ((Addr)WordAlignUp((Word)(p), a))YSizeIsAligned(s,a) WordIsAligned((Word)(s), a)ZSizeAlignUp(s,a) ((Size)WordAlignUp((Word)(s), a))[SizeAlignDown(s,a) ((Size)WordAlignDown((Word)(s), a))]SizeRoundUp(s,r) ((Size)WordRoundUp((Word)(s), (Size)(r)))_IndexIsAligned(s,a) WordIsAligned((Word)(s), a)`IndexAlignUp(s,a) ((Index)WordAlignUp((Word)(s), a))aIndexAlignDown(s,a) ((Index)WordAlignDown((Word)(s), a))cAlignIsAligned(a1,a2) WordIsAligned((Word)(a1), a2)iAddrSet(target,value,size) mps_lib_memset(target, (int)(value), size)mAddrCopy(target,source,size) mps_lib_memcpy(target, source, size)qAddrComp(a,b,size) mps_lib_memcmp(a, b, size)wADDR_PTR(type,addr) ((type *)(addr))PoolArena(pool) ((pool)->arena)PoolAlignment(pool) ((pool)->alignment)PoolSegRing(pool) (&(pool)->segRing)PoolFix(pool,ss,seg,refIO) ((*(pool)->fix)(pool, ss, seg, refIO))ClassOfPool(pool) ((pool)->class)SuperclassOfPool(pool) ((PoolClass)ProtocolClassSuperclassPoly((pool)->class))DEFINE_POOL_CLASS(className,var) DEFINE_ALIAS_CLASS(className, PoolClass, var)POOL_SUPERCLASS(className) ((PoolClass)SUPERCLASS(className))TraceSetSingle(trace) BS_SINGLE(TraceSet, (trace)->ti)TraceSetIsSingle(ts) BS_IS_SINGLE(ts)TraceSetIsMember(ts,trace) BS_IS_MEMBER(ts, (trace)->ti)TraceSetAdd(ts,trace) BS_ADD(TraceSet, ts, (trace)->ti)TraceSetDel(ts,trace) BS_DEL(TraceSet, ts, (trace)->ti)TraceSetUnion(ts1,ts2) BS_UNION(ts1, ts2)TraceSetInter(ts1,ts2) BS_INTER(ts1, ts2)TraceSetDiff(ts1,ts2) BS_DIFF(ts1, ts2)TraceSetSuper(ts1,ts2) BS_SUPER(ts1, ts2)TraceSetSub(ts1,ts2) BS_SUB(ts1, ts2)TraceSetComp(ts) BS_COMP(ts)TRACE_SET_ITER(ti,trace,ts,arena) for(ti = 0, trace = ArenaTrace(arena, ti); ti < TraceLIMIT; ++ti, trace = ArenaTrace(arena, ti)) BEGIN if (TraceSetIsMember(ts, trace)) {TRACE_SET_ITER_END(ti,trace,ts,arena) } ENDTRACE_SCAN_BEGIN(ss) BEGIN Shift SCANzoneShift = (ss)->zoneShift; ZoneSet SCANwhite = (ss)->white; RefSet SCANsummary = (ss)->unfixedSummary; Word SCANt; {TRACE_FIX1(ss,ref) (SCANt = (Word)1 << ((Word)(ref) >> SCANzoneShift & (MPS_WORD_WIDTH-1)), SCANsummary |= SCANt, SCANwhite & SCANt)TRACE_FIX2(ss,refIO) ((*(ss)->fix)(ss, refIO))TRACE_FIX(ss,refIO) (TRACE_FIX1(ss, *(refIO)) ? TRACE_FIX2(ss, refIO) : ResOK)TRACE_SCAN_END(ss) } (ss)->unfixedSummary = SCANsummary; ENDDEFINE_ARENA_CLASS(className,var) DEFINE_ALIAS_CLASS(className, ArenaClass, var)ARENA_SUPERCLASS(className) ((ArenaClass)SUPERCLASS(className))ArenaGlobals(arena) (&(arena)->globals)GlobalsArena(glob) PARENT(ArenaStruct, globals, glob)ArenaRootRing(arena) (&(arena)->rootRing)ArenaTraceRing(arena) (&(arena)->traceRing)ArenaThreadRing(arena) (&(arena)->threadRing)ArenaEpoch(arena) ((arena)->epoch)ArenaTrace(arena,ti) (&(arena)->trace[ti])ArenaZoneShift(arena) ((arena)->zoneShift)ArenaAlign(arena) ((arena)->alignment)ArenaGreyRing(arena,rank) (&(arena)->greyRing[rank])ArenaReservoir(arena) (&(arena)->reservoirStruct)DEFINE_SEG_CLASS(className,var) DEFINE_ALIAS_CLASS(className, SegClass, var)SEG_SUPERCLASS(className) ((SegClass)SUPERCLASS(className))ClassOfSeg(seg) ((seg)->class)SegBase(seg) (TractBase((seg)->firstTract))SegLimit(seg) ((seg)->limit)SegPool(seg) (TractPool((seg)->firstTract))SegRankSet(seg) ((RankSet)(seg)->rankSet)SegPM(seg) ((AccessSet)(seg)->pm)SegSM(seg) ((AccessSet)(seg)->sm)SegDepth(seg) ((unsigned)(seg)->depth)SegGrey(seg) ((TraceSet)(seg)->grey)SegWhite(seg) ((TraceSet)(seg)->white)SegNailed(seg) ((TraceSet)(seg)->nailed)SegOfPoolRing(node) (RING_ELT(Seg, poolRing, (node)))SegOfGreyRing(node) (&(RING_ELT(GCSeg, greyRing, (node)) ->segStruct))SegSummary(seg) (((GCSeg)(seg))->summary)SegSetPM(seg,mode) ((void)((seg)->pm = (mode)))SegSetSM(seg,mode) ((void)((seg)->sm = (mode)))SegSetDepth(seg,d) ((void)((seg)->depth = (d)))SegSetNailed(seg,ts) ((void)((seg)->nailed = (ts)))BUFFER_RESERVE(pReturn,buffer,size,withReservoirPermit) (AddrAdd(BufferAlloc(buffer), size) > BufferAlloc(buffer) && AddrAdd(BufferAlloc(buffer), size) <= BufferAP(buffer)->limit ? (*(pReturn) = BufferAlloc(buffer), BufferAP(buffer)->alloc = AddrAdd(BufferAlloc(buffer), size), ResOK) : BufferFill(pReturn, buffer, size, withReservoirPermit))BUFFER_COMMIT(buffer,p,size) (BufferAP(buffer)->init = BufferAlloc(buffer), BufferAP(buffer)->limit != 0 || BufferTrip(buffer, p, size))BufferAP(buffer) (&(buffer)->apStruct)BufferOfAP(ap) PARENT(BufferStruct, apStruct, ap)BufferArena(buffer) ((buffer)->arena)BufferPool(buffer) ((buffer)->pool)BufferBase(buffer) ((buffer)->base)BufferGetInit(buffer) (BufferAP(buffer)->init)BufferAlloc(buffer) (BufferAP(buffer)->alloc)BufferLimit(buffer) ((buffer)->poolLimit)DEFINE_BUFFER_CLASS(className,var) DEFINE_ALIAS_CLASS(className, BufferClass, var)BUFFER_SUPERCLASS(className) ((BufferClass)SUPERCLASS(className))RankSetIsMember(rs,r) BS_IS_MEMBER((rs), (r))RankSetSingle(r) BS_SINGLE(RankSet, (r))RankSetIsSingle(r) BS_IS_SINGLE(r)RankSetUnion(rs1,rs2) BS_UNION((rs1), (rs2))RankSetDel(rs,r) BS_DEL(RankSet, (rs), (r))AddrZone(arena,addr) (((Word)(addr) >> (arena)->zoneShift) & (MPS_WORD_WIDTH - 1))RefSetUnion(rs1,rs2) BS_UNION((rs1), (rs2))RefSetInter(rs1,rs2) BS_INTER((rs1), (rs2))RefSetDiff(rs1,rs2) BS_DIFF((rs1), (rs2))RefSetAdd(arena,rs,addr) BS_ADD(RefSet, rs, AddrZone(arena, addr))RefSetIsMember(arena,rs,addr) BS_IS_MEMBER(rs, AddrZone(arena, addr))RefSetSuper(rs1,rs2) BS_SUPER((rs1), (rs2))RefSetSub(rs1,rs2) BS_SUB((rs1), (rs2))ZoneSetUnion(zs1,zs2) BS_UNION(zs1, zs2)ZoneSetInter(zs1,zs2) BS_INTER(zs1, zs2)ZoneSetDiff(zs1,zs2) BS_DIFF(zs1, zs2)ZoneSetAdd(arena,zs,addr) BS_ADD(ZoneSet, zs, AddrZone(arena, addr))ZoneSetIsMember(arena,zs,addr) BS_IS_MEMBER(zs, AddrZone(arena, addr))ZoneSetSub(zs1,zs2) BS_SUB(zs1, zs2)ZoneSetSuper(zs1,zs2) BS_SUPER(zs1, zs2)ZoneSetComp(zs) BS_COMP(zs)STATISTIC(gather) BEGIN (gather); ENDSTATISTIC_STAT(gather) BEGIN gather; ENDSTATISTIC_WRITE(format,arg) (format), (arg),1AWLSig ((Sig)0x519B7A37)3AWLGen ((Serial)1)dPool2AWL(pool) PARENT(AWLStruct, poolStruct, pool)kawlIndexOfAddr(base,awl,p) (AddrOffset((base), (p)) >> (awl)->alignShift)tAWLSegSig ((Sig)0x519A3759)Seg2AWLSeg(seg) ((AWLSeg)(seg))AWLSeg2Seg(awlseg) ((Seg)(awlseg))poolawl.cJan 17 200703:43:50AWLSEGAWL$Id: //info.ravenbrook.com/project/mps/master/code/poolawl.c#12 $ |  AB  AB $:AB (`tAB Fw. w..Y.(pAB FL.E.K.DGAB b.S. AB IAB BQ.fAB P#AB tAB TAB G.(AB F@.j.M. $AB FG.o. (AB Fb.W._. XAB FV., =AB Fa.L. i.M. E. `XAB FC. ;AB FU. AB FJ. <AB FU.$ AB Fr.h. V. AB N. AB FN.$ jAB Fq.. $ rAB Fl. k. ` AB F. p AB Fw.,hAB FK. Z. [. _. S. $)AB Fq.. $GAB b.S.l AB |AB BT.$ AB 4 AB 8 )EnsureAWLSegClass6AWLPoolClassGet6EnsureAWLPoolClass7mps_class_awlh7poolawlSrcId7AWLSegSALimit7AWLHaveSegSALimit7AWLTotalSALimit7AWLHaveTotalSALimit>ProtocolCoerceClassMethodMutatorFaultContextmpsVersionStringchunkPoolBlackenMethodsize_tSegClassAWLWhitenclampedArenaSpareCommitExceededMethodchunkSerialLockStructalignmentframePushpageTablePagesawlsegReturnpageTableLimitunitsPerExtentbufferScanLimitAWLGreytotalSizegoodScansPoolFreeMethodglobalRingChunkCacheEntryStructEnsureAWLSegClassAWLStructsegBaseSrcIdStructMFSHeaderStructPoolAccessMethodgreyRingdetachisGensuperclassfreedstatefoundanyScannedstatsrampCountawlStatTotalStructtypeshort intArenaMutatorFaultContextStructdoublemergepoolLimitfinishpoolRingBufferStructarenaRinggreySegMaxgenspoolStructArenaDescribeMethodsuperemptyInternalSizefindDependentawlStatSegInitprotocolAWLSegClassStructAWLBlackenLocklastAccessforwardedSizereservoirLimitPoolFinishMethodAttrarenaArenaFreeMethodnextNodelong intPoolClassStructrestcoerceClassAWLSegclassskipWordSegSetWhiteMethodArenaClassStructhistorywriteBarrierHitCountpageSizeheaderSizerankEnsureAWLPoolClassbuild_timemortalityhighTraceIdAWLCheckProtocolInstblackenAbstractCollectPoolClassrampBeginPoolRampBeginMethodSizesigned charReservoirStructAddrStructAWLPoolClassGetsingleScanCountreservoirPermitspacefreewalkextendsetRankSetProtocolInstStructSegFinishMethodrememberedSummaryRingspanPoolStructAWLSegCreaterefIOPoolBufferClassMethodpointlessScanCounttractListglobalsAWLSegClassGetRingAWLRangeGreyGCSegStructaddrPoolDescribeMethodFormatSkipMethodcopiedSizeFormatScanMethodSegStructvarietyprotocolGCSegClassoldFreeflippedTracesBufferFinishMethodscannedfoundationdescribeFindDependentMethodcapacityScanStateStructwhiteSegRefCountAWLSegClassrootScanSizeprotocolAWLPoolClassStructthissummaryattrsnapCountEpochrememberedSummaryIndexscanAllObjectsreclaimSizePoolStructsavedScansbadScanssegGrainsSegSetRankSummaryMethodpreservedInPlaceSizeArenaInitMethodcontextFormatPadMethodfirstTractmayMovefileAWLSegStructpagesgcSegStructlimittraceIndexthreadRingPoolFramePushMethodArenaChunkFinishMethodreserveobjectbufferblockPoolStructnodebusyTracessegStructPoolAllocMethodmoveArenaExtendMethodAWLWalkratecoerceInstunroundedUnitSizemps_lib_stream_sAWLInitsegRefCountrootRingbufferFillGCSegClasssetRankSummaryAddrChunkStructfixRefCountAWLAccessframeptrshDepthscanLimitIndextracesrootScanCountisCollectedenabledArenaAllocMethodAWLSegSALimitprotocolAbstractCollectPoolClasslwPopPendinglong unsigned intallocBase__va_listformattableSizeextendByavgSizeAllocFrameStructchunkRingAWLSegClassStructgreyPoolcommittedtraceSetAWLCanTrySingleAccesslabelledfillMutatorSizePagePageStructpoolReadyproflowchunkFinishserialBufferFormatCopyMethodBootBlockStructmarkBoolfailControlAllocAllocAWLSegCheckargsbufferLoggingreservoirStructPoolDebugMixinMethodFormatTraceStructProtocolClassMVStruct__uint32_tProtocolCoerceInstMethoddependentSegSetSummaryMethodprotocollong long intsegCopiedSizeva_listTraceSetBufferAttachMethodCountsavedAccessesPoolGreyMethodPoolBufferFillMethodSerialthreadSerialreclaimdepthinitfillSizeTracehasSegspareCommitExceededBufferClassStructnailedRefSetPoolDebugMixinAWLFinishscmidcontrolPoolStructsetGreyshCacheLimitPoolFramePopPendingMethodScanStateallocTractStructSegSplitMethodunitSizeunsigned intBufferReassignSegMethodGlobalsStructPoolInitMethodattachrankSetpageShiftwhitengenRingfinalPoolBufferRankSetMethodSegPrefStructbitsPoolFixMethodsegRingPoolBufferEmptyMethodMFSStructzonesprimaryBufferModeawlScanSinglePassgrainsbufferEmptyoffsetgenParamPoolWhitenMethodChainStructprehistoryFileSrcIdStructSegInitMethodreclaimCountZoneSetunsigned charSegSetGreyMethodGNU C 3.4.6 [FreeBSD] 20060305FormattedObjectsStepMethodpoolawlSrcIdSegClassStruct__size_tfixedSummarycharTraceStatereadBarrierHitCountwalkprotocolAWLSegClassGuardianArenaChunkInitMethodsizeAlignfreeListpreservedInPlaceCountlastTractrootCopiedSizepoolawl.cAWLSegInitobjectLimitscansetWhitefixEmergencyformatRingsegScanSizeRingStructcommitLimitAWLFixPoolGenStructtracedSizeisMovedlong long unsigned intSrcIdinsideShieldSegSetBufferMethodRankzoneShiftTraceFixMethodlocusRingAWLHaveSegSALimitpoolAWLPoolClassStructbufferRinglimitIndexformatSerialPoolDebugMixinStructdebugMixinbuild_daterampEndPoolClassgenCountinitAtFlipbaseReturnpageTablepoolSerialFormatIsMovedMethodPoolRampEndMethodPoolFramePopMethodchunkInitBufferSegMethodmaxSizereservoirSizeSegMergeMethodPoolReclaimMethodsetBuffercopyallocMutatorSizedependentObjectnewSizepgentracedTimeBufferClassrootSerialChainreassignSegframePopsameAccessesactiveTracesemptyMutatorSizePoolFreeWalkMethodringBufferInitMethodtopGenfailGenInitsuspendedGenDescStructdependentSegFormatClassMethodnameallocTableBufferDetachMethodlastTractBaseapStructSegSetRankSetMethodAWLPoolClassFreeBlockStepMethodAllocFrameShiftAWLBufferFillchainAWLNoteScanunfixedSummaryawlScanObjectGenParamStructlostnotCondemnedtractStructmodemps_class_awlRankSetshCacheIfillInternalSizealignShiftAWLSegFinishtotalReturnclientRefAWLHaveTotalSALimitFormatMoveMethodBufferDescribeMethodmps_class_smps_class_tfailControlAllocScannedisMutatorlastWorldCollectsegPrefStructsingleScanSizespareCommittedSegPrefAWLBufferEmptyawlStatSegStructspansprotocolGetAWLPoolClasspollThresholdmessageRingsingleAccessesframePopPendingchunkCacheemptySizeAWLNoteRefAccessbufferSerialPoolFixEmergencyMethodepochnailCount/home/hannes/dylan/mps/codeprotocolAWLPoolClassGuardianArenaClassAPStructAWLNoteSegAccesswhitefailControlAllocMarkprotocolGetAWLSegClasssplitcondemnedAWLSegAllocisFinalPoolemergencySegBufferMethodfreechainRingwasMarkedFormatVarietyawlsegAccessSetenabledMessageTypesshort unsigned intAWLTotalSALimitforwardedCountbaseArenaStructspareCommitLimitAWLScansetSummarymps_lib_FILEBufferSetRankSetMethodSegDescribeMethodaccessgreySegCountlimitReturnsegScanCountChunkArenaReservedMethodshCachePoolScanMethodsingleCopiedSizeawlStatTotalInitBootBlockdeclinedinsidePollreservednextPoolWalkMethodAWLRangeWhitenbufferClassProtocolClassStructprevpageTableBaseFormatStructscannedSizeanyScannedReturnlockArenaFinishMethodTractsuccAccessesAWLReclaimGCC: (GNU) 3.4.6 [FreeBSD] 20060305.symtab.strtab.shstrtab.rel.text.rel.data.bss.debug_abbrev.rel.debug_info.rel.debug_line.debug_macinfo.rodata.str1.1.rodata.str1.4.rel.rodata.rel.debug_frame.rel.debug_pubnames.rel.debug_aranges.debug_str.comment4> )t% / 4F8B VMR p0 bQq2M*2xB x0  00 2J  20j5%06        ' 6$:G`tRDGapn LIfP#tT  #+X5 =C`XR;ak<x    j r` p h)|'4 0=JUjv~ # 7FU^q}  .:KY$Gil |$ poolawl.cFileSrcIdStructAWLSegCheckawlStatSegInitawlStatTotalInitAWLSegInitAWLSegClassGetAWLSegFinishprotocolAWLSegClassGuardianprotocolAWLSegClassStructprotocolGetAWLSegClassAWLCanTrySingleAccessAWLNoteRefAccessAWLNoteSegAccessAWLNoteScanAWLSegCreateAWLSegAllocgenParam.0AWLInitAWLFinishAWLBufferFillAWLBufferEmptyAWLRangeWhitenAWLWhitenAWLRangeGreyAWLGreyAWLBlackenawlScanObjectawlScanSinglePassAWLScanAWLFixAWLReclaimAWLAccessAWLWalkprotocolAWLPoolClassGuardianprotocolAWLPoolClassStructprotocolGetAWLPoolClassAWLCheckpoolawlSrcIdControlAllocBTResRangeSegSetRankAndSummaryControlFreeSegSizeLockClaimGlobalRecursiveLockReleaseGlobalRecursiveEnsureAWLSegClassGCSegClassGetmemcpySegClassMixInNoSplitMergeAWLSegSALimitAWLHaveSegSALimitAWLTotalSALimitAWLHaveTotalSALimitSegPrefDefaultSegPrefExpressSegAllocBTFindLongResRangeChainCreatePoolGenInitSizeLog2ChainDestroySegFreePoolGenFinishSegBufferBufferRankSetBTSetRangeBufferSegBufferScanLimitSegSetWhiteSegSetGreySegOfAddrShieldExposeSegSetSummaryShieldCoverPoolSingleAccessPoolSegAccessAWLPoolClassGetEnsureAWLPoolClassAbstractCollectPoolClassGetPoolClassMixInFormatRankBufClassGetmps_class_awl777A8Q8a8q9::; ::#:LT<Zep}=?@A E D"C.B F&G:G]H;I6DJ`KtLMN OMKPfQQR"R2RmS888P-;JT;TUR 8L VT Pj Pt T R W$ X1 Yj Z P T TT V PP TTRR8R8\U[\3PEPOT_T,4<:EP]=es]_@` a +]  4!4%4*41484?4M4X4_4f4m4t4{44444444444444$424L4W4s4~44444444444444$4/4:4E4P4k4|44444444444&454D4S4b4q44444444444444C4R4q444444444444-4<4K4Z4i4x4444444444#414?4M4[4i4w44444444444!4/4=4K4Y4g4u444444444444+494G4U4c4q4444444 4 4 4- 4< 4K 4Z 4i 4x 4 4 4 4 4 4 4 4 4 4 4 4, 4; 4J 4Y 4h 4w 4 4 4 4 4 4 4 4 4 4 4/ 4> 4\ 4k 4z 4 4 4 4 4 4 4 4 4 4 4 4. 4= 4M 4b 4x 4 4 4 4 4 4 4 4 4 4 4' 4< 4R 4` 4n 4| 4 4 4 4 4 4 4 4 4 44%444C4R4b4w4444444*4<4N4`4w44444444444 4.4<4J4X4f4t44444444444-4L4a4i4x444444444444,4K4`4i4x44444444444%454E4U4e4u44444444444%454E4U4e4u44444444444%4J4a4p444444444444$434B4Q4`4p44444444444494V4w44444;4X4444 4G4d4444444?4e44444(434T4u44444"4R4y4444?4f44444 404R44444-4D4j44444 4 41 4< 4Q 4Y 4g 4v 4 4 4 4 4 4 4 4 4 !4!4(!47!4L!4b!4q!4!4!4!4!4!4"4"4,"4:"4H"4V"4d"4s"4"4"4"4"4"4"4"4"4#4#4#4-#4;#4I#4W#4e#4s#4#4#4#4#4#4#4#4#4#4 $4$4*$4I$4T$4_$4j$4v$4$4$4$4$4$4%4%4%4-%4<%4D%4R%4`%4n%4|%4%4%4%4%4%4%4%4%4&4&4!&4U&4]&4k&4y&4&4&4&4&4&4&4&4&''4'4!'%','4>'4E'I'b'4m'q''4'4'4'4'4'4'4'4(4(4)(4B(4H(M(4S(X(4^(h(4o(s((4(4(4(4(4(4(4(4(4)))4))*)42)6)=)4K)O)T)4h)4t)x))4)))4)4)))4*4*4 *$*H*4\*4d*h**4*4***4*4*4*4*4*+4F+4T+4n+4z+~++4+4+4+4,4,,,4F,4T,4b,4,4,,4,,4,,,4,4,4,4,--4%-)-0-4>-4L-4Z-4i-4x-4-4-4-4-4-4-4--...J.4R.V.].4k.4z.4.4.4.4.4...4/4/4)/45/9/@/4O/4{/4/4///4/4/4/4///4/4040400&04504Q0U0f04t0x0}04040400040404041 114>14L14Z14w14141414111414142424&24N24l24z2424222422242224 34934E34T34u343334343434344444#44244P44n4444444444444455 5454+5/5654T54b54q545455546464%64464C64R6V6[64u6y6~64646464666466646664677474"7&7174=7A7X74d7 i74v76{747747747B747C747D747E74774 8    1014H1L`1d11111(1,@1DX1\t1x1111H1Ll1p11111 @1Dh1l1111 014P1Th1l11