Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commit34dcb7d

Browse files
addaleaxaduh95
authored andcommitted
src: create strings inFIXED_ONE_BYTE_STRING as internalized
These string keys can generally be assumed to be long-lived.PR-URL:#59826Reviewed-By: James M Snell <jasnell@gmail.com>Reviewed-By: Juan José Arboleda <soyjuanarbol@gmail.com>Reviewed-By: Gerhard Stöbich <deb2001-github@yahoo.de>Reviewed-By: Chengzhong Wu <legendecas@gmail.com>
1 parent4d748ad commit34dcb7d

File tree

2 files changed

+36
-27
lines changed

2 files changed

+36
-27
lines changed

‎src/util-inl.h‎

Lines changed: 16 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -159,33 +159,34 @@ constexpr ContainerOfHelper<Inner, Outer> ContainerOf(Inner Outer::*field,
159159

160160
inline v8::Local<v8::String>OneByteString(v8::Isolate* isolate,
161161
constchar* data,
162-
int length) {
163-
returnv8::String::NewFromOneByte(isolate,
164-
reinterpret_cast<constuint8_t*>(data),
165-
v8::NewStringType::kNormal,
166-
length).ToLocalChecked();
162+
int length,
163+
v8::NewStringType type) {
164+
returnv8::String::NewFromOneByte(
165+
isolate,reinterpret_cast<constuint8_t*>(data), type, length)
166+
.ToLocalChecked();
167167
}
168168

169169
inline v8::Local<v8::String>OneByteString(v8::Isolate* isolate,
170170
constsignedchar* data,
171-
int length) {
172-
returnv8::String::NewFromOneByte(isolate,
173-
reinterpret_cast<constuint8_t*>(data),
174-
v8::NewStringType::kNormal,
175-
length).ToLocalChecked();
171+
int length,
172+
v8::NewStringType type) {
173+
returnv8::String::NewFromOneByte(
174+
isolate,reinterpret_cast<constuint8_t*>(data), type, length)
175+
.ToLocalChecked();
176176
}
177177

178178
inline v8::Local<v8::String>OneByteString(v8::Isolate* isolate,
179179
constunsignedchar* data,
180-
int length) {
181-
returnv8::String::NewFromOneByte(
182-
isolate, data,v8::NewStringType::kNormal, length)
180+
int length,
181+
v8::NewStringType type) {
182+
returnv8::String::NewFromOneByte(isolate, data,type, length)
183183
.ToLocalChecked();
184184
}
185185

186186
inline v8::Local<v8::String>OneByteString(v8::Isolate* isolate,
187-
std::string_view str) {
188-
returnOneByteString(isolate, str.data(), str.size());
187+
std::string_view str,
188+
v8::NewStringType type) {
189+
returnOneByteString(isolate, str.data(), str.size(), type);
189190
}
190191

191192
charToLower(char c) {

‎src/util.h‎

Lines changed: 20 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -330,29 +330,37 @@ class KVStore {
330330
};
331331

332332
// Convenience wrapper around v8::String::NewFromOneByte().
333-
inline v8::Local<v8::String>OneByteString(v8::Isolate* isolate,
334-
constchar* data,
335-
int length = -1);
333+
inline v8::Local<v8::String>OneByteString(
334+
v8::Isolate* isolate,
335+
constchar* data,
336+
int length = -1,
337+
v8::NewStringType type = v8::NewStringType::kNormal);
336338

337339
// For the people that compile with -funsigned-char.
338-
inline v8::Local<v8::String>OneByteString(v8::Isolate* isolate,
339-
constsignedchar* data,
340-
int length = -1);
340+
inline v8::Local<v8::String>OneByteString(
341+
v8::Isolate* isolate,
342+
constsignedchar* data,
343+
int length = -1,
344+
v8::NewStringType type = v8::NewStringType::kNormal);
341345

342-
inline v8::Local<v8::String>OneByteString(v8::Isolate* isolate,
343-
constunsignedchar* data,
344-
int length = -1);
346+
inline v8::Local<v8::String>OneByteString(
347+
v8::Isolate* isolate,
348+
constunsignedchar* data,
349+
int length = -1,
350+
v8::NewStringType type = v8::NewStringType::kNormal);
345351

346-
inline v8::Local<v8::String>OneByteString(v8::Isolate* isolate,
347-
std::string_view str);
352+
inline v8::Local<v8::String>OneByteString(
353+
v8::Isolate* isolate,
354+
std::string_view str,
355+
v8::NewStringType type = v8::NewStringType::kNormal);
348356

349357
// Used to be a macro, hence the uppercase name.
350358
template<std::size_t N>
351359
requires(N >0)
352360
inline v8::Local<v8::String>FIXED_ONE_BYTE_STRING(v8::Isolate* isolate,
353361
constchar (&data)[N]) {
354362
CHECK_EQ(data[N -1],'\0');
355-
returnOneByteString(isolate, data, N -1);
363+
returnOneByteString(isolate, data, N -1, v8::NewStringType::kInternalized);
356364
}
357365

358366
// tolower() is locale-sensitive. Use ToLower() instead.

0 commit comments

Comments
 (0)

[8]ページ先頭

©2009-2025 Movatter.jp