Restructure of mono.sln and build properties to better fix static/dynamic library...
[mono.git] / docs / ir-desc
index 25ad5c11564defcb0e19d66e0b570c4ce2dcbfdf..0c1ab531f0b03c94e7e2bfd72f867193753312c8 100644 (file)
@@ -1,5 +1,52 @@
 Mono Intermediate Representation Documentation
 
+Operation: OP_ADDCC_IMM
+
+       Add immediate that will set the carry flag.  
+
+       dreg:
+               Destination register
+       inst_imm
+               Immediate value to add.
+       sreg1:
+               Source register to add.
+
+Operation: OP_CALL_HANDLER.
+
+       cil_code: 
+               Points to the CIL where the LEAVE or LEAVE_S
+               instruction was found.
+
+       inst_target_bb:
+               The target basic block for this invocation.
+
+       This instruction must call the target basic block.
+       
+Operation: OP_CISINST
+
+       Implements the CEE_MONO_CISINST opcode that is decoded from
+       the CIL stream.
+
+       This opcode takes as input an object reference and a class,
+       and leaves on the assigned register:
+
+               0. if the object is an instance of the class,
+               1. if the object is not instance of the class,
+               2. if the object is a proxy whose type cannot be determined.
+
+Operation: OP_CCASTCLASS
+
+       Implements the CEE_MONO_CCASTCLASS opcode that is decoded from
+       the CIL stream.
+
+       This opcode takes as input an object reference and a class,
+       and leaves on the assigned register:
+
+               0. if the object is an instance of the class,
+               1. if the object is a proxy whose type cannot be determined
+
+               throws an InvalidCastException exception otherwise.
+
 Operation: OP_LOCALLOC
        inst_left:
                The value 
@@ -16,15 +63,13 @@ Operation: OP_LOCALLOC
        does this, for example: ifyou're doing the s390 port I suggest
        starting from that)
 
-Operation: OP_CALL_HANDLER.
-
-       cil_code: 
-               Points to the CIL where the LEAVE or LEAVE_S
-               instruction was found.
+Operation: OP_SUBCC_IMM
 
-       inst_target_bb:
-               The target basic block for this invocation.
+       Substract immediate that will set the borrow flag.
 
-       This instruction must call the target basic block.
-       
-       
\ No newline at end of file
+       dreg:
+               Destination register
+       inst_imm
+               Immediate value to add.
+       sreg1:
+               Source register to add.