Ignore:
Timestamp:
Oct 15, 2011, 12:13:23 AM (8 years ago)
Author:
sacerdot
Message:

Potential bug fixed and bug found: the way pointers and labels are put in
bijection must be different between LIN and graph-like languages (bug fixed).
Moreover, in both cases it must be possible to retrieve the function from the
address and the easiest (only?) way to do that is to use the block of the
address to store the block of the function, and put the offsets in bijection
with labels/offsets, preventing pointer mangling since the pointer is in
the Code region (found, to be fixed).

File:
1 edited

Legend:

Unmodified
Added
Removed
  • src/joint/SemanticUtils.ma

    r1382 r1383  
    1919(****************************************************************************)
    2020
     21(*CSC: XXXXXXXXXXXXXXXXX bug here; we need to change the encoding so that
     22  the block is the one of the function and the offset corresponds to the
     23  label. Code pointer arithmetics must be prevented in another way, i.e.
     24  by not allowing any increment/decrement on Code regions (with the
     25  exception of LIN's succ_pc function). If we don't do that, then the
     26  find_funct_ptr (e.g. in graph_fetch_statement) are not correct! *)
    2127(*CSC: XXXX; do we need to create a brand new chunk per label, so that
    2228  pointer operations on labels are not semantically valid?
Note: See TracChangeset for help on using the changeset viewer.