Mercurial > cgi-bin > hgwebdir.cgi > VMS > VMS_Implementations > VSs_impls > VSs__MC_shared_impl
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 { |
