comparison VSs.c @ 16:1ffd5df22df9

add CG instrumentation; still missing WaR hazard constraints
author Nina Engelhardt <nengel@mailbox.tu-berlin.de>
date Tue, 28 Aug 2012 15:33:16 +0200
parents 459055db7fc0
children f83fff8bd4b2
comparison
equal deleted inserted replaced
13:f8e7ee53c19a 14:ef4f6b1f95f1
95 threadTaskStub = create_thread_task_stub( initData ); 95 threadTaskStub = create_thread_task_stub( initData );
96 parentTaskStub = create_thread_task_stub( NULL ); 96 parentTaskStub = create_thread_task_stub( NULL );
97 parentTaskStub->isEnded = TRUE; 97 parentTaskStub->isEnded = TRUE;
98 parentTaskStub->numLiveChildThreads = 1; //so dissipate works for seed 98 parentTaskStub->numLiveChildThreads = 1; //so dissipate works for seed
99 threadTaskStub->parentTaskStub = parentTaskStub; 99 threadTaskStub->parentTaskStub = parentTaskStub;
100 100 threadTaskStub->slaveAssignedTo = seedSlv;
101
101 semData = (VSsSemData *)seedSlv->semanticData; 102 semData = (VSsSemData *)seedSlv->semanticData;
102 //seedVP is a thread, so has a permanent task 103 //seedVP is a thread, so has a permanent task
103 semData->needsTaskAssigned = FALSE; 104 semData->needsTaskAssigned = FALSE;
104 semData->taskStub = threadTaskStub; 105 semData->taskStub = threadTaskStub;
105 semData->slaveType = ThreadSlv; 106 semData->slaveType = ThreadSlv;
258 #ifdef HOLISTIC__TURN_ON_OBSERVE_UCC 259 #ifdef HOLISTIC__TURN_ON_OBSERVE_UCC
259 semanticEnv->unitList = makeListOfArrays(sizeof(Unit),128); 260 semanticEnv->unitList = makeListOfArrays(sizeof(Unit),128);
260 semanticEnv->ctlDependenciesList = makeListOfArrays(sizeof(Dependency),128); 261 semanticEnv->ctlDependenciesList = makeListOfArrays(sizeof(Dependency),128);
261 semanticEnv->commDependenciesList = makeListOfArrays(sizeof(Dependency),128); 262 semanticEnv->commDependenciesList = makeListOfArrays(sizeof(Dependency),128);
262 semanticEnv->dynDependenciesList = makeListOfArrays(sizeof(Dependency),128); 263 semanticEnv->dynDependenciesList = makeListOfArrays(sizeof(Dependency),128);
264 semanticEnv->dataDependenciesList = makeListOfArrays(sizeof(Dependency),128);
265 semanticEnv->singletonDependenciesList = makeListOfArrays(sizeof(Dependency),128);
263 semanticEnv->ntonGroupsInfo = makePrivDynArrayOfSize((void***)&(semanticEnv->ntonGroups),8); 266 semanticEnv->ntonGroupsInfo = makePrivDynArrayOfSize((void***)&(semanticEnv->ntonGroups),8);
264 267
265 semanticEnv->hwArcs = makeListOfArrays(sizeof(Dependency),128); 268 semanticEnv->hwArcs = makeListOfArrays(sizeof(Dependency),128);
266 memset(semanticEnv->last_in_slot,0,sizeof(NUM_CORES * NUM_ANIM_SLOTS * sizeof(Unit))); 269 memset(semanticEnv->last_in_slot,0,sizeof(NUM_CORES * NUM_ANIM_SLOTS * sizeof(Unit)));
267 #endif 270 #endif
302 //FIXME: first line still depends on counters being enabled, replace w/ unit struct! 305 //FIXME: first line still depends on counters being enabled, replace w/ unit struct!
303 //forAllInDynArrayDo(_VMSMasterEnv->counter_history_array_info, &print_dot_node_info ); 306 //forAllInDynArrayDo(_VMSMasterEnv->counter_history_array_info, &print_dot_node_info );
304 forAllInListOfArraysDo(semanticEnv->unitList, &print_unit_to_file); 307 forAllInListOfArraysDo(semanticEnv->unitList, &print_unit_to_file);
305 forAllInListOfArraysDo( semanticEnv->commDependenciesList, &print_comm_dependency_to_file ); 308 forAllInListOfArraysDo( semanticEnv->commDependenciesList, &print_comm_dependency_to_file );
306 forAllInListOfArraysDo( semanticEnv->ctlDependenciesList, &print_ctl_dependency_to_file ); 309 forAllInListOfArraysDo( semanticEnv->ctlDependenciesList, &print_ctl_dependency_to_file );
310 forAllInListOfArraysDo( semanticEnv->dataDependenciesList, &print_data_dependency_to_file );
311 forAllInListOfArraysDo( semanticEnv->singletonDependenciesList, &print_singleton_dependency_to_file );
307 forAllInDynArrayDo(semanticEnv->ntonGroupsInfo,&print_nton_to_file); 312 forAllInDynArrayDo(semanticEnv->ntonGroupsInfo,&print_nton_to_file);
308 //fprintf(output,"}\n"); 313 //fprintf(output,"}\n");
309 fflush(output); 314 fflush(output);
310 315
311 } else 316 } else
335 //FIXME: first line still depends on counters being enabled, replace w/ unit struct! 340 //FIXME: first line still depends on counters being enabled, replace w/ unit struct!
336 //forAllInDynArrayDo(_VMSMasterEnv->counter_history_array_info, &print_dot_node_info ); 341 //forAllInDynArrayDo(_VMSMasterEnv->counter_history_array_info, &print_dot_node_info );
337 forAllInListOfArraysDo( semanticEnv->unitList, &print_unit_to_file ); 342 forAllInListOfArraysDo( semanticEnv->unitList, &print_unit_to_file );
338 forAllInListOfArraysDo( semanticEnv->commDependenciesList, &print_comm_dependency_to_file ); 343 forAllInListOfArraysDo( semanticEnv->commDependenciesList, &print_comm_dependency_to_file );
339 forAllInListOfArraysDo( semanticEnv->ctlDependenciesList, &print_ctl_dependency_to_file ); 344 forAllInListOfArraysDo( semanticEnv->ctlDependenciesList, &print_ctl_dependency_to_file );
345 forAllInListOfArraysDo( semanticEnv->dataDependenciesList, &print_data_dependency_to_file );
346 forAllInListOfArraysDo( semanticEnv->singletonDependenciesList, &print_singleton_dependency_to_file );
340 forAllInListOfArraysDo( semanticEnv->dynDependenciesList, &print_dyn_dependency_to_file ); 347 forAllInListOfArraysDo( semanticEnv->dynDependenciesList, &print_dyn_dependency_to_file );
341 forAllInListOfArraysDo( semanticEnv->hwArcs, &print_hw_dependency_to_file ); 348 forAllInListOfArraysDo( semanticEnv->hwArcs, &print_hw_dependency_to_file );
342 //fprintf(output,"}\n"); 349 //fprintf(output,"}\n");
343 fflush(output); 350 fflush(output);
344 351
351 358
352 freeListOfArrays(semanticEnv->unitList); 359 freeListOfArrays(semanticEnv->unitList);
353 freeListOfArrays(semanticEnv->commDependenciesList); 360 freeListOfArrays(semanticEnv->commDependenciesList);
354 freeListOfArrays(semanticEnv->ctlDependenciesList); 361 freeListOfArrays(semanticEnv->ctlDependenciesList);
355 freeListOfArrays(semanticEnv->dynDependenciesList); 362 freeListOfArrays(semanticEnv->dynDependenciesList);
363 freeListOfArrays(semanticEnv->dataDependenciesList);
356 364
357 #endif 365 #endif
358 #ifdef HOLISTIC__TURN_ON_PERF_COUNTERS 366 #ifdef HOLISTIC__TURN_ON_PERF_COUNTERS
359 for(n=0;n<255;n++) 367 for(n=0;n<255;n++)
360 { 368 {