Code size of wasip1 larger than unknown-unknown

Why wasip1's code size is larger than unknown-unknown? I applied various optimizations for both (LTO, stripe=true, panic="abort") And it turns out the dlmalloc code size is larger in wasip1 target. Here is my profiling of the WAT code:

    // unknown-unknown
    Function: $_ZN8dlmalloc8dlmalloc17Dlmalloc$LT$A$GT$6malloc17h691bca9d073c4bd0E, Lines of Code: 1127
    Function: $__rust_realloc, Lines of Code: 301
    Function: $_ZN8dlmalloc8dlmalloc17Dlmalloc$LT$A$GT$4free17h6e998f38df2c2e01E, Lines of Code: 243
    Function: $alloc, Lines of Code: 216
    Function: $_ZN17compiler_builtins3mem6memcpy17ha8e38c9cafbb71b9E, Lines of Code: 189

    // wasip1
    Function: $dlmalloc, Lines of Code: 2450
    Function: $dlfree, Lines of Code: 807
    Function: $dispose_chunk, Lines of Code: 770
    Function: $realloc, Lines of Code: 559
    Function: $memcpy, Lines of Code: 525

What is the reason behind this?