[K/N][codegen][runtime] Removed remnants of main thread init logic
This commit is contained in:
+2
-3
@@ -387,7 +387,6 @@ internal class CodeGeneratorVisitor(val context: Context, val lifetimes: Map<IrE
|
||||
val parameterScope = ParameterScope(fileInitFunction, functionGenerationContext)
|
||||
using(parameterScope) usingParameterScope@{
|
||||
using(VariableScope()) usingVariableScope@{
|
||||
// TODO: remove unused parameter.
|
||||
context.llvm.initializersGenerationState.topLevelFields
|
||||
.filter { it.storageKind == FieldStorageKind.THREAD_LOCAL }
|
||||
.filterNot { it.shouldBeInitializedEagerly }
|
||||
@@ -789,7 +788,7 @@ internal class CodeGeneratorVisitor(val context: Context, val lifetimes: Map<IrE
|
||||
if (declaration.origin == DECLARATION_ORIGIN_FILE_GLOBAL_INITIALIZER) {
|
||||
require(context.llvm.initializersGenerationState.globalInitFunction == null) { "There can only be at most one global file initializer" }
|
||||
require(body == null) { "The body of file initializer should be null" }
|
||||
require(declaration.valueParameters.singleOrNull()?.type == context.irBuiltIns.booleanType) { "File initializer must take a single boolean parameter" }
|
||||
require(declaration.valueParameters.isEmpty()) { "File initializer must be parameterless" }
|
||||
require(declaration.returnsUnit()) { "File initializer must return Unit" }
|
||||
context.llvm.initializersGenerationState.globalInitFunction = declaration
|
||||
context.llvm.initializersGenerationState.globalInitState = getGlobalInitStateFor(declaration.parent as IrFile)
|
||||
@@ -798,7 +797,7 @@ internal class CodeGeneratorVisitor(val context: Context, val lifetimes: Map<IrE
|
||||
|| declaration.origin == DECLARATION_ORIGIN_FILE_STANDALONE_THREAD_LOCAL_INITIALIZER) {
|
||||
require(context.llvm.initializersGenerationState.threadLocalInitFunction == null) { "There can only be at most one thread local file initializer" }
|
||||
require(body == null) { "The body of file initializer should be null" }
|
||||
require(declaration.valueParameters.singleOrNull()?.type == context.irBuiltIns.booleanType) { "File initializer must take a single boolean parameter" }
|
||||
require(declaration.valueParameters.isEmpty()) { "File initializer must be parameterless" }
|
||||
require(declaration.returnsUnit()) { "File initializer must return Unit" }
|
||||
context.llvm.initializersGenerationState.threadLocalInitFunction = declaration
|
||||
context.llvm.initializersGenerationState.threadLocalInitState = getThreadLocalInitStateFor(declaration.parent as IrFile)
|
||||
|
||||
+1
-2
@@ -41,7 +41,7 @@ internal val IrFunction.isFileInitializer: Boolean
|
||||
|| origin == DECLARATION_ORIGIN_FILE_STANDALONE_THREAD_LOCAL_INITIALIZER
|
||||
|
||||
internal fun IrBuilderWithScope.irCallFileInitializer(initializer: IrFunctionSymbol) =
|
||||
irCall(initializer).apply { putValueArgument(0, irFalse()) }
|
||||
irCall(initializer)
|
||||
|
||||
internal val IrField.shouldBeInitializedEagerly: Boolean
|
||||
get() {
|
||||
@@ -106,7 +106,6 @@ internal class FileInitializersLowering(val context: Context) : FileLoweringPass
|
||||
returnType = context.irBuiltIns.unitType
|
||||
}.apply {
|
||||
parent = irFile
|
||||
addValueParameter("isMainThread", context.irBuiltIns.booleanType)
|
||||
irFile.declarations.add(0, this)
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user