method vfunc f =
let local v =
if VarinfoHashtbl.mem cursor_to_base v then
let name = unique_name ("__jc_off_" ^ v.vname) in
let voff = makeLocalVar f ~insert:true name almost_integer_type in
VarinfoHashtbl.add cursor_to_offset v voff
in
let formal v =
if VarinfoHashtbl.mem cursor_to_base v
&& VarinfoSet.mem v assigned_vars then
begin
local v;
let voff = VarinfoHashtbl.find cursor_to_offset v in
let initst =
mkStmt(Instr(Set((Var voff,NoOffset),
constant_expr 0L,
CurrentLoc.get ())))
in
add_pending_statement ~beginning:true initst
end
else ()
in
List.iter formal f.sformals;
List.iter local f.slocals;
DoChildren