I am implementing a simple thread-escape analysis, but cannot figure out 
how to interact with CIL's points-to analysis module properly.

Define an escaped value as follows:

1. Every global variable escapes.

2. Everything reachable via pointers from an escaped value also escapes.

I hoped that Ptranal.absloc_e_transitive_points_to would help me 
implement the second clause.  However, this function expects an 
expression, not a varinfo.  I tried building a new expression around my 
global variable's varinfo:

   Ptranal.absloc_e_transitive_points_to (Lval (Var v, NoOffset))

However, this fails with a Not_found exception:

   Raised at file "hashtbl.ml", line 93, characters 19-28
   Called from file "src/ext/pta/ptranal.ml", line 554, characters 33-48
   ...

So how can I get the transitive closure (across pointers) of the 
points-to set of a global variable?  Any hints would be greatly appreciated.

------------------------------------------------------------------------------
Let Crystal Reports handle the reporting - Free Crystal Reports 2008 30-Day 
trial. Simplify your report design, integration and deployment - and focus on 
what you do best, core application coding. Discover what's new with
Crystal Reports now.  http://p.sf.net/sfu/bobj-july
_______________________________________________
CIL-users mailing list
CIL-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/cil-users

Reply via email to