X-Git-Url: http://wien.tomnetworks.com/gitweb/?p=mate.git;a=blobdiff_plain;f=Mate%2FTypes.hs;fp=Mate%2FTypes.hs;h=eea9550e37e36ae72df49b2537c24e55fa28681c;hp=bff97df650a9b87d0679c643e010dd199c71a259;hb=3398391fa883278959063506c8051943aba9c4ee;hpb=ecec298c7b0723081b1aea7447eae6f04118df34 diff --git a/Mate/Types.hs b/Mate/Types.hs index bff97df..eea9550 100644 --- a/Mate/Types.hs +++ b/Mate/Types.hs @@ -5,6 +5,7 @@ module Mate.Types , BBEnd(..) , MapBB , ExceptionMap + , JpcNpcMap , RawMethod(..) , TrapMap, MethodMap, ClassMap, FieldMap , StringMap, VirtualMap, InterfaceMap @@ -58,6 +59,9 @@ data BBEnd type MapBB = M.Map BlockID BasicBlock type ExceptionMap = M.Map (Word16, Word16) [(B.ByteString, Word16)] +-- java byte code PC -> native PC +type JpcNpcMap = M.Map Word32 Int + data RawMethod = RawMethod { rawMapBB :: MapBB, rawExcpMap :: ExceptionMap, @@ -92,7 +96,7 @@ data StaticFieldInfo = StaticFieldInfo { -- B.ByteString = name of method -- NativeWord = entrypoint of method -type MethodMap = M.Map MethodInfo NativeWord +type MethodMap = M.Map MethodInfo (NativeWord, JpcNpcMap) data MethodInfo = MethodInfo { methName :: B.ByteString,