3 local-alloc screwed up consideration of high+lo_sum and created
4 reg_equivs that it shouldn't have, resulting in lo_sum with
5 uninitialized data, resulting in segv. The test has to remain
6 relatively large, since register spilling is required to twig
10 unsigned long *Local2
;
11 unsigned long *Local3
;
15 unsigned long *IntVc1
;
16 unsigned long *IntVc2
;
17 unsigned long *IntCode3
;
18 unsigned long *IntCode4
;
19 unsigned long *IntCode5
;
20 unsigned long *IntCode6
;
31 unsigned long *RDbf11
;
32 unsigned long *RDbf12
;
44 unsigned long frames1
;
45 unsigned long frames2
;
46 unsigned long nonShared
;
55 unsigned long frames7
;
67 unsigned long sharedAttached
;
68 unsigned long totalAttached
;
69 long avgPercentShared
;
70 unsigned long numberOfFreeFrames
;
71 unsigned long localDirtyPageCount
;
72 unsigned long globalDirtyPageCount
;
74 unsigned long numActiveProcesses
;
75 unsigned long numRecentActiveProcesses
;
76 unsigned long gemDirtyPageKinds
[10];
77 unsigned long stoneDirtyPageKinds
[10];
78 unsigned long gemsInCacheCount
;
79 long targetFreeFrameCount
;
116 unsigned long sessionStats
[40];
122 ShrPcMonStatSType monitor
;
123 ShrPcGemStatSType gem
;
130 ShrPcCommonStatSType cmn
;
131 union ShrPcStatUnion u
;
150 WorkEntrySType Workspace
;
153 setStatPointers (ShrPcStatsSType
* statsPtr
, long sessionId
)
155 statsPtr
->sessionId
= sessionId
;
156 statsPtr
->cmn
.a1
= 0;
157 statsPtr
->cmn
.n1
= 5;
159 Local1
= &statsPtr
->cmn
.local1
;
160 Local2
= &statsPtr
->cmn
.local2
;
161 Local3
= &statsPtr
->cmn
.local3
;
162 RDbf1
= &statsPtr
->cmn
.rdbf1
;
163 RDbf2
= &statsPtr
->cmn
.rdbf2
;
164 RDbf3
= &statsPtr
->cmn
.milli
;
167 IntVc1
= &statsPtr
->u
.gem
.a1
;
168 IntVc2
= &statsPtr
->u
.gem
.a2
;
169 IntCode3
= &statsPtr
->u
.gem
.a3
;
170 IntCode4
= &statsPtr
->u
.gem
.a4
;
171 IntCode5
= &statsPtr
->u
.gem
.a5
;
172 IntCode6
= &statsPtr
->u
.gem
.a6
;
175 WorkEntrySType
*workSpPtr
;
176 workSpPtr
= &Workspace
;
177 workSpPtr
->p1
= &statsPtr
->u
.gem
.a7
;
178 workSpPtr
->p2
= &statsPtr
->u
.gem
.a8
;
179 workSpPtr
->p3
= &statsPtr
->u
.gem
.a9
;
180 workSpPtr
->p4
= &statsPtr
->u
.gem
.a10
;
181 workSpPtr
->p5
= &statsPtr
->u
.gem
.a11
;
182 workSpPtr
->p6
= &statsPtr
->u
.gem
.a12
;
183 workSpPtr
->p7
= &statsPtr
->u
.gem
.a13
;
184 workSpPtr
->p8
= &statsPtr
->u
.gem
.a14
;
185 workSpPtr
->p9
= &statsPtr
->u
.gem
.a15
;
186 workSpPtr
->p10
= &statsPtr
->u
.gem
.a16
;
187 workSpPtr
->p11
= &statsPtr
->u
.gem
.a17
;
189 Lom1
= &statsPtr
->u
.gem
.c1
;
190 Lom2
= &statsPtr
->u
.gem
.c2
;
191 Lom3
= &statsPtr
->u
.gem
.c3
;
192 Lom4
= &statsPtr
->u
.gem
.c4
;
193 Lom5
= &statsPtr
->u
.gem
.c5
;
194 Lom6
= &statsPtr
->u
.gem
.c6
;
195 Lom7
= &statsPtr
->u
.gem
.c7
;
196 Lom8
= &statsPtr
->u
.gem
.c8
;
197 Lom9
= &statsPtr
->u
.gem
.c9
;
198 Lom10
= &statsPtr
->u
.gem
.c10
;
199 RDbf11
= &statsPtr
->u
.gem
.c11
;
200 RDbf12
= &statsPtr
->u
.gem
.c12
;
205 ShrPcStatsSType stats
;
211 initPte (void *shrpcPtr
, long sessionId
)
213 ShrPcPteSType
*ptePtr
;
216 setStatPointers (&ptePtr
->stats
, sessionId
);
220 InitCache (int sessionId
)
222 initPte (0, sessionId
);
226 main (int argc
, char *argv
[])