aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGravatar Jarred Sumner <709451+Jarred-Sumner@users.noreply.github.com> 2022-11-27 07:24:43 -0800
committerGravatar Jarred Sumner <709451+Jarred-Sumner@users.noreply.github.com> 2022-11-27 07:24:43 -0800
commit46678c46ee413a2239946a6cdd746149fbcc5261 (patch)
tree05f00adca92c6782c8e3ab7fff15de6b161d484c
parente8d948b9d94a7300086868c392bb1a3faa84e9b0 (diff)
downloadbun-46678c46ee413a2239946a6cdd746149fbcc5261.tar.gz
bun-46678c46ee413a2239946a6cdd746149fbcc5261.tar.zst
bun-46678c46ee413a2239946a6cdd746149fbcc5261.zip
Now that utf16 is fast we can just count the length instead of re-allocating
-rw-r--r--src/baby_list.zig6
1 files changed, 1 insertions, 5 deletions
diff --git a/src/baby_list.zig b/src/baby_list.zig
index 20ad935f9..6b60b92c6 100644
--- a/src/baby_list.zig
+++ b/src/baby_list.zig
@@ -374,7 +374,7 @@ pub fn BabyList(comptime Type: type) type {
const initial = this.len;
{
defer this.update(list_);
- try list_.ensureTotalCapacityPrecise(list_.items.len + str.len + 4);
+ try list_.ensureTotalCapacityPrecise(list_.items.len + strings.elementLengthUTF16IntoUTF8([]const u16, str));
var remain = str;
while (remain.len > 0) {
@@ -384,10 +384,6 @@ pub fn BabyList(comptime Type: type) type {
const result = strings.copyUTF16IntoUTF8(slice_, []const u16, remain);
remain = remain[result.read..];
list_.items.len += @as(usize, result.written);
- if (remain.len > 0) {
- try list_.ensureTotalCapacityPrecise(list_.items.len + strings.elementLengthUTF16IntoUTF8([]const u16, remain));
- continue;
- }
if (result.read == 0 or result.written == 0) break;
}
}