diff options
Diffstat (limited to 'il.fun')
-rw-r--r-- | il.fun | 7 |
1 files changed, 4 insertions, 3 deletions
@@ -404,7 +404,7 @@ functor IL(P: PARSER) = struct (if onStack then Addr else Reg) id end - fun getOffset ea field = #1 $ valOf $ P.getFieldInfo (P.getT ea) field + fun getOffset t field = #1 $ valOf $ P.getFieldInfo t field fun computeFieldFromVReg ctx v offset = let @@ -418,7 +418,7 @@ functor IL(P: PARSER) = struct fun convFieldAccessByV ctx ea field: ev = let val v: ev = convExpr ctx ea - val offset = getOffset ea field + val offset = getOffset (P.getT ea) field in case v of Addr v => computeFieldFromVReg ctx v offset @@ -429,7 +429,8 @@ functor IL(P: PARSER) = struct let val v = convExpr ctx ea - val offset = getOffset ea field + val () = printfn `"TYPE: " P.Pctype (P.getT ea) % + val offset = getOffset (P.pointsTo $ P.getT ea)field in case v of Reg v => computeFieldFromVReg ctx v offset |