From 270a41a2db494c89151b25874c298a84f0738dd6 Mon Sep 17 00:00:00 2001 From: Igor Yakovlev Date: Wed, 8 Jun 2022 12:07:00 +0200 Subject: [PATCH] [WASM] Remove deprecated usage of externref --- .../kotlin/backend/wasm/ir2wasm/DeclarationGenerator.kt | 2 +- wasm/wasm.ir/src/org/jetbrains/kotlin/wasm/ir/Types.kt | 7 ++----- .../jetbrains/kotlin/wasm/ir/convertors/WasmBinaryToIR.kt | 3 +-- .../jetbrains/kotlin/wasm/ir/convertors/WasmIrToText.kt | 1 - 4 files changed, 4 insertions(+), 9 deletions(-) diff --git a/compiler/ir/backend.wasm/src/org/jetbrains/kotlin/backend/wasm/ir2wasm/DeclarationGenerator.kt b/compiler/ir/backend.wasm/src/org/jetbrains/kotlin/backend/wasm/ir2wasm/DeclarationGenerator.kt index 34ce59ac0d2..d5276f1831c 100644 --- a/compiler/ir/backend.wasm/src/org/jetbrains/kotlin/backend/wasm/ir2wasm/DeclarationGenerator.kt +++ b/compiler/ir/backend.wasm/src/org/jetbrains/kotlin/backend/wasm/ir2wasm/DeclarationGenerator.kt @@ -445,7 +445,7 @@ fun generateDefaultInitializerForType(type: WasmType, g: WasmExpressionBuilder) WasmF32 -> g.buildConstF32(0f) WasmF64 -> g.buildConstF64(0.0) is WasmRefNullType -> g.buildRefNull(type.heapType) - is WasmAnyRef -> g.buildRefNull(WasmHeapType.Simple.Extern) + is WasmAnyRef -> g.buildRefNull(WasmHeapType.Simple.Any) WasmUnreachableType -> error("Unreachable type can't be initialized") else -> error("Unknown value type ${type.name}") } diff --git a/wasm/wasm.ir/src/org/jetbrains/kotlin/wasm/ir/Types.kt b/wasm/wasm.ir/src/org/jetbrains/kotlin/wasm/ir/Types.kt index 769db51fde1..7c361a87c0f 100644 --- a/wasm/wasm.ir/src/org/jetbrains/kotlin/wasm/ir/Types.kt +++ b/wasm/wasm.ir/src/org/jetbrains/kotlin/wasm/ir/Types.kt @@ -22,8 +22,7 @@ object WasmV128 : WasmType("v128", -0x5) object WasmI8 : WasmType("i8", -0x6) object WasmI16 : WasmType("i16", -0x7) object WasmFuncRef : WasmType("funcref", -0x10) -object WasmExternRef : WasmType("externref", -0x11) -object WasmAnyRef : WasmType("anyref", -0x12) +object WasmAnyRef : WasmType("anyref", -0x11) object WasmEqRef : WasmType("eqref", -0x13) data class WasmRefNullType(val heapType: WasmHeapType) : WasmType("ref null", -0x14) @@ -45,8 +44,7 @@ sealed class WasmHeapType { sealed class Simple(val name: String, val code: Byte) : WasmHeapType() { object Func : Simple("func", -0x10) - object Extern : Simple("extern", -0x11) - object Any : Simple("any", -0x12) + object Any : Simple("any", -0x11) object Eq : Simple("eq", -0x13) @Suppress("unused") @@ -73,6 +71,5 @@ fun WasmType.getHeapType(): WasmHeapType = is WasmEqRef -> WasmHeapType.Simple.Eq is WasmAnyRef -> WasmHeapType.Simple.Any is WasmFuncRef -> WasmHeapType.Simple.Func - is WasmExternRef -> WasmHeapType.Simple.Extern else -> error("Unknown heap type for type $this") } diff --git a/wasm/wasm.ir/src/org/jetbrains/kotlin/wasm/ir/convertors/WasmBinaryToIR.kt b/wasm/wasm.ir/src/org/jetbrains/kotlin/wasm/ir/convertors/WasmBinaryToIR.kt index 44ef6cab879..c30a15057ee 100644 --- a/wasm/wasm.ir/src/org/jetbrains/kotlin/wasm/ir/convertors/WasmBinaryToIR.kt +++ b/wasm/wasm.ir/src/org/jetbrains/kotlin/wasm/ir/convertors/WasmBinaryToIR.kt @@ -468,7 +468,6 @@ class WasmBinaryToIR(val b: MyByteReader) { WasmI16, WasmFuncRef, WasmAnyRef, - WasmExternRef, WasmEqRef ).associateBy { it.code } @@ -491,7 +490,7 @@ class WasmBinaryToIR(val b: MyByteReader) { return when (code.toInt()) { 0x70 -> WasmFuncRef - 0x6F -> WasmExternRef + 0x6F -> WasmAnyRef else -> error("Unsupported heap type ${code.toString(16)}") } } diff --git a/wasm/wasm.ir/src/org/jetbrains/kotlin/wasm/ir/convertors/WasmIrToText.kt b/wasm/wasm.ir/src/org/jetbrains/kotlin/wasm/ir/convertors/WasmIrToText.kt index 82bbee2f53a..c900836ef23 100644 --- a/wasm/wasm.ir/src/org/jetbrains/kotlin/wasm/ir/convertors/WasmIrToText.kt +++ b/wasm/wasm.ir/src/org/jetbrains/kotlin/wasm/ir/convertors/WasmIrToText.kt @@ -453,7 +453,6 @@ class WasmIrToText : SExpressionBuilder() { when (type) { is WasmFuncRef -> appendElement("func") is WasmAnyRef -> appendElement("any") - is WasmExternRef -> appendElement("extern") else -> TODO() } }