+
+/* branchref *****************************************************************/
+
+struct branchref {
+ s4 branchmpc; /* patching position in code segment */
+ s4 condition; /* conditional branch condition */
+ s4 reg; /* register number to check */
+ u4 options; /* branch options */
+ branchref *next; /* next element in branchref list */
+};
+
+
+/* branch_label_ref_t *********************************************************/
+
+struct branch_label_ref_t {
+ s4 mpc; /* position in code segment */
+ s4 label; /* label number */
+ s4 condition; /* conditional branch condition */
+ s4 reg; /* register number to check */
+ u4 options; /* branch options */
+ listnode_t linkage;
+};
+
+
+/* critical_section_ref_t *****************************************************/
+
+struct critical_section_ref_t {
+ s4 start; /* relative offset to method entry-point */
+ s4 end;
+ s4 restart;
+ listnode_t linkage;
+};
+
+
+/* jumpref ********************************************************************/
+
+struct jumpref {
+ s4 tablepos; /* patching position in data segment */
+ basicblock *target; /* target basic block */
+ jumpref *next; /* next element in jumpref list */
+};
+
+
+/* dataref ********************************************************************/
+
+struct dataref {
+ s4 datapos; /* patching position in generated code */
+ dataref *next; /* next element in dataref list */
+};
+
+
+/* linenumberref **************************************************************/
+
+struct linenumberref {
+ s4 tablepos; /* patching position in data segment */
+ s4 linenumber; /* line number, used for inserting into the */
+ /* table and for validity checking */
+ /* -1......start of inlined body */
+ /* -2......end of inlined body */
+ /* <= -3...special entry with methodinfo * */
+ /* (see doc/inlining_stacktrace.txt) */
+ ptrint targetmpc; /* machine code program counter of first */
+ /* instruction for given line */
+ /* NOTE: for linenumber <= -3 this is a the */
+ /* (methodinfo *) of the inlined method */
+ linenumberref *next; /* next element in linenumberref list */