!<arch>
/               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(UUÉUUUVS]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uUuuEPuuUEUh@PuvUS]S$]ÍvUuUVS]SuSƉ$e[^UVSu]Vjjssssssj3VEPÃ$Vu
UEe[^ÐUVSu]Vjsssssssj3VEPÃ$Vu
UEe[^UVSu]Vsjsjssssj3VEPÃ$Vu
UEe[^ÐUVSu]Vjjsjssjsj3VEPÃ$Vu
UEe[^ÍvUVSuVÉ$4$$e[^ÉUEPuuuUVS]SuuSEPƉ$u
UEe[^UVS]sV$4$e[^ÐUVSu^S$juVEPƉ$u
UEe[^ÍvUuuuUVS]sVuuS4$e[^ÉUWVS]{Wu$4$jSPEPÃWuU<Ee[^_UVS]sV$ujSPEPÃVuU<Ee[^ÉUVS]<sV$4$e[^ÉUVSuM]A9v9QrQSQVe[^ÍvUVSuM]A9v9QrQSQVe[^ÍvUSUBzuuuRt؋]UWVSuUB;uIzu8Zċ{WSEPÃuEWٍvȍe[^_ÉUWVSU}B;uEztzBB'ZċsVWSÉ4$ىȍe[^_ÉUVSu<^S$juVEPƉ$u
UEe[^UVSu<^S$juVEPƉ$u
UEe[^UVS]<sVuuSÉ4e[^ÍvUVS]sVuuSEPÃVu
UE؍e[^UVS]CpV$4$e[^ÍvUVS]CpV$4$e[^ÍvUVS]CpV}PuSEPÃVu
UE؍e[^ÐUVS]CpVuuS4$e[^UVSu]M9s9Ks,9Lr9Kr9LsztBBJ}PQSVe[^ÐUVS]uM9s9Ks,9Lr9Kr9LsB;BsBrBvQVSe[^ÐUVS]Su uuuSEPƃSu
UEe[^ÉUVSu]VEPSuuVEPÃVu
UEe[^ÐUVSu]Vu EPSuuVEPÃVu
UEe[^ÉUVS]Su uuuuSEPƃSu
UEe[^ÍvUVS]Su$u uuuSEPƃSu
UEe[^ÍvUuuuUVSuVÉ$4$$e[^ÉUuuuuvUVS]SSEPƉ$u
UEe[^ÍvUVSuVÉ$SV$e[^US]SSu$]ÍvUuuuUuuuUuuuUWVS]}Ks	ƺCtWSvsЍe[^_ÍvUEÉUVS]SuSPSƉ$e[^ÉUVS]SuSPSƉ$e[^ÉUVS]S$Ɖ$e[^UVSuVuÉ4e[^ÐUS]SuS$]ÍvUS]SuS$]ÍvUS]SuS$]ÍvUVS]SuSEPƉ$tUEe[^ÐUVS]SSEPƉ$tUEe[^US]SuSEPuuS$]UVSuVuÉ4e[^ÐUVSuVuÉ4e[^ÐUVSuVuÉ4e[^ÐUÉUÉUÍvUvUvUvUVS]<sVuS4$e[^ÐUVS]<sV$É4$4e[^ÉUVSu<^S4$$$e[^ÐUS]SuP$]ÐUVS]S$Ɖ$e[^ÉUVS]S$Ɖ$e[^ÉUVS]SuuSEPƉ$u
UEe[^ÐUVS]sV$4$e[^C%$>$>:;II&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#

#
!#
#
 #
!# 
<!#$
^!#(
i!#,padt!#0
!#4
){#8
LDEE
#rs#F	G"(	XGsig`C#a#b#c
#d!#e!#f# Hg!#$h#,
i#0fixj#4ks#8ls#@ms#Hpns#PHKH~28##3#T4#5#w	68#{7# 8#$"9#(:<#,<;c#0<#49!=#8>#<^?)#@@P#DAw#HfixB#LC#PmD#TE#XF#\G<#`Hm#dI#hJ#lK#pdL #tM. #xhNT #|O#sigPC#OO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#uW#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{
q1rzN
d{tN{dud{v
(NI
^(w39EI
MxPVkN
k'.WwsigC#
#{q##!#n sigC##u #Tǒ #ʹ #A	 #@! #C#yNwdldd1Nd{8<BNGY_pY
ju)u'!4:ONkZ`Nddd8ZNu8uuddd{(.>uIO_u!jpuuNuk7N8<N{GMcd{;ntNu{wĨuddNd-]	)N,4:PK[aw!̂N:θNи4uk%+<uGMgNgu}x~Nu٣u*"l  i" ( 9 ? T Nko_ e u t   |   
|D   {|  J !!Ndd&!,!<!ddG!M!^!ddW&!G!
!!!d{&!!!!#

"!#"!##
!"g.e#{fE#5"hc!g!i5"\Q"W""x"\sig}C#~F"#"###a"""
asigC#F"#Qm""##"F""x##2#2#F"F"F"x"W"#V $sigC## {#`!s#"s##!#V $C##	o(=$tB##{#X
{#\{#`QY#d_C$#hM#lsigC#p	=$#$`B##aI$#XII$#
{#
{#{#{#z{#!#sigC#T$)go)eR%b%%r%!%l"%%	i %O%%	=%%	3%%	%%	&&	0"&(&	$9&?&	\P&V&&{j'#"k'#
l'#m'#n'#o'#|&&&w0'#w1'# &'B' fix)#w0'#w1'#w2'#Y
"M'S'	K
#	$d'j'	8&{''	*l+E[,E+.
/0Ww
1WQ2Wv''((v#~
'#1x(#m(za{#
|#}#~'#(((m((
y##!W#
(((('&)) )'&''+)1)P)'&.&5[)a)q)''|)))''|)-[)4)))'g[))'&)')f*'#(#P)#q)#fwd)#)#pad)#)*# '#(#P)#q)#fwdē)#Ş)#padƩ)#`)##q*h+ͳ'#(#P)#fwdГ)#ў)#padҩ)#u!ӫ#*+س'#(#fwdړ)#۞)#padܩ)#s++70
1#
2s#73+,$,\,   # !# #,#, T {#j #
 # d# \,,, $$,
SAC +,,,- +sig .C#. /#? 0#6 1#4 2,#n ?7-=-t- ?7	 B{#
 C# DW#!H
U5!'U!'"UX!'$.U ,.t!'0cU!m!%S!| !'!T!"!
#res!NV m.!dU!m!̂%S"!
$T!{V .Y"!U!x!ٙ% .!!U!m!ނ%S"!
$T!{V /E"!U!x!% C/
!U!m!%S"!
$T!{V /o!4U!m!%S"!
$T!{V%/	!	'4dU&m!%S&
!'res!
NV(!
)0	!dU&m!%S&
!(!
%_0! U&m!%S(!!
*
!"V)0!,U&m!+%S(!-
)0b!5U&x!4%)0L!;U&m!:%S(!<
)1"!D,U&x!C%)H1!J,QU&x!I%S(!K
)p1%!STdU&x!R%)1
!XdU&m!W%S(!Y
)1 !aU&m!`%S(!b
)	2\!iU&m!h%S(!j
%N2V!r'U&x!q%S'res!sNV(!t
%2	!|'4U&x!{%S'res!}NV(!~
%2R!'4nU&m!%S&!s&3!s'b!V(!
% 3y!'pU&x!%%x3!'U&9"!x3&!%+'res!'P*L!8P%%3!'U&9"!x3P&!%&L!8*!
|'res!NP%4!'U&!4%)I4r!U&m!%S(!
)q4!(U&x!%%4A!'(XU&m!%S,p!''b!V(!
%15k!'XU&!15P&m!%V&!75S(!
*
!t'res!NS%f*%5!' U&!15P&m!%V&!5S(!
*
!t'res!NS*%#6!8' U&!515P&m!6%V&!!7#6S(!9
*
!:t'res!;NSh+%6!['U&!X15P&m!Y%V&!Z6S(!\
*
!]t'res!^NS+)6!|U&!!{%V(
!}*!~
S%G7!'6U&#!G7&m!%&`!&+'res!'P*L!8P%%7!'8U&#!G7P&m!%S&`!&&L!8(!
*.!t(!'res!NV)8f!U&!%S(.!*!
V%8
!'U,p_o!)P&!%V&T!+(.!*!
S'p!dt'res!NV%8!'U,p_o!)&!%&T!&L!8'res!'P)\9F!NU&!%S,p!'&T!(.!*!
V%9n!'PU&!9P&!%S+(.!*!
W'buf!up*!P'res!NS*L!8VE&%|:!#'U&!!9P&!!%S&L!"8(.!$*!%
V'buf!&ut*!'P'res!(NS):!>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?	!dAU&C
!c''sac!e,S*!f
V)?C!vDuU&C
!u''sac!w,S*!x
V%@#!'xU,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%<M!U&m!%V&!B'(!
(!|*T!{S%M	!U&m!%V&!B'(!
(!|*T!{S%M!+U&m!%V&!B'(!
(!|*T!{S%7N{!',6U&+!'&!'%cNS!!'8BU&O!)Ne!DIU&!'&!'/ !LYU0P!Y'\iU0!Y'lyU%5O!'|U&'
!E&&Q	!Y''buf!uS*!
V%O!'U&'
!E&&Q	!Y''buf!uS*!
V'res!NS%O2!/'+U&'
!.E&'buf!0uV*!1
S)$Pd !H,[U&m!G%S&T!G(!I
%iP!T\U&m!S%S(!U
*T!V{V%PW!dU&m!c%S(!e
*T!f{V%.Q0!x'U&>!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<Vteg	Gh	GhJ:.<;Mǂeeeerer
e:[:::<<;XeV\dVXdVUZf:[g:Zf:	Şdi񁯃
e::*IV;__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 12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 {<END } while(0)FRVALUE(expr) ((void)0, (expr))PNOOP do {} while(0)ZSTR_(x) #x[STR(x) STR_(x)hDISCARD(expr) BEGIN (void)sizeof((expr)!=0); ENDtDISCARD_STAT(stat) BEGIN if (0) stat; ENDUNUSED(param) ((void)param)PARENT(type,field,p) ((type *)(void *)((char *)(p) - offsetof(type, field)))BS_EMPTY(ty) ((ty)0)BS_COMP(s) (~(s))BS_UNIV(ty) BS_COMP(BS_EMPTY(ty))BS_SINGLE(ty,i) ((ty)1 << (i))BS_IS_MEMBER(s,i) (((s) >> (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)<EventPoolFinish ((EventType)0xEFB07F14)=EventPoolAlloc ((EventType)0xEFB07A77)>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)); END#BTRes(a,i) BEGIN (a)[((i)>>MPS_WORD_SHIFT)] &= ~((Word)1 << ((i) & ~((Word)-1<<MPS_WORD_SHIFT))); END#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),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 99<BC_STRING_MAX 1000=COLL_WEIGHTS_MAX 0>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<NAME_MAX 255=NGROUPS_MAX 16?OPEN_MAX 64APATH_MAX 1024BPIPE_BUF 512CIOV_MAX 1024Mmps_message_type_finalization() MPS_MESSAGE_TYPE_FINALIZATIONNmps_message_type_gc() MPS_MESSAGE_TYPE_GC[MPS_RANK_AMBIG mps_rank_ambig()\MPS_RANK_EXACT mps_rank_exact()]MPS_RANK_WEAK mps_rank_weak()bMPS_RM_CONST (((mps_rm_t)1<<0))cMPS_RM_PROT (((mps_rm_t)1<<1))xMPS_SAC_CLASS_LIMIT ((size_t)8)mps_sac_classes_s mps_sac_class_sMPS_BEGIN do {MPS_END } while(0)MPS_SAC_ALLOC_FAST(res_o,p_o,sac,size,has_reservoir_permit) 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 != 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.D1AB
BP.xWAB
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<Mmps_message_gc_condemned_sizeMmps_message_gc_not_condemned_sizeMmps_telemetry_control7Nmps_telemetry_interncNmps_telemetry_labelNmps_telemetry_flushNmps_alloc_pattern_rampNmps_alloc_pattern_ramp_collect_allNmps_ap_alloc_pattern_begin5Omps_ap_alloc_pattern_endOmps_ap_alloc_pattern_resetOmps_reservoir_limit_set$Pmps_reservoir_limitiPmps_reservoir_availablePmps_chain_create:Qmps_chain_destroyQmpsiSrcId;ProtocolCoerceClassMethodwhiteMutatorFaultContextmpsVersionStringchunkPoolBlackenMethodsize_tSegClassmps_arenaMessageclampedchunkSerialmps_pool_create_vobjectLockStructmps_pool_createrankSetalignmentframePushmps_classesSACClassesStructpageTablePagesframePopPendingmps_fmt_fixed_spageTableLimitrootmps_sac_flushunitsPerExtentmps_classrootScanCountmps_spacePoolFreeMethodglobalRingChunkCacheEntryStructmps_message_type_disableSrcIdStructMFSHeaderStructPoolAccessMethodgreyRingdetachisGensuperclassfromforwardedCountmps_fmt_isfwd_tmps_arena_class_smps_arena_class_tblockPoolStructrampCounttypemps_ld_addmpsi_checkmps_ap_alloc_pattern_beginArenaMutatorFaultContextStructdoublemergehas_reservoir_permitpoolLimitfinishpoolRingBufferStructarenaRinggreySegMaxgensmps_fmt_pad_tpoolStructArenaDescribeMethodmps_sizecountemptyInternalSizefreelistsmps_message_queue_typeLockforwardedSizeEpochreservoirLimitintervalPoolFinishMethodgen_countAttrmps_space_createarenatrappedmps_fixArenaFreeMethodmps_addr_tmiddleIndexlong intPoolClassStructmps_res_tmps_telemetry_labelmps_thr_orestmps_thr_tIndexcoerceClassArenaClassStructclassmps_reg_scan_tmps_arena_reservedWordSegSetWhiteMethodmps_ap_destroyhistorywriteBarrierHitCountpageSizeheaderSizerankmps_root_create_tablelabelbuild_timemortalityhigh__va_listmps_space_collectTraceIdframe_oProtocolInstblackenmps_count_maxrampBeginPoolRampBeginMethodflipMaskSizesigned charExternalSACStructReservoirStructAddrStruct/home/hannes/dylan/mps/codemps_message_returnsingleScanCountmps_space_clampmps_arena_destroyspacemps_message_finalization_refmps_messageintern_idfreewalkmps_sac_freemps_rank_exactextendsetRankSetmps_fmt_Amps_fmt_Bmps_fromSegFinishMethodrememberedSummaryRingmps_chain_destroyspanPoolStructmpsi.cmps_trampPoolBufferClassMethodlwpoppendingpointlessScanCountmps_addr_returnRingMessageGCCondemnedSizeMethodmps_ss_smps_ss_tmps_fmt_oaddrmps_fmt_smps_fmt_tPoolDescribeMethodFormatSkipMethodmps_ldmps_freelistscopiedSizeFormatScanMethodSegStructref_iovarietymps_arena_extendmps_message_gc_not_condemned_sizeflippedTracesBufferFinishMethodfoundationdescribecommittedmps_arena_clampScanStateStructmps_sac_destroyrootScanSizemps_alloc_pattern_tblockSizegcCondemnedSizealloc_patternmps_message_type_returnattrsnapCountrememberedSummaryIndexmps_message_gc_condemned_sizemps_arena_commit_limit_setreclaimSizePoolStructreassignSegmps_arena_collectSegSetRankSummaryMethodRingStructpreservedInPlaceSizemps_sacmps_message_smps_message_tArenaInitMethodmps_rank_tcountMaxFormatPadMethodcachedCountmayMovefilemps_stack_scan_ambigProtocolInstStructpageslimitShifttracemps_sac_class_sskipthreadRingPoolFramePushMethodArenaChunkFinishMethodreserveshCacheLimitfinalizationRefbuffermps_fmt_create_AbusyTracesmps_finalizePoolAllocMethodmoveArenaExtendMethod_mps_w0rate_mps_w2segScanSizecoerceInstunroundedUnitSizemps_lib_stream_smps_root_create_table_maskedsegRefCountrootRingbufferFillreg_scan_psetRankSummaryAccessSetChunkStructfixRefCountclasses_countdeleteframeptrmps_thread_regshDepthmps_ap_create_vunsigned charmessagemps_bool_tisCollectedenabledArenaAllocMethodmps_message_type_mps_wtmps_apmps_ap_filllwPopPendinglong unsigned intallocBasespareCommitLimitnailCountmps_trappedformatmps_root_create_fmtextendBymps_count_mps_w1avgSizemps_align_tmps_arena_exposemps_arena_spare_committedmps_allocmps_arena_spare_commit_limit_setAllocFrameStruct_allocchunkRingmps_arena_releasegreyfirstTractmps_ap_createmps_ld_tmps_reservoir_limitmps_blockslabelledmaxSizefillMutatorSizePagemps_poolPageStructpoolReadyproflowchunkFinishserialBuffermps_rmFormatCopyMethodBootBlockStructmps_ap_tripmps_rootBoolargsbufferLoggingreservoirStructPoolDebugMixinMethodmps_frame_smps_frame_tmps_fmt_A_sFormatmps_root_omps_arena_classmps_root_smps_root_tTraceStructProtocolClassMVStructMessageDeleteMethodmps_reserve_with_reservoir_permitmps_ld_merge__uint32_tProtocolCoerceInstMethodSegSetSummaryMethodprotocolmps_sslong long intsegCopiedSizemps_word_tva_listTraceSetBufferAttachMethodbufferRingmps_space_oArenaSpareCommitExceededMethodSACStruct_mps_imps_space_tPoolGreyMethodPoolBufferFillMethodmps_typeSerialthreadSerialreclaimdepthinitCountfillSizemps_message_pollmps_sac_freelist_block_sTracehasSegalignmps_root_scan_tmps_rm_tspareCommitExceededPoolnailedfrequencyRefSetPoolDebugMixinscmidresetMaskmps_fmt_skip_tcontrolPoolStructmps_arena_start_collectSACClassesmps_block_sizeallocMutatorSizesetGreyScanStatemps_ap_smps_ap_tmps_fmt_auto_header_smps_capacityTractStructSegSplitMethodunitSizeunsigned intBufferReassignSegMethodGlobalsStructPoolInitMethodmps_freemps_ld_resetmps_arena_unsafe_restore_protectionattachmps_root_create_regmps_root_scancapacitypageShiftPoolFramePopPendingMethodMessageGCNotCondemnedSizeMethodwhitenfinalPoolBufferRankSetMethodmaskSegPrefStructMessageTypePoolFixMethodsegRingmps_alloc_pattern_rampmps_fmt_class_tPoolBufferEmptyMethodMFSStructzonesprimaryBufferModebufferEmptyoffsetmps_rankPoolWhitenMethodChainStructmps_mortalityprehistoryFileSrcIdStructSegInitMethodreclaimCountZoneSetBufferClassStructSegSetGreyMethodGNU C 3.4.6 [FreeBSD] 20060305FormattedObjectsStepMethodSegClassStruct__size_tLDStructfixedSummarymps_cached_countcharTraceStatereadBarrierHitCountmps_pool_twalkmps_ap_oArenaChunkInitMethodmps_sac_fillmps_chain_createmps_arena_has_addrsizeAlignfreeListpreservedInPlaceCountlastTractrootCopiedSizemps_space_destroyscansetWhiteMessageStructmps_chain_smps_chain_tfixEmergencyformatRingThreadStructcommitLimitmps_ap_frame_popmps_middleRootStructmps_rank_ambigMessageGCLiveSizeMethodmps_thr_smps_pool_destroytracedSizeisMovedmps_ld_slong long unsigned intSrcIdinsideShieldSegSetBufferMethodRankmps_fmt_create_BzoneShiftmpsiSrcIdTraceFixMethodmps_collectionslocusRingmps_pool_opoolmps_pool_schain_oformatSerialPoolDebugMixinStructdebugMixinmps_reservemps_message_gc_live_sizeframebuild_dateSACFreeListBlockStructrampEndrefrefmps_arena_parkmps_arena_create_vPoolClassmps_fmt_create_fixedgenCountmps_fmt_destroyinitAtFlippageTablepoolSerialmps_sac_emptyFormatIsMovedMethodPoolRampEndMethodPoolFramePopMethodchunkInitmps_thrBufferSegMethodmps_sac_oreservoirSizeSegMergeMethodmps_sac_smps_sac_tPoolReclaimMethodclassesmps_chainsetBuffercopyRootmps_space_parkesacStructclassesCounttracedTimeBufferClass_nextmps_arena_smps_fmt_scanmps_arena_spare_commit_limitrootSerialChainmiddlemps_fmt_fwd_tframePopactiveTracesmps_arena_createmps_ld_isstaleemptyMutatorSizePoolFreeWalkMethodBufferInitMethodtopGenmps_gen_param_ssuspendedmps_message_type_tbufferClassglobalsthreadmps_definalizeFormatClassMethodnameallocTableBufferDetachMethodlastTractBaseapStructSegSetRankSetMethodgcLiveSizemps_fmt_copy_tFreeBlockStepMethodAllocFramewhiteSegRefCountmps_alloc_pattern_schainmps_arena_stepunfixedSummaryshort intlostmps_message_getnotCondemnedtractStructmodemps_root_createRankSetshCacheIfillInternalSizestatemps_ap_alloc_pattern_endFormatMoveMethodBufferDescribeMethodmps_class_smps_class_tmps_thread_deregparamsisMutatorRootModemps_sac_createlastWorldCollectmps_fmt_fixedsingleScanSizebufclassspareCommittedMessageClassStructSegPrefMessageClassmps_alloc_vMessageFinalizationRefMethodmps_commitThreadspansmps_sac_allocmultiplierpollThresholdmessageRingmps_rank_weakchunkCacheemptySizemps_telemetry_controltracesbufferSerialPoolFixEmergencyMethodepochArenaReservedMethodblocksqueueRingArenaClassendSigisfwdmps_alloc_pattern_ramp_collect_all_mps_sAPStructmps_ap_alloc_pattern_resettractListmps_reservoir_availablemps_arena_commit_limitmps_fmt_create_auto_headersplitcondemnedmps_fmt_scan_tisFinalPoolemergencySegBufferMethodfreechainRingwasMarkedFormatVarietymps_ap_fill_with_reservoir_permitenabledMessageTypesshort unsigned intGenDescStructmps_reservoir_limit_setbaseAddrArenaStructmps_telemetry_flushmps_message_discardmps_ap_frame_pushmps_arena_unsafe_expose_remember_protectionsetSummarymps_lib_FILEBufferSetRankSetMethodSegDescribeMethodaccessgcNotCondemnedSizemps_telemetry_interngreySegCountmps_headerSizemps_frequencysegScanCountmps_arena_committedChunkshCachePoolScanMethodsingleCopiedSizemps_fmtBootBlockinsidePollreservedallocnextmps_message_type_enablePoolWalkMethodmps_arena_omps_space_committedmps_space_reservedmps_arena_tProtocolClassStructprevpageTableBasemps_reg_scanmps_space_releaseFormatStructscannedSizelockArenaFinishMethodTractmps_root_destroymps_fmt_B_sGCC: (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;	dX)p%	D`/t4tF<QB	L`)ViR		bnnmq22?8	 H
	X		 	0#9%A9`> 
	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
L1D1xW8
R&h
W<L
ZiUtU2
4E-<|4MYj)w$Mt::
		,+	7	(/H	W	X)k	z	)		)		C		 @

`<0
G
Q
/j
|
/

/

,
8
D,L
@J\
arl
|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
&.t6Zbvjxzw
y!
:
~E
x





)EP+ANX	5@Jdpx-:Dl|	ScsZZ8JRiw (0!%*18?MX_fmt{(39Zev|
#.9D_pv)8GVet
(7Fet|!0?N]l{-CQ_m{%3AO]ky!/=KYgu	#	2	A	P	_	n	}									

"
1
@
O
^
m
|








,CRa$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-H<HKHtHHHHHHHHHHHIIII,I>IJINIUIcIIIIIIIIIIJJJJ3JEJQJUJ\JjJyJJJJJJJJJJJJJKK#K/KAKIKMKTKbKqK}KKKKKKKKKKLL L'L5LCLOLvL~LLLLLLLLLLLMM"M.MBMNMRMYMgMvMMMMMMMMMMMNNNN(N=NINMNTNiNqNuN|NNNNNNNNNNNNNNN
O'O;OGOKOROaO~OOOOOOOOOO	PP*P6P:PAPOP[PoP{PPPPPPPPPPPPQQ@QHQLQSQaQoQ|QQQQ	
		04HL`dx|04PTpt(,HLdh,0HLdh$(LPtx8<TXtx$(DHhl,0LPlp$(LPtx		4	8	T	X	p	t									

$
(
D
H
d
h








$(DHdh48TXtxmpm.o/          1169001561  1001  1001  100644  44924     `
ELF	T4(UEHEÉUUEHUVSUu֍NȉӺ)N[^ÉUEH#EUUt	BuUUv@wÉUuvUEH#EUUBvuÍvUWVS<Eu} EKDu )9s )vKD09ruDP9te[^_UWVSlEE}ؾfڀE@u8؃uh&9ZPvEuD-CuWB4~1؃uh(95tEuJEt؃	JUD0CyD.Cم~D0CI}fEfE}fEfEuD.CmUmMQ$$ʍd$JEtEu-Eu
D
؈DD
وDCD
؈DC|D0CI}tzDeC}yD-C]D+Cd;M;M~gfff)gfffEDDCUEUU)DuEP9tЍe[^_ÐUWVS}0>t>$t+uP9F$3$$jj0u*[jjj0u6EEjjDPuCvu09vu09jj0uIt~jj
0u)t^pj j0u
tBTuj$9u%2p0uOuF>6e[^_UU:t@<uC%$>$>:;II&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	<rUV WV!VVhXVVVVԑVԑKVyUVh__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 1check_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 {<END } while(0)FRVALUE(expr) ((void)0, (expr))PNOOP do {} while(0)ZSTR_(x) #x[STR(x) STR_(x)hDISCARD(expr) BEGIN (void)sizeof((expr)!=0); ENDtDISCARD_STAT(stat) BEGIN if (0) stat; ENDUNUSED(param) ((void)param)PARENT(type,field,p) ((type *)(void *)((char *)(p) - offsetof(type, field)))BS_EMPTY(ty) ((ty)0)BS_COMP(s) (~(s))BS_UNIV(ty) BS_COMP(BS_EMPTY(ty))BS_SINGLE(ty,i) ((ty)1 << (i))BS_IS_MEMBER(s,i) (((s) >> (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)<EventPoolFinish ((EventType)0xEFB07F14)=EventPoolAlloc ((EventType)0xEFB07A77)>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)); END#BTRes(a,i) BEGIN (a)[((i)>>MPS_WORD_SHIFT)] &= ~((Word)1 << ((i) & ~((Word)-1<<MPS_WORD_SHIFT))); END#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),"_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 53<DBL_EPSILON 2.2204460492503131E-16=DBL_DIG 15>DBL_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 99<BC_STRING_MAX 1000=COLL_WEIGHTS_MAX 0>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<NAME_MAX 255=NGROUPS_MAX 16?OPEN_MAX 64APATH_MAX 1024BPIPE_BUF 512CIOV_MAX 1024mpm.cJan 17 200703:39:2101234567890Infinity$Id: //info.ravenbrook.com/project/mps/master/code/mpm.c#11 $0123456789ABCDEF0T#% A??|AB
AB
(*AB
ETAB
dAB
AB

AB
C.AB
!AB
$AB
FT.G.4dAB
FN.G.d.G..G.8<AB
Ff.G...j.G.j.Y.e.8AB
V'WordIsAligned_WordAlignUpWordRoundUpWordAlignDownSizeIsP2.SizeFloorLog2bSizeLog2AddrAlignDownResIsAllocFailureWriteFStringLengthCmpmSrcIdQ[bkWordRoundUpformatBoolWriteFAWriteFBunsigned intGNU C 3.4.6 [FreeBSD] 20060305WriteFFWriteFPWriteFSWriteFUscmidexpmaxshort intAligndigitSizeStringLengthbaseFileSrcIdStructlong long unsigned intfileepsilonWriteWordsize_twidthByteWordmps_lib_stream_sargsAddrcharmpmSrcIdAddrAlignDownstreamva_listexpminlong long intWriteDoubleAddrStructsizeSizeFloorLog2SrcIdWriteFCWriteFDlong intmodulusWriteFWbuild_timeword__size_tWriteFaddrWordIsAligned__va_listlong unsigned intSrcIdStructdigitsSizeLog2unsigned char__uint32_tSizeIsP2WordAlignDownPointerbuild_datesigned charmps_lib_FILEshort unsigned intmpm.cWordAlignUpdoublealignmentResIsAllocFailureShift/home/hannes/dylan/mps/codealignGCC: (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.comment4Q	|)%	\/4F[VB	dhVR	̬	b_q212,>l	Ԭ`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~!.;GX)7b!%9=im3?DQ	
		$(,048<@DHLPTX\`dhlptx|04HLhl$(\`arenavm.o/      1169001561  1001  1001  100644  81924     `
ELF	
4(UU@vvUWVS}M])H9Lr!QWuuHe[^_ÉUVS]UE)փPRu)He[^UWVSDuEPÃuEȃuǃuẼPWEPÃjjLUREPÃEЉEċUȍtK!VWuuÃuWEĉp<EԋUĉB8EPuuWuRÃ u(URE@H<kQEUĉue[^_UWVS}]C44jVWEPEC@jVWEPukECDWs9s<s$Ct!Vs<s8su.s<Ep4js@Ep4jsDe[^_USE@H[QX8P$]ÐUS]s<s8Ps8s]UWVS$EEhEPÃuPuPuÃ?uljƃuPÃuHE(LJ,XÈك]كE0vDŽ4@vdžtExdž|nQPVEPÃu8EhUB +BPXE8EWuPuPuue[^_ÉUWVS}}(EWll9tvBPڋ9uEǀ|[QWuPuPuue[^_ÍvUWVSMll9tvr,ƃڋ9ue[^_ÉUu2UVS]uK(S0CH9t
+C0CH@P+C0Ps,e[^US]UK0CH!)ʋKEEK0SD!)ȋKU[ÐUWVS}uuWEPEPEOU_0EEE;Uu/t+JuF@uE)؉Ã]+_0M;Mu+G49v$uF@u
u+w0G4;Euw(vu+w0uuEp8pucuuEp@9sSWC9rE;Et'juPuv@EPEP e[^_ÉUWVS}GEu;us^VWuCUPVMq8q+W0GUEP@M!u;ure[^_UVSuVE)ӋNE)ЉE}t&PRSv,EPEP t3$PRSv,EPEP t
UEЍe[^UWVSEEXEMlEl9rNF$FE9F MIMEXEtqӋ}׉M!9^ v9s^ EXEu͉);Er(uSRuVu t
E0?UE!9V v;Ur	9V WU
MEl9e[^_ÉUE@vÍvUWVSu}tWV4_w0!PuVuuc u0w0#t	PuVuu6 t
v}w0PuVuu u"wjuVuu w#0PuVuu ucwSuVuu uFw0PuVuu` u!wjuVuuB t
ve[^_UUxEPREPUWVSu}]jSWVuu* u+SVjSWVuu te[^_ÐUEpjuuuu UVS]uFPVSEPEPMS@t)MItS0|te[^ÉUEHP+PPUWVS EEUUURuPZEW]	G;}sWu'u9s SuuSuC9r;}sF;usVutEHU܋PEPQUr8uEu39suSuC9r;uH9}sV]KSPEQUr8u]UB0PSuC9ruuuEPEPuu]sD Ee[^_ÉUWVSuEX]9Ps++PH;Lw;Hs
vVuSEPEPU …}OUuRuWS t5UPSuuuuS uhOEOMG0ljPQuƃExtPS~	4!tEUE8‰Ѝe[^_ÉUuuuhuuvUuuuhuuvUWVS]}UO0<u|tO0B9sZ<u|u֋G0E<u!|uF9sM<u|tuVRuU9re[^_ÐUWVS}u]9sSuSVC9rNVPEQEp8pe[^_ÍvUWVS,EEl2ul9UUܸ7EHUu^0E؋EEԅt*Ju܋F@uE)؉Ã
]؋U+Z0};}MA9u:uF49v0u܋F@uEHH)vuF4H9uv(UJrNp9sjhdVSu vE܋PD	G;}RuuumEU9B4v*juv4PEpDEPEP U2uEl9te[^_ÐUWVS ]E@EESPEPEE܋HEߋU+zE؉9s,EX0SCF;ur֋E)UJUPuWEp,uWuEPEP uuEpDUP;Tvu_e[^_U=u1=uh .v ÐUvUVS]ƃjHPSsCCCCC C$8C(C0C4C8C<e[^ÍvU=u1=uh.vÐUvUVS]ƃjHPSsC"C0e[^ÉUÍvUUC%$>$>:;II&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#4ks#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#HW#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	s9hh@"#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OUeapvNdddd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!NU(!+(}!.(!$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+,*Jqr"
G;<;#&Ɓ;s::V'V
:hW;x*WdSSLVd>,+V:0$VKL<qV?dVXUd9WSG

tV	9fZPkVd1
-=,TuV	e=NgƬ:.:rH߃W,,:V 0sV,,V(d:Z<:d9W,:*<rHyHtVt,eYeU=>H/oHIVL	<o%erd;Wyr+WXH	f+:I*?q@:fidyq	V:;:؄cBcrrrrrrrrrrrcBcrrdV[dV__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 {<END } while(0)FRVALUE(expr) ((void)0, (expr))PNOOP do {} while(0)ZSTR_(x) #x[STR(x) STR_(x)hDISCARD(expr) BEGIN (void)sizeof((expr)!=0); ENDtDISCARD_STAT(stat) BEGIN if (0) stat; ENDUNUSED(param) ((void)param)PARENT(type,field,p) ((type *)(void *)((char *)(p) - offsetof(type, field)))BS_EMPTY(ty) ((ty)0)BS_COMP(s) (~(s))BS_UNIV(ty) BS_COMP(BS_EMPTY(ty))BS_SINGLE(ty,i) ((ty)1 << (i))BS_IS_MEMBER(s,i) (((s) >> (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)); END#BTRes(a,i) BEGIN (a)[((i)>>MPS_WORD_SHIFT)] &= ~((Word)1 << ((i) & ~((Word)-1<<MPS_WORD_SHIFT))); END#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)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)<EventPoolFinish ((EventType)0xEFB07F14)=EventPoolAlloc ((EventType)0xEFB07A77)>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 99<BC_STRING_MAX 1000=COLL_WEIGHTS_MAX 0>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<NAME_MAX 255=NGROUPS_MAX 16?OPEN_MAX 64APATH_MAX 1024BPIPE_BUF 512CIOV_MAX 1024Mmps_message_type_finalization() MPS_MESSAGE_TYPE_FINALIZATIONNmps_message_type_gc() MPS_MESSAGE_TYPE_GC[MPS_RANK_AMBIG mps_rank_ambig()\MPS_RANK_EXACT mps_rank_exact()]MPS_RANK_WEAK mps_rank_weak()bMPS_RM_CONST (((mps_rm_t)1<<0))cMPS_RM_PROT (((mps_rm_t)1<<1))xMPS_SAC_CLASS_LIMIT ((size_t)8)mps_sac_classes_s mps_sac_class_sMPS_BEGIN do {MPS_END } while(0)MPS_SAC_ALLOC_FAST(res_o,p_o,sac,size,has_reservoir_permit) 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 != 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)<VMChunkVMArena(vmchunk) Arena2VMArena(ChunkArena(VMChunk2Chunk(vmchunk)))GVMArenaSig ((Sig)0x519A6EB3)TArena2VMArena(arena) PARENT(VMArenaStruct, arenaStruct, arena)UVMArena2Arena(vmarena) (&(vmarena)->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\9k9z9999999999 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
999&9=9L9[9y999999999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-9T99999A9h999999-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&9929799D9;I99V9[99h9m99z9999	
		6064H6Ll6p6666 6$\6`66666064T6Xt6x66666 86<X6\p6t6666468\6`66666,60D6Hd6h|6arenacl.o/      1169001561  1001  1001  100644  66544     `
ELF	4(UUUWVS0}؋]uSWupjjDWEPu[uԃWh E%PSuV u5NF$F+EUHWF@,lQE0e[^_UUB(B8ÐUE@@[QPUÍvUWVSU:R,:Eփ,UU9UwzuuVÃubdž(nQVuuEPÃu2EUhPUXE
u؍e[^_UWVS}}ll9tBPڋ9uEǀ([QWe[^_ÍvUUEuPREPÉUVSul
l9tvB+BÉʋ	9u[^ÉUWVS}uu9~8^Ext Wv(v$v,EPEP Wv(v$v,EPEP tjSVЃ;LwI];]suSVC;]rE)x8NUNEV0Ee[^_ÉUWVSEXhHEl2l9t6vBPuWuuu tt6l9u͸e[^_UWVS]SEpEPEEHEEߋU+z49sUB0PC9rVWEp,UEP8e[^_ÍvU=u1=uh .v ÐUvUVS]ƃjHPSsCC,CCC C$4C,C0XC4C8C<e[^ÍvUC%$>$>:;II&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#qGs#!H#I# jJ#$K}#(
segL#,M#0N9#4uO[#8
sigPC#<
AW
Cqad#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-#q7# !8#$9#(=:#,;=#0*
<w#42=#8>#<=	?#@@*#DAQ#HfixB#LC#PED#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#kW#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'SYnNnd
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ΒNnВ
!'ANAbRXrNb}bܤtl}).NB
9?OK~Z`zNdd<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|<T;TM;Sđe:V	cH:VV:f=r	cBcrrrrrrrrrrrdV__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 {<END } while(0)FRVALUE(expr) ((void)0, (expr))PNOOP do {} while(0)ZSTR_(x) #x[STR(x) STR_(x)hDISCARD(expr) BEGIN (void)sizeof((expr)!=0); ENDtDISCARD_STAT(stat) BEGIN if (0) stat; ENDUNUSED(param) ((void)param)PARENT(type,field,p) ((type *)(void *)((char *)(p) - offsetof(type, field)))BS_EMPTY(ty) ((ty)0)BS_COMP(s) (~(s))BS_UNIV(ty) BS_COMP(BS_EMPTY(ty))BS_SINGLE(ty,i) ((ty)1 << (i))BS_IS_MEMBER(s,i) (((s) >> (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)); END#BTRes(a,i) BEGIN (a)[((i)>>MPS_WORD_SHIFT)] &= ~((Word)1 << ((i) & ~((Word)-1<<MPS_WORD_SHIFT))); END#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)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)<EventPoolFinish ((EventType)0xEFB07F14)=EventPoolAlloc ((EventType)0xEFB07A77)>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 99<BC_STRING_MAX 1000=COLL_WEIGHTS_MAX 0>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<NAME_MAX 255=NGROUPS_MAX 16?OPEN_MAX 64APATH_MAX 1024BPIPE_BUF 512CIOV_MAX 1024Mmps_message_type_finalization() MPS_MESSAGE_TYPE_FINALIZATIONNmps_message_type_gc() MPS_MESSAGE_TYPE_GC[MPS_RANK_AMBIG mps_rank_ambig()\MPS_RANK_EXACT mps_rank_exact()]MPS_RANK_WEAK mps_rank_weak()bMPS_RM_CONST (((mps_rm_t)1<<0))cMPS_RM_PROT (((mps_rm_t)1<<1))xMPS_SAC_CLASS_LIMIT ((size_t)8)mps_sac_classes_s mps_sac_class_sMPS_BEGIN do {MPS_END } while(0)MPS_SAC_ALLOC_FAST(res_o,p_o,sac,size,has_reservoir_permit) 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 != 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 ÐUvUS]PSPSPSCCCCCC C$C(C,C0C4C8C<C@CDlQ[UUUVS]ECxǃHLPTǃ\ǃXC|ǃ`ǃdhll@ǃtxP$$ƃu4ǃ$JnQSPƃtSe[^ÍvUVSuuVEPVÃUh@\UX9\wYEhPuÃu3uÃuUEuuVe[^ÍvUS]Pǃ$[Q$$ǃlp]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*VSujstShVЍe[^ÍvUWVS}t$JnQt}WEP‹EXEpPE싇\EE9Xv!j)PPVShu uYjERr0uuuVhu0u)EpWEP]hve[^_UuuEPEPu
UEÉUuuEPÉUWVSu^Wt}tdCxVuuURURP0 t%}t?VuWEPEP u#vE`EdUEe[^_UWVSuEXU9dr9dsǃ`ǃdWuCxuuVP4vuVWe[^_UEPxPRUEHUEPUETUUET;PsBxRP(ÉUÍvUELUVS]uS9s,+P9w(CxSP(LvLe[^US]S9LsL+HP]ÉUEPxuuPR,ÐUUuuEPC%$>$>:;II&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	?<u{x,	`<sigsC#
tx#
yu#
v#
&
w#
x #
y#
0zY# 
{s#$
j|s#,
}d#4
~d#8
=##<
d#T
#X
 
W#\>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<I#4+
=u#8>#<)?#@%@#DA##HfixBY#LC#PD#TEE#XF#\8G#`H#dID#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
nN8o~p
{q0r#)CNd{tNTxNx~N{dud{vN
S	w
xN'/%+@N
@BQWwdlddNkd{8V	kkRP28IkTZpk{k"jkkjNk:Nkkddd8PVpNj8{j%jddd{{
kjj-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
ert=QN,Ƭ*tut,
d[fr%:*IrVr?d<?hd9idt)r,Հ
cW:*JViiN
<fdsgrseHd	eid𜺎rtrJ;J;J;JdK<Y;JIjyUI:ddYdw>?@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 {<END } while(0)FRVALUE(expr) ((void)0, (expr))PNOOP do {} while(0)ZSTR_(x) #x[STR(x) STR_(x)hDISCARD(expr) BEGIN (void)sizeof((expr)!=0); ENDtDISCARD_STAT(stat) BEGIN if (0) stat; ENDUNUSED(param) ((void)param)PARENT(type,field,p) ((type *)(void *)((char *)(p) - offsetof(type, field)))BS_EMPTY(ty) ((ty)0)BS_COMP(s) (~(s))BS_UNIV(ty) BS_COMP(BS_EMPTY(ty))BS_SINGLE(ty,i) ((ty)1 << (i))BS_IS_MEMBER(s,i) (((s) >> (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)); END#BTRes(a,i) BEGIN (a)[((i)>>MPS_WORD_SHIFT)] &= ~((Word)1 << ((i) & ~((Word)-1<<MPS_WORD_SHIFT))); END#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)	*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)<EventPoolFinish ((EventType)0xEFB07F14)=EventPoolAlloc ((EventType)0xEFB07A77)>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	FC,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









:IXgv+@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(UvUvUS]SSBC]US]S$SKBABSRpvUUv@9(w@t@v@vvUVS]=u#ލCC@CSCCS S(S0S8[@CHCLCPCP@CXC\C\@CdChCh@Cp@ǃ@ǃ@ǃǃǃǃ48ݓݛǃǃ$ǃ(ǃ,ǃ0DŽBvDŽ0<[QBt΍@Avdž@dždžDŽBvpQ[^UVSujjVEPuVEjjPjPVEP …uEFP4$vЍe[^ÍvUSM[QǁǁǁǁǁǁǀǀBvA\A`APATAA[ÉUS]S8ss$tjSǃt'ǃǃP]ÍvUEhÐUjuUVSu]jFtPvPuVe[^ÐUjuUjuUWVS]}suSStVVe[^_UjuUWVS};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]}SVE8XC$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%$>$>:;II&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
0U1U24:;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)dX,YT
-Y1.Wt/W1{2Wv
3W
4W#5W6W=7W
BT:MY$;^d		m	<u{xZ`<sigsC#
tx#
f	u#
v#
Yw#
Qx #
y#
ozY# 
{s#$
j|s#,
r}d#4
~d#8
`##<
3d#T
#X
W#\>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	LGXGsig`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<l#4=#8g>#<	?#@%@#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##1W#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#|
tuJ##
	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#pa	b#	d4:	_eKQ	kgbh	\hh"#t#X{#\L{#`sigC#dnN8op 0{
qrFLfNd{xtqwNN{dud{vN
S]w
x"7N7'@HNcN
c
tzdldd9
Nkd{8kn
(.?k(U[lkw}k5
kjkkj	Nk7Z)/]Nkkddd8)BsyNj8j
jddd{4
kjx.j9?Pj[arjk}Nj79N8N{(2d{
=ClNj{w}jddtǣNkd")
Nk
	k*0FkQWvNv
k·N
kcЇZ7jjI6N6jWGMgNjWrxjWGܙ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#~<!#!#r!#a!!!asigC#<!#
m!!!!!<!!x""("("<!<!<!VM!"z$ sig C# #/  {# !s#R	 "s#O # #z $9""o3#t"#{#X{#\{#`Y#d59##h8#lsigC#p	d3#"	\ngd	B
+e#k#l## #)!5
U!:UK$!E dU
!DS !F!;Z x!N "!N R$![dU
!ZS !\!"b!i R#%!qU!p"
!rR$ti!sP 3!t$i!uP !v{%rs!w"!xP#j&O!NU!S"
!V$i!R"!Q&r%  x! &%,5"x! P&%mv'x! P&%}'x! P&%'x!	 P&%'x! P&&'x! P&5&'x! P&Q&'x!& P!'x!( P(&!;N}U)!:V'
!<S*res!=NP*p!>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!TEU)
!SS)O!SdV-b!U*seg!Vkt(.!rNHDU)!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:VUfV:dV
9-9
+	
	W:XW-sVrr::::;rrrsdVfW=derff	:*Ir:*Idv0e:::Vbe	Uv:eɒeǂ<d
9dM:rJdGdK;JՎrdGV-<HYVH;HVt_$VVe: seH.df*Vt:2s񪸮rrrId2̡V:*I-TM٪r.
rV%r-
rW	<ơr,Հjg;wwqq:n::nԦ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
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 {<END } while(0)FRVALUE(expr) ((void)0, (expr))PNOOP do {} while(0)ZSTR_(x) #x[STR(x) STR_(x)hDISCARD(expr) BEGIN (void)sizeof((expr)!=0); ENDtDISCARD_STAT(stat) BEGIN if (0) stat; ENDUNUSED(param) ((void)param)PARENT(type,field,p) ((type *)(void *)((char *)(p) - offsetof(type, field)))BS_EMPTY(ty) ((ty)0)BS_COMP(s) (~(s))BS_UNIV(ty) BS_COMP(BS_EMPTY(ty))BS_SINGLE(ty,i) ((ty)1 << (i))BS_IS_MEMBER(s,i) (((s) >> (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)); END#BTRes(a,i) BEGIN (a)[((i)>>MPS_WORD_SHIFT)] &= ~((Word)1 << ((i) & ~((Word)-1<<MPS_WORD_SHIFT))); END
	poolmrg_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 99<BC_STRING_MAX 1000=COLL_WEIGHTS_MAX 0>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<NAME_MAX 255=NGROUPS_MAX 16?OPEN_MAX 64APATH_MAX 1024BPIPE_BUF 512CIOV_MAX 1024Mmps_message_type_finalization() MPS_MESSAGE_TYPE_FINALIZATIONNmps_message_type_gc() MPS_MESSAGE_TYPE_GC[MPS_RANK_AMBIG mps_rank_ambig()\MPS_RANK_EXACT mps_rank_exact()]MPS_RANK_WEAK mps_rank_weak()bMPS_RM_CONST (((mps_rm_t)1<<0))cMPS_RM_PROT (((mps_rm_t)1<<1))xMPS_SAC_CLASS_LIMIT ((size_t)8)mps_sac_classes_s mps_sac_class_sMPS_BEGIN do {MPS_END } while(0)MPS_SAC_ALLOC_FAST(res_o,p_o,sac,size,has_reservoir_permit) 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 != 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)<EventPoolFinish ((EventType)0xEFB07F14)=EventPoolAlloc ((EventType)0xEFB07A77)>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.0HAB
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
 -8AJXpS #HX2>G\p'UL*'x	_5BMY	*iw
9@
/p
>
SAH*;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









:IXgv+@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(UUUMUEw7$A'AAAAAUUVSuV
F9tvZʋ	9u[^ÍvUVSuV
F9tvZ9u[^Í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%$>$>:;II&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	 =<u{x`<sigsC#
tx#
nu#
v#
w#
gx#
Ny#
-zY# 

{s#$
|s#,
}d#4
H~d#8
##<
d#T
#X
	W#\>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
>#<
?#@]@#DA#HfixBH#L
Cx#P~D#TE#XF#\G#`H#dI3#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##
wy{#
"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	nN8Xop{qr2Nd{t=CgNgmN{dgu~d{vN
Sw
xN'/N
/@FfdlqwddNkd{8k=k-!'8kCI_kjpk"jkkj8Nk)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<!gG!iP!\!!!\sig}C#
~!#Y,"#]"#$a!","asigC#!#cm7"="W"W"!!!xh"n"""!!!!So!#t"#{#X{#\{#`#Y#d'##hi
#lsigC#p	!#"#
`"#|-##X-##{#\
{#{#<	{#
{#F#sigC#
8#:6_gd

eB$kR$$b$r$$3

U-N7(NU $R0bU-/NQ/R!p/P"%		ZdnU!genY: "}%
j{pU!geni: V#|k{S#lR#^lQ$%o "%z{U!geny: V#|{{S#|R#^|Q$% &NU&PWS&&iS#*R#6!V&resNS&pp'(&MX#pP(&#pS$#pQ%*/ 'U*R&iūP 'U*S#W#ثV&i٫Q(x'-##R('<U%p$dr%p'aU*P'sU*P)(s
NU*	(P***|+res	NP,<
-
W+gen: S-	\-
{X-
{T-
{V-=
{Ps))	7NfU*6**|6W-8R-^8p,9+res:NP.dQ^$D,? -@Q-	AR-AS$(<+segFkP/)ZhU*Y*R*|YP/*eU*d*R*|dP)*SpNU0geno S*o*V0nroR*oP(u*-pyQ(*-pR,$-pR-Q/+e GU0gen Q$-D-#R)/+HRU0gen /s+zTU0gen P0segk-*R/+rU*S+gen: Q$-pP/	,_
U*P1gen: $,p)5,gU*2ps#43
#J%#Lp
/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.hfloat.hlocus.cA;r/r/V/r/ryM
9X6X6d;Hzc	qs;ddr::eVt,Hk/wdddY,;d?d4
GrVe;dd:1d:*Y/VI>;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 {<END } while(0)FRVALUE(expr) ((void)0, (expr))PNOOP do {} while(0)ZSTR_(x) #x[STR(x) STR_(x)hDISCARD(expr) BEGIN (void)sizeof((expr)!=0); ENDtDISCARD_STAT(stat) BEGIN if (0) stat; ENDUNUSED(param) ((void)param)PARENT(type,field,p) ((type *)(void *)((char *)(p) - offsetof(type, field)))BS_EMPTY(ty) ((ty)0)BS_COMP(s) (~(s))BS_UNIV(ty) BS_COMP(BS_EMPTY(ty))BS_SINGLE(ty,i) ((ty)1 << (i))BS_IS_MEMBER(s,i) (((s) >> (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)<EventPoolFinish ((EventType)0xEFB07F14)=EventPoolAlloc ((EventType)0xEFB07A77)>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)); END#BTRes(a,i) BEGIN (a)[((i)>>MPS_WORD_SHIFT)] &= ~((Word)1 << ((i) & ~((Word)-1<<MPS_WORD_SHIFT))); END#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),"_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 53<DBL_EPSILON 2.2204460492503131E-16=DBL_DIG 15>DBL_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









:IXgv+@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(UUEUUP@`ÉUEUE@ÐUUHB\ÉUUWVS}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<]ÍvUUE@΀QÍvUMU9|t0|BB B0B(B0UUE9|uǂ|ÉUWVS}u9w09v(|UDSWE1vl
l9tZ9sw9s wɉʋ	9ue[^_ÉUWVS]}El
l9t#v9zv]9ZsZ]։ʋ	9ut
E0[^_ÐUuuEPÐUUE+BJUVS]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%$>$>:;II&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#TF#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#T4#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#	OmO
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{ #
SegVYV
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#LY@ #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_tNtd
lddNd{8".9?PS9-fl}[
	k/NH:@nNddd8:
N8jddd{
	)/?~JPalrNHN8N{'-Cd{NT}N{ĈddǴNd":	N?0;AWbhNΘNtИJ@	q'-GNGhX^xNhكhܪzlE	4NH
?EUQ`fNdd	ddudddd{]
  @ 
V
 #
 #
 { g)e#(fE# hcK (gV Ii k\  !\sig}C#~ #;!#Dl!#qa!!;!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 {<END } while(0)FRVALUE(expr) ((void)0, (expr))PNOOP do {} while(0)ZSTR_(x) #x[STR(x) STR_(x)hDISCARD(expr) BEGIN (void)sizeof((expr)!=0); ENDtDISCARD_STAT(stat) BEGIN if (0) stat; ENDUNUSED(param) ((void)param)PARENT(type,field,p) ((type *)(void *)((char *)(p) - offsetof(type, field)))BS_EMPTY(ty) ((ty)0)BS_COMP(s) (~(s))BS_UNIV(ty) BS_COMP(BS_EMPTY(ty))BS_SINGLE(ty,i) ((ty)1 << (i))BS_IS_MEMBER(s,i) (((s) >> (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)); END#BTRes(a,i) BEGIN (a)[((i)>>MPS_WORD_SHIFT)] &= ~((Word)1 << ((i) & ~((Word)-1<<MPS_WORD_SHIFT))); END#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)

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)<EventPoolFinish ((EventType)0xEFB07F14)=EventPoolAlloc ((EventType)0xEFB07A77)>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         !!-!<!m!!!!!!!!
""*"2"@"N"\"j"x"""""""""###.#=#\#g#r#~######$$$"$)$6$C$V$]$a$h${$$$$$$$$$$$$$$%% %'%4%B%O%\%j%x%%%%%%%%%%%%%&&&&&&8&?&C&J&W&[&`&t&&&&&&&&&&&&&&''''.':'>'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(UUEppuuuPvUWVS}WEPt\vUBpC@t0RWuuuuSuWVWEPue[^_ÍvUS ]SEQEEEEEEjEPhS?$]ÉUUS]EpjuHPSEECTECXE C\C`Cd\QUE@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%$>$>:;II&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	<u{xO`<sigsC#
Btx#
u#
v#
w#
Tx #
"y#
?zY# 
{s#$
|s#,
}d#4
>~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<U#4=#8
>#<
?#@@#DA/#HfixBe#L}
C#PD#TE#XF#\_G#`lH%#dvIP#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|PV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>##
ly{#
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|kkjkkjNk 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<rddd9q	9Xdddss:krd	+KٮyUW;ȾAWWe;,mk: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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 {<END } while(0)FRVALUE(expr) ((void)0, (expr))PNOOP do {} while(0)ZSTR_(x) #x[STR(x) STR_(x)hDISCARD(expr) BEGIN (void)sizeof((expr)!=0); ENDtDISCARD_STAT(stat) BEGIN if (0) stat; ENDUNUSED(param) ((void)param)PARENT(type,field,p) ((type *)(void *)((char *)(p) - offsetof(type, field)))BS_EMPTY(ty) ((ty)0)BS_COMP(s) (~(s))BS_UNIV(ty) BS_COMP(BS_EMPTY(ty))BS_SINGLE(ty,i) ((ty)1 << (i))BS_IS_MEMBER(s,i) (((s) >> (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)<EventPoolFinish ((EventType)0xEFB07F14)=EventPoolAlloc ((EventType)0xEFB07A77)>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)); END#BTRes(a,i) BEGIN (a)[((i)>>MPS_WORD_SHIFT)] &= ~((Word)1 << ((i) & ~((Word)-1<<MPS_WORD_SHIFT))); END#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),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 99<BC_STRING_MAX 1000=COLL_WEIGHTS_MAX 0>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<NAME_MAX 255=NGROUPS_MAX 16?OPEN_MAX 64APATH_MAX 1024BPIPE_BUF 512CIOV_MAX 1024Mmps_message_type_finalization() MPS_MESSAGE_TYPE_FINALIZATIONNmps_message_type_gc() MPS_MESSAGE_TYPE_GC[MPS_RANK_AMBIG mps_rank_ambig()\MPS_RANK_EXACT mps_rank_exact()]MPS_RANK_WEAK mps_rank_weak()bMPS_RM_CONST (((mps_rm_t)1<<0))cMPS_RM_PROT (((mps_rm_t)1<<1))xMPS_SAC_CLASS_LIMIT ((size_t)8)mps_sac_classes_s mps_sac_class_sMPS_BEGIN do {MPS_END } while(0)MPS_SAC_ALLOC_FAST(res_o,p_o,sac,size,has_reservoir_permit) 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 != 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









:IXgv+@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 ÐUvUVS]ƃ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%$>$>:;II&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

""$#<%#&#'#"t2	A	.
Sigl
ResE< l-"ou	n#Y$Y(%Y&Y'W(W
Ref)d,Y
-Y
.W/We1{2We3WZ4W5W6W7W
BT:MYo;^d	<u{xf`<sigsC#
tx#
^u#
v#
w#
"x #

y#
zY# 
{s#$
|s#,
}d#4
~d#8
uY##<
yd#T
M#X
W	W#\L>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#
M2#
]# 
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<Z#4=#8
>#<b
?#@B@
#DMA4#HfixBj#LO
C#P%D#TE#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{8v"-vCIZvekvvjvcvj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  !vasigC# #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%7nUmKS$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::;<d?d:[rrrs=[dr__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 {<END } while(0)FRVALUE(expr) ((void)0, (expr))PNOOP do {} while(0)ZSTR_(x) #x[STR(x) STR_(x)hDISCARD(expr) BEGIN (void)sizeof((expr)!=0); ENDtDISCARD_STAT(stat) BEGIN if (0) stat; ENDUNUSED(param) ((void)param)PARENT(type,field,p) ((type *)(void *)((char *)(p) - offsetof(type, field)))BS_EMPTY(ty) ((ty)0)BS_COMP(s) (~(s))BS_UNIV(ty) BS_COMP(BS_EMPTY(ty))BS_SINGLE(ty,i) ((ty)1 << (i))BS_IS_MEMBER(s,i) (((s) >> (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)<EventPoolFinish ((EventType)0xEFB07F14)=EventPoolAlloc ((EventType)0xEFB07A77)>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)); END#BTRes(a,i) BEGIN (a)[((i)>>MPS_WORD_SHIFT)] &= ~((Word)1 << ((i) & ~((Word)-1<<MPS_WORD_SHIFT))); END#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),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
~







	'ETcr&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(UUUUuREPRÍvUWVS}u9t9u[9uE8[^_ÍvUWVS}u_9t9u[9uE8[^_ÍvU=u1=uh.vUvUE`Q@@@<C%$>$>:;II&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}`PsU[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 {<END } while(0)FRVALUE(expr) ((void)0, (expr))PNOOP do {} while(0)ZSTR_(x) #x[STR(x) STR_(x)hDISCARD(expr) BEGIN (void)sizeof((expr)!=0); ENDtDISCARD_STAT(stat) BEGIN if (0) stat; ENDUNUSED(param) ((void)param)PARENT(type,field,p) ((type *)(void *)((char *)(p) - offsetof(type, field)))BS_EMPTY(ty) ((ty)0)BS_COMP(s) (~(s))BS_UNIV(ty) BS_COMP(BS_EMPTY(ty))BS_SINGLE(ty,i) ((ty)1 << (i))BS_IS_MEMBER(s,i) (((s) >> (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)<EventPoolFinish ((EventType)0xEFB07F14)=EventPoolAlloc ((EventType)0xEFB07A77)>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)); END#BTRes(a,i) BEGIN (a)[((i)>>MPS_WORD_SHIFT)] &= ~((Word)1 << ((i) & ~((Word)-1<<MPS_WORD_SHIFT))); END#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),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(UUUEPuuuUWVS]EUSu
ǂCssvCC@C$C$@C C,C0BLC4S8S@SH[PQGXCGXuSR uGPPVCP2p0[QC$C(CCCCe[^_UEPuuuUWVS}jwuEPÃu>GuuWuVÃuE0wuue[^_É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<UEPuuPR@UEPuuPRDUEPuPuuRHÐUEuuuPP4UEPuuuPRPUEPuuPRTUEPuuuuPRlÉUEPuuPRpUWVS]ut;Qt
[vKjs,hCptPh,CpPh=sShPV@…
{0tVs0…jCP}fEfEm}mEPh`CHm}mEPhzC@m}mEPhC8m}mEPhV0…uhCVSPxuTS:C9t E܍BVPu(?9UujsShV …uЍe[^_ÉUUz0t
R0EUuuEPtEEUS]usEPt9]uЋ]C%$>$>:;II&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	K<u{x`<sigsC#
tx#
u#
v#
gw#
x #
y#
CzY# 
#{s#$
|s#,
}d#4
~d#8
2##<
d#T
#X
c	W#\>Y
@>
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	>GXGsig`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#TvE#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|PV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'->kIOekpvkpjkEkjNk	/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   XasigC#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::<dd>u;tdՆf:K-wtVt;,t:ew:<f:ƅe\	:*	GVV>,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 {<END } while(0)FRVALUE(expr) ((void)0, (expr))PNOOP do {} while(0)ZSTR_(x) #x[STR(x) STR_(x)hDISCARD(expr) BEGIN (void)sizeof((expr)!=0); ENDtDISCARD_STAT(stat) BEGIN if (0) stat; ENDUNUSED(param) ((void)param)PARENT(type,field,p) ((type *)(void *)((char *)(p) - offsetof(type, field)))BS_EMPTY(ty) ((ty)0)BS_COMP(s) (~(s))BS_UNIV(ty) BS_COMP(BS_EMPTY(ty))BS_SINGLE(ty,i) ((ty)1 << (i))BS_IS_MEMBER(s,i) (((s) >> (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)<EventPoolFinish ((EventType)0xEFB07F14)=EventPoolAlloc ((EventType)0xEFB07A77)>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)); END#BTRes(a,i) BEGIN (a)[((i)>>MPS_WORD_SHIFT)] &= ~((Word)1 << ((i) & ~((Word)-1<<MPS_WORD_SHIFT))); END#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),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,poolSrcId37allocTablePoolAccessPoolClassCheckPoolDescribeMethodcontrolPoolStructpageTableLimitGlobalsPoolHasAddrgreySegMaxchunkFinishnamepageSizeFormatPadMethodrankrootSerialchunkRingArenaAllocMethodPoolFixEmergencyreservoirSizeactiveTracesformatfoundationPoolDefaultBufferClassLockPoolBufferClassMethodTraceFixMethodsuperclassthreadRingunitsPerExtentPagefillMutatorSizepoolSerialPoolFixBoolprehistoryArenaFreeMethodunitSizesetRankSetunsigned 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









:IXgv+@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 ÐUvUS]PSPSPSCCCCCC C$C(C,C0C4C8C<C@CDCHCLCPCTCXC\C`CdChClCpCtCxC|ǃǃUzQ[ÉU=u1=uh.vÐUvUVS]ƃhPSsSe[^ÍvU=u1=uh`.v`ÐUvUVS]ƃhPSsSe[^ÍvU=u1=uh.vUvUVS]ƃhPSsCte[^ÉU=u1=uh.vUvUVS]ƃhPSsSe[^ÍvU=u1=uh@.v@ÐUvUVS]ƃhPSsSe[^ÍvUÍvUÉUUUÍvUÍvUUS]uSuEPuEUUЋ]ÐUÍvUUE9v)PRuÉUjhDuÐUUÉUUuuEpÉUWVSu}EXutwVSF#EtuWVSj8 uXуF$PVVSЍe[^_ÉUS]SEH	RSUUÍvUS]CUJuPS]ÍvUÍvUÍvUUUÍvUÍvUÍvUÍvUÍvUUUÍvUÉUÉUÍvUÍvUC%$>$>:;II&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	H<u{x(`<sigsC#
tx#
u#
	v#
w#
x2 #
y#
UzY# 
	{s#$
|s#,
}d#4
	~d#8
n##<

d#T
{#X
@
W#\O>Y@>
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<o#4=#8	>#<c?#@@"#D\AI#HfixB#LPC#PD#TE#X
F#\*G#`iH?#d9Ij#hJ#l!K#pL#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#UsUthehm #
SegVVsigC#
#
p#
	2 #


d#W#pm"#sm
"#c#9#~
##TX3LX!###j### #$#(n #,B#0M#4o#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:'xKQfNf4w}dlSdd\Nd{8R +1B+X^o1zyjrj!N:,2`Nddd8,v|Nj8%	jjddd{
jR!1j<BSj^dujNj:{N8^N{	5d{@FoNj{zjddǦNd",[N"-3ITZyNy
ΊNfJ
Њ4
j&jJ9N9jZJPjNjZu{jZ^	ܜll
Ex &N:y17GC5RXrNdd}dddd}d{} 	 2 t##	 	m ge#6fE# h+c= gH si \   \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!!"V4{U|U U'US!"V{'U#'(NUO8#(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-bU&&)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=@?>X>[	9V?XH:Kf=?>9ce `UKXu<,hȺ?>X:V>XAY@@>Y>Y=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 {<END } while(0)FRVALUE(expr) ((void)0, (expr))PNOOP do {} while(0)ZSTR_(x) #x[STR(x) STR_(x)hDISCARD(expr) BEGIN (void)sizeof((expr)!=0); ENDtDISCARD_STAT(stat) BEGIN if (0) stat; ENDUNUSED(param) ((void)param)PARENT(type,field,p) ((type *)(void *)((char *)(p) - offsetof(type, field)))BS_EMPTY(ty) ((ty)0)BS_COMP(s) (~(s))BS_UNIV(ty) BS_COMP(BS_EMPTY(ty))BS_SINGLE(ty,i) ((ty)1 << (i))BS_IS_MEMBER(s,i) (((s) >> (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)<EventPoolFinish ((EventType)0xEFB07F14)=EventPoolAlloc ((EventType)0xEFB07A77)>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)); END#BTRes(a,i) BEGIN (a)[((i)>>MPS_WORD_SHIFT)] &= ~((Word)1 << ((i) & ~((Word)-1<<MPS_WORD_SHIFT))); END#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),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"f2k2"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(UUSEXPj(SP]UE@ÉUE@ÉUE@ÉUS]jh CPuCCCYcQ]U@tUWVSU}<KEt{t	vF8<tӋEBEBXBBB$zB EBB(B,B0B4B8B<B@BDBHBLBPBEʕQ[^_ÉUE@[QÐUUUUUMEt/
t
Ovt3EB<APB<B@ALB@B8-BHAPBHBLALBLBDBTAPBTBXALBXB\A(B\B`A,B`BdA0BdBhA4BhBlA8BlBxA<BxB|A@B|ADAHÐUWVS}u<JtuuRvC0<tэe[^_ÉUWVS}u<JtBC0<t[^_UWVS}<JEtrC8<t߉[^_ÍvUWVS]uF8VSW…uDFKt.Vs	CG@tVs	CЍe[^_ÐUWVSEpVEPtaUBx@@t8RV]!ÃuV9uuuuWVEPue[^_ÉUWVSEHP9P9t9qVA9tBPڋ9u?EP9uǍe[^_ÍvUWVSluVuGPuVu]SuSjSVu Se[^_ÐUWVSu]}WSuVtSVWSuVse[^_UVSu]V;CuVsP3e[^UWVS8EHE؋MY]S$ExtpSu؉}VhXSGv29t?B8uMItjRSv69uGvE@H	8Se[^_UWVS}<4KuF8<t08<{CCsCCCC C$C(C,C0C4C8C<C@CDCHCLCPCTCXC\C`CdChClCpCtCxC|ǃǃǃǃJQ	4WEe[^_UVS]{u8C29t6BSP6C9uSsv[QSK!4SK!8e[^ÉUWVS}wjj(VEPu8]SVG|CG CG$CSVve[^_UWVSu~WEPtIUBXBNtRVB0SWEPuFV#e[^_ÍvUWVSEU<EEMu9t8ƉB}OtEEUڋ9uE}v[^_ÉUUBEBvUUB#BBUWVS|uVuUB$u RuB0EPuVu]SuVuUB0SEPEuVjSVu< JEtzdC0<t߅u,<JEtBtC0<t߃}u}u#EPUB$$RvEP$uEP}u"UBU!PuEe[^_ÐUWVSu]}WSuVgtSVWSuVKe[^_UWVSu}G#EtD8EWVjP<JEtBpC0<tG#EtjWve[^_UWVS}UG(W9w9v|ESREPt4u+FNF,كt
V0tBBGt(Bt.RG,G0uRWPP4u7vBtG,vGXMك	Ge[^_UWVS}UG(W9w9v|ESREPt4u+FNF,كt
V0t:BGt"Bt(BG,G0uPW2BtG,vGXMك	G$e[^_ÉUWVS|u]VuC$PuVuEPSVMU}	EEtRMQUE}EXU:C$PSSVj]SVuQ SUЍe[^_ÉUWVSu]}WuSuV tSVZWuSuV e[^_UWVS}GEOMw];]s0M	ƅEtރCPWtwe[^_ÍvUjuuuUWVS}GEOMw];]s5EuM	ƅEtكCPWtwe[^_ÉUWVSEp9t!ǐBuPu=ڋ9u⋖9tƉBuPڋ9ue[^_ÐUVSu]VCtSVve[^UWVS4]sVEPUBxREԃUBxt[B$Ct+RSB0E@KtEC(UB@@tBKuMK$WVEPkvShVC RP,$d$e}fEfEm}mE؉E
EuvuىC(m]mUѺ@C,CSe[^_UWVS]CHs<s,CttGQ{sWEPEPtuWuKPCvS{t{uCHC<9re[^_ÉUVSuVEPu ÃusVRP,$d$E@ RP,$%Eu؃$55uUEu؍ve[^ÐUWVS<EEE4PÃu)úRS,$d$%}fE޴fEm}mދEкRP,$

m}mދEЉuRP,$d$RS,$Eu+u̍EPpLUBHB<E]EE̋29t2ljZSEEu	]]؉69uEEuzu̍EPuuEPEUPuRMA $P,$
$uuQUBHB<Eȃ vẼ4t@E<EXHX<PUBHB<)؉EȃzuRvEue[^_UE@ÐUS]SC$]UWVSuF4tS<K4tS{uSG0<t4ue[^_ÐUURDD@vUVSu~pu?jhVEP…u]]SVPSPXVHVpEDVpEDFp~pvFpЍe[^ÍvUWVS}WWEPt|E@XPEpt=}t'E@$tPSWt
EvjuSVEPuve[^_UWVS}WEX޻v|t9tWEPt!UB@;DutRCv]Eu9uue[^_ÐUWVS}}GpW3-vSPS[hSu6W9uƍe[^_ÉUVSuVVEPÃuV
Vؐe[^ÐUS]SuSЋ]YQ0@PYQRQ??C%$>$>:;II&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:;I01
:;2.?:;'@
34:;I4
:;54:;I?
64:;I?
"?e	inte
8WN
g\
_Lw
|]7zE"\"$#+%#r&#]'#"S2	M	.
Sigl
ResE l`"ou	#Y
$Y9%Y&Y'Wb
(W
Ref)d,Y-Y.W/W1{2W3W4W	5We6W^7W
BT:MY;^d	<u{x`<sigsC#
tx#
{u#
jv#
 w#
x!#
xy#
zY# 

{s#$
|s#,
}d#4
~d#8
B$#<
td#T
#X
W#\>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#4ks#8ls#@ms#Hfns#PHH2_##$3#4#t5#I6-#
7~# ~8#$9#(<:#,j	;#0h<R#4 =~#8>#<
?#@@#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?#
?#=UJPkMUtheh="#
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
o2#<
3#@sig4C#DG^(^
o
%#
{p#t
r#x
Xt#|
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"MiP\"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&=1UU(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+s7H3NU'^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	9<dX=f:J=f:J=f:G-rrsd:[	9	ddd!ddrr:rdrrrrrrrrrrrtw;?==)9:<:<@V!Vp"	UWd8"Z:*L0V
e-ԂMV=	ӯո	 srd:j	:4cd::c2:rr:rrrrrrrrrrrrrrrrrrrrrrrrrrrdVr
gV;Md
	:r:dd/:dZJr-r=,y~
V
greUf9	sd#f"	 srǒ;.h	W<nHՏ:<.:*VW<nH:=0:T:9:tƜH
	rr[
WVVss.;V
d	+WVVVrs.;VfH<l
V;Z
9J>Vfe?7!tt
=srW>W:s3XVerr1r;VVsr=y:⫎'#dԎXV;@dr[;u#fVV}h.h:*J:d<:etVe,=fdVt;t;/uWu^<r!kds:d:*Jd__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 {<END } while(0)FRVALUE(expr) ((void)0, (expr))PNOOP do {} while(0)ZSTR_(x) #x[STR(x) STR_(x)hDISCARD(expr) BEGIN (void)sizeof((expr)!=0); ENDtDISCARD_STAT(stat) BEGIN if (0) stat; ENDUNUSED(param) ((void)param)PARENT(type,field,p) ((type *)(void *)((char *)(p) - offsetof(type, field)))BS_EMPTY(ty) ((ty)0)BS_COMP(s) (~(s))BS_UNIV(ty) BS_COMP(BS_EMPTY(ty))BS_SINGLE(ty,i) ((ty)1 << (i))BS_IS_MEMBER(s,i) (((s) >> (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)<EventPoolFinish ((EventType)0xEFB07F14)=EventPoolAlloc ((EventType)0xEFB07A77)>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)); END#BTRes(a,i) BEGIN (a)[((i)>>MPS_WORD_SHIFT)] &= ~((Word)1 << ((i) & ~((Word)-1<<MPS_WORD_SHIFT))); END#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),&_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 99<BC_STRING_MAX 1000=COLL_WEIGHTS_MAX 0>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<NAME_MAX 255=NGROUPS_MAX 16?OPEN_MAX 64APATH_MAX 1024BPIPE_BUF 512CIOV_MAX 1024&TraceMessageSig ((Sig)0x51926359)0TraceMessageMessage(TraceMessage) (&((TraceMessage)->messageStruct))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
TAPPUdPoU}7Vv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(UUUUWVS}]jjHWEP…UzEBEB4B8CB<CB@CBDBBEB B0B$B(B,ZZ[GdBGd)QO\ACJAYEЍe[^_ÐUWVSu]}u$uSuVEP …E@$tQ\T!‹EP(\H#E UB,UB(;B,rHB$E` 8Qk\H!UB(\M T!‹EP,V\F\9t*}ƍv;UtG(;B,sB(;G,rڋ9uދUEЍe[^_ÍvUMUMUEPRQjuuuuvUMUMUE EEPRQjuuuuU EEEEEEE EEPjjuuuUMU EEMUEPRQjuuuuÐU EEEEEEEPjjuuu*UVS]SKsQVQ2CA[QjHSPe[^ÍvUE@ÐUE@ÐUE@0ÐUE@ÐUUEH	BUEUx$tu@`0
vH0PvUWVSu]CF
{0tjs,s(v{4C4$s<s8VNjC<+C8FPts@s<s8VNjC<+C8FPuqQs@s<VS8ǃuY9sDs@s<VS8ǃuA!s@s<VS8NjC@+C<FPu F!CVPS{0ts0s,s(Ѝe[^_UVS]uS\
C\9t)z$t9r(w9r,v
Eʋ	9uظ[^ÍvUS]jS>s0s,s(]UWVSu}V\F\9t ƉBWPUu
ڋ9uȍe[^_ÉUVS]ut;)Qt
Kv;jshsh*sh5CptPh@sShQV@…{4C4$$js<s8haV …js@s<s8h@V …vjs@s<h{s8hV …ukMjs@hs<hV …uE'js@s<hs8hV …ujsShV vЍe[^ÍvUWVSu}V\F\9t"ƉBWPu
ڋ9uȍe[^_C%$>$>:;II&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%#&#'#"d2	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!#
Cy#
<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<L#4=x#8
>#<
?#@@#DA&#HfixB\#L
C#PrD#TE#XF#\G#`H#dvIG#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$#
ly{#
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	nN8Mop{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#%62!#/
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!ʭʔ<X:n,__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 {<END } while(0)FRVALUE(expr) ((void)0, (expr))PNOOP do {} while(0)ZSTR_(x) #x[STR(x) STR_(x)hDISCARD(expr) BEGIN (void)sizeof((expr)!=0); ENDtDISCARD_STAT(stat) BEGIN if (0) stat; ENDUNUSED(param) ((void)param)PARENT(type,field,p) ((type *)(void *)((char *)(p) - offsetof(type, field)))BS_EMPTY(ty) ((ty)0)BS_COMP(s) (~(s))BS_UNIV(ty) BS_COMP(BS_EMPTY(ty))BS_SINGLE(ty,i) ((ty)1 << (i))BS_IS_MEMBER(s,i) (((s) >> (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)<EventPoolFinish ((EventType)0xEFB07F14)=EventPoolAlloc ((EventType)0xEFB07A77)>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)); END#BTRes(a,i) BEGIN (a)[((i)>>MPS_WORD_SHIFT)] &= ~((Word)1 << ((i) & ~((Word)-1<<MPS_WORD_SHIFT))); END#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),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.HAB
TAB
`AB
lAB
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`630HT`lx4$,: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








#2P_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puuWuue[^_ÉUWVS]C8WU@ESEs$OvSuWuue[^_ÉUWVSuE@EVU}}~fFFQuPPt-Hp;UuFM\9suӍ^^[uuuuuVURE uE$PSFPXYFFuuPt)v`@M\9su[QEe[^_UWVS]{CpCtPSVSWcCpKCPt&`@\9suۍSKBABCB[Qe[^_ÉUEPuPRvUEPuPR0ÍvUEPuPR4ÍvUEPuPR ÍvUEPuuPR8UEPPRUEPuPRvUVS]ut;Qt	ntcSjpPhCpPh+srSh>V0…u,CVSP<…ujShThbV‰Ѝe[^ÍvUE@@ÉUE@ÐUEP@+BvUuuEPtUBt
RE‰ÉUS]SEPt3E@tPEEpSEPuθ]US]E3E@t#PB;EuE'B+\E@PSEPu]UWVSE@EUBxrUZ@EPEPuSVWuuUR@ …u$EpuuEUe[^_ÉUWVSEx@r@EE@EVuwVEPà uOEPuuuuuuWDà uEUUEwuVe[^_ÉUS]SHBt\9Cvu[ÍvUÉUÍvUÍvUÍvUÍvUÍvUÍvUÉUÍvUUWVSu}FX~uSPt$vHp\9suߋUEHBABE@B[Qe[^_UUWVSM]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…CtjhVu{C tjhVu\C@tjhVu=jCRhSRhPhhbV‰Ѝe[^ÍvUUS]@uuuuuSP …u#C$C(CC@CQЋ]Ð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EPUWVSuu]{(CE@u uuuuSVP@ …uwF$C$9F$tPVFpjuu0C$C,[QCC tEx(C(VWe[^_UWVS}uGE_(t
E9CTw@u uuuuuuPD …uOG$F$F(FF@FQujuat^(G(uSe[^_ÉUWVS]}t;Qt	ftt	{,řQtE@WSP<ƒu,{(tWs(ƒujv$hWe[^_UU=u1=uh .v ÐUvUS]PSPSPSCCCCCC C$C(C,C0C4C8C@CDC<CHQ[ÐU=u1=uh.vÐUvUVS]ƃjLPSsC	C0C
CC 
C$C(C,xC0C4H
C8C@CD|C<0e[^ÉUE@@@DC%$>$>:;II&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	<u{xw	`<sigsC#
tx#
u#
v9#
w#

xd #
ey#
zY# 
n{s#$
|s#,
G}d#4

~d#8
##<
d#T
#X
z
W#\a>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#LC#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	{#PQ5;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#tW#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	kzjk-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$=CXNlciyu	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 res<NS!=9h seg>kl!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/hU,seg
k-

j4/7NU,segk-k-Gd,midd-Bd-t-8 400NU,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)9G3
Z* 585k`vU,segjkV-|j-j0lPS0m9W0nQ'40
~* P0~* R'50w* 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,segkS-
lW/res
NR0	P0PV.q:)U-(6	=U6=!U5:
>$U-=S).L0I? P!T#6VU6VU5Y;WU-VS)20XV+;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<rYsJ:֦
c		UU[[	1rM[HW)t;M;d?e[g RH	c sVU=;Vx<U
:ff:X
9s+L::[ddfu:wt.,qWA'9<[>[=[=[=[>[=>	U9	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,<sds9cBcrrrrrrrrrrrrrrrxcBcrrrrrrrrrrrrrr
err__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 {<END } while(0)FRVALUE(expr) ((void)0, (expr))PNOOP do {} while(0)ZSTR_(x) #x[STR(x) STR_(x)hDISCARD(expr) BEGIN (void)sizeof((expr)!=0); ENDtDISCARD_STAT(stat) BEGIN if (0) stat; ENDUNUSED(param) ((void)param)PARENT(type,field,p) ((type *)(void *)((char *)(p) - offsetof(type, field)))BS_EMPTY(ty) ((ty)0)BS_COMP(s) (~(s))BS_UNIV(ty) BS_COMP(BS_EMPTY(ty))BS_SINGLE(ty,i) ((ty)1 << (i))BS_IS_MEMBER(s,i) (((s) >> (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)); END#BTRes(a,i) BEGIN (a)[((i)>>MPS_WORD_SHIFT)] &= ~((Word)1 << ((i) & ~((Word)-1<<MPS_WORD_SHIFT))); END#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)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)<EventPoolFinish ((EventType)0xEFB07F14)=EventPoolAlloc ((EventType)0xEFB07A77)>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
QSgs|0 L$L4=FQ^jtZ|L$<Tl0&@/`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
UHU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
33:3I3X3g3v3333333333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}11131313131313132323%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(UUEUWVSu}0jj<VEP…]sCC@ECECECEC E C$E$C(E(C,E,C0uC4{4E4C8cQCKBASBJEЍe[^_USUJZACA[QBAj<RrUE@ÐUEjpPhp0h0p,h:p(hEp$hSp h^phiphtPrtRhpPhupC%$>$>:;II&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	/?<u{x`<sigsC#
tx#
Ku#
cv#
w#
x#

y#
zY# 
{s#$
|s#,
o}d#4
	~d#8
g!##<
d#T
~#X
W#\>Y	@>
DM!#
VE#
F#
G)#
HT#
,Iq# 
5J#$
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		GXGsig`C#Ka#b#cc#d#we#f# g#$~h#,i#0fixj=#49ks#8pls#@ms#Hns#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#pd	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>DYNjtdjN8N\{d{-N\\j{8>YjdddjNkd"TșNkk
k.7N7
kuHNmN
k$H(
ҎjJ	ӵjNj(Nj	39OjZ`k*l݋[޲xN	0N
dd
;AQdd2\bsdd;=\dd{;rb
#:#+ ge#'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~6P78P\
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<VG:*;:ddddddddH=hdgVVeժk<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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 {<END } while(0)FRVALUE(expr) ((void)0, (expr))PNOOP do {} while(0)ZSTR_(x) #x[STR(x) STR_(x)hDISCARD(expr) BEGIN (void)sizeof((expr)!=0); ENDtDISCARD_STAT(stat) BEGIN if (0) stat; ENDUNUSED(param) ((void)param)PARENT(type,field,p) ((type *)(void *)((char *)(p) - offsetof(type, field)))BS_EMPTY(ty) ((ty)0)BS_COMP(s) (~(s))BS_UNIV(ty) BS_COMP(BS_EMPTY(ty))BS_SINGLE(ty,i) ((ty)1 << (i))BS_IS_MEMBER(s,i) (((s) >> (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)<EventPoolFinish ((EventType)0xEFB07F14)=EventPoolAlloc ((EventType)0xEFB07A77)>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)); END#BTRes(a,i) BEGIN (a)[((i)>>MPS_WORD_SHIFT)] &= ~((Word)1 << ((i) & ~((Word)-1<<MPS_WORD_SHIFT))); END#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),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









:IXgv+@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<hFs8hQs4hbsXhmC,}fEfEm}mEPh}C$m}mEPhs h{uPshshCpPhsShVЅu-CVSP(…ujsShVvЍe[^ÍvUVS]MuVSKsCC@ECzLЃC S$[,F,CXC4C8C<C@CDCHCLCPCTC\QF CF uVSQu VKBASBJCC[Qe[^ÐUEPuuuuvUWVS}E@EjwPEPÃu?uuuuWVà uE0wVue[^_ÉUWVSuVN ~<^TUBSWVRP4F4$P$)RS,$F,^,~t2F@@X@F@(X(N+F4RP,$d$A0Y0NRS,$d$APYPF@@X@F4F8F<F@FDFTf jVe[^_UWVS]{sSvSWe[^_ÍvUVS]sSt
SVSC$PSKBAB[QCBe[^ÉUE@ ÍvUUB<;B@UE@ÐUS]c SuCTCDC8vUUzLt	zPUUBHBP}BLÐUUEB<BvUVS]sHjSSuCTCDCPVSPRhe[^ÐUS]Su5{Du/C t
SStSwCPSPuR`]ÉUEPJuPRQdÍvUS]UMB@9B@s9BDrB@B<
uQRS]UWVS]}S S EC4{<MC@uECDMKT)RV,$d$C$[${tG9}t+EKRP,$d$i0Y0KRV,$d$A8Y8C@ X $KRV,$d$AHYHC@8X8CuWuuSP  e[^_ÍvUWVSu}^VuY~DuSF t
VdVtVF@9F@s9FTrF@F<UOvSVCuWVSURURP0Ã u"WuuuV EU؉e[^_UUB@B<zDuuuRvÉUSU]B tB<;B8t
Z<Z@1B t&rEPtSEP4v]ÉUVS]St0s u%SuC<C8CDC ve[^ÐUE@ t@8v@<ÍvUEPPR,ÉUEPPR0ÉUEPuPR4ÍvUEPuPR8ÍvUVS]SuC te[^ÍvUE@PÐUÉUÉUÉUSUB\JY}PRQSX]ÐUMy\tI\APQPR\ÉUVS]{\tsvFSVP\K\{\ue[^ÉUÉUÍvUÍvUÍvUÉUÉUÍvUÍvUEt8Qt
v}ÉUU=u1=uh .v ÐUvUS]PSPSPSCCC`CL
CX
C `
C$h
C(
C,p
C0|
C4
C8
C<Q[ÉUUS]@uuSP…uCdChQC`Ћ]ÍvUS]Ch[Q@SP]ÍvUS]usEPSuECd]ÐUS]jsdCd]UE@dÐUE@`ÐUUEPUUEPdÉUWVS]}t;Qt	VtKt	{hQt7@WSP(…ujs`h%sdh3WЍe[^_ÉU=u1=uh`.vUvUWVE}UBB=BlBBB ,B$`B(B,B0B4B8^_ÐUWVS}]؃0@SuWP…uPWvЍe[^_ÉU=u1=uh.vÐUvUWVE}UBBDB^_C%$>$>:;II&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$#%#&#'#"D2			..
Sigl
ResE	 l
"ou	 #Y~	$Y%Y&Y'W
(W
Ref)d,Y-Y.W/W1{D2W3Wh4W5Wg6WP7W
BT:MY>;^d	<u{xm
`<sigsC#
t#
u#
7v@#
LwM#
x #

y#
z# 
G{s#$
|s#,
}d#4
~d#8
##<
Hd#T
B#X
W#\=&
l=
##
#`seg#dsigC#h>D
@>
5D!#
oE#
FF#
OG#
H#
&I# 
JJ#$
>K#(segLU#,
Mv#0
N#4
^O#8sigPC#<?@]AWBWFC
Oad#
bd#
hcd#
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	 	LO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#hd# #$#(C#, #0#4.
TsigC#

#
d#
hd#
#
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#dn5;UNUA8@
oflx@5p{@qfrN@d{tN
{Md
u!7d{M"vBH]N
Swhnz
!xN@'5NLP	dFMl/ddM:@iNMd{8
tz9	
)/?j
JPaj	lrN'Nddd8-NjM8=
jb$*Jjddd{`fvjjxjFjHNj('NM8x28DMOUtNM{Md{Q¦NMj{LMjdd6NMd"eAGaNM	mlrM	SʓM%̺NLMNMLpl26<RMj]ctMjRNMjװNMjMjo(Ml39OMZ`qwNM
|Mz
NLdddd' 
  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^"ztkr"#{#X_{#\{#`ZY#d2##h
#lsigC#p	
"z}"#`kr"###X##_{#{#{#8{#^{# #sigC##wD
Qgm
{ 	.
SXe;'$7$#G$ W$$
)SU+(jR,L pSdP$JNTU+jSV!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'hzd'O{dW'F{{*}{V*{P&+zN8U'{'+jV'F{W')resNS*LMS*dl*hdp*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'hNd'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'S2P*!P&1U'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 #3n4W$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<dAIer	cvUe
	+frrA::
U;e:	-d:y:
U
V:V
U
d:VheH:dVVe;;=-dV=v-=H	cPd"
G'::uhr
Vq(erdd;YrKrJ]	U	<d
9;;>	<;WiTe;;rMffe
@>\	9[=	U==	=	U=[dVM9cBcrrrrrrrrrrrr9x<:*JrruV	tr
@e:i
r[?d??d?@G	9MH<
cBcrrrrrrrrrrr		q:*JYcBcrr__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 {<END } while(0)FRVALUE(expr) ((void)0, (expr))PNOOP do {} while(0)ZSTR_(x) #x[STR(x) STR_(x)hDISCARD(expr) BEGIN (void)sizeof((expr)!=0); ENDtDISCARD_STAT(stat) BEGIN if (0) stat; ENDUNUSED(param) ((void)param)PARENT(type,field,p) ((type *)(void *)((char *)(p) - offsetof(type, field)))BS_EMPTY(ty) ((ty)0)BS_COMP(s) (~(s))BS_UNIV(ty) BS_COMP(BS_EMPTY(ty))BS_SINGLE(ty,i) ((ty)1 << (i))BS_IS_MEMBER(s,i) (((s) >> (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)<EventPoolFinish ((EventType)0xEFB07F14)=EventPoolAlloc ((EventType)0xEFB07A77)>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)); END#BTRes(a,i) BEGIN (a)[((i)>>MPS_WORD_SHIFT)] &= ~((Word)1 << ((i) & ~((Word)-1<<MPS_WORD_SHIFT))); END#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),	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(NIY%f,3s` `@
wZ#@@[8sSX	1T5tv#-"0j/	HVfw@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	ahov}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11,1<1M1b1y11111111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}11111111111+1;1K1[1k1{11111111111+1;1K1[1k1{11111111111@1W1f1u111111111111)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///10100"01601>0B0I01X01l01t0x00101000101010001111111(1,1711?1C1J11X1\1a11v1111111111111111111111 21(2,2321A21O21`21h2l2s212121212121212121233131331?3C3J31X31i31u3y3313131333131313133314141+4/4641D41R41`41}4141444144414441444141	5
551"51151?51M51j51w5155515551555155515155163	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(UUUVSEXE]KC)w19sˆ)‰)҉[^ÍvUEPpruC%$>$>:;II&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
'#"r2	z.
Sigl
ResEu lf"ou	k
#Y$Y%Y&Yw'W(W
Ref)dI,Y	-Y.W/W(1{V2W
3W

4WP5WG6WW7W
BT:MY;^d	<u{x`<sigsC#
ntx#
!u#
>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#Hns#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#pd	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;>DYNjAdjN8wN\{yd{-N\\j{58>YjdddjNkd"!șNktk
k7N7
k_HNmN
k$H
Ҏj+	ӵjcNja(Nj39OjeZ`k*l݋[޲xNp	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 {<END } while(0)FRVALUE(expr) ((void)0, (expr))PNOOP do {} while(0)ZSTR_(x) #x[STR(x) STR_(x)hDISCARD(expr) BEGIN (void)sizeof((expr)!=0); ENDtDISCARD_STAT(stat) BEGIN if (0) stat; ENDUNUSED(param) ((void)param)PARENT(type,field,p) ((type *)(void *)((char *)(p) - offsetof(type, field)))BS_EMPTY(ty) ((ty)0)BS_COMP(s) (~(s))BS_UNIV(ty) BS_COMP(BS_EMPTY(ty))BS_SINGLE(ty,i) ((ty)1 << (i))BS_IS_MEMBER(s,i) (((s) >> (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)<EventPoolFinish ((EventType)0xEFB07F14)=EventPoolAlloc ((EventType)0xEFB07A77)>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)); END#BTRes(a,i) BEGIN (a)[((i)>>MPS_WORD_SHIFT)] &= ~((Word)1 << ((i) & ~((Word)-1<<MPS_WORD_SHIFT))); END#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),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









:IXgv+@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EPu
UEÐUEPuuUUEÍ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]<u7@9r;uv5 )‹M#9u
ȃ[^_ÐUWVS]u}F9r/9у!B9rF9v0E )!ҋM!bUM9sЋu!DE9sv@9r;}v )!v[^_UWVSĀEEEEƋE+E@E9 )ŰM܃ME}]]؍}}ԋ}F;Er0;uуrB;UrzF;EvXEЉ#ËBuuE	؋]ԉuUUȉMU9sKIMЈt+uuE	؋]ԉuU;UsLUt*uuE	}ԉEoB;UrU9UvVuй#Et:uu	؋Mԉ]uԉ}vE}u
vEpEEUUMM]]F;Er6]9vSу}9w~;}vuE )¸)ӉƋE#4ru)u	؋]uOEU9Ev`]E ))ȉEUt0u)MuEEM]v;]vWPUE]t/vu)MuEEu}H;Ew9sjEH≕|M#t=u)߈u	]u}EvU}1EME ];]v]9uuA9r.9у}B9rA9v_΃؃ )U#guu	EEHuu9sJGEʃut'uuE	ЉEE;}saEu4||t3|uuӭ|uEEEB;Ur;]vsux؃ )DžtU#t;tuӭtux	EEUEE}u]UEUE4vuE@E9t
]É]E}9}[^_ÍvUWVSEEEEƋUMT
U9!`M\E}8EEԍUUЋ}E؃9r6;uvSу;Uw`M9vv\Eȉ )¸)ӋMȋЋM؃!du)uE	؋uЉEBUUĉ9vX] ))΋t+u)uE	MЉu;]vQvrEt,u)MuEUЉMJ;Uwu9usjEHEЋM؃Ѻ!t<u)ֈuE	uЉEMЉu	E}u
vEPU+UU܍MMEE}E܃9r2U9vуB9rvE܃9vgUU]܃ )#luuE	؋uEJUMU9EsMIM]܃t.uuE	؋uEU;UsbUEXt;vXu]ӭXuEEuEB;Ur;uvi]E )#t=uMuEUMuEvU}EU܋EE u;Ewu+u 98MMEE}F9rSу9wNM9vtEЃ )¸)ӉE#Ȉu)uE	؋UMzM|9vhxЃ ))ȉtt6u)tuxtUM;|vfPpDžlt9u)luplUMvH;|w;usz|HDžhDžd#tIdu
)hӥduhUMEU	M}tUBEEu04vu܋EE9t+EEvEU9UĜ[^_UMU)PuRQuuuUMU)PuRQuuuSÐUEPPuuuuuXÉUEPPuuuuuÉUWVSu}F9r>9$كuu9C9rF9vF )!‰ЋM#u#9vUMU9s&Ku#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-IMuM#M#	ЋUU9sMuB9r;}v* )ЋM#u#	Љ[^_UWVSuU];UsKу}tك	<ك!BC;Ur[^_UWVS}uU9sуB9r[^_C%$>$>:;II&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"$#%#&#'#"M2	
.
Sigl
ResE l"ou	R#YT$Y%Y5&Y~'Wh	(W
Ref)d,Y
-Y.W/W1{@
2WT3WB4W#5W6Wi7W
BT:MY;^d	n<u{x	`<sigsC#

tx#
u#
Pv#
H
w#
x#
y#
|zY# 
a{s#$
|s#,
}d#4
~d#8
!##<
d#T
2#X

W#\R>Y@>
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?vT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#
FY#
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	nN8op{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{
_
kjj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	mU%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~,8eU%?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 {<END } while(0)FRVALUE(expr) ((void)0, (expr))PNOOP do {} while(0)ZSTR_(x) #x[STR(x) STR_(x)hDISCARD(expr) BEGIN (void)sizeof((expr)!=0); ENDtDISCARD_STAT(stat) BEGIN if (0) stat; ENDUNUSED(param) ((void)param)PARENT(type,field,p) ((type *)(void *)((char *)(p) - offsetof(type, field)))BS_EMPTY(ty) ((ty)0)BS_COMP(s) (~(s))BS_UNIV(ty) BS_COMP(BS_EMPTY(ty))BS_SINGLE(ty,i) ((ty)1 << (i))BS_IS_MEMBER(s,i) (((s) >> (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)); END#BTRes(a,i) BEGIN (a)[((i)>>MPS_WORD_SHIFT)] &= ~((Word)1 << ((i) & ~((Word)-1<<MPS_WORD_SHIFT))); END
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))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)<EventPoolFinish ((EventType)0xEFB07F14)=EventPoolAlloc ((EventType)0xEFB07A77)>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
FhAB
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









:IXgv+@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#212A2E2J2X2f2u22222222222222333 303>3L3\3`3e3u3y3~33333333334444#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(UUUE9UE@ÍvUE@ÍvUMUAB
AQUMUJPÍvUEPQP
@ÉUEUE@C%$>$>:;II&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
EFrNPkU
mMQnewMRYi
EO
OWlU
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 {<END } while(0)FRVALUE(expr) ((void)0, (expr))PNOOP do {} while(0)ZSTR_(x) #x[STR(x) STR_(x)hDISCARD(expr) BEGIN (void)sizeof((expr)!=0); ENDtDISCARD_STAT(stat) BEGIN if (0) stat; ENDUNUSED(param) ((void)param)PARENT(type,field,p) ((type *)(void *)((char *)(p) - offsetof(type, field)))BS_EMPTY(ty) ((ty)0)BS_COMP(s) (~(s))BS_UNIV(ty) BS_COMP(BS_EMPTY(ty))BS_SINGLE(ty,i) ((ty)1 << (i))BS_IS_MEMBER(s,i) (((s) >> (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QE?	ˆ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%$>$>:;II&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	PJ<u{x`<sigsC#
tx#
8u#
Uv#
w#
,x#

y#
zY# 
{s#$
|s#,
a}d#4
~d#8
O!##<
d#T
}#X
W#\>Y	@>
DM!#
VE#
F#
G)#
HT#
@Iq# 
<J#$
K3#(segL#,
M#0
vN#4
O#8sigPC#<dAWC
ad#

bd#
ocd#
{dd#
e#
f#5D<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#pd	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>DYNjdjN8N\{d{-N\\j{8>Yjdd djNkd"gșNkk
k\7N7
kgHNmN
k$H
ҎjY	ӵjzNj(Nj*39Oj|Z`k*l݋[޲xN	0N
dd-;AQdd.\bsdd;k\dd{;
#'#+ ge#;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]eggd七: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 {<END } while(0)FRVALUE(expr) ((void)0, (expr))PNOOP do {} while(0)ZSTR_(x) #x[STR(x) STR_(x)hDISCARD(expr) BEGIN (void)sizeof((expr)!=0); ENDtDISCARD_STAT(stat) BEGIN if (0) stat; ENDUNUSED(param) ((void)param)PARENT(type,field,p) ((type *)(void *)((char *)(p) - offsetof(type, field)))BS_EMPTY(ty) ((ty)0)BS_COMP(s) (~(s))BS_UNIV(ty) BS_COMP(BS_EMPTY(ty))BS_SINGLE(ty,i) ((ty)1 << (i))BS_IS_MEMBER(s,i) (((s) >> (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)<EventPoolFinish ((EventType)0xEFB07F14)=EventPoolAlloc ((EventType)0xEFB07A77)>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)); END#BTRes(a,i) BEGIN (a)[((i)>>MPS_WORD_SHIFT)] &= ~((Word)1 << ((i) & ~((Word)-1<<MPS_WORD_SHIFT))); END#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),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









:IXgv+@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;sBABC%$>$>:;II&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
'#"p2	|.
Sigl
ResEw lh"ou	h
#Y$Y%Y&Y{'W(W
Ref)dQ,Y-Y.W/W51{V2W
3W
4W]5WO6Wb7W
BT:MY;^d	<u{x`<sigsC#
vtx#
.u#
Iv#
^w#
x* #
	y#
zY# 
{s#$
|s#,
M}d#4
~d#8
E[##<
d#T
)#X
uW#\>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#Hns#Pd
H
H2!#V3#
4#5#6-#J7# 8#$9#(\:#,|;-#0<g#4c=#89>#<O	?#@@#D,
AA#HfixBw#L<	C#P`D#Ts
E#XF#\G#`H7#d
Ib#hJ#lK#p&L#tM#x1N#|hO#sigPC#I	OOsigC#ti#
I#

#
#
$
#

#
d#
J{# 
{#$
{#(
{#,
	#0
?#4
y#8
#<
{#@
#D

#H
{#L
#P
#T
1
{#X
"#\
#`
+#d
#h
#l
#p
	#t
J
#x
<{#|
#
*

{#
@#
#@Pd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#pd/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~Nj2GN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	)/?;JPjNdd
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 {<END } while(0)FRVALUE(expr) ((void)0, (expr))PNOOP do {} while(0)ZSTR_(x) #x[STR(x) STR_(x)hDISCARD(expr) BEGIN (void)sizeof((expr)!=0); ENDtDISCARD_STAT(stat) BEGIN if (0) stat; ENDUNUSED(param) ((void)param)PARENT(type,field,p) ((type *)(void *)((char *)(p) - offsetof(type, field)))BS_EMPTY(ty) ((ty)0)BS_COMP(s) (~(s))BS_UNIV(ty) BS_COMP(BS_EMPTY(ty))BS_SINGLE(ty,i) ((ty)1 << (i))BS_IS_MEMBER(s,i) (((s) >> (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)<EventPoolFinish ((EventType)0xEFB07F14)=EventPoolAlloc ((EventType)0xEFB07A77)>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)); END#BTRes(a,i) BEGIN (a)[((i)>>MPS_WORD_SHIFT)] &= ~((Word)1 << ((i) & ~((Word)-1<<MPS_WORD_SHIFT))); END#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),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









!8GVt
(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%$>$>:;II&I:;
:;I8
	:;I
<.?:;'I@
.?:;'@

.?:;'I@
:;I
:;I
.?:;'@
4:;I
4:;I?
fIm1RyintH	8Wl
	_L7z"%"$#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 {<END } while(0)FRVALUE(expr) ((void)0, (expr))PNOOP do {} while(0)ZSTR_(x) #x[STR(x) STR_(x)hDISCARD(expr) BEGIN (void)sizeof((expr)!=0); ENDtDISCARD_STAT(stat) BEGIN if (0) stat; ENDUNUSED(param) ((void)param)PARENT(type,field,p) ((type *)(void *)((char *)(p) - offsetof(type, field)))BS_EMPTY(ty) ((ty)0)BS_COMP(s) (~(s))BS_UNIV(ty) BS_COMP(BS_EMPTY(ty))BS_SINGLE(ty,i) ((ty)1 << (i))BS_IS_MEMBER(s,i) (((s) >> (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)<EventPoolFinish ((EventType)0xEFB07F14)=EventPoolAlloc ((EventType)0xEFB07A77)>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)); END#BTRes(a,i) BEGIN (a)[((i)>>MPS_WORD_SHIFT)] &= ~((Word)1 << ((i) & ~((Word)-1<<MPS_WORD_SHIFT))); END#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),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 99<BC_STRING_MAX 1000=COLL_WEIGHTS_MAX 0>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<NAME_MAX 255=NGROUPS_MAX 16?OPEN_MAX 64APATH_MAX 1024BPIPE_BUF 512CIOV_MAX 1024Mmps_message_type_finalization() MPS_MESSAGE_TYPE_FINALIZATIONNmps_message_type_gc() MPS_MESSAGE_TYPE_GC[MPS_RANK_AMBIG mps_rank_ambig()\MPS_RANK_EXACT mps_rank_exact()]MPS_RANK_WEAK mps_rank_weak()bMPS_RM_CONST (((mps_rm_t)1<<0))cMPS_RM_PROT (((mps_rm_t)1<<1))xMPS_SAC_CLASS_LIMIT ((size_t)8)mps_sac_classes_s mps_sac_class_sMPS_BEGIN do {MPS_END } while(0)MPS_SAC_ALLOC_FAST(res_o,p_o,sac,size,has_reservoir_permit) 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 != 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 $+GSXe	
		
0
4H
L`
dx
|

sac.o/          1169001565  1001  1001  100644  56620     `
ELF	4(UUzvR@9wUWVS}_C9_r D8PtAC9_s_tD8PtKuD8Pqe[^_ÐUS$]SEL9rL($[É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PSCpvUWVS}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%$>$>:;II&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	of#Y$Y%Y&Y'W(W
Ref)d,Y
-Y
.Wk/W_1{T2W3W4W5W6W7W
BT:MY;^d	-n<u{xH`<sigsC#
tx#
Pu#
v#
\w#
x#
y#
zY# 
{s#$
|s#,
}d#4
~d#8
o!##<
d#T
#X
E	W#\>Y
@>
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	
GXGsig`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
?#@@#D3A#HfixB=#LB
Cm#PDx#TzE#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|PV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_evkBjkIkjNkNkkddd8
4:TNj8_eqj|jddd{_
kjjj"3jk	>DYNjEdjN8N\{d{-N\\j{8>YjdddjNkd"%șNk|kk	
7N7
kHNmN
k$X	HҎj&
ӵjNj(Nj39OjZ`k*l	݋[޲xNk
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:eVYddVYI;Y~-Vi<e,:tzc)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 {<END } while(0)FRVALUE(expr) ((void)0, (expr))PNOOP do {} while(0)ZSTR_(x) #x[STR(x) STR_(x)hDISCARD(expr) BEGIN (void)sizeof((expr)!=0); ENDtDISCARD_STAT(stat) BEGIN if (0) stat; ENDUNUSED(param) ((void)param)PARENT(type,field,p) ((type *)(void *)((char *)(p) - offsetof(type, field)))BS_EMPTY(ty) ((ty)0)BS_COMP(s) (~(s))BS_UNIV(ty) BS_COMP(BS_EMPTY(ty))BS_SINGLE(ty,i) ((ty)1 << (i))BS_IS_MEMBER(s,i) (((s) >> (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)<EventPoolFinish ((EventType)0xEFB07F14)=EventPoolAlloc ((EventType)0xEFB07A77)>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)); END#BTRes(a,i) BEGIN (a)[((i)>>MPS_WORD_SHIFT)] &= ~((Word)1 << ((i) & ~((Word)-1<<MPS_WORD_SHIFT))); END#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),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









:IXgv+@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ÐUUUUE@Ð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PRUEPPuuRUEPPRUEPPRUEPPRUÍvUÉUÉUC%$>$>:;II&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	g<u{x:	`<sigsC#
tx#
u#
v#
Z
w#
xh!#
y#
zY# 
~{s#$
L|s#,
R}d#4
~d#8
$#<
d#T
#X
8
W#\<>Y@>
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:#L7Cj#P	Du#TfE#XPF#\MG#`H#dI%#hJL#lDK}#pL#tuM#xN#|O#sigPC#DO
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#
OY#
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#
nN8op{qar
'Nd{t28\N\bN{dusyd{vN
S4w
XxN'WmsigC##n#m#Fh!#x~ sigC#c#f #Q #F #6g #r #UC#!N
!W28XdlMciddNkd{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(nQ)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<d><d?idddfZgd0,=Z<d9fZTJdWVi1wddY,jV:VzVgYug$,	rN/rJrJrO?X@@@__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 {<END } while(0)FRVALUE(expr) ((void)0, (expr))PNOOP do {} while(0)ZSTR_(x) #x[STR(x) STR_(x)hDISCARD(expr) BEGIN (void)sizeof((expr)!=0); ENDtDISCARD_STAT(stat) BEGIN if (0) stat; ENDUNUSED(param) ((void)param)PARENT(type,field,p) ((type *)(void *)((char *)(p) - offsetof(type, field)))BS_EMPTY(ty) ((ty)0)BS_COMP(s) (~(s))BS_UNIV(ty) BS_COMP(BS_EMPTY(ty))BS_SINGLE(ty,i) ((ty)1 << (i))BS_IS_MEMBER(s,i) (((s) >> (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)); END#BTRes(a,i) BEGIN (a)[((i)>>MPS_WORD_SHIFT)] &= ~((Word)1 << ((i) & ~((Word)-1<<MPS_WORD_SHIFT))); 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)<EventPoolFinish ((EventType)0xEFB07F14)=EventPoolAlloc ((EventType)0xEFB07A77)>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
DAB
PAB
\)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
DP\)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









:IXgv+@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uUEUuuuUUUUS]@uuuuuSP …uCC iQЋ]ÐUWVS]؃Eu}@SuuuWVP …uAjuN0IWhBAV0BJEF8F<eiQpe[^_ÉU=u1=uh .v ÐUvUVS]ƃjLPSs$CC$CXe[^ÉU=u1=uh.vÐUvUVS]ƃjLPSs$C'C@Ce[^ÉUE@pUS]SuEPMA+XۍÍÍÉЍ؋QRR]ÐUVSu]KIV`BASBJjuve[^ÉUWVS]SǃSPEPs$WV5PVuxe[^_US]ESP	PPSU]US]S0K0BABC0BC<[Qs8$]ÍvUWVSEXPǍ)‹\T!uuRPPEPƃ uuuUrpPPEPƃ ucEEE@@EUB@E9s-vUP)؋UPuC9r֋EUue[^_ÉUVSuUEH)ЋQ9t@YQCBCACjh SVSVe[^UWVSEPUMI8MPEE@EURUMy;]vUB@4MAP)؃<tXE@ M	DžEt4VuUu6Myuy uSuuC;]zExe[^_ÍvUUBXBX@B`B`@BhBh@B\BpBtiQÐUWVSu^XSuFXSPS^X[^`SuF`SPS^`[VhFh9tvBЃVPڋ9uFt[QFhFle[^_ÍvUWVSu~F`PtjVEP~…uLF`XPQP
@@NXQPQAWSuPWvЍe[^_ÍvUWVSEEPEE@EEPhEEh9v0B8@XBp;}sX;uGVu;Eu3SKBABCBVSuo'G;}rUEEh9ve[^_ÐUWVSU}t:Qt
vօt	ztiQt
RUjvph8WƒjhGWƒuf`VXEFX9tLuBP:$PuPShWWƒ uUEFX9ue[^_US]uuut	]U=u1=uh.vÐUvUVS]ƃhPSsCiCxCK"C LC$C@CDCH	Cxe[^ÍvUYQ/XYQC%$>$>:;II&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"_$#%#&#'#"w2	 	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<u{x
`<sigsC#
tx#
u#
7v3#
tw#
x!#

y#
zY# 
{s#$
|s#,
}d#4
~d#8
:K%#<
kd#T
y#X
W#\L>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#DAr#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.ch<g.fG	9,99xAV:*IrtV;@:*Kǎ:er>rcBcVrrrcBcVrrr=G	;;;ȸ$cdd;	;desf:VUre*5set,JWeu
drrtreVkv9;,<:rկ<=:*K;<r.V	e@<YwquUV	,ddB%lVrd<dVXcBcrrrrrrrrrrdV__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 {<END } while(0)FRVALUE(expr) ((void)0, (expr))PNOOP do {} while(0)ZSTR_(x) #x[STR(x) STR_(x)hDISCARD(expr) BEGIN (void)sizeof((expr)!=0); ENDtDISCARD_STAT(stat) BEGIN if (0) stat; ENDUNUSED(param) ((void)param)PARENT(type,field,p) ((type *)(void *)((char *)(p) - offsetof(type, field)))BS_EMPTY(ty) ((ty)0)BS_COMP(s) (~(s))BS_UNIV(ty) BS_COMP(BS_EMPTY(ty))BS_SINGLE(ty,i) ((ty)1 << (i))BS_IS_MEMBER(s,i) (((s) >> (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)<EventPoolFinish ((EventType)0xEFB07F14)=EventPoolAlloc ((EventType)0xEFB07A77)>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)); END#BTRes(a,i) BEGIN (a)[((i)>>MPS_WORD_SHIFT)] &= ~((Word)1 << ((i) & ~((Word)-1<<MPS_WORD_SHIFT))); END#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),!	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	11'1E1T1c1r1111111111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	55153 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(UUEUVS]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 ÐUvUVS]ƃhPSsCCtCC C$pC(C,`Cxte[^ÐUvUC%$>$>:;II&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	K<u{x`<sigsC#
tx#
Iu#
{v#
w#
x#
y
y#
zY# 
{s#$
|s#,
o}d#4
s~d#8
`L##<
=d#T
~#X
W#\>Y2
@>
DX!#
VE#
2F#
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#24#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[7V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%vKv%!'8vCI_vjpv
jv
vjrNv)Nvvddd8a
?E_Nj8jp|jjddd{j	vjj\j'->jvIOdNjouN8Ng{d{	8Nggj{CIdjddouNvd"ȤNv!v\v#BNB
vSYxN
v/SUҙj	jNj#3Nj#>DZj#ekv5l5	ݖf޽xN	!;N
ddFL\ddgm~ddFgdd{jF\
#8#6 ge#fE#U hc g Pi[U k\q w  |\sig}C#~f #{ #'!#Oa   
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 {<END } while(0)FRVALUE(expr) ((void)0, (expr))PNOOP do {} while(0)ZSTR_(x) #x[STR(x) STR_(x)hDISCARD(expr) BEGIN (void)sizeof((expr)!=0); ENDtDISCARD_STAT(stat) BEGIN if (0) stat; ENDUNUSED(param) ((void)param)PARENT(type,field,p) ((type *)(void *)((char *)(p) - offsetof(type, field)))BS_EMPTY(ty) ((ty)0)BS_COMP(s) (~(s))BS_UNIV(ty) BS_COMP(BS_EMPTY(ty))BS_SINGLE(ty,i) ((ty)1 << (i))BS_IS_MEMBER(s,i) (((s) >> (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)<EventPoolFinish ((EventType)0xEFB07F14)=EventPoolAlloc ((EventType)0xEFB07A77)>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)); END#BTRes(a,i) BEGIN (a)[((i)>>MPS_WORD_SHIFT)] &= ~((Word)1 << ((i) & ~((Word)-1<<MPS_WORD_SHIFT))); END#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),.ROUND(unit,n) ((n)+(unit)-1 - ((n)+(unit)-1)%(unit))1PoolPoolMFS(pool) PARENT(MFSStruct, poolStruct, pool)<UNIT_MIN sizeof(HeaderStruct)SUB(b,s,i) ((Header)AddrAdd(b, (s)*(i)))SUBpoolmfs.cJan 17 200703:39:25  tract list begin at $P
  free list begins at $P
  units per extent $U
  extent size $W
  unit size $W
  unrounded unit size $W
MFS$Id: //info.ravenbrook.com/project/mps/master/code/poolmfs.c#9 $
|
AB
AB
\AB
B pBAB
F\.$AB
F^.M. W.`AB
tHAB
{.@GAB
b.S.
AB
cAB
BT.x
AB

AB
'$MFSGetInfo<$MFSPool&MFSPoolClassGet&EnsureMFSPoolClass#'PoolClassMFS;'MFSCheck'poolmfsSrcIdallocTablePoolDescribeMethodcontrolPoolStructpageTableLimitgreySegMaxchunkFinishnamepageSizeFormatPadMethodrankrootSerialchunkRingArenaAllocMethodreservoirSizeactiveTracesformatfoundationLockPoolBufferClassMethodTraceFixMethodsuperclassthreadRingunitsPerExtentPagefillMutatorSizepoolSerialBoolprehistoryArenaFreeMethodunitSizesetRankSetunsigned intGNU C 3.4.6 [FreeBSD] 20060305BufferRankSetMethodextendArenaChunkFinishMethodfillInternalSizeBufferReassignSegMethodreassignSegisCollectedpoolReadyscmidwhiteSegRefCountforwardedSizeforwardedCountArenaSpareCommitExceededMethodProtocolClassmergegreyRingfinishshort intinfoAlignArenaDescribeMethodprotocoldescribefillSizeprotocolAbstractAllocFreePoolClasssegScanCountPoolmodePoolDebugMixinStructrememberedSummaryRingprevfixRefCountserialEpochsetBufferapStructemptyMutatorSizeallocMutatorSizePoolFramePushMethodPoolFinishMethodbusyTraceslwPopPendingchunkspansallocBasesuspendedpollThresholdArenaStructenabledMessageTypesmpsVersionStringHeaderSizefreeListframePopGlobalsStructreservoirStructChainStructbaseArenaClassAccessSetframeptrhistorySegSetRankSummaryMethodFileSrcIdStructlong long unsigned intfileoffsettraceshDepthpReturnhighattrgenCountSegClassStructtractrateFreeBlockStepMethodPoolClassStructglobalsprimaryArenaChunkInitMethodpoolmfs.carenaBufferFinishMethodFormatVarietyPoolWalkMethodskipPoolFreeMethodmortalityMFSInfoStructwasMarkedproflowheadermessageRingsize_tmoveAPStructTractStructrampEndmayMoveBootBlockpoolLimitChunkclampedPoolReclaimMethodunroundedUnitSizeshCachereclaimCountpageTablePagesfreePoolFixMethodSegPrefWordmps_lib_stream_sFormatStructprotocolMFSPoolClassGuardianpreservedInPlaceCountfreewalkframePushFormattedObjectsStepMethodSegClassgensCountPageStructisMovedsetRankSummarySegDescribeMethodbufferClassPoolDebugMixinMFSInfoSegSetSummaryMethodinsidePollreclaimAddrreservoirLimitcharscannedSizereserveBufferStructFormatScanMethodchunkSerialSegFinishMethodMFSHeaderStructSerialMFSPoolClassLockStructsplitFormatClassMethodArenaFormatMoveMethodspacefinalPoolBufferDescribeMethodBufferModelimitMFSStructArenaInitMethodlockrampCountPoolFixEmergencyMethodzoneShiftstreampagesisGennailedMFSPoolPoolFreeWalkMethodchainva_listChainunitSizeMinlong long intnextTractMVStructtracedTimeZoneSetTractBufferSegMethoddepthPoolRampEndMethodlocusRingfixEmergencyTracegreylastWorldCollectPoolDebugMixinMethodpageShiftChunkCacheEntryStructBufferClassStructArenaClassStructrememberedSummaryIndexgreySegCountisMutatorArenaFinishMethodfixedSummarycommittedframePopPendingscansingleCopiedSizeSegSetBufferMethodMFSFinishProtocolInstStructAddrStructrampBeginbufferPoolRampBeginMethodsizeSegStructGenDescStructProtocolInstBufferSetRankSetMethodinitAtFlipPoolStructMFSGetInfopoolRingFormatdetachspareCommitLimittopGenPoolWhitenMethodspanPoolStructPoolInitMethodTraceIdMFSInitpoolMFSAllocaccesschainRingPoolGreyMethodlastTractpoolmfsSrcIdMutatorFaultContextvarietyemptyInternalSizeSrcIdarenaRingsegRefCountavgSizecopytractListBufferDetachMethodthisPoolScanMethodFormatCopyMethodlostcapacitywhitenScanStatecondemnedbufferRingChunkStructflippedTracesrootScanCountenabledrootScanSizepointlessScanCountallocRankshCacheLimitsegCopiedSizeBufferInitMethodlong intsetSummarynotCondemnedextendByTraceStateTraceSetstatepreservedInPlaceSizenextSegBufferMethodbuild_timeMFSFreeMFSPoolClassStructPoolClassProtocolCoerceInstMethodemergencyPoolBlackenMethodwhitepoolStruct__size_trootRingSegInitMethodAbstractAllocFreePoolClassFormatSkipMethodsegScanSizePoolClassMFScopiedSizewithReservoirPermitArenaExtendMethodScanStateStructSegSetWhiteMethodunfixedSummarypageTableBaselastTractBasethreadSeriallabelledsetGreytracedSize__va_listwalksetWhitePoolAllocMethodRingStructrankSetlong unsigned intPoolFramePopPendingMethodSrcIdStructBootBlockStructwriteBarrierHitCountMutatorFaultContextStructArenaReservedMethodEnsureMFSPoolClassinitAttrbufferLoggingProtocolClassStructclassbufferFillIndexspareCommitExceededFormatIsMovedMethodmaxSizechunkInitPoolAccessMethodsnapCounttypeattachnailCountunsigned charMFSCheckMFSDescribe__uint32_tspareCommittedinsideShieldRingSegSplitMethodblockPoolStructRefSetAllocFrameStructPoolFramePopMethodMFSPoolClassGettractStructBufferClassformatSerialsegRingAllocFrameprotocolMFSPoolClassStructhasSegcoerceClassReservoirStructbuild_datesingleScanSizeBufferreadBarrierHitCountpageTableheaderSizecoerceInstdebugMixinchunkCachesigned charSegMergeMethodSegPrefStructmps_lib_FILEPoolBufferFillMethodreclaimSizebufferSerialshort unsigned intzonesbufferEmptyProtocolCoerceClassMethodreservedRankSetisFinalPooldoublesingleScanCountfirstTractalignmentPoolBufferEmptyMethodBufferAttachMethodprotocolGetMFSPoolClassrestSegSetRankSetMethodShiftemptySize/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	)%	/ 4Fp'B	 V+-R		b/vq22dA	 l	(	 	0ϨzI%n	@	
"\*pB4=`EtHQn c
G%@
Sqxx

poolmfs.cFileSrcIdStructinfo.0MFSInitMFSFinishMFSAllocMFSFreeMFSDescribeprotocolMFSPoolClassGuardianprotocolMFSPoolClassStructprotocolGetMFSPoolClasspoolmfsSrcIdMFSGetInfoMFSPoolArenaFreeSegPrefDefaultArenaAllocTractOfBaseAddrWriteFMFSPoolClassGetLockClaimGlobalRecursiveLockReleaseGlobalRecursiveEnsureMFSPoolClassAbstractAllocFreePoolClassGetmemcpyPoolClassMFSMFSCheck !						"$%#'.(;	PW^el&!%*18?MX_fmt{(39Zev|
#.9Tek-<KZiy,;Ziq%4CRap(6DR`n
&4BP^lz"0>LZhv		%	4	C	R	a	p										

$
3
B
Q
`
o
~







	'ETcr&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(UUVSEPJXpQVPt\9sue[^ÍvUWVSEƒ28@E]CE@wjPPuCXP …EjDPPuP …uH@DEHTT@ǃLPǃ\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…8TETU;EEjhp@hp4hphPhu0ukEx<tjp8hujhuu9EU;Eyjhu…u7le^WMF?vv,uETUTU;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 ÐUvUVS]ƃhPSs$CC`CC dC$`C(C,Cxe[^UvU=u1=uh.vÐUvUVS]ƃhPSs$CCC|e[^ÍvUvUvUSETT9t
H0Ћ9u[USETT9t
HЋ9u[UC%$>$>:;II<&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:;I0U1.?:;'I@
2.?:;'I@
34:;I?
P0T5int
8W
42	6_LN	|ZW7z./
EK"
	Wa"
l$W#
"%W#
&W#
'W#]mESiglResE l"#e$%G&D'W(WRef),--q.W/W1D2W#3W4Ws5WJ6We7WBT:{;

<	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-,9U--$<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:*;:*Jddd=d;6\OH/Hh,dHԁ;Wr:,Zr;V	VH;,Ԭ]ǃd:ssddWYh<t,,Vh dz,%(grr^q"ŏd:_ڸddH%V	?ǃ	crgd::@Y	r,
ǎ:f0seInGuxqwytWd<dse=V,Vd*XI*Wd*X,,kGdw)cBcrrrrrrrrudVZcBcrrr	dVXdV[u	Ud6Yv
Ud6[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 1mpscmv_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 99<BC_STRING_MAX 1000=COLL_WEIGHTS_MAX 0>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<NAME_MAX 255=NGROUPS_MAX 16?OPEN_MAX 64APATH_MAX 1024BPIPE_BUF 512CIOV_MAX 1024Mmps_message_type_finalization() MPS_MESSAGE_TYPE_FINALIZATIONNmps_message_type_gc() MPS_MESSAGE_TYPE_GC[MPS_RANK_AMBIG mps_rank_ambig()\MPS_RANK_EXACT mps_rank_exact()]MPS_RANK_WEAK mps_rank_weak()bMPS_RM_CONST (((mps_rm_t)1<<0))cMPS_RM_PROT (((mps_rm_t)1<<1))xMPS_SAC_CLASS_LIMIT ((size_t)8)mps_sac_classes_s mps_sac_class_sMPS_BEGIN do {MPS_END } while(0)MPS_SAC_ALLOC_FAST(res_o,p_o,sac,size,has_reservoir_permit) 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 != 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 {<END } while(0)FRVALUE(expr) ((void)0, (expr))PNOOP do {} while(0)ZSTR_(x) #x[STR(x) STR_(x)hDISCARD(expr) BEGIN (void)sizeof((expr)!=0); ENDtDISCARD_STAT(stat) BEGIN if (0) stat; ENDUNUSED(param) ((void)param)PARENT(type,field,p) ((type *)(void *)((char *)(p) - offsetof(type, field)))BS_EMPTY(ty) ((ty)0)BS_COMP(s) (~(s))BS_UNIV(ty) BS_COMP(BS_EMPTY(ty))BS_SINGLE(ty,i) ((ty)1 << (i))BS_IS_MEMBER(s,i) (((s) >> (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)<EventPoolFinish ((EventType)0xEFB07F14)=EventPoolAlloc ((EventType)0xEFB07A77)>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)); END#BTRes(a,i) BEGIN (a)[((i)>>MPS_WORD_SHIFT)] &= ~((Word)1 << ((i) & ~((Word)-1<<MPS_WORD_SHIFT))); END#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),%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[
gG{
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%31E5V6a7h	}423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ЃÉUUÉUUWVS}UЃEEG@RWP ÃGWP|ƃUBFt,w,}u	EUFUBFtG,vusUBFEFtPFPPPwFPÃ u/F jhF$P
QvG@WPe[^_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}tuue[^_ÉUWVSu}FPuWVEPR(Ãu<Ext)ERPVuuhDUE؍e[^_ÉUWVSU]u}zt>PVSRC@WVSP,e[^_ÐUWVSUB,Mt!uMAFPRQEPuQUM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%$>$>:;II&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	K<u{x`<sigsC#
tx#
u#
v#
8
w#
x!#
y#
BzY# 
'{s#$
`|s#,
}d#4
~d#8
,%#<
d#T
#X
	W#\>Y1@>
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
{#8F	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#DA#HfixB#L
C#PD#T.E#XF=#\G_#`H#dI#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#%
\CH\
&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@8oQWcBpnt{qQYrNd{tNN{du"d{v-3HN
S)wSYe
xpvN'6N
dldd%+TNkd{8_eqk|k{|Fk0k	kr*jk5;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%%!%%T1d#]{#3!#%#%T%
Tag
&%F&2
'Utag&&8 &o/ *Ukey.P	. P!0dQ!T0dR"&
B,6UA"&=
\8BU8
[ 'eDNUoptd! 'yNP|U8
xWx8R#reszNS!	{!p!|V!}>!l$g~{%(d%a'|U8
V!Sj(|U8
P
dS}	dW#pdR!mdS!@{V!l#segkp!	h&*)
|NU8
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&;[<VeTLM9<9	sƬ?HTeHTKdHsrte:;d	qksdd-	cs`̀dT_Xd:s),HdsJV:_ ;rd:d:d	s:-e:

;d*JdHJ:<d-dx<=n;ref*Mrudrsdrsd&e*Mruderrrr__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 {<END } while(0)FRVALUE(expr) ((void)0, (expr))PNOOP do {} while(0)ZSTR_(x) #x[STR(x) STR_(x)hDISCARD(expr) BEGIN (void)sizeof((expr)!=0); ENDtDISCARD_STAT(stat) BEGIN if (0) stat; ENDUNUSED(param) ((void)param)PARENT(type,field,p) ((type *)(void *)((char *)(p) - offsetof(type, field)))BS_EMPTY(ty) ((ty)0)BS_COMP(s) (~(s))BS_UNIV(ty) BS_COMP(BS_EMPTY(ty))BS_SINGLE(ty,i) ((ty)1 << (i))BS_IS_MEMBER(s,i) (((s) >> (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)<EventPoolFinish ((EventType)0xEFB07F14)=EventPoolAlloc ((EventType)0xEFB07A77)>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)); END#BTRes(a,i) BEGIN (a)[((i)>>MPS_WORD_SHIFT)] &= ~((Word)1 << ((i) & ~((Word)-1<<MPS_WORD_SHIFT))); END#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),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%$>$>:;II&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#yint8We	==_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	u<u{x`<sigsC#
tx#
u#
v#

w#
^x!#
D
y#
zY# 
{s#$
u|s#,
X}d#4
H~d#8
.$#<
#d#T
##X
W#\I>Y	@>
D##
kE#
F#
G#
H#
I# 
gJ5#$
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	4GSXGsig`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{]
_	KQakjlrj1jjkhNjN8j#/%:@_N{jpd{Y‘Nj{-jddc!Nkd",2LNkW]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#So$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 {<END } while(0)FRVALUE(expr) ((void)0, (expr))PNOOP do {} while(0)ZSTR_(x) #x[STR(x) STR_(x)hDISCARD(expr) BEGIN (void)sizeof((expr)!=0); ENDtDISCARD_STAT(stat) BEGIN if (0) stat; ENDUNUSED(param) ((void)param)PARENT(type,field,p) ((type *)(void *)((char *)(p) - offsetof(type, field)))BS_EMPTY(ty) ((ty)0)BS_COMP(s) (~(s))BS_UNIV(ty) BS_COMP(BS_EMPTY(ty))BS_SINGLE(ty,i) ((ty)1 << (i))BS_IS_MEMBER(s,i) (((s) >> (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 99<BC_STRING_MAX 1000=COLL_WEIGHTS_MAX 0>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<NAME_MAX 255=NGROUPS_MAX 16?OPEN_MAX 64APATH_MAX 1024BPIPE_BUF 512CIOV_MAX 1024Mmps_message_type_finalization() MPS_MESSAGE_TYPE_FINALIZATIONNmps_message_type_gc() MPS_MESSAGE_TYPE_GC[MPS_RANK_AMBIG mps_rank_ambig()\MPS_RANK_EXACT mps_rank_exact()]MPS_RANK_WEAK mps_rank_weak()bMPS_RM_CONST (((mps_rm_t)1<<0))cMPS_RM_PROT (((mps_rm_t)1<<1))xMPS_SAC_CLASS_LIMIT ((size_t)8)mps_sac_classes_s mps_sac_class_sMPS_BEGIN do {MPS_END } while(0)MPS_SAC_ALLOC_FAST(res_o,p_o,sac,size,has_reservoir_permit) 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 != 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)<EventPoolFinish ((EventType)0xEFB07F14)=EventPoolAlloc ((EventType)0xEFB07A77)>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)); END#BTRes(a,i) BEGIN (a)[((i)>>MPS_WORD_SHIFT)] &= ~((Word)1 << ((i) & ~((Word)-1<<MPS_WORD_SHIFT))); END#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),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









:IXgv+@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(UUEUPPUP+QÉUE@@@[QÐUUB+BUMEQJ!9Qv9Qv,E9Qw
9v9As	AEvC%$>$>:;II&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 {<END } while(0)FRVALUE(expr) ((void)0, (expr))PNOOP do {} while(0)ZSTR_(x) #x[STR(x) STR_(x)hDISCARD(expr) BEGIN (void)sizeof((expr)!=0); ENDtDISCARD_STAT(stat) BEGIN if (0) stat; ENDUNUSED(param) ((void)param)PARENT(type,field,p) ((type *)(void *)((char *)(p) - offsetof(type, field)))BS_EMPTY(ty) ((ty)0)BS_COMP(s) (~(s))BS_UNIV(ty) BS_COMP(BS_EMPTY(ty))BS_SINGLE(ty,i) ((ty)1 << (i))BS_IS_MEMBER(s,i) (((s) >> (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)<EventPoolFinish ((EventType)0xEFB07F14)=EventPoolAlloc ((EventType)0xEFB07A77)>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)); END#BTRes(a,i) BEGIN (a)[((i)>>MPS_WORD_SHIFT)] &= ~((Word)1 << ((i) & ~((Word)-1<<MPS_WORD_SHIFT))); END#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),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^VujhjV‰Ѝe[^UC%$>$>:;II&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 {<END } while(0)FRVALUE(expr) ((void)0, (expr))PNOOP do {} while(0)ZSTR_(x) #x[STR(x) STR_(x)hDISCARD(expr) BEGIN (void)sizeof((expr)!=0); ENDtDISCARD_STAT(stat) BEGIN if (0) stat; ENDUNUSED(param) ((void)param)PARENT(type,field,p) ((type *)(void *)((char *)(p) - offsetof(type, field)))BS_EMPTY(ty) ((ty)0)BS_COMP(s) (~(s))BS_UNIV(ty) BS_COMP(BS_EMPTY(ty))BS_SINGLE(ty,i) ((ty)1 << (i))BS_IS_MEMBER(s,i) (((s) >> (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)<EventPoolFinish ((EventType)0xEFB07F14)=EventPoolAlloc ((EventType)0xEFB07A77)>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)); END#BTRes(a,i) BEGIN (a)[((i)>>MPS_WORD_SHIFT)] &= ~((Word)1 << ((i) & ~((Word)-1<<MPS_WORD_SHIFT))); END#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),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(UUUEUUP@ÉUE@ÍvUE@ÍvUE@ÍvUUEp0PRRUSU][ÍvUSU]A@@[UVSUu
YA~t3Vle[^ÐUVSUu
CC~tsV3e[^ÐUWVS}U}t[MBEtHþ9tCs9uSW;]tvCSW;]u}t\UBMEBt9t
3މ;EuSWy;]t6SW^;]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/WS6uvjh Su]SV׃…uL~t/jh$Su-WSvdujh(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%$>$>:;II&I:;
:;I8
	<
:;I'I
I'.?:;'I@
:;I
.?:;'@
.:;'@
4:;I
:;I
4:;I
.:;'I@
:;I
:;I
4:;I

:;UU.?:;'I@
 4:;I!:;"
:;I8
#
:;I8
$:;I%4:;I&.?:;'@
'4:;I?
}
MxDiintkBU/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/WCoH4		UkeyGP	GaS%:I
JpKaVgLlMRNWPw	
UsPsSgtPuvVvaW	xaDHy
Hc

UPSgPVaW	aDH
H

UPP	aR&


UV	aSkey b|at]
&
MUS-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+
dHfc
rHt9VVH-dHVV-ddWi,ZR::,h>Q,,::#dei,ZD,,,v>_,,,,#d
Hd;e(VsVƂ
dsVXW
UVN/VUV$+V3+V<WH	%dTKX:,r.:r:	cdV	$<TIVdsdVTKdeV	œ RHV	q<VVdYfd:	<ddrYXd:
$TId-tVXAVd?:W<r
q%VrdƐtd:V:;SJd:V:;-SJ	e:s::dd;ZPIY		e:s::dd;ZPIY?eTJVWG<		ud	__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
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 {<END } while(0)FRVALUE(expr) ((void)0, (expr))PNOOP do {} while(0)ZSTR_(x) #x[STR(x) STR_(x)hDISCARD(expr) BEGIN (void)sizeof((expr)!=0); ENDtDISCARD_STAT(stat) BEGIN if (0) stat; ENDUNUSED(param) ((void)param)PARENT(type,field,p) ((type *)(void *)((char *)(p) - offsetof(type, field)))BS_EMPTY(ty) ((ty)0)BS_COMP(s) (~(s))BS_UNIV(ty) BS_COMP(BS_EMPTY(ty))BS_SINGLE(ty,i) ((ty)1 << (i))BS_IS_MEMBER(s,i) (((s) >> (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)<EventPoolFinish ((EventType)0xEFB07F14)=EventPoolAlloc ((EventType)0xEFB07A77)>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)); END#BTRes(a,i) BEGIN (a)[((i)>>MPS_WORD_SHIFT)] &= ~((Word)1 << ((i) & ~((Word)-1<<MPS_WORD_SHIFT))); END#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),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	SplayTreeNextCSplayFindFirstSplayFindLastcSplayRootSplayNodeRefresh
SplayTreeDescriben
splaySrcIdMRYY`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
~










'5IUY`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@4UE@4ÐUUUUB+BUSU]tK;Sr9[UEP+P;UÐUUE9BUSU]MA+At	R9vt	S9vA[ÐUWVS]u,}0tE(uPhlS$hPuCP …CECECECE C E$C$s,{0E(C(C4C8C<C@CDShCHPSh.ChPShIPQSe[^_É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}jjvEPuY]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<GhPW8Etq9wmB9u!֋}uG8MEO<:v9u Ë}uG8MEO<v9vUt9vv@wDPW@Ets9wo}wiG(9u֋}uG@MEOD2v9uË}uG@UOD#v9v$Ut9w}vM1Ee[^_ÐUWVSu]}E)؃v~WSoEv<FhPF8t9s
‹t9rtE9ZtE9uUV8M
UF<v9F(uWSVEvDPV@t9svыt9rtF(E9s9tE9s*uMN@EMFD	EEEEe[^_UVSu~8tGv<FhP^8t.sSVEPEPw udF8N<u։~@tNvDP^@t2F(PSVEPEP$ uF@NDuӍve[^ÐUWVSu}]V~,ts}]VEPEPhÃuuuVEPEPÃPtuuVÃu>,VSWVEPEPuUEUEVe[^_UuuuEPEPÉUWVSEpHPEPuEP/MU9QA;EuAE9AuQuA+QEARQu!U9Qu +QEARQuYuy+E9rFqRQuWuuthUz,tdWuRMYAEARQuwuSuHtUz,tuSRe[^_ÍvUWVSu]}v<FhPF89xs9st|9xrtsEHM9wV9wRuF8N<9]sSuV.ƒu:;}suWVƒuve[^_ÍvUWVS]u+E;C(uvsDPS@tNC(9s׋t9
9rt.C(;Uw9wuC@KDЍe[^_ÉUWVSu}VWuVÃ~,t>u)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StSUVS]UuB+B;C$r6RSVvȍe[^ÍvUS]SDEEUEBRhSS3US]UMB+B9v9Aw
PPRSSv]ÉUS]UMB+B9w9Av
PPRSSv]ÉUVS]uSC$EEp9s$vPhSM9s$sEPh@S1s$S[e[^UUVS]uME$twtt
4vtVSuU EE0e[^ÍvUWVSuEEVVvFHPujhhVEPÃ tEx@EEH
~8tQv<FhPV8t8t9s0J);Er׉MEt
t9r҉~@t*E9F(r"F@t9sNjF(EEtuuuuWVuu{ V؍e[^_UWVSuEEV{VvFHPujhhVEPÃ tEx@EEH
~8tEv<FhPV8t,B);Ert9v׋BEEuԃ~@tNE9F(rFvDPF@8t8ut9vNjF(EEvtuuuuWVuu7 Vv؍e[^_UWVS]EEES+SSEPtJEpsCHPVjhhSEPǃ EPU@EEH
{8tBs<ChPC8t)H)9r։EMEuۍvu#{@tfs(C@EEEtuuVuuSuu SCe[^_ÐUVS]utQt
vjshqshshShV0…uqh
VSuYVCHPuCVChPu-VPujhV‰Ѝe[^C%$>$>:;II&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	?int8W
	 Z_L"|-
a7z
E"U"$#|
%#&#'#"2	%
.
Sigl
ResE l@"ou	
g#Y$Y%Y&Y'W(W
Ref)df
,Y-Y.W/W1{,2W!3W|4W	5W^6W7W
BT:MY;^d	

<u{x`<sigsC#
tx#
u#
v#
!w#
IxX##
y#
gzY# 
{s#$
|s#,
;}d#4
~d#8
&#<
8d#T
#X
W#\>Y@>
2D$#
E#
F#
G)#
BHT#
KIq# 
J#$
K3#(segL#,
M#0
N#4
O#8sigPC#<AWyC
ad#

bd#
Rcd#
@	dd#
	e#
	f#cD<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
sO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&#
9w~&#
%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<d#F={#_	"""!J"{{o"""!J"#B#aWb)#/#X#=####/#
#g!e#fE##h[cc#Xgn#
iP#\##$\sig}C#~##S$#$#4a$$*$S$asigC###m^$d$~$~$$#$x$$$$####!%u$sigC#	#7 {#!s#"s##X##u$$!%o%tl2%#{#X
{#\
{#`	Y#d%#hJ#lsigC#p	a%=%s&`l2%#%#X%#
{#
{#F{#{#I{#X##sigC#%x/ygds'
e&k&&&X#&9'
C"U;BdPRBdRD"'K#"U cbsJ!;JdPRJd\L#!'S\$3U cbs[!P!'d4CU cbsc!P"'"oDNU cbsn!"$(PZUJ""M(H{\jUJ"R( lU keyRie S#dRhd#QdQJ")U
 ie Pl{J")U
 ie RlP{J"!*U
 ie Pe R?e S#F{P#J"Q$*#{R%&{R'*NU()cbs!S()new"P(9	"P("P(
"P(5{P(((	V(W*resNP+
+MU)cbsL!S,X+gU)cbsf!S(fJ"V-reshN&Pi{W,+>`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\0jd%\&/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<<<?99ed	GTL.<TXt@
c=
92:eH:H.H:H.:
G$JT$:*sddddd::drrrrsHIdV	e՝rr:<e֞dX,ƪƂdX,Ԝ9g+I;d:,;;:;ZdredVs:HTrǀHIdd: :HdxZ
xVX0?H,,dsV::VH,,deV::WH]9)şH[H,,dWV::VH,,dWW;VH]9-VVV	xIWLpHpHVVWHKVpJHpJHVVttdeJwVr9eHtwVs9
"e>d:;,vuJejYM<*JdY:deJH:si;rds	9\%gC
H:gHsH;VtVtaq"VVTXH(IXHsH;str	jV!He.G.?_ <eec[ gdeqdȺdȺede:Ve;dw@UV<:XGIXVVteAht;:dufV,:sv9;V,IeteAht;:duftV,dxqcHV,IeVrXe?iud:;ddugV,::wqH:dVtHe	)ƎƎ;	__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
cbs_h 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 {<END } while(0)FRVALUE(expr) ((void)0, (expr))PNOOP do {} while(0)ZSTR_(x) #x[STR(x) STR_(x)hDISCARD(expr) BEGIN (void)sizeof((expr)!=0); ENDtDISCARD_STAT(stat) BEGIN if (0) stat; ENDUNUSED(param) ((void)param)PARENT(type,field,p) ((type *)(void *)((char *)(p) - offsetof(type, field)))BS_EMPTY(ty) ((ty)0)BS_COMP(s) (~(s))BS_UNIV(ty) BS_COMP(BS_EMPTY(ty))BS_SINGLE(ty,i) ((ty)1 << (i))BS_IS_MEMBER(s,i) (((s) >> (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)<EventPoolFinish ((EventType)0xEFB07F14)=EventPoolAlloc ((EventType)0xEFB07A77)>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)); END#BTRes(a,i) BEGIN (a)[((i)>>MPS_WORD_SHIFT)] &= ~((Word)1 << ((i) & ~((Word)-1<<MPS_WORD_SHIFT))); END#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),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)<CBSEmergencyGrainNext(grain) ((CBSEmergencyGrain)((grain)[0]))>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
m2R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
D99
	
G
F9HI9WI9N9
O9P
9:`9R'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*11!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%$>$>:;II&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 {<END } while(0)FRVALUE(expr) ((void)0, (expr))PNOOP do {} while(0)ZSTR_(x) #x[STR(x) STR_(x)hDISCARD(expr) BEGIN (void)sizeof((expr)!=0); ENDtDISCARD_STAT(stat) BEGIN if (0) stat; ENDUNUSED(param) ((void)param)PARENT(type,field,p) ((type *)(void *)((char *)(p) - offsetof(type, field)))BS_EMPTY(ty) ((ty)0)BS_COMP(s) (~(s))BS_UNIV(ty) BS_COMP(BS_EMPTY(ty))BS_SINGLE(ty,i) ((ty)1 << (i))BS_IS_MEMBER(s,i) (((s) >> (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)<EventPoolFinish ((EventType)0xEFB07F14)=EventPoolAlloc ((EventType)0xEFB07A77)>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)); END#BTRes(a,i) BEGIN (a)[((i)>>MPS_WORD_SHIFT)] &= ~((Word)1 << ((i) & ~((Word)-1<<MPS_WORD_SHIFT))); END#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), 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ÉUUS]CEPjEPEPCPE$QvUS]CP[QvUS]CPC]ÉUE@PUS]CPC]ÉUEHxuPvÉU55vUhh5vU5Uhh5vU5C%$>$>:;II<:;
:;I8
	&I
:;I
:;I8
.?:;'I@

.?:;'I@
:;I
.?:;'@
4:;I
4:;I.:;'@
.?:;'@
4:;I?
8SintA8WLA_LgBfCzZG2;[E#\#	z#E1"(.	3x/"$#%#7&#'#
SiglSF$Fsig..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 25<T_SEGNPFLT 26=T_STKFLT 27>T_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 99<BC_STRING_MAX 1000=COLL_WEIGHTS_MAX 0>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<NAME_MAX 255=NGROUPS_MAX 16?OPEN_MAX 64APATH_MAX 1024BPIPE_BUF 512CIOV_MAX 1024/'_SCHED_H_ 3SCHED_FIFO 14SCHED_OTHER 25SCHED_RR 34PTHREAD_DESTRUCTOR_ITERATIONS 45PTHREAD_KEYS_MAX 2566PTHREAD_STACK_MIN MINSIGSTKSZ7PTHREAD_THREADS_MAX ULONG_MAX8PTHREAD_BARRIER_SERIAL_THREAD -1=PTHREAD_DETACHED 0x1>PTHREAD_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 {<END } while(0)FRVALUE(expr) ((void)0, (expr))PNOOP do {} while(0)ZSTR_(x) #x[STR(x) STR_(x)hDISCARD(expr) BEGIN (void)sizeof((expr)!=0); ENDtDISCARD_STAT(stat) BEGIN if (0) stat; ENDUNUSED(param) ((void)param)PARENT(type,field,p) ((type *)(void *)((char *)(p) - offsetof(type, field)))BS_EMPTY(ty) ((ty)0)BS_COMP(s) (~(s))BS_UNIV(ty) BS_COMP(BS_EMPTY(ty))BS_SINGLE(ty,i) ((ty)1 << (i))BS_IS_MEMBER(s,i) (((s) >> (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)<EventPoolFinish ((EventType)0xEFB07F14)=EventPoolAlloc ((EventType)0xEFB07A77)>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)); END#BTRes(a,i) BEGIN (a)[((i)>>MPS_WORD_SHIFT)] &= ~((Word)1 << ((i) & ~((Word)-1<<MPS_WORD_SHIFT))); END#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),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(UUUWVS}jj8WEPui]C0ssv톒QC{C4s0CPBFSB0rEvЍe[^_ÉUS]SKBAB[QCBCPj8SuUWVS}E09t,Xs0uuSU69uԍe[^_US]C4PCPtC4UhLuqÍvUS]{4tCPC4]ÍvUhu)ÍvUEÐUE@ÐUWVS}]us0PtVWu[Q[4tLPX9s8VRWu$P3Wuvȍe[^_ÉUUjrRhr0h0BptPh9rRhJu@C%$>$>:;II&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)dk,Yt
-Y/.W/W1{2Wn
3W4W5W6W7W
BT:MY;^d	W	<u{x`<sigsC#
\tx#
P	u#
v#
jw#
/x #
y#
'zY# 
{s#$
8|s#,
:}d#4
~d#8
##<
d#T
#X
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	VG,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&#re	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לNjj]kl%;FLx*]cxN	1N
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
WE1S1V!'1&P res1NP#0 mfc1iS!1R!r1P$b1d($++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[<f	9;d?"V-:*w>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 {<END } while(0)FRVALUE(expr) ((void)0, (expr))PNOOP do {} while(0)ZSTR_(x) #x[STR(x) STR_(x)hDISCARD(expr) BEGIN (void)sizeof((expr)!=0); ENDtDISCARD_STAT(stat) BEGIN if (0) stat; ENDUNUSED(param) ((void)param)PARENT(type,field,p) ((type *)(void *)((char *)(p) - offsetof(type, field)))BS_EMPTY(ty) ((ty)0)BS_COMP(s) (~(s))BS_UNIV(ty) BS_COMP(BS_EMPTY(ty))BS_SINGLE(ty,i) ((ty)1 << (i))BS_IS_MEMBER(s,i) (((s) >> (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)<EventPoolFinish ((EventType)0xEFB07F14)=EventPoolAlloc ((EventType)0xEFB07A77)>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)); END#BTRes(a,i) BEGIN (a)[((i)>>MPS_WORD_SHIFT)] &= ~((Word)1 << ((i) & ~((Word)-1<<MPS_WORD_SHIFT))); END#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),&_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 25<T_SEGNPFLT 26=T_STKFLT 27>T_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 99<BC_STRING_MAX 1000=COLL_WEIGHTS_MAX 0>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<NAME_MAX 255=NGROUPS_MAX 16?OPEN_MAX 64APATH_MAX 1024BPIPE_BUF 512CIOV_MAX 1024//'_SCHED_H_ 3SCHED_FIFO 14SCHED_OTHER 25SCHED_RR 34PTHREAD_DESTRUCTOR_ITERATIONS 45PTHREAD_KEYS_MAX 2566PTHREAD_STACK_MIN MINSIGSTKSZ7PTHREAD_THREADS_MAX ULONG_MAX8PTHREAD_BARRIER_SERIAL_THREAD -1=PTHREAD_DETACHED 0x1>PTHREAD_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'8DOYm>|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









:IXgv+@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
C9tvʋ	9uh]ÉUS]hlhECCCC@CC@n(QUVS]h{t>SKBABSRsVuCVPVsvhCCCC[Qe[^ÍvUVSuh
tZC;Ft-ʋ	u5jvut2NBAVBJCF'L8uhuVBFVEhe[^Í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#@@BiG
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;		<R
idrX;	__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 {<END } while(0)FRVALUE(expr) ((void)0, (expr))PNOOP do {} while(0)ZSTR_(x) #x[STR(x) STR_(x)hDISCARD(expr) BEGIN (void)sizeof((expr)!=0); ENDtDISCARD_STAT(stat) BEGIN if (0) stat; ENDUNUSED(param) ((void)param)PARENT(type,field,p) ((type *)(void *)((char *)(p) - offsetof(type, field)))BS_EMPTY(ty) ((ty)0)BS_COMP(s) (~(s))BS_UNIV(ty) BS_COMP(BS_EMPTY(ty))BS_SINGLE(ty,i) ((ty)1 << (i))BS_IS_MEMBER(s,i) (((s) >> (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)<EventPoolFinish ((EventType)0xEFB07F14)=EventPoolAlloc ((EventType)0xEFB07A77)>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)); END#BTRes(a,i) BEGIN (a)[((i)>>MPS_WORD_SHIFT)] &= ~((Word)1 << ((i) & ~((Word)-1<<MPS_WORD_SHIFT))); END#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),$_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 25<T_SEGNPFLT 26=T_STKFLT 27>T_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 99<BC_STRING_MAX 1000=COLL_WEIGHTS_MAX 0>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<NAME_MAX 255=NGROUPS_MAX 16?OPEN_MAX 64APATH_MAX 1024BPIPE_BUF 512CIOV_MAX 1024/+'_SCHED_H_ 3SCHED_FIFO 14SCHED_OTHER 25SCHED_RR 34PTHREAD_DESTRUCTOR_ITERATIONS 45PTHREAD_KEYS_MAX 2566PTHREAD_STACK_MIN MINSIGSTKSZ7PTHREAD_THREADS_MAX ULONG_MAX8PTHREAD_BARRIER_SERIAL_THREAD -1=PTHREAD_DETACHED 0x1>PTHREAD_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@ÐUUWVSuǍt!ujjjhjG!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:<i<d?<d?<d?<d?szU	U<VXf;<__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'_SYS_TYPES_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,"_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 0x04<MAP_SHARED 0x0001=MAP_PRIVATE 0x0002?MAP_COPY MAP_PRIVATEEMAP_FIXED 0x0010HMAP_RENAME 0x0020IMAP_NORESERVE 0x0040JMAP_RESERVED0080 0x0080KMAP_RESERVED0100 0x0100LMAP_HASSEMAPHORE 0x0200MMAP_STACK 0x0400NMAP_NOSYNC 0x0800SMAP_FILE 0x0000TMAP_ANON 0x1000YMAP_NOCORE 0x00020000`MCL_CURRENT 0x0001aMCL_FUTURE 0x0002gMAP_FAILED ((void *)-1)lMS_SYNC 0x0000mMS_ASYNC 0x0001nMS_INVALIDATE 0x0002s_MADV_NORMAL 0t_MADV_RANDOM 1u_MADV_SEQUENTIAL 2v_MADV_WILLNEED 3w_MADV_DONTNEED 4zMADV_NORMAL _MADV_NORMAL{MADV_RANDOM _MADV_RANDOM|MADV_SEQUENTIAL _MADV_SEQUENTIAL}MADV_WILLNEED _MADV_WILLNEED~MADV_DONTNEED _MADV_DONTNEEDMADV_FREE 5MADV_NOSYNC 6MADV_AUTOSYNC 7MADV_NOCORE 8MADV_CORE 9MADV_PROTECT 10MINCORE_INCORE 0x1MINCORE_REFERENCED 0x2MINCORE_MODIFIED 0x4MINCORE_REFERENCED_OTHER 0x8MINCORE_MODIFIED_OTHER 0x10POSIX_MADV_NORMAL _MADV_NORMALPOSIX_MADV_RANDOM _MADV_RANDOMPOSIX_MADV_SEQUENTIAL _MADV_SEQUENTIALPOSIX_MADV_WILLNEED _MADV_WILLNEEDPOSIX_MADV_DONTNEED _MADV_DONTNEED"'_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%
&_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 {<END } while(0)FRVALUE(expr) ((void)0, (expr))PNOOP do {} while(0)ZSTR_(x) #x[STR(x) STR_(x)hDISCARD(expr) BEGIN (void)sizeof((expr)!=0); ENDtDISCARD_STAT(stat) BEGIN if (0) stat; ENDUNUSED(param) ((void)param)PARENT(type,field,p) ((type *)(void *)((char *)(p) - offsetof(type, field)))BS_EMPTY(ty) ((ty)0)BS_COMP(s) (~(s))BS_UNIV(ty) BS_COMP(BS_EMPTY(ty))BS_SINGLE(ty,i) ((ty)1 << (i))BS_IS_MEMBER(s,i) (((s) >> (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)<EventPoolFinish ((EventType)0xEFB07F14)=EventPoolAlloc ((EventType)0xEFB07A77)>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)); END#BTRes(a,i) BEGIN (a)[((i)>>MPS_WORD_SHIFT)] &= ~((Word)1 << ((i) & ~((Word)-1<<MPS_WORD_SHIFT))); END#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),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
0AB
<AB
HAB
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$l0t<HTG4vmfr.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)PQUÍvUuuUUC%$>$>:;II&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
'#"s2	m.
Sigl
ResEh lY"ou	h
#Y$Y%Y&Yx'W(W
Ref)dY,Y-Y.W/W(1{V2W(
3W
4WP5WW6WM7W
BT:MY;^d	<u{x`<sigsC#
~tx#
!u#
4v#
^w#
x#
	y#
zY# 
{s#$
~|s#,
@}d#4
~d#8
8!##<
d#T
,#X
fW#\>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#Hns#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#pd	$#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"șNktk
k
7N7
kRHNmN
k$pH
Ҏj	ӵjcNjq(Nj39Oj[Z`k*l݋[޲xNc	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 {<END } while(0)FRVALUE(expr) ((void)0, (expr))PNOOP do {} while(0)ZSTR_(x) #x[STR(x) STR_(x)hDISCARD(expr) BEGIN (void)sizeof((expr)!=0); ENDtDISCARD_STAT(stat) BEGIN if (0) stat; ENDUNUSED(param) ((void)param)PARENT(type,field,p) ((type *)(void *)((char *)(p) - offsetof(type, field)))BS_EMPTY(ty) ((ty)0)BS_COMP(s) (~(s))BS_UNIV(ty) BS_COMP(BS_EMPTY(ty))BS_SINGLE(ty,i) ((ty)1 << (i))BS_IS_MEMBER(s,i) (((s) >> (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)<EventPoolFinish ((EventType)0xEFB07F14)=EventPoolAlloc ((EventType)0xEFB07A77)>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)); END#BTRes(a,i) BEGIN (a)[((i)>>MPS_WORD_SHIFT)] &= ~((Word)1 << ((i) & ~((Word)-1<<MPS_WORD_SHIFT))); END#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),&_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 99<BC_STRING_MAX 1000=COLL_WEIGHTS_MAX 0>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<NAME_MAX 255=NGROUPS_MAX 16?OPEN_MAX 64APATH_MAX 1024BPIPE_BUF 512CIOV_MAX 1024&_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)'_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_MMAN_H_ +INHERIT_SHARE 0,INHERIT_COPY 1-INHERIT_NONE 23PROT_NONE 0x004PROT_READ 0x015PROT_WRITE 0x026PROT_EXEC 0x04<MAP_SHARED 0x0001=MAP_PRIVATE 0x0002?MAP_COPY MAP_PRIVATEEMAP_FIXED 0x0010HMAP_RENAME 0x0020IMAP_NORESERVE 0x0040JMAP_RESERVED0080 0x0080KMAP_RESERVED0100 0x0100LMAP_HASSEMAPHORE 0x0200MMAP_STACK 0x0400NMAP_NOSYNC 0x0800SMAP_FILE 0x0000TMAP_ANON 0x1000YMAP_NOCORE 0x00020000`MCL_CURRENT 0x0001aMCL_FUTURE 0x0002gMAP_FAILED ((void *)-1)lMS_SYNC 0x0000mMS_ASYNC 0x0001nMS_INVALIDATE 0x0002s_MADV_NORMAL 0t_MADV_RANDOM 1u_MADV_SEQUENTIAL 2v_MADV_WILLNEED 3w_MADV_DONTNEED 4zMADV_NORMAL _MADV_NORMAL{MADV_RANDOM _MADV_RANDOM|MADV_SEQUENTIAL _MADV_SEQUENTIAL}MADV_WILLNEED _MADV_WILLNEED~MADV_DONTNEED _MADV_DONTNEEDMADV_FREE 5MADV_NOSYNC 6MADV_AUTOSYNC 7MADV_NOCORE 8MADV_CORE 9MADV_PROTECT 10MINCORE_INCORE 0x1MINCORE_REFERENCED 0x2MINCORE_MODIFIED 0x4MINCORE_REFERENCED_OTHER 0x8MINCORE_MODIFIED_OTHER 0x10POSIX_MADV_NORMAL _MADV_NORMALPOSIX_MADV_RANDOM _MADV_RANDOMPOSIX_MADV_SEQUENTIAL _MADV_SEQUENTIALPOSIX_MADV_WILLNEED _MADV_WILLNEEDPOSIX_MADV_DONTNEED _MADV_DONTNEEDprotfr.cJan 17 200703:43:13$Id: //info.ravenbrook.com/project/mps/master/code/protfr.c#7 $	|7AB
j.8AB
@AB
I.E$#ProtSet#ProtSync$ProtTramp$protfrSrcIdVallocTablePoolDescribeMethodcontrolPoolStructpageTableLimitgreySegMaxchunkFinishnamepageSizeFormatPadMethodrankrootSerialchunkRingArenaAllocMethodreservoirSizeactiveTracesformatfoundationLockPoolBufferClassMethodTraceFixMethodsuperclassthreadRingunitsPerExtentPagefillMutatorSizepoolSerialBoolprehistoryArenaFreeMethodunitSizesetRankSetunsigned intGNU C 3.4.6 [FreeBSD] 20060305BufferRankSetMethodextendArenaChunkFinishMethodfillInternalSizeBufferReassignSegMethodreassignSegisCollectedpoolReadyscmidwhiteSegRefCountforwardedSizeforwardedCountArenaSpareCommitExceededMethodProtocolClassmergegreyRingfinishshort intAlignArenaDescribeMethodprotocoldescribefillSizesegScanCountPoolmodePoolDebugMixinStructrememberedSummaryRingprevfixRefCountserialEpochsetBufferapStructemptyMutatorSizeallocMutatorSizePoolFramePushMethodPoolFinishMethodbusyTraceslwPopPendingchunkspansallocBasesuspendedpollThresholdArenaStructenabledMessageTypesmpsVersionStringSizefreeListframePopGlobalsStructreservoirStructChainStructbaseArenaClassAccessSetframeptrhistorySegSetRankSummaryMethodFileSrcIdStructlong long unsigned intfileoffsettraceshDepthhighattrgenCountSegClassStructrateFreeBlockStepMethodPoolClassStructglobalsprimaryArenaChunkInitMethodarenaBufferFinishMethodFormatVarietyPoolWalkMethodskipprotfrSrcIdPoolFreeMethodmortalitywasMarkedproflowmessageRingsize_tmoveAPStructTractStructrampEndmayMoveBootBlockpoolLimitChunkclampedPoolReclaimMethodunroundedUnitSizeshCachereclaimCountpageTablePagesfreePoolFixMethodSegPrefWordmps_lib_stream_sFormatStructpreservedInPlaceCountfreewalkframePushFormattedObjectsStepMethodSegClassgensCountPageStructisMovedsetRankSummarySegDescribeMethodbufferClassPoolDebugMixinSegSetSummaryMethodinsidePollreclaimAddrreservoirLimitcharscannedSizereserveBufferStructFormatScanMethodchunkSerialSegFinishMethodMFSHeaderStructSerialLockStructsplitFormatClassMethodArenaFormatMoveMethodspacefinalPoolBufferDescribeMethodBufferModelimitMFSStructArenaInitMethodlockrampCountPoolFixEmergencyMethodzoneShiftpagesisGennailedPoolFreeWalkMethodchainva_listresultReturnChainlong long intMVStructtracedTimeZoneSetTractBufferSegMethoddepthPoolRampEndMethodlocusRingfixEmergencyTracegreylastWorldCollectPoolDebugMixinMethodpageShiftChunkCacheEntryStructBufferClassStructArenaClassStructrememberedSummaryIndexgreySegCountisMutatorArenaFinishMethodProtTrampfixedSummarycommittedframePopPendingscansingleCopiedSizeSegSetBufferMethodProtocolInstStructAddrStructrampBeginbufferPoolRampBeginMethodsizeSegStructGenDescStructProtocolInstBufferSetRankSetMethodinitAtFlipPoolStructpoolRingFormatdetachspareCommitLimittopGenPoolWhitenMethodspanPoolStructPoolInitMethodProtSyncTraceIdpoolaccesschainRingPoolGreyMethodlastTractMutatorFaultContextvarietyprotfr.cemptyInternalSizeSrcIdarenaRingsegRefCountavgSizecopytractListBufferDetachMethodPoolScanMethodFormatCopyMethodlostcapacitywhitenScanStatecondemnedflagsbufferRingChunkStructflippedTracesrootScanCountenabledrootScanSizepointlessScanCountallocRankshCacheLimitProtSetsegCopiedSizeBufferInitMethodlong intsetSummarynotCondemnedextendByTraceStateTraceSetstatepreservedInPlaceSizenextSegBufferMethodbuild_timePoolClassProtocolCoerceInstMethodemergencyPoolBlackenMethodwhitepoolStruct__size_trootRingSegInitMethodFormatSkipMethodsegScanSizecopiedSizeArenaExtendMethodScanStateStructSegSetWhiteMethodunfixedSummarypageTableBaselastTractBasethreadSeriallabelledsetGreytracedSize__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.comment4V	@)%	H/4F[$B	PV&=R	`	b:)q22@P	h `d	0ľI	
 	0-=%bp	J	

&7.78@@protfr.cFileSrcIdStructprotfrSrcIdProtSetmprotectProtSyncProtTramp.!%*18?MX_fmt{(39Zev|
#.9Tek-<KZiy,;Ziq%4CRap(6DR`n
&4BP^lz"0>LZhv		)	8	G	V	e	t										


(
7
F
U
d
s









:IXgv+@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[^US0EEPE@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 {<END } while(0)FRVALUE(expr) ((void)0, (expr))PNOOP do {} while(0)ZSTR_(x) #x[STR(x) STR_(x)hDISCARD(expr) BEGIN (void)sizeof((expr)!=0); ENDtDISCARD_STAT(stat) BEGIN if (0) stat; ENDUNUSED(param) ((void)param)PARENT(type,field,p) ((type *)(void *)((char *)(p) - offsetof(type, field)))BS_EMPTY(ty) ((ty)0)BS_COMP(s) (~(s))BS_UNIV(ty) BS_COMP(BS_EMPTY(ty))BS_SINGLE(ty,i) ((ty)1 << (i))BS_IS_MEMBER(s,i) (((s) >> (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)<EventPoolFinish ((EventType)0xEFB07F14)=EventPoolAlloc ((EventType)0xEFB07A77)>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)); END#BTRes(a,i) BEGIN (a)[((i)>>MPS_WORD_SHIFT)] &= ~((Word)1 << ((i) & ~((Word)-1<<MPS_WORD_SHIFT))); END#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),&_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 25<T_SEGNPFLT 26=T_STKFLT 27>T_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%$>$>:;II&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 {<END } while(0)FRVALUE(expr) ((void)0, (expr))PNOOP do {} while(0)ZSTR_(x) #x[STR(x) STR_(x)hDISCARD(expr) BEGIN (void)sizeof((expr)!=0); ENDtDISCARD_STAT(stat) BEGIN if (0) stat; ENDUNUSED(param) ((void)param)PARENT(type,field,p) ((type *)(void *)((char *)(p) - offsetof(type, field)))BS_EMPTY(ty) ((ty)0)BS_COMP(s) (~(s))BS_UNIV(ty) BS_COMP(BS_EMPTY(ty))BS_SINGLE(ty,i) ((ty)1 << (i))BS_IS_MEMBER(s,i) (((s) >> (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)<EventPoolFinish ((EventType)0xEFB07F14)=EventPoolAlloc ((EventType)0xEFB07A77)>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)); END#BTRes(a,i) BEGIN (a)[((i)>>MPS_WORD_SHIFT)] &= ~((Word)1 << ((i) & ~((Word)-1<<MPS_WORD_SHIFT))); END#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),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%$>$>:;II&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
'#"a2	t.
Sigl
ResEo li"ou	j
#Y$Y}%Y&Yf'W(W
Ref)dG,Y-Y.W/W(1{O2W

3W4WP5WE6WM7W
BT:MY;^d	<u{x`<sigsC#
ltx#
!u#
4v#
Ww#
x#
	y#
zY# 
{s#$
l|s#,
@}d#4
~d#8
8!##<
d#T
#X
vW#\~>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#Hns#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#pd	*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" șNkmk{
k7N7
kOHNmN
k$H
Ҏj!	ӵjcNj_(Nj39Oj[Z`k*l݋[޲xNf	0N
dd
;AQdd\bsdd;	\dd{;#.
##+ gWe#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 {<END } while(0)FRVALUE(expr) ((void)0, (expr))PNOOP do {} while(0)ZSTR_(x) #x[STR(x) STR_(x)hDISCARD(expr) BEGIN (void)sizeof((expr)!=0); ENDtDISCARD_STAT(stat) BEGIN if (0) stat; ENDUNUSED(param) ((void)param)PARENT(type,field,p) ((type *)(void *)((char *)(p) - offsetof(type, field)))BS_EMPTY(ty) ((ty)0)BS_COMP(s) (~(s))BS_UNIV(ty) BS_COMP(BS_EMPTY(ty))BS_SINGLE(ty,i) ((ty)1 << (i))BS_IS_MEMBER(s,i) (((s) >> (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)<EventPoolFinish ((EventType)0xEFB07F14)=EventPoolAlloc ((EventType)0xEFB07A77)>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)); END#BTRes(a,i) BEGIN (a)[((i)>>MPS_WORD_SHIFT)] &= ~((Word)1 << ((i) & ~((Word)-1<<MPS_WORD_SHIFT))); END#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),&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









:IXgv+@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%$>$>:;II&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 {<END } while(0)FRVALUE(expr) ((void)0, (expr))PNOOP do {} while(0)ZSTR_(x) #x[STR(x) STR_(x)hDISCARD(expr) BEGIN (void)sizeof((expr)!=0); ENDtDISCARD_STAT(stat) BEGIN if (0) stat; ENDUNUSED(param) ((void)param)PARENT(type,field,p) ((type *)(void *)((char *)(p) - offsetof(type, field)))BS_EMPTY(ty) ((ty)0)BS_COMP(s) (~(s))BS_UNIV(ty) BS_COMP(BS_EMPTY(ty))BS_SINGLE(ty,i) ((ty)1 << (i))BS_IS_MEMBER(s,i) (((s) >> (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)<EventPoolFinish ((EventType)0xEFB07F14)=EventPoolAlloc ((EventType)0xEFB07A77)>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)); END#BTRes(a,i) BEGIN (a)[((i)>>MPS_WORD_SHIFT)] &= ~((Word)1 << ((i) & ~((Word)-1<<MPS_WORD_SHIFT))); END#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),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~
'38Es	
		
poolamc.o/      1169001830  1001  1001  100644  91700     `
ELF	&4(UUWVS]؃8u@SuuuuVP …u~0F4F8Y<QЍe[^_ÐUWVS,]ut;Qt
vt	{8Y<Qt
l@VSP<ƒOCUR,UU؋xUB0@8ECESUUtS@<EjhuWSh&Vƒ }E9juh;V}E9vXE ;}s)E.;}s E=;}uE*UB0WP EjEPhDVuU}܋EE9wjhGVu1EEU9UXjShIVƒuve[^_U=u1=uh .v ÐUvUVS]ƃjLPSs$CWC<CC<he[^ÍvUE@08UE@0US]StS@C0UUUUE@lÐUUEPlÉUWVSu]@uSVP…u=VtCtFl
vFlGp<QsXVЍe[^_ÉUS]Cp[Q@SP]ÍvU=u1=uh.vÐUvUWVE}UBB^BtB`B^_ÉUWVS}GEjj8PEPÃujWPEPÃukWuwhVÃuDF N$N$IF0EF,F4<QW\BAV$BJE0'uvj8uue[^_ÉUVS]CpC4[QS$K$BABC$BSs,j8SVe[^ÐUEt	x4<Qt
3vjheppp0hDp,hqpPhuÉUWVSE@Ejj PEPÃuFuFFFFUr,FuUB0x8NjGPuEPà u,EFWjPK<QFUB0j Vuv؍e[^_ÉUWVSuVE4$ËExVKPsW[Qj SWE F0e[^_US]SOSM+ZP@ك]UWVS]S@SE+BNU^u	ЋUFFfe[^_ÐUWVS]SES@0x8Bu)UJ])SVr)EXXe[^_UWVS]SFKR0z8qM)MXmU)Rupe[^_ÐUWVSMUAEA0@A,BAhEAXA\A\@ApAtAxA|AdǁǁA0x8u	A4A4dž<QvhEUjRuEPǃ EFp}t*MAMvSVFpPǃujC9]w;]sFptp,ZC;]rFpU4p,=VpFtMDFxF|Fd2tKFp4)uuvpue[^_ÉUujuMÍvUuju5ÍvUWVSEEP\:\9tvZ܃us,C?9u݋E$EEP$:;Ut1vrVH0V)C4$?;UuҋE\EEP\:;Ut<jr?;UuE:9tvB܃P?;UuEǀ[Qe[^_ÍvUWVSLEEuEUB\UT!‰Uƍ}jj]SUBEăEPjSE PuuuSPEP …uu#juPu!juPuE@0UPEu@xU9P,uUE9PxtvUEP
E@4vuuE@PEUEe[^_ÉUWVSu}]VEv)t'PVE@0SWP0uVe[^_UEut
ǀÉUWVSuuu}FxE샾udž
UǂV$:F$9tIZSU;Bxu({4u"CuSUBC4v?F$9ue[^_ÐUWVS}WƃPuuVVW;BW)u~G|uWc`V;FTtvTVPW1E@hHW	ˆW.vWMY	ƒO	шOVVT)‹E)P WEH	RW<$UB WOƃ4tW)FG4]u,9sxu'Sv,Vv,fǃ7vu+9sxu&uv,s|v,-ǃȍe[^_ÐUWVSEEEx0u{@UB@w8u$G8E9VW Vut7SVuWtUU)E
vE;]ruhUBG8E9sWVW VuFt0SVuWtUUA)EE;]rUEPPUEuD@Ue[^_UWVS}u]SVWuEPEPb tU}uҋEUe[^_ÐUWVS]{0utSuSuuwUB@w8?u$_89s\SVuWuZ)UBPރuuUB_89s8SVuWt&U5E%U)UBPEe[^_UWVS]}E0St#VSŠC#G;GuuJC#G;Gt7SG	ˆSxtƒGPSe[^_UWVS}EpG tAuVUB0U2P(ÃuVtEvuWuue[^_UWVS]E@ xudUBu?SRƒMA4EPA	‹MQuuuS}[vC0EUU[]uSuMQ(EuS}]CStuS}tfEP]K!9t@xtUB	PRMQ]C	ˆQ}Exa@ u`X,uUR +}MA<y@S@9v;CDw
U{@jWSEP…	SƃPuUBUJFƒЃtE@xt	PVvUJ$Vt	PVWuuVuC@C<{DuWuS
MyLuuuu]S$uuE@8EUЍve[^_UWVS,]u}F ~uQGu6SWƒF4WF	ˆWuVWSTC0EUU[]WSuUR(EWu}GtqWtuWtTWN!9t6xtƒ	PWWF	ˆW~|F WX,uUR UEF<F@E@8EԋS@E9v;CDwUUS@juSEP…EEESE؃PuGNUBƒЃtGxt	PuvO$E؋Pt	Puu܋E+EPuuuC@C<{DuuuSUVLWuuuEP$WuF8EUЉe[^_UWVS$EEEE@0EURUX8]uRuF]X4$tV$E
E@EUU;]smSuV lj)udtSuu1vSUR(tvV+EP]S0uEu܉;}ruuuV]K!	‹EPuN!RPE@u!Ptuuv]UuEe[^_ÉUWVSu}uWlÃu&t
džEǀvGtWuV#vK0W)CU<$e[^_UWVS}]CukG0EStS$ƃsEP8CX9s%uuWw0SUG0SP 9r܍e[^_UWVSEx$EUB$0;Et:XSWuuuSu2SW6;Euȍe[^_UWVSEut8Qt
vÅt<Qt
jpPhPh{XtPV …w0$!jhPhV …uOS\:C\9t EB܃VPu"?9UujShV…uЍe[^_ÉU=u1=uh.vÐUÍvUVS]ƃhPSs$CCCKC x
C$
C0C4
C<<CHCLCPCTlCXl
C\
ClCtCxe[^ÉU=u1=uh`.v`ÐUvUVS]ƃhPSsCcC 
C@CHe[^ÉUEÍvUvUEppuÉUVS]sVEEEEEEjEPhS64$e[^ÍvUC%$>$>:;II<&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
:;5U6.?:;'@
74:;I?
Cf o`@&intz
8W
Ie_L|W7z
.
.E`"	b"
$b#
%b#
"&b#
'b#hx
SiglResEh l
"|[#$	%^&5'WP(WRef),8-.W/W12W
3W4W5WX6W7WBT: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#
Xf#.
Dtz	Y	<Dsig~#
Y#
q#
#
& #
#
 #
c< # 
	] #$
A #(
 #,pad #0
] #4
#8FdjG{	`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		z5
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
#
	 #

#vW#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	r3t>DhhnZpE
up7v
R	w
Kxm0z0AGgiplrxppNEm"(9$CDJ`$
kq|N*k@F`pFkq}
kD$$(.?JPepvpp	hpXp!
9hhpDJeppvp[ȥp=	p=	EpER$CCzpkTZypz0T]GҚpp>	p$4p$P?E[p$flp6lSݗpgh޾p
  
p " < zG 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&*3HR,gen \o&#lx0gen `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 #zW-T #0P0ref %V#-N1 2R(:_ FU- Ep)ss EzW)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 zV)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	<e1>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==HcdM>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	t<d;7V:d.I&e/?XHrrydcqUH8:=t1=>dX:;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 99<BC_STRING_MAX 1000=COLL_WEIGHTS_MAX 0>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<NAME_MAX 255=NGROUPS_MAX 16?OPEN_MAX 64APATH_MAX 1024BPIPE_BUF 512CIOV_MAX 1024Mmps_message_type_finalization() MPS_MESSAGE_TYPE_FINALIZATIONNmps_message_type_gc() MPS_MESSAGE_TYPE_GC[MPS_RANK_AMBIG mps_rank_ambig()\MPS_RANK_EXACT mps_rank_exact()]MPS_RANK_WEAK mps_rank_weak()bMPS_RM_CONST (((mps_rm_t)1<<0))cMPS_RM_PROT (((mps_rm_t)1<<1))xMPS_SAC_CLASS_LIMIT ((size_t)8)mps_sac_classes_s mps_sac_class_sMPS_BEGIN do {MPS_END } while(0)MPS_SAC_ALLOC_FAST(res_o,p_o,sac,size,has_reservoir_permit) 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 != 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 {<END } while(0)FRVALUE(expr) ((void)0, (expr))PNOOP do {} while(0)ZSTR_(x) #x[STR(x) STR_(x)hDISCARD(expr) BEGIN (void)sizeof((expr)!=0); ENDtDISCARD_STAT(stat) BEGIN if (0) stat; ENDUNUSED(param) ((void)param)PARENT(type,field,p) ((type *)(void *)((char *)(p) - offsetof(type, field)))BS_EMPTY(ty) ((ty)0)BS_COMP(s) (~(s))BS_UNIV(ty) BS_COMP(BS_EMPTY(ty))BS_SINGLE(ty,i) ((ty)1 << (i))BS_IS_MEMBER(s,i) (((s) >> (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)); END#BTRes(a,i) BEGIN (a)[((i)>>MPS_WORD_SHIFT)] &= ~((Word)1 << ((i) & ~((Word)-1<<MPS_WORD_SHIFT))); END
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)<EventPoolFinish ((EventType)0xEFB07F14)=EventPoolAlloc ((EventType)0xEFB07A77)>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
DAB
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
DP`rG%%2N@hTFx[R(l<o0XO ,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
`
hc"ijk	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
MM+M:MJMZMjM{MMMMMMM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	M4MuMMMMM7MhMMMM
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 ÐUvUVS]ƃjLPSs$CCHCCe[^ÍvUUWVSEu}PUE@EuuVuuuPà EHXu4uVuEPÃuyEG4uVuEPÃuHEG8ujPujw4UW0EG<G@GDQ!Vw4uuURe[^_UWVS]C0~SNX4Vs8WVs4WCD[Q@$Pe[^_ÐUSEX0PKXvUWVS]}uVWs8VWs4)s<e[^_ÉUWVSu~0OXEEVu\VOXuPjv8EPEP t)FXOXUEOXUEЍe[^_ÉUWVS<EE@\]K!ƍ}UB\EăjjuVEPjVuuSVPEP …uuEdPUEЍe[^_ÉUWVS,EEEEEP0U܉@@EAEER0U؋u9uÃt0EP9uS;CTtsT+]E܋HXMA8كu
Ep,rUB8PR NjM+y8MA4كtEEԉ)E&+EU܋JXPSu\)E;uEMU)B|EUMAUJ!Pu}uue[^_UWVS(EEUUH0MB@EREEHXm;]UJXU4utBulj$9u&W;GTtwT+]EHX[vMA8كuC<Ep8VP M+A8+]EHXuuuUr0VU v;];e[^_ÍvUWVS}_EG0@G,PGXG\hjSG`Pà u9Wjw`GdPÃuLJQwve[^_UWVSMQ$A$9tBPڋ9uGdPw`LJ[Qe[^_UWVSu}W$G$9t;BE‹OX@<9rVREPEPu;ڋE$9uuVuEPBuiUB@EBEUB@uOX])SVr8E))X<EX@UM)G|EEe[^_ÉUWVSuǃ@@UJXu)])9t*SVWU+UE)P|))G@E)e[^_ÉUWVSu}]SuaSNXPjs4s8SG NXC@)C@SO	RSve[^_ÍvUWVSu}E@ UV0+B8‹G9Pw]CtwkF,Hu`]C+pIXG4u5E@ xuUW4	v[^_UuuU=u1=uh.vÐUvUVS]ƃhPSs$C$CCcC C$C0dC4HC<C@CDCHCL@	CP@	CT	Clhe[^UvU?C%$>$>:;II<&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:;I014:;I2.?:;'I@
34:;I?
1Rc<
Bint
8Wk
8	d_LT	|zkW7z.6
E"	@="
+$@#
%@#
|&@#
'@#FVSiglResEV lR"X7#r>$ra%r&r'Wp(WRef)},r
-r.W-/W12W"3W4W$5W6W7WBT: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\#NO	

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#pdzeIgv		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
$>gLIOeEpv#)̗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$-<V:TYHTOVd
Vu
c>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 99<BC_STRING_MAX 1000=COLL_WEIGHTS_MAX 0>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<NAME_MAX 255=NGROUPS_MAX 16?OPEN_MAX 64APATH_MAX 1024BPIPE_BUF 512CIOV_MAX 1024Mmps_message_type_finalization() MPS_MESSAGE_TYPE_FINALIZATIONNmps_message_type_gc() MPS_MESSAGE_TYPE_GC[MPS_RANK_AMBIG mps_rank_ambig()\MPS_RANK_EXACT mps_rank_exact()]MPS_RANK_WEAK mps_rank_weak()bMPS_RM_CONST (((mps_rm_t)1<<0))cMPS_RM_PROT (((mps_rm_t)1<<1))xMPS_SAC_CLASS_LIMIT ((size_t)8)mps_sac_classes_s mps_sac_class_sMPS_BEGIN do {MPS_END } while(0)MPS_SAC_ALLOC_FAST(res_o,p_o,sac,size,has_reservoir_permit) 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 != 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 {<END } while(0)FRVALUE(expr) ((void)0, (expr))PNOOP do {} while(0)ZSTR_(x) #x[STR(x) STR_(x)hDISCARD(expr) BEGIN (void)sizeof((expr)!=0); ENDtDISCARD_STAT(stat) BEGIN if (0) stat; ENDUNUSED(param) ((void)param)PARENT(type,field,p) ((type *)(void *)((char *)(p) - offsetof(type, field)))BS_EMPTY(ty) ((ty)0)BS_COMP(s) (~(s))BS_UNIV(ty) BS_COMP(BS_EMPTY(ty))BS_SINGLE(ty,i) ((ty)1 << (i))BS_IS_MEMBER(s,i) (((s) >> (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)<EventPoolFinish ((EventType)0xEFB07F14)=EventPoolAlloc ((EventType)0xEFB07A77)>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)); END#BTRes(a,i) BEGIN (a)[((i)>>MPS_WORD_SHIFT)] &= ~((Word)1 << ((i) & ~((Word)-1<<MPS_WORD_SHIFT))); END#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),LOGen ((Serial)1)LOSig ((Sig)0x51970B07)$PoolPoolLO(pool) PARENT(LOStruct, poolStruct, pool)%LOPool(lo) (&(lo)->poolStruct)0LOSegSig ((Sig)0x519705E9)<SegLOSeg(seg) ((LOSeg)(seg))=LOSegSeg(loseg) ((Seg)(loseg))loIndexOfAddr(base,lo,p) (AddrOffset((base), (p)) >> (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_log1poolloSrcIdProtocolCoerceClassMethodMutatorFaultContextmpsVersionStringchunkPoolBlackenMethodsize_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%	(/ 4FZ1B	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(c1h1(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(UUE@lÐUUEPlÉUS]e@uuSP…uClCpLQЋ]ÉUS]jSsCp[Q@$P]ÐU=u1=uh .v ÐUvUWVE}UBBBtB(Bl^_ÉUUS]=@uuuuuSP …uC0C4YLQЋ]ÐU=u1=uh`.vUvUVS]ƃjLPSs$C&C8CHe[^ÉUVSu]VC0$Ve[^UVSu]jSjjSFXC0^Xe[^ÐUWVS}uum9tX0@0PW؃9uVuJe[^_ÉUWVS}EXXtBS9r(uC0UBXC0F0C0Eދ[0ue[^_ÉUWVS]EC0CXƍ{\CtLuQ[^_ÍvUVSEp$@$9tP؋9ue[^ÉUWVS]}uVSEPu;C\T!ƒuSRC\PPEP …uzWu!jWPujWPuuWjWMAPEQEe[^_Ð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ÐUvUVS]ƃhPSs$C-CxCC DC$C0C4CHC`CdChClCte[^ÐUvUC%$>$>:;II<&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%@#
&@#
'@#FJVSiglResEv l	"gF#r$r%rR&rE'W(WRef)}Y,rm-rY.W/W12Wn3W4W5W6W7WBT: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
#
`#
#Pnt	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-3ITZkv|Fngg}}})/IgY)TZfwqw}}}T
W
(39Ng'
Y_tgYYBgQYY}"gQQY
-3NY}}iY_gY}9ȎgY&	ɹY&	RY#
,g,cY
=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 )\#tSNC *:%$ 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 cW+ 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-
g<Hr[sV:Y
9#>IO,;֮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 99<BC_STRING_MAX 1000=COLL_WEIGHTS_MAX 0>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<NAME_MAX 255=NGROUPS_MAX 16?OPEN_MAX 64APATH_MAX 1024BPIPE_BUF 512CIOV_MAX 1024Mmps_message_type_finalization() MPS_MESSAGE_TYPE_FINALIZATIONNmps_message_type_gc() MPS_MESSAGE_TYPE_GC[MPS_RANK_AMBIG mps_rank_ambig()\MPS_RANK_EXACT mps_rank_exact()]MPS_RANK_WEAK mps_rank_weak()bMPS_RM_CONST (((mps_rm_t)1<<0))cMPS_RM_PROT (((mps_rm_t)1<<1))xMPS_SAC_CLASS_LIMIT ((size_t)8)mps_sac_classes_s mps_sac_class_sMPS_BEGIN do {MPS_END } while(0)MPS_SAC_ALLOC_FAST(res_o,p_o,sac,size,has_reservoir_permit) 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 != 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 {<END } while(0)FRVALUE(expr) ((void)0, (expr))PNOOP do {} while(0)ZSTR_(x) #x[STR(x) STR_(x)hDISCARD(expr) BEGIN (void)sizeof((expr)!=0); ENDtDISCARD_STAT(stat) BEGIN if (0) stat; ENDUNUSED(param) ((void)param)PARENT(type,field,p) ((type *)(void *)((char *)(p) - offsetof(type, field)))BS_EMPTY(ty) ((ty)0)BS_COMP(s) (~(s))BS_UNIV(ty) BS_COMP(BS_EMPTY(ty))BS_SINGLE(ty,i) ((ty)1 << (i))BS_IS_MEMBER(s,i) (((s) >> (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)<EventPoolFinish ((EventType)0xEFB07F14)=EventPoolAlloc ((EventType)0xEFB07A77)>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)); END#BTRes(a,i) BEGIN (a)[((i)>>MPS_WORD_SHIFT)] &= ~((Word)1 << ((i) & ~((Word)-1<<MPS_WORD_SHIFT))); END#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),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`FL0B	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
000#030C0S0d0y00000000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(UUWVS}GEOMw];]s4uM	ƅEtڃCPWtwe[^_ÍvUE@ÐUWVSE@EURUMy];]sW3uM	DžEtԃSuUu+;ut}t+EM롋Exe[^_ÉUWVSEEURUMIMExUUmM9MsZuUUÐt߃؃tFuM	DžEtσFPuUtMy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)PSuvUEƒt)щUVSu]SC9uSe[^ÍvUMEu
AUÉU ÉUPuuvUUUPuu$dH$dHLLC%$>$>:;II<:;
:;I8
	
'II'

:;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#mdU!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.c9VVVIrr-;V9d9r:I;W,rd0eV	crd,H:H:V,H:Irr.eV1tWg=,Ԫ.=Ard?=:W-:;:YHXd:Y.:::8hd,&/d,	+,dV:XTJ,XW1/;:9js:*KVV
c<.tVX<\:VW-<d,+<,t<ZRrJJ:rr;VdeG;;dU;;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 16fmtdy_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 99<BC_STRING_MAX 1000=COLL_WEIGHTS_MAX 0>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<NAME_MAX 255=NGROUPS_MAX 16?OPEN_MAX 64APATH_MAX 1024BPIPE_BUF 512CIOV_MAX 1024Mmps_message_type_finalization() MPS_MESSAGE_TYPE_FINALIZATIONNmps_message_type_gc() MPS_MESSAGE_TYPE_GC[MPS_RANK_AMBIG mps_rank_ambig()\MPS_RANK_EXACT mps_rank_exact()]MPS_RANK_WEAK mps_rank_weak()bMPS_RM_CONST (((mps_rm_t)1<<0))cMPS_RM_PROT (((mps_rm_t)1<<1))xMPS_SAC_CLASS_LIMIT ((size_t)8)mps_sac_classes_s mps_sac_class_sMPS_BEGIN do {MPS_END } while(0)MPS_SAC_ALLOC_FAST(res_o,p_o,sac,size,has_reservoir_permit) 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 != 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.xAB
 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_weakmdylan_paddylan_fmt_Adylan_fmt_Bdylan_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	b62u<Jq	Xc0TJ}	cPL	dM 	d0M; R%ERV	Y		i2 A;LXL;hs$!~Hd9  @` 
xj$+&5
A
MWhpw

fmtdy.cdylan_scan_contigdylan_scan_contig_weakdylan_scan_patdylan_scandylan_classdylan_scan_weakdylan_skipdylan_copydylan_isfwddylan_fwddylan_fmt_A_sdylan_fmt_B_sdylan_fmt_A_weak_sdylan_fmt_B_weak_sdylan_wrapper_checkdylan_weak_dependentdylan_scan1mps_fixdylan_scan1_weakmemcpydylan_paddylan_fmt_Adylan_fmt_Bdylan_fmtmps_fmt_create_Bno_copyno_fwdno_isfwdno_paddylan_fmt_A_weakdylan_fmt_B_weakdylan_fmt_weak  j!<"%'-''#$(,048#<DHL(P)T*X+dhl(p)t*x+|!%*18?MX_fmt{'2=JU+3AO]y.9=doz?EPUYiw)8GV*9HW$2GSW^m $;GKR`o
	J	z								












#+/_s{-9=EQUamqx'04TXlp DHhl,0HL`dx|fmtno.o/        1169001830  1001  1001  100644  18488     `
ELF	>4(UÉUÉUÍvUÍvUÉUÍvUÉUÉU ÉUPuuC%$>$>:;II<:;
:;I8
	
'II'

:;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==<Y<X=<X=;;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
fmtno_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 99<BC_STRING_MAX 1000=COLL_WEIGHTS_MAX 0>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<NAME_MAX 255=NGROUPS_MAX 16?OPEN_MAX 64APATH_MAX 1024BPIPE_BUF 512CIOV_MAX 1024Mmps_message_type_finalization() MPS_MESSAGE_TYPE_FINALIZATIONNmps_message_type_gc() MPS_MESSAGE_TYPE_GC[MPS_RANK_AMBIG mps_rank_ambig()\MPS_RANK_EXACT mps_rank_exact()]MPS_RANK_WEAK mps_rank_weak()bMPS_RM_CONST (((mps_rm_t)1<<0))cMPS_RM_PROT (((mps_rm_t)1<<1))xMPS_SAC_CLASS_LIMIT ((size_t)8)mps_sac_classes_s mps_sac_class_sMPS_BEGIN do {MPS_END } while(0)MPS_SAC_ALLOC_FAST(res_o,p_o,sac,size,has_reservoir_permit) 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 != 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
04HL`dx|poolawl.o/      1169001830  1001  1001  100644  78560     `
ELF	4(UUE@H@LÉUEǀǀǀǀǀÉUWVSU]}BE؃E@ESuuuVuPÃ NXEEƃ4uVuEPÃEG0uVuEPÃEG4uVuEPÃunEG8UW<Rjw0ujw4ujw8juuEG@GPY7QGDW}3Vw4uVw0uuURe[^_UWVS]C0~SNX4Vs8WVs4WVs0WCP[Q@$Pe[^_U=u1=uh .v ÐUvUVS]ƃjLPSs$CCTC`Ce[^ÍvUMUB@tP=t;v
,=tBD;vvvÉUMUE@D9PLu@HPLÐUEǀÉUMUB@tCExu$zDtBDBDR5UWVS<EE@\]K!upƍ}jjuVEPjVuuuSVPEP …u
UċEЍe[^_ÍvUWVS]}S9rgEHXPs<js8EPEP t8UCJXUPECUJXUPEЍe[^_ÉUWVS}UG0BhjwEPÃuoEG\WjPG`PÃuFw,GXLJLJLJWLJ7zQ
u؍e[^_UWVS}w$G$9tP؋9uLJ[QG`Pw\e[^_UWVS}}W$2$9trvZ]SuN[u9u3UEHXB@;Er uuREPEP uJ6G$9uuuWuPEP …uyUB@EBEUB@u)Ƌ]KX])SVr8SVEp0SVEp4E))X@UEUEe[^_ÍvUWVSuǃ@PE)֋EHXE)9sSVw8)G@e[^_UWVS}u]9tSVw0SVw4e[^_ÐUWVS]EEPǃu'Ur<jRuUB eUBpW)KX_T)PjuNEp<SP>uÉ<$WT)‰)ЋUB UBUJ	Pue[^_UWVS}u]9sSVw0SVw4e[^_UWVS]CUJ߃C	PS$tQCpSÉ$)UJXPjWFw<CT)UJXPW,vs<jSve[^_UEp<jp4UWVS}EWEPuEPƃtuujuuWuEPÃuE)UBPtuuv؍e[^_ÉUWVS8EEPU@0E؋}UG@EGE]WE܃t'PU;BTtREEE;];]uU܋ZT+EUJXG8uEX,UZ8SR Eԃ}u"G0tKG4u?uSEp0uuuN uEUW4	E؋@8)EԋUB,Uԍ\!;]#e[^_ÉUWVS}uEEFЅG؃SVuWEPZ tUu}uҋEWVu7e[^_ÉUWVS]EEUMA S0+B8‹MA9PMA+pKXMAt)C,HuMA8utMA0uSE@ xuU8MQ0	UBMAPRvȍe[^_ÉUWVS,EEEEUUH0MB@EB@Ez<QMA8uF%EHXMMԃutDuÉ$;Eu'S;CTtCT+uEHXEԋUB8PR ËM+Y8UB,\!É+}EHXMQ0t-WVRWVEp4E܉+EE؃?WVUr0WVMq4WVEp8)UB@M9q<UB@+EUJX)MEUMQEH!Rue[^_UWVS}uWuVgt8uuWuV t
tEvWuV1vuuWuuuWuV؍e[^_ÉUWVSEEUUH0MBpuZ]9ut6uÉ$9uS;CTt	sT+]EHXMA8كu
]s,nEp8VP NjM+y8UB,|!ljMA0كt)]C4tuuuEp0VU ;ue[^_ÍvU=u1=uh.vÐUvUVS]ƃhPSs$C&CCC C$CtC0 C4`C8hC<C@	CD	CHCL`CP`CTp
Cle[^ÐUvU?C%$>$>:;II<&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
/
:;014:;I24:;I34:;I?
44:;I?
8><int8WN
	:=_L	|ScN
W7z.
E"	@}"
$@#
%@#
T&@#
'@#FVSiglResE l	"#r$r%r&r'WI(WRef)},r-r.WD/W1*2W3WX4W5W?6W	7WBT: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	
cO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$#
7wS$#
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}Gtzg
}}}}}}
  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{cC
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<H:#:*MV
TITI,Vd
-;;eHsftԜd;t,<:;<;>+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 99<BC_STRING_MAX 1000=COLL_WEIGHTS_MAX 0>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<NAME_MAX 255=NGROUPS_MAX 16?OPEN_MAX 64APATH_MAX 1024BPIPE_BUF 512CIOV_MAX 1024Mmps_message_type_finalization() MPS_MESSAGE_TYPE_FINALIZATIONNmps_message_type_gc() MPS_MESSAGE_TYPE_GC[MPS_RANK_AMBIG mps_rank_ambig()\MPS_RANK_EXACT mps_rank_exact()]MPS_RANK_WEAK mps_rank_weak()bMPS_RM_CONST (((mps_rm_t)1<<0))cMPS_RM_PROT (((mps_rm_t)1<<1))xMPS_SAC_CLASS_LIMIT ((size_t)8)mps_sac_classes_s mps_sac_class_sMPS_BEGIN do {MPS_END } while(0)MPS_SAC_ALLOC_FAST(res_o,p_o,sac,size,has_reservoir_permit) 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 != 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 {<END } while(0)FRVALUE(expr) ((void)0, (expr))PNOOP do {} while(0)ZSTR_(x) #x[STR(x) STR_(x)hDISCARD(expr) BEGIN (void)sizeof((expr)!=0); ENDtDISCARD_STAT(stat) BEGIN if (0) stat; ENDUNUSED(param) ((void)param)PARENT(type,field,p) ((type *)(void *)((char *)(p) - offsetof(type, field)))BS_EMPTY(ty) ((ty)0)BS_COMP(s) (~(s))BS_UNIV(ty) BS_COMP(BS_EMPTY(ty))BS_SINGLE(ty,i) ((ty)1 << (i))BS_IS_MEMBER(s,i) (((s) >> (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)<EventPoolFinish ((EventType)0xEFB07F14)=EventPoolAlloc ((EventType)0xEFB07A77)>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)); END#BTRes(a,i) BEGIN (a)[((i)>>MPS_WORD_SHIFT)] &= ~((Word)1 << ((i) & ~((Word)-1<<MPS_WORD_SHIFT))); END#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),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			
jr`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\4k4z444444444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=7A7X74d7i74v76{747747747B747C747D747E74774
8	
		1014H1L`1d11111(1,@1DX1\t1x1111H1Ll1p11111 @1Dh1l1111014P1Th1l11

syntax highlighted by Code2HTML, v. 0.9.1