[IR BE] Add runtime compilation benchmarks for IR JS compiler
This commit is contained in:
@@ -8,18 +8,16 @@ package org.jetbrains.kotlin.library.impl
|
||||
import org.jetbrains.kotlin.library.*
|
||||
|
||||
abstract class IrWriterImpl(val irLayout: IrKotlinLibraryLayout) : IrWriter {
|
||||
init {
|
||||
irLayout.irDir.mkdirs()
|
||||
}
|
||||
|
||||
override fun addDataFlowGraph(dataFlowGraph: ByteArray) {
|
||||
irLayout.dataFlowGraphFile.writeBytes(dataFlowGraph)
|
||||
}
|
||||
}
|
||||
|
||||
class IrMonoliticWriterImpl(irLayout: IrKotlinLibraryLayout) : IrWriterImpl(irLayout) {
|
||||
class IrMonoliticWriterImpl(_irLayout: IrKotlinLibraryLayout) : IrWriterImpl(_irLayout) {
|
||||
|
||||
override fun addIr(ir: SerializedIrModule) {
|
||||
irLayout.irDir.mkdirs()
|
||||
|
||||
with(ir.files.sortedBy { it.path }) {
|
||||
IrArrayWriter(map { it.fileData }).writeIntoFile(irLayout.irFiles.absolutePath)
|
||||
IrArrayWriter(map { it.declarations }).writeIntoFile(irLayout.irDeclarations.absolutePath)
|
||||
@@ -31,8 +29,10 @@ class IrMonoliticWriterImpl(irLayout: IrKotlinLibraryLayout) : IrWriterImpl(irLa
|
||||
}
|
||||
}
|
||||
|
||||
class IrPerFileWriterImpl(irLayout: IrKotlinLibraryLayout) : IrWriterImpl(irLayout) {
|
||||
class IrPerFileWriterImpl(_irLayout: IrKotlinLibraryLayout) : IrWriterImpl(_irLayout) {
|
||||
override fun addIr(ir: SerializedIrModule) {
|
||||
irLayout.irDir.mkdirs()
|
||||
|
||||
ir.files.forEach {
|
||||
serializeFile(it)
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user