Skip to content

Commit 8ddb129

Browse files
committed
[MERGE chakra-core#2251 @obastemur] Update Jsrt Utf8 types and naming
Merge pull request chakra-core#2251 from obastemur:jsrt_utf8
2 parents 61db315 + adbea39 commit 8ddb129

File tree

17 files changed

+115
-210
lines changed

17 files changed

+115
-210
lines changed

bin/ch/ChakraRtInterface.cpp

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -141,9 +141,9 @@ bool ChakraRTInterface::LoadChakraDll(ArgInfo* argInfo, HINSTANCE *outLibrary)
141141
m_jsApiHooks.pfJsrtParse = (JsAPIHooks::JsrtParse)GetChakraCoreSymbol(library, "JsParse");
142142
m_jsApiHooks.pfJsrtSerialize = (JsAPIHooks::JsrtSerialize)GetChakraCoreSymbol(library, "JsSerialize");
143143
m_jsApiHooks.pfJsrtRunSerialized = (JsAPIHooks::JsrtRunSerialized)GetChakraCoreSymbol(library, "JsRunSerialized");
144-
m_jsApiHooks.pfJsrtCreateStringUtf8 = (JsAPIHooks::JsrtCreateStringUtf8)GetChakraCoreSymbol(library, "JsCreateStringUtf8");
145-
m_jsApiHooks.pfJsrtCopyStringUtf8 = (JsAPIHooks::JsrtCopyStringUtf8)GetChakraCoreSymbol(library, "JsCopyStringUtf8");
146-
m_jsApiHooks.pfJsrtCreatePropertyIdUtf8= (JsAPIHooks::JsrtCreatePropertyIdUtf8)GetChakraCoreSymbol(library, "JsCreatePropertyIdUtf8");
144+
m_jsApiHooks.pfJsrtCreateString = (JsAPIHooks::JsrtCreateString)GetChakraCoreSymbol(library, "JsCreateString");
145+
m_jsApiHooks.pfJsrtCopyString = (JsAPIHooks::JsrtCopyString)GetChakraCoreSymbol(library, "JsCopyString");
146+
m_jsApiHooks.pfJsrtCreatePropertyId = (JsAPIHooks::JsrtCreatePropertyId)GetChakraCoreSymbol(library, "JsCreatePropertyId");
147147
m_jsApiHooks.pfJsrtCreateExternalArrayBuffer = (JsAPIHooks::JsrtCreateExternalArrayBuffer)GetChakraCoreSymbol(library, "JsCreateExternalArrayBuffer");
148148

149149
m_jsApiHooks.pfJsrtTTDCreateRecordRuntime = (JsAPIHooks::JsrtTTDCreateRecordRuntimePtr)GetChakraCoreSymbol(library, "JsTTDCreateRecordRuntime");

bin/ch/ChakraRtInterface.h

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -73,10 +73,10 @@ struct JsAPIHooks
7373
typedef JsErrorCode(WINAPI *JsrtParse)(JsValueRef script, JsSourceContext sourceContext, JsValueRef sourceUrl, JsParseScriptAttributes parseAttributes, JsValueRef *result);
7474
typedef JsErrorCode(WINAPI *JsrtSerialize)(JsValueRef script, JsValueRef *buffer, JsParseScriptAttributes parseAttributes);
7575
typedef JsErrorCode(WINAPI *JsrtRunSerialized)(JsValueRef buffer, JsSerializedLoadScriptCallback scriptLoadCallback, JsSourceContext sourceContext, JsValueRef sourceUrl, JsValueRef * result);
76-
typedef JsErrorCode(WINAPI *JsrtCopyStringUtf8)(JsValueRef value, unsigned char* buffer, size_t bufferSize, size_t* written);
77-
typedef JsErrorCode(WINAPI *JsrtCreateStringUtf8)(const unsigned char *content, size_t length, JsValueRef *value);
76+
typedef JsErrorCode(WINAPI *JsrtCopyString)(JsValueRef value, char* buffer, size_t bufferSize, size_t* written);
77+
typedef JsErrorCode(WINAPI *JsrtCreateString)(const char *content, size_t length, JsValueRef *value);
7878
typedef JsErrorCode(WINAPI *JsrtCreateExternalArrayBuffer)(void *data, unsigned int byteLength, JsFinalizeCallback finalizeCallback, void *callbackState, JsValueRef *result);
79-
typedef JsErrorCode(WINAPI *JsrtCreatePropertyIdUtf8)(const char *name, size_t length, JsPropertyIdRef *propertyId);
79+
typedef JsErrorCode(WINAPI *JsrtCreatePropertyId)(const char *name, size_t length, JsPropertyIdRef *propertyId);
8080

8181
typedef JsErrorCode(WINAPI *JsrtTTDCreateRecordRuntimePtr)(JsRuntimeAttributes attributes, const byte* infoUri, size_t infoUriCount, size_t snapInterval, size_t snapHistoryLength, JsTTDInitializeForWriteLogStreamCallback writeInitializeFunction, TTDOpenResourceStreamCallback openResourceStream, JsTTDReadBytesFromStreamCallback readBytesFromStream, JsTTDWriteBytesToStreamCallback writeBytesToStream, JsTTDFlushAndCloseStreamCallback flushAndCloseStream, JsThreadServiceCallback threadService, JsRuntimeHandle *runtime);
8282
typedef JsErrorCode(WINAPI *JsrtTTDCreateReplayRuntimePtr)(JsRuntimeAttributes attributes, const byte* infoUri, size_t infoUriCount, bool enableDebugging, JsTTDInitializeForWriteLogStreamCallback writeInitializeFunction, TTDOpenResourceStreamCallback openResourceStream, JsTTDReadBytesFromStreamCallback readBytesFromStream, JsTTDWriteBytesToStreamCallback writeBytesToStream, JsTTDFlushAndCloseStreamCallback flushAndCloseStream, JsThreadServiceCallback threadService, JsRuntimeHandle *runtime);
@@ -164,9 +164,9 @@ struct JsAPIHooks
164164
JsrtParse pfJsrtParse;
165165
JsrtSerialize pfJsrtSerialize;
166166
JsrtRunSerialized pfJsrtRunSerialized;
167-
JsrtCreateStringUtf8 pfJsrtCreateStringUtf8;
168-
JsrtCopyStringUtf8 pfJsrtCopyStringUtf8;
169-
JsrtCreatePropertyIdUtf8 pfJsrtCreatePropertyIdUtf8;
167+
JsrtCreateString pfJsrtCreateString;
168+
JsrtCopyString pfJsrtCopyString;
169+
JsrtCreatePropertyId pfJsrtCreatePropertyId;
170170
JsrtCreateExternalArrayBuffer pfJsrtCreateExternalArrayBuffer;
171171

172172
JsrtTTDCreateRecordRuntimePtr pfJsrtTTDCreateRecordRuntime;
@@ -368,9 +368,9 @@ class ChakraRTInterface
368368
static JsErrorCode WINAPI JsParse(JsValueRef script, JsSourceContext sourceContext, JsValueRef sourceUrl, JsParseScriptAttributes parseAttributes, JsValueRef *result) { return HOOK_JS_API(Parse(script, sourceContext, sourceUrl, parseAttributes, result)); }
369369
static JsErrorCode WINAPI JsSerialize(JsValueRef script, JsValueRef *buffer, JsParseScriptAttributes parseAttributes) { return HOOK_JS_API(Serialize(script, buffer, parseAttributes)); }
370370
static JsErrorCode WINAPI JsRunSerialized(JsValueRef buffer, JsSerializedLoadScriptCallback scriptLoadCallback, JsSourceContext sourceContext, JsValueRef sourceUrl, JsValueRef * result) { return HOOK_JS_API(RunSerialized(buffer, scriptLoadCallback, sourceContext, sourceUrl, result)); }
371-
static JsErrorCode WINAPI JsCopyStringUtf8(JsValueRef value, unsigned char* buffer, size_t bufferSize, size_t* written) { return HOOK_JS_API(CopyStringUtf8(value, buffer, bufferSize, written)); }
372-
static JsErrorCode WINAPI JsCreateStringUtf8(const unsigned char *content, size_t length, JsValueRef *value) { return HOOK_JS_API(CreateStringUtf8(content, length, value)); }
373-
static JsErrorCode WINAPI JsCreatePropertyIdUtf8(const char *name, size_t length, JsPropertyIdRef *propertyId) { return HOOK_JS_API(CreatePropertyIdUtf8(name, length, propertyId)); }
371+
static JsErrorCode WINAPI JsCopyString(JsValueRef value, char* buffer, size_t bufferSize, size_t* written) { return HOOK_JS_API(CopyString(value, buffer, bufferSize, written)); }
372+
static JsErrorCode WINAPI JsCreateString(const char *content, size_t length, JsValueRef *value) { return HOOK_JS_API(CreateString(content, length, value)); }
373+
static JsErrorCode WINAPI JsCreatePropertyId(const char *name, size_t length, JsPropertyIdRef *propertyId) { return HOOK_JS_API(CreatePropertyId(name, length, propertyId)); }
374374
static JsErrorCode WINAPI JsCreateExternalArrayBuffer(void *data, unsigned int byteLength, JsFinalizeCallback finalizeCallback, void *callbackState, JsValueRef *result) { return HOOK_JS_API(CreateExternalArrayBuffer(data, byteLength, finalizeCallback, callbackState, result)); }
375375
};
376376

