[inferbo] Fix path of allocsite in declaration

Reviewed By: mbouaziz

Differential Revision: D13057595

fbshipit-source-id: 04bda78c0
master
Sungkeun Cho 6 years ago committed by Facebook Github Bot
parent 42b16d45fa
commit 50ebea5faa

@ -157,9 +157,10 @@ module Exec = struct
Itv.make_sym ~unsigned:true pname symbol_table (Itv.SymbolPath.length path) new_sym_num Itv.make_sym ~unsigned:true pname symbol_table (Itv.SymbolPath.length path) new_sym_num
) )
in in
let deref_path = Itv.SymbolPath.index path in
let allocsite = let allocsite =
let alloc_num = Itv.Counter.next new_alloc_num in let alloc_num = Itv.Counter.next new_alloc_num in
Allocsite.make pname ~node_hash ~inst_num ~dimension:alloc_num ~path:(Some path) Allocsite.make pname ~node_hash ~inst_num ~dimension:alloc_num ~path:(Some deref_path)
in in
let mem = let mem =
let arr = let arr =
@ -172,13 +173,12 @@ module Exec = struct
|> Dom.Mem.init_array_relation allocsite ~offset ~size ~size_exp_opt:None |> Dom.Mem.init_array_relation allocsite ~offset ~size ~size_exp_opt:None
in in
let deref_loc = Loc.of_allocsite allocsite in let deref_loc = Loc.of_allocsite allocsite in
let path = Itv.SymbolPath.index path in
let represents_multiple_values = let represents_multiple_values =
match array_kind with CSymArray_Array -> true | CSymArray_Pointer -> false match array_kind with CSymArray_Array -> true | CSymArray_Pointer -> false
(* unsound but avoids many FPs for non-array pointers *) (* unsound but avoids many FPs for non-array pointers *)
in in
decl_sym_val pname path tenv ~node_hash location ~represents_multiple_values ~depth deref_loc decl_sym_val pname deref_path tenv ~node_hash location ~represents_multiple_values ~depth
typ mem deref_loc typ mem
let decl_sym_java_ptr : let decl_sym_java_ptr :

Loading…
Cancel
Save