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 2797 - (view) (download)

1 : jhr 2708 // Allocate the program's world
2 :     //
3 :     @PREFIX@World_t *@PREFIX@New ()
4 : jhr 1718 {
5 :     @PREFIX@World_t *wrld = NEW(@PREFIX@World_t);
6 :     if (wrld == 0)
7 : jhr 2786 return 0;
8 : jhr 1718
9 : jhr 2786 wrld->name = ProgramName;
10 :     wrld->errors = biffMsgNew("DIDEROT");
11 : jhr 1862
12 :     if (wrld->errors == 0) {
13 :     FREE (wrld);
14 : jhr 2786 return 0;
15 : jhr 1862 }
16 :    
17 : jhr 2786 wrld->verboseFlg = false;
18 :     wrld->nStrandTys = 1; /* FIXME */
19 :     wrld->strandDesc = &Strand_@STRAND@;
20 : jhr 2780
21 :     #ifndef DIDEROT_NO_GLOBALS
22 : jhr 1806 wrld->globals = NEW(@PREFIX@Globals_t);
23 :     if (wrld->globals == 0) {
24 : jhr 2786 biffMsgNix (wrld->errors);
25 : jhr 1862 FREE (wrld);
26 : jhr 1806 return 0;
27 :     }
28 : jhr 2780 #endif
29 : jhr 1806
30 : jhr 1829 #ifdef DIDEROT_TARGET_PARALLEL
31 : jhr 2786 wrld->sched = NEW(Diderot_Sched_t);
32 : jhr 2708 if (wrld->sched == 0) {
33 : jhr 2786 biffMsgNix (wrld->errors);
34 :     FREE(wrld->globals);
35 :     FREE(wrld);
36 :     return 0;
37 : jhr 1829 }
38 : jhr 2708 #endif
39 :    
40 :     return wrld;
41 :    
42 :     }
43 :    
44 :     // Initialize the program's world
45 :     //
46 :     bool @PREFIX@Init (@PREFIX@World_t *wrld)
47 :     {
48 :     #ifdef DIDEROT_TARGET_PARALLEL
49 :     if (Diderot_GetNumCPUs(&(wrld->sched->cpuInfo))
50 :     || (pthread_mutex_init (&(wrld->sched->lock), 0) != 0)
51 :     || (pthread_cond_init (&(wrld->sched->barrier), 0) != 0)
52 :     || (pthread_cond_init (&(wrld->sched->runWait), 0) != 0)) {
53 : jhr 2786 biffMsgAdd (wrld->errors, "unable to initialize scheduler structures");
54 : jhr 2708 return true;
55 :     }
56 : jhr 1831 wrld->sched->numWorkers = wrld->sched->cpuInfo.numHWCores;
57 : jhr 1917 wrld->sched->numActive = 0;
58 :     #else /* DIDEROT_TARGET_C */
59 :     wrld->numActive = 0;
60 : jhr 1829 #endif
61 :    
62 : jhr 2797 #if !defined(DIDEROT_STANDALONE_EXEC) && !defined(DIDEROT_NO_INPUTS)
63 : jhr 2048 // initialize the defined flags for the input globals
64 :     @PREFIX@InitDefined (wrld);
65 :     #endif
66 : jhr 1718
67 : jhr 2708 return false;
68 : jhr 1727
69 : jhr 1718 }

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