//------------------------------------------------------------------------------------------------------- // 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" #include "Base/Exception.h" #include "Base/ThreadContextTlsEntry.h" void JsUtil::ExternalApi::RecoverUnusedMemory() { Js::Exception::RecoverUnusedMemory(); } bool JsUtil::ExternalApi::RaiseOnIntOverflow() { ::Math::DefaultOverflowPolicy(); } bool JsUtil::ExternalApi::RaiseOutOfMemoryIfScriptActive() { return Js::Exception::RaiseIfScriptActive(nullptr, Js::Exception::ExceptionKind_OutOfMemory); } bool JsUtil::ExternalApi::RaiseStackOverflowIfScriptActive(Js::ScriptContext * scriptContext, PVOID returnAddress) { return Js::Exception::RaiseIfScriptActive(scriptContext, Js::Exception::ExceptionKind_StackOverflow, returnAddress); } ThreadContextId JsUtil::ExternalApi::GetCurrentThreadContextId() { return ThreadContextTLSEntry::GetCurrentThreadContextId(); } #if DBG || defined(EXCEPTION_CHECK) BOOL JsUtil::ExternalApi::IsScriptActiveOnCurrentThreadContext() { return ThreadContext::GetContextForCurrentThread() != nullptr && ThreadContext::GetContextForCurrentThread()->IsScriptActive(); } #endif