IR: inline some transformChildren calls in IrElementTransformer{,Void}
IrElementTransformer.visitDeclaration/visitExpression are very prominent hotspots, and it seems that HotSpot doesn't optimize the inlined Kotlin bytecode there well enough. Reduce the bytecode in these and similar methods by inlining calls to also/apply/transformChildrenVoid.
This commit is contained in:
+1
-1
@@ -439,7 +439,7 @@ class BlockDecomposerTransformer(
|
||||
|
||||
private inner class ExpressionTransformer : IrElementTransformerVoid() {
|
||||
|
||||
override fun visitExpression(expression: IrExpression) = expression.transformChildren()
|
||||
override fun visitExpression(expression: IrExpression) = expression.apply { transformChildrenVoid() }
|
||||
|
||||
override fun visitGetField(expression: IrGetField): IrExpression {
|
||||
expression.transformChildrenVoid(expressionTransformer)
|
||||
|
||||
Reference in New Issue
Block a user