@@ -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