@@ -403,7 +403,7 @@ static jl_code_instance_t *jl_method_inferred_with_abi(jl_method_instance_t *mi
403403// returns the inferred source, and may cache the result in mi
404404// if successful, also updates the mi argument to describe the validity of this src
405405// if inference doesn't occur (or can't finish), returns NULL instead
406- jl_code_instance_t * jl_type_infer (jl_method_instance_t * mi , size_t world , uint8_t source_mode )
406+ jl_code_instance_t * jl_type_infer (jl_method_instance_t * mi , size_t world , uint8_t source_mode , uint8_t trim_mode )
407407{
408408 if (jl_typeinf_func == NULL ) {
409409 if (source_mode == SOURCE_MODE_ABI )
@@ -427,11 +427,12 @@ jl_code_instance_t *jl_type_infer(jl_method_instance_t *mi, size_t world, uint8_
427427 return NULL ;
428428 JL_TIMING (INFERENCE , INFERENCE );
429429 jl_value_t * * fargs ;
430- JL_GC_PUSHARGS (fargs , 4 );
430+ JL_GC_PUSHARGS (fargs , 5 );
431431 fargs [0 ] = (jl_value_t * )jl_typeinf_func ;
432432 fargs [1 ] = (jl_value_t * )mi ;
433433 fargs [2 ] = jl_box_ulong (world );
434434 fargs [3 ] = jl_box_uint8 (source_mode );
435+ fargs [4 ] = jl_box_uint8 (trim_mode );
435436 int last_errno = errno ;
436437#ifdef _OS_WINDOWS_
437438 DWORD last_error = GetLastError ();
@@ -458,7 +459,7 @@ jl_code_instance_t *jl_type_infer(jl_method_instance_t *mi, size_t world, uint8_
458459 // allocate another bit for the counter.
459460 ct -> reentrant_timing += 0b10 ;
460461 JL_TRY {
461- ci = (jl_code_instance_t * )jl_apply (fargs , 4 );
462+ ci = (jl_code_instance_t * )jl_apply (fargs , 5 );
462463 }
463464 JL_CATCH {
464465 jl_value_t * e = jl_current_exception (ct );
@@ -3196,7 +3197,7 @@ jl_code_instance_t *jl_compile_method_internal(jl_method_instance_t *mi, size_t
31963197 int should_skip_inference = !jl_is_method (mi -> def .method ) || jl_symbol_name (mi -> def .method -> name )[0 ] == '@' ;
31973198
31983199 if (!should_skip_inference ) {
3199- codeinst = jl_type_infer (mi , world , SOURCE_MODE_ABI );
3200+ codeinst = jl_type_infer (mi , world , SOURCE_MODE_ABI , jl_options . trim );
32003201 }
32013202 }
32023203
@@ -3516,7 +3517,7 @@ static void _generate_from_hint(jl_method_instance_t *mi, size_t world)
35163517{
35173518 jl_value_t * codeinst = jl_rettype_inferred_native (mi , world , world );
35183519 if (codeinst == jl_nothing ) {
3519- (void )jl_type_infer (mi , world , SOURCE_MODE_NOT_REQUIRED );
3520+ (void )jl_type_infer (mi , world , SOURCE_MODE_NOT_REQUIRED , jl_options . trim );
35203521 codeinst = jl_rettype_inferred_native (mi , world , world );
35213522 }
35223523 if (codeinst != jl_nothing ) {
@@ -3559,10 +3560,10 @@ JL_DLLEXPORT void jl_compile_method_instance(jl_method_instance_t *mi, jl_tuplet
35593560 miflags = jl_atomic_load_relaxed (& mi2 -> flags ) | JL_MI_FLAGS_MASK_PRECOMPILED ;
35603561 jl_atomic_store_relaxed (& mi2 -> flags , miflags );
35613562 if (jl_rettype_inferred_native (mi2 , world , world ) == jl_nothing )
3562- (void )jl_type_infer (mi2 , world , SOURCE_MODE_NOT_REQUIRED );
3563+ (void )jl_type_infer (mi2 , world , SOURCE_MODE_NOT_REQUIRED , jl_options . trim );
35633564 if (jl_typeinf_func && jl_atomic_load_relaxed (& mi -> def .method -> primary_world ) <= tworld ) {
35643565 if (jl_rettype_inferred_native (mi2 , tworld , tworld ) == jl_nothing )
3565- (void )jl_type_infer (mi2 , tworld , SOURCE_MODE_NOT_REQUIRED );
3566+ (void )jl_type_infer (mi2 , tworld , SOURCE_MODE_NOT_REQUIRED , jl_options . trim );
35663567 }
35673568 }
35683569 }
0 commit comments