@@ -314,7 +314,6 @@ void CollisionAggregator::compact(void)
314314
315315/********************* syncReductionMgr ******************/
316316syncReductionMgr ::syncReductionMgr ()
317- :thisproxy (thisgroup )
318317{
319318 stepCount = -1 ;
320319 stepFinished = true;
@@ -339,10 +338,12 @@ void syncReductionMgr::startStep(int stepNo,bool withProd)
339338 stepFinished = false;
340339 localFinished = false;
341340 childrenCount = 0 ;
342- if (nChildren > 0 )
341+ if (nChildren > 0 ) {
342+ CProxy_syncReductionMgr proxy (ckGetGroupID ());
343343 for (int i = 0 ;i < TREE_WID ;i ++ )
344344 if (treeChildStart + i < CkNumPes ())
345- thisproxy [treeChildStart + i ].childProd (stepCount );
345+ proxy [treeChildStart + i ].childProd (stepCount );
346+ }
346347 if (withProd )
347348 pleaseAdvance ();//Advise subclass to advance
348349}
@@ -373,7 +374,7 @@ void syncReductionMgr::tryFinish(void) //Try to finish reduction
373374 {
374375 stepFinished = true;
375376 if (treeParent != -1 )
376- thisproxy [treeParent ].childDone (stepCount );
377+ CProxy_syncReductionMgr ( ckGetGroupID ()) [treeParent ].childDone (stepCount );
377378 else
378379 reductionFinished ();
379380 }
@@ -437,7 +438,7 @@ static const char * voxName(const CkIndex3D &idx,char *buf) {
437438collideMgr ::collideMgr (const CollideGrid3d & gridMap_ ,
438439 const CProxy_collideClient & client_ ,
439440 const CProxy_collideVoxel & voxels )
440- :thisproxy ( thisgroup ), voxelProxy (voxels ),
441+ :voxelProxy (voxels ),
441442 gridMap (gridMap_ ), client (client_ ), aggregator (gridMap ,this )
442443{
443444 steps = 0 ;
0 commit comments