Changes between Version 21 and Version 22 of Language


Ignore:
Timestamp:
05/19/23 17:34:12 (3 years ago)
Author:
siegel
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • Language

    v21 v22  
    537537Function `$hide` wraps a pointer object in another object which is opaque to the reachability analyzer, i.e., the analyzer will not look inside this object and therefore will not find the hidden pointer.   Nothing can be done with this hidden pointer until it is "revealed", i.e., extracted from the opaque object.   The function `$hidden` tells whether its argument is a value returned by `$hide`.
    538538
    539 === `$is_derefable`
     539=== Checking whether a pointer dereference is safe: `$is_derefable`
     540
     541This function has signature
     542{{{
     543$system $state_f _Bool $is_derefable(void * ptr);
     544}}}
     545and determines if it is safe to evaluate (read) `*ptr`.
     546This means `ptr` points to a memory location that is capable of and is currently holding a value of type T, where T is the type of `*ptr`.
    540547
    541548=== `$is_terminated`
    542549
    543 === `$local_end`
    544 
    545 === `$local_start`
     550Signature:
     551{{{
     552$system _Bool $is_terminated($proc p);
     553}}}
     554Determines whether `p` identifies a process that has terminated.
     555If `p` is undefined or `$proc_null`, returns 0.
     556
     557=== Modifying the dependence relation: `$local_start` and `$local_end`
     558
    546559
    547560=== Heap memory allocation: `$malloc` and `$free`