/* The loop body start is the first bblock in the order they will be emitted */
MonoBasicBlock *h = cfg->bblocks [i];
MonoBasicBlock *body_start = h;
+#if defined(__native_client_codegen__)
+ MonoInst *inst;
+#endif
GList *l;
for (l = h->loop_blocks; l; l = l->next) {
}
}
+#if defined(__native_client_codegen__)
+ /* Instrument the loop (GC back branch safe point) */
+ MONO_INST_NEW (cfg, inst, OP_NACL_GC_SAFE_POINT);
+ inst->dreg = mono_alloc_dreg (cfg, STACK_I4);
+ mono_bblock_insert_before_ins (body_start, NULL, inst);
+#endif
body_start->loop_body_start = 1;
}
}