[kotlin compiler][update] 1.2.70-dev-83

- Revert "Use local Kotlin jars built from 372e2c5c"
This commit is contained in:
Vasily Levchenko
2018-07-02 18:36:28 +03:00
parent c9e7a4faed
commit cb916d017b
12 changed files with 32 additions and 69 deletions
+7 -9
View File
@@ -129,27 +129,25 @@ configurations {
}
}
def localKotlinCompilerModule = project.files("libs/kotlin-compiler.jar")
dependencies {
kotlin_compiler_jar localKotlinCompilerModule
kotlin_stdlib_jar project.files("libs/kotlin-stdlib.jar")
kotlin_reflect_jar project.files("libs/kotlin-reflect.jar")
kotlin_script_runtime_jar project.files("libs/kotlin-script-runtime.jar")
kotlin_compiler_jar "$kotlinCompilerModule@jar"
kotlin_stdlib_jar "$kotlinStdLibModule@jar"
kotlin_reflect_jar "$kotlinReflectModule@jar"
kotlin_script_runtime_jar "$kotlinScriptRuntimeModule@jar"
kotlin_common_stdlib_src kotlinCommonStdlibModule
compilerCompile "com.google.protobuf:protobuf-java:${protobufVersion}"
compilerCompile localKotlinCompilerModule
compilerCompile kotlinCompilerModule
compilerCompile kotlinNativeInterop['llvm'].configuration
compilerCompile kotlinNativeInterop['hash'].configuration
compilerCompile "org.jetbrains.kotlin:kotlin-native-shared:$konanVersion"
cli_bcCompile localKotlinCompilerModule
cli_bcCompile kotlinCompilerModule
cli_bcCompile "org.jetbrains.kotlin:kotlin-native-shared:$konanVersion"
cli_bcCompile sourceSets.compiler.output
bc_frontendCompile localKotlinCompilerModule
bc_frontendCompile kotlinCompilerModule
cli_bc sourceSets.cli_bc.output
}
@@ -362,7 +362,7 @@ internal class KonanSymbols(context: Context, val symbolTable: SymbolTable): Sym
override val coroutineSuspendedGetter = symbolTable.referenceSimpleFunction(
coroutinesIntrinsicsPackage
.getContributedVariables(COROUTINE_SUSPENDED_NAME, NoLookupLocation.FROM_BACKEND)
.single().getter!!
.filterNot { it.isExpect }.single().getter!!
)
@@ -138,57 +138,6 @@ class IrFileImpl(entry: SourceManager.FileEntry) : IrFile {
//-----------------------------------------------------------------------------//
interface IrSuspensionPoint : IrExpression {
var suspensionPointIdParameter: IrVariable
var result: IrExpression
var resumeResult: IrExpression
}
interface IrSuspendableExpression : IrExpression {
var suspensionPointId: IrExpression
var result: IrExpression
}
class IrSuspensionPointImpl(startOffset: Int, endOffset: Int, type: IrType,
override var suspensionPointIdParameter: IrVariable,
override var result: IrExpression,
override var resumeResult: IrExpression)
: IrExpressionBase(startOffset, endOffset, type), IrSuspensionPoint {
override fun <R, D> accept(visitor: IrElementVisitor<R, D>, data: D): R =
visitor.visitExpression(this, data)
override fun <D> acceptChildren(visitor: IrElementVisitor<Unit, D>, data: D) {
suspensionPointIdParameter.accept(visitor, data)
result.accept(visitor, data)
resumeResult.accept(visitor, data)
}
override fun <D> transformChildren(transformer: IrElementTransformer<D>, data: D) {
suspensionPointIdParameter = suspensionPointIdParameter.transform(transformer, data) as IrVariable
result = result.transform(transformer, data)
resumeResult = resumeResult.transform(transformer, data)
}
}
class IrSuspendableExpressionImpl(startOffset: Int, endOffset: Int, type: IrType,
override var suspensionPointId: IrExpression, override var result: IrExpression)
: IrExpressionBase(startOffset, endOffset, type), IrSuspendableExpression {
override fun <R, D> accept(visitor: IrElementVisitor<R, D>, data: D): R =
visitor.visitExpression(this, data)
override fun <D> acceptChildren(visitor: IrElementVisitor<Unit, D>, data: D) {
suspensionPointId.accept(visitor, data)
result.accept(visitor, data)
}
override fun <D> transformChildren(transformer: IrElementTransformer<D>, data: D) {
suspensionPointId = suspensionPointId.transform(transformer, data)
result = result.transform(transformer, data)
}
}
internal interface IrPrivateFunctionCall : IrCall {
val virtualCallee: IrCall?
val dfgSymbol: DataFlowIR.FunctionSymbol.Declared
@@ -146,8 +146,18 @@ private class Inliner(val globalSubstituteMap: MutableMap<DeclarationDescriptor,
}
//-------------------------------------------------------------------------//
/**
* TODO: JVM inliner crashed on attempt inline this function from transform.kt with:
* j.l.IllegalStateException: Couldn't obtain compiled function body for
* public inline fun <reified T : org.jetbrains.kotlin.ir.IrElement> kotlin.collections.MutableList<T>.transform...
*/
private inline fun <reified T : IrElement> MutableList<T>.transform(transformation: (T) -> IrElement) {
forEachIndexed { i, item ->
set(i, transformation(item) as T)
}
}
private fun inlineFunction(callee: IrCall, // Call to be substituted.
private fun inlineFunction(callee: IrCall, // Call to be substituted.
caller: IrFunction): IrReturnableBlockImpl { // Function to substitute.
val copyFunctionDeclaration = copyIrElement.copy( // Create copy of original function.
@@ -22,9 +22,6 @@ import org.jetbrains.kotlin.backend.common.ir.createOverriddenDescriptor
import org.jetbrains.kotlin.backend.common.lower.*
import org.jetbrains.kotlin.backend.konan.Context
import org.jetbrains.kotlin.backend.konan.descriptors.synthesizedName
import org.jetbrains.kotlin.backend.konan.ir.IrSuspendableExpressionImpl
import org.jetbrains.kotlin.backend.konan.ir.IrSuspensionPoint
import org.jetbrains.kotlin.backend.konan.ir.IrSuspensionPointImpl
import org.jetbrains.kotlin.backend.konan.irasdescriptors.typeWith
import org.jetbrains.kotlin.descriptors.*
import org.jetbrains.kotlin.descriptors.annotations.Annotations
@@ -27,8 +27,6 @@ import org.jetbrains.kotlin.backend.konan.correspondingValueType
import org.jetbrains.kotlin.backend.konan.descriptors.isInterface
import org.jetbrains.kotlin.backend.konan.descriptors.target
import org.jetbrains.kotlin.backend.konan.getTypeConversion
import org.jetbrains.kotlin.backend.konan.ir.IrSuspendableExpression
import org.jetbrains.kotlin.backend.konan.ir.IrSuspensionPoint
import org.jetbrains.kotlin.backend.konan.ir.KonanIr
import org.jetbrains.kotlin.backend.konan.irasdescriptors.*
import org.jetbrains.kotlin.backend.konan.isValueType
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
+2 -2
View File
@@ -20,8 +20,8 @@ remoteRoot=konan_tests
#kotlinCompilerModule=org.jetbrains.kotlin:kotlin-compiler:1.1-SNAPSHOT
# Download artifacts of https://teamcity.jetbrains.com/viewType.html?buildTypeId=Kotlin_120_Compiler
testDataVersion=1226829:id
kotlinCompilerRepo=https://teamcity.jetbrains.com/guestAuth/app/rest/builds/buildType:(id:Kotlin_dev_CompilerAllPlugins),number:1.2.60-dev-794,tag:kotlin-native,pinned:true/artifacts/content/maven
kotlinVersion=1.2.60-dev-794
kotlinCompilerRepo=https://teamcity.jetbrains.com/guestAuth/app/rest/builds/buildType:(id:Kotlin_dev_CompilerAllPlugins),number:1.2.70-dev-83,tag:kotlin-native,pinned:true/artifacts/content/maven
kotlinVersion=1.2.70-dev-83
konanVersion=0.8
org.gradle.jvmargs='-Dfile.encoding=UTF-8'
@@ -111,3 +111,14 @@ public actual inline fun <R, T> (suspend R.() -> T).startCoroutineUninterceptedO
receiver: R,
completion: Continuation<T>
): Any? = (this as Function2<R, Continuation<T>, Any?>).invoke(receiver, completion)
/**
* This value is used as a return value of [suspendCoroutineOrReturn] `block` argument to state that
* the execution was suspended and will not return any result immediately.
*/
@SinceKotlin("1.1")
public actual val COROUTINE_SUSPENDED: Any = CoroutineSuspendedMarker
private object CoroutineSuspendedMarker