Ignore:
Timestamp:
Jul 21, 2009, 3:28:11 PM (15 years ago)
Author:
buchmann
Message:

Now detects if SystemCASS correctly handles runtime compilation with the current architecture. SystemCASS exits if runtime compilation is not supported. Use --nodynamiclink options if it exits. This may occur on 64 bits machines.

Usage help is more readable.

Code cleanup.

Add some code for the coming soon openMP feature.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • sources/src/schedulers.cc

    r33 r38  
    201201  }
    202202
    203         SignalDependencyGraph* sig_graph = MakeSignalDependencyGraph ();
     203  SignalDependencyGraph* sig_graph = MakeSignalDependencyGraph ();
    204204
    205205  if (dump_all_graph)
    206206    SignalDependencyGraph2dot ("signal_graph",*sig_graph);
    207207
    208         if (!Check (*sig_graph))
    209         {
    210                 cerr << "The signal dependency graph is not valid.\n";
     208  if (!Check (*sig_graph))
     209  {
     210    cerr << "The signal dependency graph is not valid.\n";
    211211    exit (29092004);
    212         }
     212  }
    213213
    214214#if 1
     
    219219  }
    220220#endif
    221        
    222         // There is a cycle in the signal dependency graph ?
     221 
     222  // There is a cycle in the signal dependency graph ?
    223223  Graph *sig_knuth = makegraph (*sig_graph);
    224         strong_component_list_t *s = strong_component(sig_knuth);
     224  strong_component_list_t *s = strong_component(sig_knuth);
    225225
    226226  if (dump_all_graph)
    227227    SignalDependencyOrder2txt ("signal_order",*s);
    228228
    229         if (has_cycle (*s))
    230         {
    231                 cerr << "Error : There is a cycle in the signal dependency graph.\n";
     229  if (has_cycle (*s))
     230  {
     231    cerr << "Error : There is a cycle in the signal dependency graph.\n";
    232232#if 0
    233233    print_cycle (cerr, get_cycle (*s));
    234234#endif
    235235    exit (24092004);
    236         }
     236  }
    237237  return sig_graph;
    238238}
     
    249249
    250250  if (dump_all_graph)
    251         ProcessDependencyList2dot  ("process_order",*process_list);
    252 
    253         return process_list;
     251    ProcessDependencyList2dot  ("process_order",*process_list);
     252
     253  return process_list;
    254254}
    255255
     
    260260  SignalDependencyGraph *sig_graph = MakeAcyclicSignalDependencyGraph ();
    261261  // Create the process evaluation list
    262         ProcessDependencyList* process_list = MakeProcessDependencyList (*sig_graph);
     262  ProcessDependencyList* process_list = MakeProcessDependencyList (*sig_graph);
    263263
    264264  if (dump_all_graph)
    265         ProcessDependencyList2dot  ("process_order",*process_list);
    266 
    267         return process_list;
     265    ProcessDependencyList2dot  ("process_order",*process_list);
     266
     267  return process_list;
    268268}
    269269
     
    290290    // Uses port dependancies like Dr. Mouchard.
    291291    ProcessDependencyList* process_list = BuchmannScheduling ();
    292         if (dynamic_link_of_scheduling_code)
    293                 base_name = gen_scheduling_code_for_dynamic_link (transition_func_list, moore_func_list,*process_list);
    294         else
    295                 gen_scheduling_code_for_static_func (transition_func_list, moore_func_list, *process_list);
     292  if (dynamic_link_of_scheduling_code)
     293    base_name = gen_scheduling_code_for_dynamic_link (transition_func_list, moore_func_list,*process_list);
     294  else
     295    gen_scheduling_code_for_static_func (transition_func_list, moore_func_list, *process_list);
    296296    break;
    297297  }
     
    303303    // and does not use an event-driven scheduler.
    304304    ProcessDependencyList* process_list = MouchardScheduling ();
    305         if (dynamic_link_of_scheduling_code)
    306                 base_name = gen_scheduling_code_for_dynamic_link(transition_func_list, moore_func_list,*process_list);
    307         else
    308                 gen_scheduling_code_for_static_func (transition_func_list, moore_func_list, *process_list);
     305  if (dynamic_link_of_scheduling_code)
     306    base_name = gen_scheduling_code_for_dynamic_link(transition_func_list, moore_func_list,*process_list);
     307  else
     308    gen_scheduling_code_for_static_func (transition_func_list, moore_func_list, *process_list);
    309309    break;
    310310  }
     
    317317      graph2dot("module_graph", *g);
    318318    strong_component_list_t *strong_list = strong_component (g);
    319         if (dynamic_link_of_scheduling_code)
    320                 base_name = gen_scheduling_code_for_dynamic_link(transition_func_list, moore_func_list,*strong_list);
    321         else
    322                 gen_scheduling_code_for_quasistatic_func (transition_func_list, moore_func_list, *strong_list);
     319  if (dynamic_link_of_scheduling_code)
     320    base_name = gen_scheduling_code_for_dynamic_link(transition_func_list, moore_func_list,*strong_list);
     321  else
     322    gen_scheduling_code_for_quasistatic_func (transition_func_list, moore_func_list, *strong_list);
    323323    break;
    324324  }
Note: See TracChangeset for help on using the changeset viewer.