blob: a6fb5f17c15ca7e8dacf5a026f6b0cd633252f9d [file]
//-------------------------------------------------------------------------------------------------------
// Copyright (C) Microsoft. All rights reserved.
// Licensed under the MIT license. See LICENSE.txt file in the project root for full license information.
//-------------------------------------------------------------------------------------------------------
#include "RuntimeLibraryPch.h"
namespace Js
{
DEFINE_RECYCLER_TRACKER_PERF_COUNTER(SingleCharString);
SingleCharString::SingleCharString(char16 ch, StaticType * type) : JavascriptString(type, 1, m_buff)
{
m_buff[0] = ch;
m_buff[1] = _u('\0');
#ifdef PROFILE_STRINGS
StringProfiler::RecordNewString( this->GetScriptContext(), this->m_buff, 1 );
#endif
}
/*static*/ SingleCharString* SingleCharString::New(char16 ch, ScriptContext* scriptContext)
{
Assert(scriptContext != nullptr);
return RecyclerNew(scriptContext->GetRecycler(),SingleCharString,ch,
scriptContext->GetLibrary()->GetStringTypeStatic());
}
/*static*/ SingleCharString* SingleCharString::New(char16 ch, ScriptContext* scriptContext, ArenaAllocator* arena)
{
Assert(scriptContext != nullptr);
Assert(arena != nullptr);
return Anew(arena, SingleCharString, ch,
scriptContext->GetLibrary()->GetStringTypeStatic());
}
}