mirror of https://github.com/nodejs/node.git
src: write ascii strings using WriteOneByte
WriteAscii will be deprecated soon from v8, and performance has regressed. The v8 team recommended using WriteOneByte instead.
This commit is contained in:
parent
40b1c9a66d
commit
f150d56915
|
@ -1212,7 +1212,10 @@ ssize_t DecodeWrite(char *buf,
|
||||||
}
|
}
|
||||||
|
|
||||||
if (encoding == ASCII) {
|
if (encoding == ASCII) {
|
||||||
str->WriteAscii(buf, 0, buflen, String::HINT_MANY_WRITES_EXPECTED);
|
str->WriteOneByte(reinterpret_cast<uint8_t*>(buf),
|
||||||
|
0,
|
||||||
|
buflen,
|
||||||
|
String::HINT_MANY_WRITES_EXPECTED);
|
||||||
return buflen;
|
return buflen;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -749,11 +749,11 @@ Handle<Value> Buffer::AsciiWrite(const Arguments &args) {
|
||||||
|
|
||||||
char *p = buffer->data_ + offset;
|
char *p = buffer->data_ + offset;
|
||||||
|
|
||||||
int written = s->WriteAscii(p,
|
int written = s->WriteOneByte(reinterpret_cast<uint8_t*>(p),
|
||||||
0,
|
0,
|
||||||
max_length,
|
max_length,
|
||||||
(String::HINT_MANY_WRITES_EXPECTED |
|
(String::HINT_MANY_WRITES_EXPECTED |
|
||||||
String::NO_NULL_TERMINATION));
|
String::NO_NULL_TERMINATION));
|
||||||
|
|
||||||
constructor_template->GetFunction()->Set(chars_written_sym,
|
constructor_template->GetFunction()->Set(chars_written_sym,
|
||||||
Integer::New(written, node_isolate));
|
Integer::New(written, node_isolate));
|
||||||
|
|
|
@ -392,7 +392,7 @@ Handle<Value> StreamWrap::WriteStringImpl(const Arguments& args) {
|
||||||
size_t data_size;
|
size_t data_size;
|
||||||
switch (encoding) {
|
switch (encoding) {
|
||||||
case kAscii:
|
case kAscii:
|
||||||
data_size = string->WriteAscii(data, 0, -1,
|
data_size = string->WriteOneByte(reinterpret_cast<uint8_t*>(data), 0, -1,
|
||||||
String::NO_NULL_TERMINATION | String::HINT_MANY_WRITES_EXPECTED);
|
String::NO_NULL_TERMINATION | String::HINT_MANY_WRITES_EXPECTED);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue