|
|
@@ -40,8 +40,9 @@ namespace Js
|
|
|
#if SYSINFO_IMAGE_BASE_AVAILABLE
|
|
|
AssertMsg(AutoSystemInfo::IsJscriptModulePointer((void*)originalFullStringReference)
|
|
|
|| recycler->IsValidObject((void*)originalFullStringReference)
|
|
|
- || (VirtualTableInfo<PropertyRecord>::HasVirtualTable((void*)originalFullStringReference) && ((PropertyRecord*)originalFullStringReference)->IsBound()),
|
|
|
- "Owning pointer for SubString must be static or GC pointer, or property record bound by thread allocator");
|
|
|
+ || (VirtualTableInfo<PropertyRecord>::HasVirtualTable((void*)originalFullStringReference) && ((PropertyRecord*)originalFullStringReference)->IsBound())
|
|
|
+ || (string->GetLength() == 1 && originalFullStringReference == scriptContext->GetLibrary()->GetCharStringCache().GetStringForChar(string->GetString()[0])->UnsafeGetBuffer()),
|
|
|
+ "Owning pointer for SubString must be static or GC pointer, property record bound by thread allocator, or character buffer in global string cache");
|
|
|
#endif
|
|
|
|
|
|
return RecyclerNew(recycler, SubString, originalFullStringReference, subString, length, scriptContext);
|