[Wasm][Stdlib] Use array copy in String.toCharArray()
And don't use copy during internal non-mutating algorithms
This commit is contained in:
@@ -14,7 +14,7 @@ internal fun exportString(src: String?): Int {
|
|||||||
|
|
||||||
val retAddr = unsafeGetScratchRawMemory(INT_SIZE_BYTES + src.length * CHAR_SIZE_BYTES)
|
val retAddr = unsafeGetScratchRawMemory(INT_SIZE_BYTES + src.length * CHAR_SIZE_BYTES)
|
||||||
wasm_i32_store(retAddr, src.length)
|
wasm_i32_store(retAddr, src.length)
|
||||||
unsafeCharArrayToRawMemory(src.toCharArray(), retAddr + INT_SIZE_BYTES)
|
unsafeCharArrayToRawMemory(src.chars, retAddr + INT_SIZE_BYTES)
|
||||||
return retAddr
|
return retAddr
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -288,7 +288,7 @@ public actual fun CharArray.concatToString(startIndex: Int, endIndex: Int): Stri
|
|||||||
*/
|
*/
|
||||||
@SinceKotlin("1.3")
|
@SinceKotlin("1.3")
|
||||||
@ExperimentalStdlibApi
|
@ExperimentalStdlibApi
|
||||||
public actual fun String.toCharArray(): CharArray = this.chars
|
public actual fun String.toCharArray(): CharArray = this.chars.copyOf()
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Returns a [CharArray] containing characters of this string or its substring.
|
* Returns a [CharArray] containing characters of this string or its substring.
|
||||||
|
|||||||
Reference in New Issue
Block a user