perf: micro-optimize core.encode (#14120)

This commit is contained in:
Divy Srivastava 2022-03-27 13:10:54 +05:30 committed by GitHub
parent 37b0ec454c
commit b18216a0d4
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -864,9 +864,13 @@ fn encode(
}
};
let text_str = text.to_rust_string_lossy(scope);
let zbuf: ZeroCopyBuf = text_str.into_bytes().into();
rv.set(to_v8(scope, zbuf).unwrap())
let bytes: Box<[u8]> = text_str.into_bytes().into_boxed_slice();
let len = bytes.len();
let backing_store =
v8::ArrayBuffer::new_backing_store_from_boxed_slice(bytes).make_shared();
let buffer = v8::ArrayBuffer::with_backing_store(scope, &backing_store);
let u8array = v8::Uint8Array::new(scope, buffer, 0, len).unwrap();
rv.set(u8array.into())
}
fn decode(