@@ -2175,8 +2175,10 @@ mono_postprocess_patches (MonoCompile *cfg)
21752175 case MONO_PATCH_INFO_SWITCH : {
21762176 gpointer * table ;
21772177 if (cfg -> method -> dynamic ) {
2178+ MONO_SCOPE_ENABLE_JIT_WRITE ();
21782179 table = (void * * )mono_code_manager_reserve (cfg -> dynamic_info -> code_mp , sizeof (gpointer ) * patch_info -> data .table -> table_size );
21792180 } else {
2181+ MONO_SCOPE_ENABLE_JIT_WRITE ();
21802182 table = (void * * )mono_domain_code_reserve (cfg -> domain , sizeof (gpointer ) * patch_info -> data .table -> table_size );
21812183 }
21822184
@@ -2301,17 +2303,24 @@ mono_codegen (MonoCompile *cfg)
23012303 if (cfg -> method -> dynamic ) {
23022304 /* Allocate the code into a separate memory pool so it can be freed */
23032305 cfg -> dynamic_info = g_new0 (MonoJitDynamicMethodInfo , 1 );
2304- cfg -> dynamic_info -> code_mp = mono_code_manager_new_dynamic ();
2306+
2307+ {
2308+ MONO_SCOPE_ENABLE_JIT_WRITE ();
2309+ cfg -> dynamic_info -> code_mp = mono_code_manager_new_dynamic ();
2310+ }
2311+
23052312 mono_domain_lock (cfg -> domain );
23062313 mono_dynamic_code_hash_insert (cfg -> domain , cfg -> method , cfg -> dynamic_info );
23072314 mono_domain_unlock (cfg -> domain );
23082315
2316+ MONO_SCOPE_ENABLE_JIT_WRITE ();
23092317 if (mono_using_xdebug )
23102318 /* See the comment for cfg->code_domain */
23112319 code = (guint8 * )mono_domain_code_reserve (code_domain , cfg -> code_size + cfg -> thunk_area + unwindlen );
23122320 else
23132321 code = (guint8 * )mono_code_manager_reserve (cfg -> dynamic_info -> code_mp , cfg -> code_size + cfg -> thunk_area + unwindlen );
23142322 } else {
2323+ MONO_SCOPE_ENABLE_JIT_WRITE ();
23152324 code = (guint8 * )mono_domain_code_reserve (code_domain , cfg -> code_size + cfg -> thunk_area + unwindlen );
23162325 }
23172326
@@ -2399,11 +2408,13 @@ mono_codegen (MonoCompile *cfg)
23992408#endif
24002409
24012410 if (cfg -> method -> dynamic ) {
2411+ MONO_SCOPE_ENABLE_JIT_WRITE ();
24022412 if (mono_using_xdebug )
24032413 mono_domain_code_commit (code_domain , cfg -> native_code , cfg -> code_size , cfg -> code_len );
24042414 else
24052415 mono_code_manager_commit (cfg -> dynamic_info -> code_mp , cfg -> native_code , cfg -> code_size , cfg -> code_len );
24062416 } else {
2417+ MONO_SCOPE_ENABLE_JIT_WRITE ();
24072418 mono_domain_code_commit (code_domain , cfg -> native_code , cfg -> code_size , cfg -> code_len );
24082419 }
24092420 MONO_PROFILER_RAISE (jit_code_buffer , (cfg -> native_code , cfg -> code_len , MONO_PROFILER_CODE_BUFFER_METHOD , cfg -> method ));
0 commit comments