@@ -157,11 +157,9 @@ static void eval_abstracttype(jl_expr_t *ex, interpreter_state *s)
157157 super = eval_value (args [2 ], s );
158158 jl_set_datatype_super (dt , super );
159159 jl_reinstantiate_inner_types (dt );
160- JL_UNLOCK (& codegen_lock );
161160 }
162161 JL_CATCH {
163162 jl_reset_instantiate_inner_types (dt );
164- JL_UNLOCK (& codegen_lock );
165163 b -> value = temp ;
166164 jl_rethrow ();
167165 }
@@ -170,6 +168,7 @@ static void eval_abstracttype(jl_expr_t *ex, interpreter_state *s)
170168 jl_checked_assignment (b , w );
171169 }
172170 JL_GC_POP ();
171+ JL_UNLOCK (& codegen_lock );
173172}
174173
175174static void eval_primitivetype (jl_expr_t * ex , interpreter_state * s )
@@ -211,11 +210,9 @@ static void eval_primitivetype(jl_expr_t *ex, interpreter_state *s)
211210 super = eval_value (args [3 ], s );
212211 jl_set_datatype_super (dt , super );
213212 jl_reinstantiate_inner_types (dt );
214- JL_UNLOCK (& codegen_lock );
215213 }
216214 JL_CATCH {
217215 jl_reset_instantiate_inner_types (dt );
218- JL_UNLOCK (& codegen_lock );
219216 b -> value = temp ;
220217 jl_rethrow ();
221218 }
@@ -224,6 +221,7 @@ static void eval_primitivetype(jl_expr_t *ex, interpreter_state *s)
224221 jl_checked_assignment (b , w );
225222 }
226223 JL_GC_POP ();
224+ JL_UNLOCK (& codegen_lock );
227225}
228226
229227static void eval_structtype (jl_expr_t * ex , interpreter_state * s )
@@ -275,11 +273,9 @@ static void eval_structtype(jl_expr_t *ex, interpreter_state *s)
275273 }
276274 }
277275 jl_reinstantiate_inner_types (dt );
278- JL_UNLOCK (& codegen_lock );
279276 }
280277 JL_CATCH {
281278 jl_reset_instantiate_inner_types (dt );
282- JL_UNLOCK (& codegen_lock );
283279 b -> value = temp ;
284280 jl_rethrow ();
285281 }
@@ -291,6 +287,7 @@ static void eval_structtype(jl_expr_t *ex, interpreter_state *s)
291287 }
292288
293289 JL_GC_POP ();
290+ JL_UNLOCK (& codegen_lock );
294291}
295292
296293// method definition form
0 commit comments