You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Perhaps the logic could be generated directly at the fir stage without crossing fir->ir?
Now
Source
interfaceMyInterface {
suspendfunrun(times:Int): Int
@JvmBlocking
funrunBlocking(times:Int): Int
}
FIR
interfaceMyInterface {
@JvmSynthetic
suspendfunrun(times:Int): Int
@JvmBlocking
funrunBlocking(times:Int): Int // Generated FIR synthetic function
}
IR
interfaceMyInterface {
@JvmSynthetic
@TargetMarker(value ="The unique target id for IR to searh it")
suspendfunrun(times:Int): Int
@JvmBlocking
funrunBlocking(times:Int): Int= `$runInBlocking$`({ run(times) }, thisas?CoroutineScope)
// Include body in IR//
}
Planned
Source
interfaceMyInterface {
suspendfunrun(times:Int): Int
@JvmBlocking
funrunBlocking(times:Int): Int
}
FIR
interfaceMyInterface {
@JvmSynthetic
suspendfunrun(times:Int): Int// Generated bridge private inline function for `runBlocking` without body
@Suppress("NOTHING_TO_INLINE")
privateinlinefun__run_runBlocking_suspendTransform_0(noinline block:suspend () ->Int): Int// Generated FIR synthetic function with actually bodyfunrunBlocking(times:Int): Int=__run_runBlocking_suspendTransform_0({ run(times) })
}
IR
interfaceMyInterface {
@JvmSynthetic
suspendfunrun(times:Int): Int// Generate body for this bridge function in IR directly, without search
@JvmSynthetic
@Suppress("NOTHING_TO_INLINE")
privateinlinefun__run_runBlocking_suspendTransform_0(noinline block:suspend () ->Int): Int {
return `$runInBlocking$`(block, thisas?CoroutineScope)
}
funrunBlocking(times:Int): Int=__run_runBlocking_suspendTransform_0({ run(times) })
}
The text was updated successfully, but these errors were encountered:
Perhaps the logic could be generated directly at the fir stage without crossing fir->ir?
Now
Source
FIR
IR
Planned
Source
FIR
IR
The text was updated successfully, but these errors were encountered: