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:
Trevor Norris authored and Fedor Indutny committed 2013-03-21 21:15:28 +04:00
1 parent 40b1c9a66d
commit f150d56915
3 files changed
+10 -7

No files matched your search

+4 -1
View File
@@ -1212,7 +1212,10 @@ ssize_t DecodeWrite(char *buf,
}
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;
}
+5 -5
View File
@@ -749,11 +749,11 @@ Handle<Value> Buffer::AsciiWrite(const Arguments &args) {
char *p = buffer->data_ + offset;
int written = s->WriteAscii(p,
0,
max_length,
(String::HINT_MANY_WRITES_EXPECTED |
String::NO_NULL_TERMINATION));
int written = s->WriteOneByte(reinterpret_cast<uint8_t*>(p),
0,
max_length,
(String::HINT_MANY_WRITES_EXPECTED |
String::NO_NULL_TERMINATION));
constructor_template->GetFunction()->Set(chars_written_sym,
Integer::New(written, node_isolate));
+1 -1
View File
@@ -392,7 +392,7 @@ Handle<Value> StreamWrap::WriteStringImpl(const Arguments& args) {
size_t data_size;
switch (encoding) {
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);
break;