@@ -197,20 +197,18 @@ type Summary<'Info> =
197197// Note, this is a different notion of "size" to the one used for inlining heuristics
198198//-------------------------------------------------------------------------
199199
200- let rec SizeOfValueInfos ( arr : _ []) =
201- let n = arr.Length
202- let rec go i acc = if i>= nthen accelse max acc( SizeOfValueInfo arr.[ i])
203- go0 0
200+ let rec SizeOfValueInfos ( arr : _ []) =
201+ if arr.Length<= 0 then 0 else max0 ( SizeOfValueInfo arr.[ 0 ])
204202
205203and SizeOfValueInfo x =
206204match xwith
207205| SizeValue( vdepth,_ v) -> vdepth(* terminate recursion at CACHED size nodes*)
208206| ConstValue(_ x,_) -> 1
209207| UnknownValue-> 1
210208| ValValue(_ vr, vinfo) -> SizeOfValueInfo vinfo+ 1
211- | TupleValue vinfos
209+ | TupleValue vinfos
212210| RecdValue(_, vinfos)
213- | UnionCaseValue(_, vinfos) -> 1 + SizeOfValueInfos vinfos
211+ | UnionCaseValue(_, vinfos) -> 1 + SizeOfValueInfos vinfos
214212| CurriedLambdaValue(_ lambdaId,_ arities,_ bsize,_ expr',_ ety) -> 1
215213| ConstExprValue(_ size,_) -> 1
216214