From 5961803008e542e20b23ed8fd7a6aaed19fb5fa1 Mon Sep 17 00:00:00 2001 From: Meghana Gupta Date: Thu, 22 Dec 2016 10:38:08 -0800 Subject: [PATCH] Fix sal warnings Add annotation in CodeGenNumberAllocator.cpp to suppress sal warning. Restructure code in Encoder.cpp, the two function calls were throwing off the analyzer. --- lib/Backend/CodeGenNumberAllocator.cpp | 3 +++ lib/Backend/Encoder.cpp | 5 +++-- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/lib/Backend/CodeGenNumberAllocator.cpp b/lib/Backend/CodeGenNumberAllocator.cpp index dfc65542558..797a481187a 100644 --- a/lib/Backend/CodeGenNumberAllocator.cpp +++ b/lib/Backend/CodeGenNumberAllocator.cpp @@ -324,6 +324,9 @@ Js::JavascriptNumber* XProcNumberPageSegmentImpl::AllocateNumber(Func* func, dou Recycler::FillPadNoCheck(pLocalNumber, sizeof(Js::JavascriptNumber), sizeCat, false); pLocalNumber = new (pLocalNumber) Js::JavascriptNumber(localNumber); } +#else + Assert(sizeCat == sizeof(Js::JavascriptNumber)); + __analysis_assume(sizeCat == sizeof(Js::JavascriptNumber)); #endif // change vtable to the remote one *(void**)pLocalNumber = (void*)func->GetScriptContextInfo()->GetVTableAddress(VTableValue::VtableJavascriptNumber); diff --git a/lib/Backend/Encoder.cpp b/lib/Backend/Encoder.cpp index f3701d5f10c..e870ff9f2ad 100644 --- a/lib/Backend/Encoder.cpp +++ b/lib/Backend/Encoder.cpp @@ -295,8 +295,9 @@ Encoder::Encode() { if (m_func->IsOOPJIT()) { - Js::ThrowMapEntry * throwMap = NativeCodeDataNewArrayNoFixup(m_func->GetNativeCodeDataAllocator(), Js::ThrowMapEntry, m_pragmaInstrToRecordMap->Count()); - for (int32 i = 0; i < m_pragmaInstrToRecordMap->Count(); i++) + int allocSize = m_pragmaInstrToRecordMap->Count(); + Js::ThrowMapEntry * throwMap = NativeCodeDataNewArrayNoFixup(m_func->GetNativeCodeDataAllocator(), Js::ThrowMapEntry, allocSize); + for (int i = 0; i < allocSize; i++) { IR::PragmaInstr *inst = m_pragmaInstrToRecordMap->Item(i); throwMap[i].nativeBufferOffset = inst->m_offsetInBuffer;