bin/ch/Debugger.cpp

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -235,8 +235,8 @@ bool Debugger::Initialize()
235235
(void*)controllerScript, (unsigned int)strlen(controllerScript),
236236
nullptr, nullptr, &scriptSource));
237237
JsValueRef fname;
238-
ChakraRTInterface::JsCreateStringUtf8(
239-
(const unsigned char*)"DbgController.js", strlen("DbgController.js"), &fname);
238+
ChakraRTInterface::JsCreateString(
239+
"DbgController.js", strlen("DbgController.js"), &fname);
240240
IfJsrtErrorFailLogAndRetFalse(ChakraRTInterface::JsParse(scriptSource,
241241
JS_SOURCE_CONTEXT_NONE, fname, JsParseScriptAttributeLibraryCode,
242242
&globalFunc));
@@ -323,8 +323,8 @@ bool Debugger::SetBaseline()
323323
script[numChars] = '\0';
324324

325325
JsValueRef wideScriptRef;
326-
IfJsrtErrorFailLogAndRetFalse(ChakraRTInterface::JsCreateStringUtf8(
327-
(const unsigned char*)script, strlen(script), &wideScriptRef));
326+
IfJsrtErrorFailLogAndRetFalse(ChakraRTInterface::JsCreateString(
327+
script, strlen(script), &wideScriptRef));
328328

