Changes between Version 55 and Version 56 of IR


Ignore:
Timestamp:
11/25/15 10:46:29 (10 years ago)
Author:
zmanchun
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • IR

    v55 v56  
    220220* Wailtall: `\waitall e` where `e` is an array of process references (`Proc`) to be waited for;
    221221* Allocation
    222  * `\allocate e, h,t,e0;`, where
     222 * `\allocate e, h, t, e0;`, where
    223223  * `h` as type `Heap`
    224224  * `t` has type `Dytype`
    225   * `e` has integer type.
    226  * Allocates `e` objects of type `t` on heap `h`
     225  * `e0` has integer type.
     226 * Allocates `e0` objects of type `t` on heap `h`
    227227 * To translate the C `malloc` you first need to figure out the type of the elements being malloced.  If the argument to malloc is `n`, then you first need to insert an assertion `\eq(\mod(n, \sizeof_type(t)), 0)`, and then `\allocate(h,t,\div(n, \sizeof_t(t)))`.
    228 * Free: `\free(p);`
     228* Free: `\free p;`
    229229* Expression statement: `e;`, where `e` is side effect free except that it might contain error/exception (e.g., array index out of bound, division by zero);
    230230* Noop: `;`
     
    233233* Atomic_enter: `\atomic_enter;`
    234234* Atomic_exit: `\atomic_exit;`
    235 * Parfor_spawn: `\parfor_spawn(int i,j,..: dom) f(i,j,...);` ** Maybe `\parspawn` ? **
     235* Parfor_spawn: `\parspawn(int i,j,..: dom) f(i,j,...);`
    236236* Domain iterator: `\next(dom,i,j,…)` updates `i`, `j`, ... to be the value of the inter tuple in `dom` after `(i, j, ...)`
    237237* For_dom_enter (for domains): `\for_enter(i,j,k..: dom);`