[jit] Set the 'real_offset' field of bblocks in mono_replace_ins (), the EH code...
authorZoltan Varga <vargaz@gmail.com>
Tue, 14 Jun 2016 19:36:44 +0000 (15:36 -0400)
committerZoltan Varga <vargaz@gmail.com>
Tue, 14 Jun 2016 19:36:44 +0000 (15:36 -0400)
mono/mini/branch-opts.c
mono/mini/method-to-ir.c

index ca8289b81c8313619b3f5c3e5fec193c4a503298..cab90f84d3de89b717e58beaf13e98419f440afa 100644 (file)
@@ -209,9 +209,11 @@ mono_replace_ins (MonoCompile *cfg, MonoBasicBlock *bb, MonoInst *ins, MonoInst
 
                /* Multiple BBs */
 
-               /* Set region */
-               for (tmp = first_bb; tmp; tmp = tmp->next_bb)
+               /* Set region/real_offset */
+               for (tmp = first_bb; tmp; tmp = tmp->next_bb) {
                        tmp->region = bb->region;
+                       tmp->real_offset = bb->real_offset;
+               }
 
                /* Split the original bb */
                if (ins->next)
index c7f1e40b9cd027a6bde28ed8c89b82997e7eff64..382bd377664760dc314bfa7cf908401031d89225 100644 (file)
@@ -14991,7 +14991,8 @@ mono_spill_global_vars (MonoCompile *cfg, gboolean *need_local_opts)
        g_free (live_range_end_bb);
 }
 
-static void mono_decompose_typecheck (MonoCompile *cfg, MonoBasicBlock *bb, MonoInst *ins)
+static void
+mono_decompose_typecheck (MonoCompile *cfg, MonoBasicBlock *bb, MonoInst *ins)
 {
        MonoInst *ret, *move, *source;
        MonoClass *klass = ins->klass;
@@ -15041,15 +15042,16 @@ static void mono_decompose_typecheck (MonoCompile *cfg, MonoBasicBlock *bb, Mono
        mono_replace_ins (cfg, bb, ins, &prev, first_bb, cfg->cbb);
 }
 
-void mono_decompose_typechecks (MonoCompile *cfg)
+void
+mono_decompose_typechecks (MonoCompile *cfg)
 {
        for (MonoBasicBlock *bb = cfg->bb_entry; bb; bb = bb->next_bb) {
-               MonoInst *c;
-               MONO_BB_FOR_EACH_INS (bb, c) {
-                       switch (c->opcode) {
+               MonoInst *ins;
+               MONO_BB_FOR_EACH_INS (bb, ins) {
+                       switch (ins->opcode) {
                        case OP_ISINST:
                        case OP_CASTCLASS:
-                               mono_decompose_typecheck (cfg, bb, c);
+                               mono_decompose_typecheck (cfg, bb, ins);
                                break;
                        }
                }