From 332aca10b0d9b93b233d6531fa910a9ccd2c73b9 Mon Sep 17 00:00:00 2001 From: Zalim Bashorov Date: Wed, 7 Dec 2022 12:40:01 +0100 Subject: [PATCH] [Wasm] Require location for `buildConstI64` and fix all usages --- .../kotlin/backend/wasm/ir2wasm/DeclarationGenerator.kt | 4 ++-- .../src/org/jetbrains/kotlin/wasm/ir/WasmExpressionBuilder.kt | 4 ++-- 2 files changed, 4 insertions(+), 4 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 2a95c82d993..dc0734adcf3 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 @@ -477,7 +477,7 @@ fun generateDefaultInitializerForType(type: WasmType, g: WasmExpressionBuilder) withNoLocation("Default initializer, usually don't require location") { when (type) { WasmI32 -> g.buildConstI32(0, location) - WasmI64 -> g.buildConstI64(0) + WasmI64 -> g.buildConstI64(0, location) WasmF32 -> g.buildConstF32(0f) WasmF64 -> g.buildConstF64(0.0) is WasmRefNullType -> g.buildRefNull(type.heapType) @@ -510,7 +510,7 @@ fun generateConstExpression(expression: IrConst<*>, body: WasmExpressionBuilder, is IrConstKind.Byte -> body.buildConstI32(kind.valueOf(expression).toInt(), location) is IrConstKind.Short -> body.buildConstI32(kind.valueOf(expression).toInt(), location) is IrConstKind.Int -> body.buildConstI32(kind.valueOf(expression), location) - is IrConstKind.Long -> body.buildConstI64(kind.valueOf(expression)) + is IrConstKind.Long -> body.buildConstI64(kind.valueOf(expression), location) is IrConstKind.Char -> body.buildConstI32(kind.valueOf(expression).code, location) is IrConstKind.Float -> body.buildConstF32(kind.valueOf(expression)) is IrConstKind.Double -> body.buildConstF64(kind.valueOf(expression)) diff --git a/wasm/wasm.ir/src/org/jetbrains/kotlin/wasm/ir/WasmExpressionBuilder.kt b/wasm/wasm.ir/src/org/jetbrains/kotlin/wasm/ir/WasmExpressionBuilder.kt index e9dd82337f1..128a62a195f 100644 --- a/wasm/wasm.ir/src/org/jetbrains/kotlin/wasm/ir/WasmExpressionBuilder.kt +++ b/wasm/wasm.ir/src/org/jetbrains/kotlin/wasm/ir/WasmExpressionBuilder.kt @@ -20,8 +20,8 @@ abstract class WasmExpressionBuilder { buildInstr(WasmOp.I32_CONST, location, WasmImmediate.ConstI32(value)) } - fun buildConstI64(value: Long) { - buildInstr(WasmOp.I64_CONST, WasmImmediate.ConstI64(value)) + fun buildConstI64(value: Long, location: SourceLocation) { + buildInstr(WasmOp.I64_CONST, location, WasmImmediate.ConstI64(value)) } fun buildConstF32(value: Float) {