Changes between Version 125 and Version 126 of IR


Ignore:
Timestamp:
12/10/15 11:17:33 (10 years ago)
Author:
zmanchun
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • IR

    v125 v126  
    542542=== the basic library `civlc` ===
    543543
     544* Type
     545 * Operation: an enumeration type of operations
     546 * Integer_iter: integer iterator type
     547
     548* set the leaf nodes of a variable to be the default value of zero
     549
     550  `fun[lib="civlc"] $set_default(obj: Pointer)`
     551
     552* apply operations to two objects
     553
     554  `fun[lib="civlc"] $apply(obj1: Pointer, op: Operation, obj2: Pointer, result: Pointer)`
     555
     556* elaborate an integer expression
     557
     558  `fun[lib="civlc"] $elaborate(x: Integer)`
     559
     560* get a unique non-negative integer for time count
     561
     562  `fun[lib="civlc"] $next_time_count()`
     563
     564* print path condition of the current state
     565
     566  `fun[lib="civlc", pure] $pathCondition()`
     567
    544568* non-deterministic choice of integer
    545569 
     
    548572  This function takes as input a positive integer `n` and nondeterministicaly returns an integer in the range `[0, n − 1]`.
    549573
     574* integer iterator operations
     575 * creation: `fun[lib="civlc"] $int_iter_create(scope: Scope, data: Pointer[Integer], size: int): Integer_iter`
     576 * has-next test: `fun[lib="civlc"] $int_iter_hasNext(iter: Integer_iter): Bool`
     577 * get next: `fun[lib="civlc"] $int_iter_next(iter: Integer_iter): Integer`
     578 * destroy: `fun[lib="civlc"] $int_iter_destroy(iter: Integer_iter)`
     579
    550580* parent of a scope
    551581
    552 `fun[lib="scope"] $scope_parent(s: Scope): Scope`
     582  `fun[lib="scope"] $scope_parent(s: Scope): Scope`
    553583
    554584This function returns the parent dynamic scope of the dynamic scope referenced by `s`. If `s` is the root dynamic scope, it returns the `scope_null`.
     
    567597* pointer translation:
    568598
    569     `fun[lib="pointer"] $translate_ptr(ptr: Pointer, obj: Pointer): Pointer`
     599   `fun[lib="pointer"] $translate_ptr(ptr: Pointer, obj: Pointer): Pointer`
    570600
    571601   this function returns a pointer which is the result of translating the pointer `ptr` (a pointer into one object) to a pointer into a different object `obj` with similar structure.
     
    604634  `fun[lib="pointer"] $pointer_add(ptr: Pointer,  offset: Integer, type_size: Integer)`
    605635 
     636=== bundle ===
     637
     638* Type: `Bundle`, which is a union type of all system types and user-defined types of a given program
     639
     640* size of bundle
     641
     642  `fun[lib="bundle", pure] $bundle_size(b: Bundle): Integer`
     643
     644* pack data into a bundle
     645
     646  `fun[lib="bundle"] $bundle_pack(ptr: Pointer, size: Integer): Bundle`
     647
     648* unpack a bundle
     649 
     650  `fun[lib="bundle"] $bundle_unpack(bundle: Bundle, ptr: Pointer)`
     651
     652* unpack a bundle and apply some operation to the data
     653
     654  `fun[lib="bundle"] $bundle_unpack_apply(data: Bundle, buf: Pointer, size: Integer, op: Operation)`
    606655
    607656=== concurrency ===
    608657
    609 * barrier operations
    610  * global barrier creation
     658==== barrier operations ====
     659* global barrier creation
    611660   
    612    `fun[lib="concurrency"] $gbarrier_create(scope: Scope, size: Integer): GBarrier`
    613 
    614  * global barrier destroy
    615 
    616    `fun[lib="concurreny"] $gbarrier_destroy(barrier: Gbarrier)`
    617 
    618  * local barrier creation
     661  `fun[lib="concurrency"] $gbarrier_create(scope: Scope, size: Integer): GBarrier`
     662
     663* global barrier destroy
     664
     665  `fun[lib="concurreny"] $gbarrier_destroy(barrier: Gbarrier)`
     666
     667* local barrier creation
    619668 
    620    `fun[lib="concurrency"] $barrier_create(scope: Scope, gbarrier: Gbarrier, place: Integer): Barrier`
    621 
    622  * local barrier destroy
     669  `fun[lib="concurrency"] $barrier_create(scope: Scope, gbarrier: Gbarrier, place: Integer): Barrier`
     670
     671* local barrier destroy
    623672 
    624    `fun[lib="concurrency"] $barrier_destroy(barrier: Barrier)`
     673  `fun[lib="concurrency"] $barrier_destroy(barrier: Barrier)`
    625674
    626675* barrier call
    627676 
    628   `fun[lib="concurrency"] $barrier_call(barrier: Barrier)`
    629 
    630 * collective records
    631  * Type: `Collect_record`, `GCollect_checker`, and `Collect_checker`
    632 
    633  * global collective checker creation
     677  `fun $barrier_call(barrier: Barrier)`
     678
     679==== collective records ====
     680* Type: `Collect_record`, `GCollect_checker`, and `Collect_checker`
     681
     682* global collective checker creation
    634683   
    635    `fun[lib="concurrency"] $gcollect_checker_create(scope: Scope): Gcollect_checker`
    636 
    637  * global collective checker destroy
     684  `fun[lib="concurrency"] $gcollect_checker_create(scope: Scope): Gcollect_checker`
     685
     686* global collective checker destroy
    638687 
    639    `fun[lib="concurrency"] $gcollect_checker_destroy(gchecker: Gcollect_checker)`
    640 
    641  * collective checker creation
    642 
    643    `fun[lib="concurrency"] $collect_checker_create(scope: Scope, gchecker: Gcollect_checker)`
    644 
    645  * collective checker destroy
     688  `fun[lib="concurrency"] $gcollect_checker_destroy(gchecker: Gcollect_checker)`
     689
     690* collective checker creation
     691
     692  `fun[lib="concurrency"] $collect_checker_create(scope: Scope, gchecker: Gcollect_checker)`
     693
     694* collective checker destroy
    646695 
    647    `fun[lib="concurrency"] $collect_checker_destroy(checker: Collect_checker)`
    648 
    649  * collective records checking
     696  `fun[lib="concurrency"] $collect_checker_destroy(checker: Collect_checker)`
     697
     698* collective records checking
    650699
    651700  `fun[lib="concurrency"] $collect_check(checker: Collect_checker, place: Integer, nprocs: Integer, entries: Bundle)`
    652701
    653    
     702
    654703
    655704