329329
this->CallFunctionNoResult("SetBaseline", wideScriptRef);
330330
}

bin/ch/WScriptJsrt.cpp

Lines changed: 23 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -51,14 +51,12 @@ DWORD_PTR WScriptJsrt::sourceContext = 0;
5151
char *errorMessageNarrow; \
5252
if (FAILED(WideStringToNarrowDynamic(errorMessage, &errorMessageNarrow))) \
5353
{ \
54-
errorCode = ChakraRTInterface::JsCreateStringUtf8( \
55-
(const unsigned char*)outOfMemoryString, \
54+
errorCode = ChakraRTInterface::JsCreateString(outOfMemoryString, \
5655
strlen(outOfMemoryString), &errorMessageString); \
5756
} \
5857
else \
5958
{ \
60-
errorCode = ChakraRTInterface::JsCreateStringUtf8( \
61-
(const unsigned char*)errorMessageNarrow, \
59+
errorCode = ChakraRTInterface::JsCreateString(errorMessageNarrow, \
6260
strlen(errorMessageNarrow), &errorMessageString); \
6361
free(errorMessageNarrow); \
6462
} \
@@ -90,8 +88,8 @@ bool WScriptJsrt::CreateArgumentsObject(JsValueRef *argsObject)
9088
{
9189
return false;
9290
}
93-
JsErrorCode errCode = ChakraRTInterface::JsCreateStringUtf8(
94-
(const unsigned char*)argNarrow,
91+
JsErrorCode errCode = ChakraRTInterface::JsCreateString(
92+
argNarrow,
9593
strlen(argNarrow), &value);
9694
free(argNarrow);
9795
IfJsrtErrorFail(errCode, false);
@@ -325,8 +323,8 @@ JsErrorCode WScriptJsrt::LoadModuleFromString(LPCSTR fileName, LPCSTR fileConten
325323
if (moduleRecordEntry == moduleRecordMap.end())
326324
{
327325
JsValueRef specifier;
328-
errorCode = ChakraRTInterface::JsCreateStringUtf8(
329-
(const unsigned char*)fileName, strlen(fileName), &specifier);
326+
errorCode = ChakraRTInterface::JsCreateString(
327+
fileName, strlen(fileName), &specifier);
330328
if (errorCode == JsNoError)
331329
{
332330
errorCode = ChakraRTInterface::JsInitializeModuleRecord(
@@ -413,7 +411,7 @@ JsValueRef WScriptJsrt::LoadScript(JsValueRef callee, LPCSTR fileName,
413411
IfJsrtErrorSetGo(ChakraRTInterface::JsCreateExternalArrayBuffer((void*)fileContent,
414412
(unsigned int)strlen(fileContent), nullptr, nullptr, &scriptSource));
415413
JsValueRef fname;
416-
IfJsrtErrorSetGo(ChakraRTInterface::JsCreateStringUtf8((const unsigned char*)fullPathNarrow,
414+
IfJsrtErrorSetGo(ChakraRTInterface::JsCreateString(fullPathNarrow,
417415
strlen(fullPathNarrow), &fname));
418416
errorCode = ChakraRTInterface::JsRun(scriptSource, GetNextSourceContext(),
419417
fname, JsParseScriptAttributeNone, &returnValue);
@@ -446,7 +444,7 @@ JsValueRef WScriptJsrt::LoadScript(JsValueRef callee, LPCSTR fileName,
446444
IfJsrtErrorSetGo(ChakraRTInterface::JsCreateExternalArrayBuffer((void*)fileContent,
447445
(unsigned int)strlen(fileContent), nullptr, nullptr, &scriptSource));
448446
JsValueRef fname;
449-
IfJsrtErrorSetGo(ChakraRTInterface::JsCreateStringUtf8((const unsigned char*)fullPathNarrow,
447+
IfJsrtErrorSetGo(ChakraRTInterface::JsCreateString(fullPathNarrow,
450448
strlen(fullPathNarrow), &fname));
451449
errorCode = ChakraRTInterface::JsRun(scriptSource, GetNextSourceContext(),
452450
fname, JsParseScriptAttributeNone, &returnValue);
@@ -723,8 +721,8 @@ bool WScriptJsrt::CreateNamedFunction(const char* nameString, JsNativeFunction c
723721
JsValueRef* functionVar)
724722
{
725723
JsValueRef nameVar;
726-
IfJsrtErrorFail(ChakraRTInterface::JsCreateStringUtf8(
727-
(const unsigned char*)nameString, strlen(nameString), &nameVar), false);
724+
IfJsrtErrorFail(ChakraRTInterface::JsCreateString(
725+
nameString, strlen(nameString), &nameVar), false);
728726
IfJsrtErrorFail(ChakraRTInterface::JsCreateNamedFunction(nameVar, callback,
729727
nullptr, functionVar), false);
730728
return true;
@@ -851,8 +849,8 @@ bool WScriptJsrt::Initialize()
851849
JsPropertyIdRef archProperty;
852850
IfJsrtErrorFail(CreatePropertyIdFromString("ARCH", &archProperty), false);
853851
JsValueRef archValue;
854-
IfJsrtErrorFail(ChakraRTInterface::JsCreateStringUtf8(
855-
(const unsigned char*)CPU_ARCH_TEXT, strlen(CPU_ARCH_TEXT), &archValue), false);
852+
IfJsrtErrorFail(ChakraRTInterface::JsCreateString(
853+
CPU_ARCH_TEXT, strlen(CPU_ARCH_TEXT), &archValue), false);
856854
IfJsrtErrorFail(ChakraRTInterface::JsSetProperty(platformObject, archProperty,
857855
archValue, true), false);
858856

@@ -865,8 +863,8 @@ bool WScriptJsrt::Initialize()
865863
#else
866864
#define BUILD_TYPE_STRING_CH "Release" // consider Test is also Release build (O3)
867865
#endif
868-
IfJsrtErrorFail(ChakraRTInterface::JsCreateStringUtf8(
869-
(const unsigned char*)BUILD_TYPE_STRING_CH, strlen(BUILD_TYPE_STRING_CH), &buildValue), false);
866+
IfJsrtErrorFail(ChakraRTInterface::JsCreateString(
867+
BUILD_TYPE_STRING_CH, strlen(BUILD_TYPE_STRING_CH), &buildValue), false);
870868
IfJsrtErrorFail(ChakraRTInterface::JsSetProperty(platformObject, buildProperty,
871869
buildValue, true), false);
872870
#undef BUILD_TYPE_STRING_CH
@@ -875,8 +873,8 @@ bool WScriptJsrt::Initialize()
875873
JsPropertyIdRef linkProperty;
876874
IfJsrtErrorFail(CreatePropertyIdFromString("LINK_TYPE", &linkProperty), false);
877875
JsValueRef linkValue;
878-
IfJsrtErrorFail(ChakraRTInterface::JsCreateStringUtf8(
879-
(const unsigned char*)LINK_TYPE, strlen(LINK_TYPE), &linkValue), false);
876+
IfJsrtErrorFail(ChakraRTInterface::JsCreateString(
877+
LINK_TYPE, strlen(LINK_TYPE), &linkValue), false);
880878
IfJsrtErrorFail(ChakraRTInterface::JsSetProperty(platformObject, linkProperty,
881879
linkValue, true), false);
882880

@@ -887,8 +885,8 @@ bool WScriptJsrt::Initialize()
887885
JsPropertyIdRef binaryPathProperty;
888886
IfJsrtErrorFail(CreatePropertyIdFromString("BINARY_PATH", &binaryPathProperty), false);
889887

890-
IfJsrtErrorFail(ChakraRTInterface::JsCreateStringUtf8(
891-
(const unsigned char*)CH_BINARY_LOCATION,
888+
IfJsrtErrorFail(ChakraRTInterface::JsCreateString(
889+
CH_BINARY_LOCATION,
892890
strlen(CH_BINARY_LOCATION), &binaryPathValue), false);
893891
IfJsrtErrorFail(ChakraRTInterface::JsSetProperty(
894892
platformObject, binaryPathProperty, binaryPathValue, true), false);
@@ -897,9 +895,8 @@ bool WScriptJsrt::Initialize()
897895
JsPropertyIdRef osProperty;
898896
IfJsrtErrorFail(CreatePropertyIdFromString("OS", &osProperty), false);
899897
JsValueRef osValue;
900-
IfJsrtErrorFail(ChakraRTInterface::JsCreateStringUtf8(
901-
(const unsigned char*)DEST_PLATFORM_TEXT,
902-
strlen(DEST_PLATFORM_TEXT), &osValue), false);
898+
IfJsrtErrorFail(ChakraRTInterface::JsCreateString(
899+
DEST_PLATFORM_TEXT, strlen(DEST_PLATFORM_TEXT), &osValue), false);
903900
IfJsrtErrorFail(ChakraRTInterface::JsSetProperty(platformObject, osProperty,
904901
osValue, true), false);
905902

@@ -978,9 +975,8 @@ JsValueRef __stdcall WScriptJsrt::LoadTextFileCallback(JsValueRef callee, bool i
978975
else
979976
{
980977
JsValueRef stringObject;
981-
IfJsrtErrorSetGo(ChakraRTInterface::JsCreateStringUtf8(
982-
(const unsigned char*)fileContent,
983-
lengthBytes, &stringObject));
978+
IfJsrtErrorSetGo(ChakraRTInterface::JsCreateString(
979+
fileContent, lengthBytes, &stringObject));
984980
return stringObject;
985981
}
986982
}
@@ -1204,7 +1200,7 @@ HRESULT WScriptJsrt::CallbackMessage::CallFunction(LPCSTR fileName)
12041200
IfJsrtErrorHR(ChakraRTInterface::JsConvertValueToString(m_function, &stringValue));
12051201

12061202
JsValueRef fname;
1207-
ChakraRTInterface::JsCreateStringUtf8((const unsigned char*)"", strlen(""), &fname);
1203+
ChakraRTInterface::JsCreateString("", strlen(""), &fname);
12081204
// Run the code
12091205
errorCode = ChakraRTInterface::JsRun(stringValue, JS_SOURCE_CONTEXT_NONE,
12101206
fname, JsParseScriptAttributeArrayBufferIsUtf16Encoded,

bin/ch/ch.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -290,7 +290,7 @@ HRESULT RunScript(const char* fileName, LPCSTR fileContents, JsValueRef bufferVa
290290

291291
JsErrorCode runScript;
292292
JsValueRef fname;
293-
IfJsErrorFailLog(ChakraRTInterface::JsCreateStringUtf8((const unsigned char*)fullPath,
293+
IfJsErrorFailLog(ChakraRTInterface::JsCreateString(fullPath,
294294
strlen(fullPath), &fname));
295295

296296
if(bufferValue != nullptr)

bin/ch/stdafx.h

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -182,12 +182,11 @@ class AutoString
182182
if (errorCode == JsNoError)
183183
{
184184
size_t len = 0;
185-
errorCode = ChakraRTInterface::JsCopyStringUtf8(strValue, nullptr, 0, &len);
185+
errorCode = ChakraRTInterface::JsCopyString(strValue, nullptr, 0, &len);
186186
if (errorCode == JsNoError)
187187
{
188188
data = (char*) malloc((len + 1) * sizeof(char));
189-
unsigned char *udata = (unsigned char*)data;
190-
ChakraRTInterface::JsCopyStringUtf8(strValue, udata, len + 1, &length);
189+
ChakraRTInterface::JsCopyString(strValue, data, len + 1, &length);
191190
AssertMsg(len == length, "If you see this message.. There is something seriously wrong. Good Luck!");
192191
*(data + len) = char(0);
193192
}
@@ -256,7 +255,7 @@ class AutoString
256255

257256
inline JsErrorCode CreatePropertyIdFromString(const char* str, JsPropertyIdRef *Id)
258257
{
259-
return ChakraRTInterface::JsCreatePropertyIdUtf8(str, strlen(str), Id);
258+
return ChakraRTInterface::JsCreatePropertyId(str, strlen(str), Id);
260259
}
261260

262261
#ifdef __ANDROID__

lib/Jsrt/ChakraCommon.h

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -91,6 +91,14 @@ typedef UINT32 DWORD;
9191

9292
#endif // defined(_WIN32) && defined(_MSC_VER)
9393

94+
#if (defined(_MSC_VER) && _MSC_VER < 1900) || (!defined(_MSC_VER) && __cplusplus <= 199711L) // !C++11
95+
typedef unsigned short uint16_t;
96+
#endif
97+
98+
#if !defined(NTBUILD) && !defined(CHAKRACOREBUILD_)
99+
#define CHAKRACOREBUILD_
100+
#endif
101+
94102
/// <summary>
95103
/// An error code returned from a Chakra hosting API.
96104
/// </summary>

0 commit comments

Comments
 (0)