Home My Page Projects Code Snippets Project Openings diderot
Summary Activity Tracker Tasks SCM

SCM Repository

[diderot] Annotation of /branches/vis12/src/compiler/c-target/fragments/init.in
ViewVC logotype

Annotation of /branches/vis12/src/compiler/c-target/fragments/init.in

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1862 - (view) (download)

1 : jhr 1718 //! Create and allocate the program's world
2 :     @PREFIX@World_t *@PREFIX@Init ()
3 :     {
4 :     @PREFIX@World_t *wrld = NEW(@PREFIX@World_t);
5 :     if (wrld == 0)
6 :     return 0;
7 :    
8 :     wrld->name = ProgramName;
9 : jhr 1862 wrld->errors = biffMsgNew("DIDEROT");
10 :    
11 :     if (wrld->errors == 0) {
12 :     FREE (wrld);
13 :     return 0;
14 :     }
15 :    
16 : jhr 1718 wrld->verboseFlg = false;
17 :     wrld->nStrandTys = 1; /* FIXME */
18 :     wrld->strandDesc = &Strand_@STRAND@;
19 : jhr 1806 wrld->globals = NEW(@PREFIX@Globals_t);
20 : jhr 1718
21 : jhr 1806 if (wrld->globals == 0) {
22 : jhr 1862 biffMsgNix (wrld->errors);
23 :     FREE (wrld);
24 : jhr 1806 return 0;
25 :     }
26 :    
27 : jhr 1829 #ifdef DIDEROT_TARGET_PARALLEL
28 :     wrld->sched = NEW(Diderot_Sched_t);
29 :    
30 :     if ((wrld->sched == 0)
31 : jhr 1831 || Diderot_GetNumCPUs(&(wrld->sched->cpuInfo))
32 : jhr 1829 || (pthread_mutex_init (&(wrld->sched->lock), 0) != 0)
33 :     || (pthread_cond_init (&(wrld->sched->barrier), 0) != 0)
34 :     || (pthread_cond_init (&(wrld->sched->runWait), 0) != 0)) {
35 : jhr 1862 biffMsgNix (wrld->errors);
36 :     FREE (wrld->globals);
37 :     FREE (wrld->sched);
38 :     FREE (wrld);
39 : jhr 1829 return 0;
40 :     }
41 : jhr 1831 wrld->sched->numWorkers = wrld->sched->cpuInfo.numHWCores;
42 : jhr 1829 #endif
43 :    
44 : jhr 1727 // initialize the input defaults
45 :     InitDefaults (wrld);
46 : jhr 1718
47 : jhr 1727 return wrld;
48 :    
49 : jhr 1718 }

root@smlnj-gforge.cs.uchicago.edu
ViewVC Help
Powered by ViewVC 1.0.0