+ if (has_try_block_holes) {
+ MonoTryBlockHoleTableJitInfo *table;
+
+ jinfo->has_try_block_holes = 1;
+
+ table = mono_jit_info_get_try_block_hole_table_info (jinfo);
+ g_assert (table);
+
+ table->num_holes = (guint16)num_holes;
+ for (i = 0; i < num_holes; ++i) {
+ MonoTryBlockHoleJitInfo *hole = &table->holes [i];
+ hole->clause = decode_value (p, &p);
+ hole->length = decode_value (p, &p);
+ hole->offset = decode_value (p, &p);
+ }
+ }
+
+ if (has_arch_eh_jit_info) {
+ MonoArchEHJitInfo *eh_info;
+
+ jinfo->has_arch_eh_info = 1;
+
+ eh_info = mono_jit_info_get_arch_eh_info (jinfo);
+ eh_info->stack_size = decode_value (p, &p);
+ }
+
+ if (async) {
+ /* The rest is not needed in async mode */
+ jinfo->async = TRUE;
+ jinfo->d.aot_info = amodule;
+ // FIXME: Cache
+ return jinfo;
+ }
+