new insn: fix wrong behaviour on lazy class init
[mate.git] / Mate / Types.hs
index 1978bb38fe3d8564b4ce87d2868015916239eaad..831744ab27e1c0d96e162cd16fe6de4707b86dc2 100644 (file)
@@ -28,7 +28,8 @@ type MapBB = M.Map BlockID BasicBlock
 data RawMethod = RawMethod {
   rawMapBB :: MapBB,
   rawLocals :: Int,
-  rawStackSize :: Int }
+  rawStackSize :: Int,
+  rawArgCount :: Word32 }
 
 
 -- Word32 = point of method call in generated code
@@ -39,6 +40,8 @@ data TrapCause =
   StaticMethod MethodInfo | -- for static calls
   VirtualMethod Bool MethodInfo | -- for virtual calls
   InterfaceMethod Bool MethodInfo | -- for interface calls
+  InstanceOf B.ByteString | -- class name
+  NewObject B.ByteString | -- class name
   StaticField StaticFieldInfo deriving Show
 
 data StaticFieldInfo = StaticFieldInfo {