Skip to content

Commit bdd8c13

Browse files
committed
address pr reviews
1 parent 4cec6dc commit bdd8c13

File tree

1 file changed

+12
-14
lines changed

1 file changed

+12
-14
lines changed

src/encoding_binding.cc

Lines changed: 12 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -197,24 +197,23 @@ void BindingData::EncodeInto(const FunctionCallbackInfo<Value>& args) {
197197

198198
char* write_result = static_cast<char*>(buf->Data()) + dest->ByteOffset();
199199
size_t dest_length = dest->ByteLength();
200+
size_t read = 0;
201+
size_t written = 0;
200202

201203
// For small strings (length <= 32), use the old V8 path for better
202204
// performance
203-
if (source->Length() <= 32) {
204-
size_t nchars;
205-
size_t written =
206-
source->WriteUtf8V2(isolate,
207-
write_result,
208-
dest_length,
209-
String::WriteFlags::kReplaceInvalidUtf8,
210-
&nchars);
211-
binding_data->encode_into_results_buffer_[0] = nchars;
212-
binding_data->encode_into_results_buffer_[1] = written;
205+
static constexpr int kSmallStringThreshold = 32;
206+
if (source->Length() <= kSmallStringThreshold) {
207+
written = source->WriteUtf8V2(isolate,
208+
write_result,
209+
dest_length,
210+
String::WriteFlags::kReplaceInvalidUtf8,
211+
&read);
212+
binding_data->encode_into_results_buffer_[0] = static_cast<double>(read);
213+
binding_data->encode_into_results_buffer_[1] = static_cast<double>(written);
213214
return;
214215
}
215216

216-
size_t read = 0;
217-
size_t written = 0;
218217
v8::String::ValueView view(isolate, source);
219218
size_t length_that_fits =
220219
std::min(static_cast<size_t>(view.length()), dest_length);
@@ -230,8 +229,7 @@ void BindingData::EncodeInto(const FunctionCallbackInfo<Value>& args) {
230229
length_that_fits -= read;
231230
dest_length -= read;
232231
if (length_that_fits != 0 && dest_length != 0) {
233-
size_t rest = findBestFit(data, length_that_fits, dest_length);
234-
if (rest != 0) {
232+
if (size_t rest = findBestFit(data, length_that_fits, dest_length)) {
235233
DCHECK_LE(simdutf::utf8_length_from_latin1(data, rest), dest_length);
236234
written += simdutf::convert_latin1_to_utf8(data, rest, write_result);
237235
read += rest;

0 commit comments

Comments
 (0)