KT-20844 Re-enable stack spilling during inline.
`dx` has entered the final stage of sunset: https://android-developers.googleblog.com/2020/02/the-path-to-dx-deprecation.html
This commit is contained in:
committed by
max-kammerer
parent
c9ed27e674
commit
e3184e407d
@@ -150,12 +150,7 @@ abstract class InlineCodegen<out T : BaseExpressionCodegen>(
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@Suppress("UNREACHABLE_CODE")
|
|
||||||
private fun canSkipStackSpillingOnInline(methodNode: MethodNode): Boolean {
|
private fun canSkipStackSpillingOnInline(methodNode: MethodNode): Boolean {
|
||||||
// TODO: Temporary disable this optimization until
|
|
||||||
// https://issuetracker.google.com/issues/68796377 is fixed
|
|
||||||
// or until d8 substitute dex
|
|
||||||
return false
|
|
||||||
// Stack spilling before inline function 'f' call is required if:
|
// Stack spilling before inline function 'f' call is required if:
|
||||||
// - 'f' is a suspend function
|
// - 'f' is a suspend function
|
||||||
// - 'f' has try-catch blocks
|
// - 'f' has try-catch blocks
|
||||||
|
|||||||
@@ -9,6 +9,6 @@ fun foo() : Int {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// fake inline variables occupy 2 ISTOREs.
|
// fake inline variables occupy 2 ISTOREs.
|
||||||
// 5 ISTORE
|
// 3 ISTORE
|
||||||
// 7 ILOAD
|
// 5 ILOAD
|
||||||
// 0 InlineMarker
|
// 0 InlineMarker
|
||||||
|
|||||||
Reference in New Issue
Block a user