@@ -1833,7 +1833,7 @@ namespace Js
1833
1833
// Allocate invalidVar on GC instead of stack since this InterpreterStackFrame will out live the current real frame
1834
1834
Js::RecyclableObject* invalidVar = (Js::RecyclableObject*)RecyclerNewPlusLeaf (functionScriptContext->GetRecycler (), sizeof (Js::RecyclableObject), Var);
1835
1835
AnalysisAssert (invalidVar);
1836
- memset (invalidVar, 0xFE , sizeof (Js::RecyclableObject));
1836
+ memset (reinterpret_cast < void *>( invalidVar) , 0xFE , sizeof (Js::RecyclableObject));
1837
1837
newInstance = setup.InitializeAllocation (allocation, executeFunction->GetHasImplicitArgIns (), doProfile, loopHeaderArray, stackAddr, invalidVar);
1838
1838
#else
1839
1839
newInstance = setup.InitializeAllocation (allocation, executeFunction->GetHasImplicitArgIns (), doProfile, loopHeaderArray, stackAddr);
@@ -1894,7 +1894,7 @@ namespace Js
1894
1894
1895
1895
#if DBG
1896
1896
Js::RecyclableObject * invalidStackVar = (Js::RecyclableObject*)_alloca (sizeof (Js::RecyclableObject));
1897
- memset (invalidStackVar, 0xFE , sizeof (Js::RecyclableObject));
1897
+ memset (reinterpret_cast < void *>( invalidStackVar) , 0xFE , sizeof (Js::RecyclableObject));
1898
1898
newInstance = setup.InitializeAllocation (allocation, executeFunction->GetHasImplicitArgIns () && !isAsmJs, doProfile, loopHeaderArray, stackAddr, invalidStackVar);
1899
1899
#else
1900
1900
newInstance = setup.InitializeAllocation (allocation, executeFunction->GetHasImplicitArgIns () && !isAsmJs, doProfile, loopHeaderArray, stackAddr);
@@ -2769,7 +2769,7 @@ namespace Js
2769
2769
Output::Print (_u (" \n " ));
2770
2770
}
2771
2771
2772
- #ifndef TEMP_DISABLE_ASMJS
2772
+ #ifndef TEMP_DISABLE_ASMJS
2773
2773
// Function memory allocation should be done the same way as
2774
2774
// T AsmJsCommunEntryPoint(Js::ScriptFunction* func, ...) (AsmJSJitTemplate.cpp)
2775
2775
// update any changes there
@@ -3718,7 +3718,7 @@ namespace Js
3718
3718
{
3719
3719
flags |= CallFlags_NotUsed;
3720
3720
Arguments args (CallInfo ((CallFlags)flags, playout->ArgCount ), m_outParams);
3721
- AssertMsg (args.Info .Flags == flags, " Flags don't fit into the CallInfo field?" );
3721
+ AssertMsg (static_cast < unsigned >( args.Info .Flags ) == flags, " Flags don't fit into the CallInfo field?" );
3722
3722
if (spreadIndices != nullptr )
3723
3723
{
3724
3724
JavascriptFunction::CallSpreadFunction (function, function->GetEntryPoint (), args, spreadIndices);
@@ -3732,7 +3732,7 @@ namespace Js
3732
3732
{
3733
3733
flags |= CallFlags_Value;
3734
3734
Arguments args (CallInfo ((CallFlags)flags, playout->ArgCount ), m_outParams);
3735
- AssertMsg (args.Info .Flags == flags, " Flags don't fit into the CallInfo field?" );
3735
+ AssertMsg (static_cast < unsigned >( args.Info .Flags ) == flags, " Flags don't fit into the CallInfo field?" );
3736
3736
if (spreadIndices != nullptr )
3737
3737
{
3738
3738
SetReg ((RegSlot)playout->Return , JavascriptFunction::CallSpreadFunction (function, function->GetEntryPoint (), args, spreadIndices));
@@ -5298,21 +5298,17 @@ namespace Js
5298
5298
5299
5299
Assert (VirtualTableInfo<JavascriptArray>::HasVirtualTable (array));
5300
5300
SparseArraySegment<Var>* lastUsedSeg = (SparseArraySegment<Var>*)array->GetLastUsedSegment ();
5301
- if (index < lastUsedSeg->left )
5301
+ if (index >= lastUsedSeg->left )
5302
5302
{
5303
- goto helper;
5304
- }
5305
-
5306
- uint32 index2 = index - lastUsedSeg->left ;
5307
-
5308
- if (index2 < lastUsedSeg->size )
5309
- {
5310
- // Successful fastpath
5311
- array->DirectSetItemInLastUsedSegmentAt (index2, value);
5312
- return ;
5303
+ uint32 index2 = index - lastUsedSeg->left ;
5304
+ if (index2 < lastUsedSeg->size )
5305
+ {
5306
+ // Successful fastpath
5307
+ array->DirectSetItemInLastUsedSegmentAt (index2, value);
5308
+ return ;
5309
+ }
5313
5310
}
5314
5311
5315
- helper:
5316
5312
ScriptContext* scriptContext = array->GetScriptContext ();
5317
5313
JavascriptOperators::SetItem (array, array, index, value, scriptContext);
5318
5314
}
@@ -7588,7 +7584,7 @@ const byte * InterpreterStackFrame::OP_ProfiledLoopBodyStart(const byte * ip)
7588
7584
values[5 ] = (int16) GetRegRawInt (playout->I6 );
7589
7585
values[6 ] = (int16) GetRegRawInt (playout->I7 );
7590
7586
values[7 ] = (int16) GetRegRawInt (playout->I8 );
7591
-
7587
+
7592
7588
AsmJsSIMDValue result = SIMDInt16x8Operation::OpInt16x8 (values);
7593
7589
SetRegRawSimd (playout->I8_0 , result);
7594
7590
}
@@ -7621,7 +7617,7 @@ const byte * InterpreterStackFrame::OP_ProfiledLoopBodyStart(const byte * ip)
7621
7617
template <class T >
7622
7618
void InterpreterStackFrame::OP_SimdUint16x8 (const unaligned T* playout)
7623
7619
{
7624
-
7620
+
7625
7621
uint16 values[8 ];
7626
7622
values[0 ] = (uint16) GetRegRawInt (playout->I1 );
7627
7623
values[1 ] = (uint16) GetRegRawInt (playout->I2 );
@@ -7631,7 +7627,7 @@ const byte * InterpreterStackFrame::OP_ProfiledLoopBodyStart(const byte * ip)
7631
7627
values[5 ] = (uint16) GetRegRawInt (playout->I6 );
7632
7628
values[6 ] = (uint16) GetRegRawInt (playout->I7 );
7633
7629
values[7 ] = (uint16) GetRegRawInt (playout->I8 );
7634
-
7630
+
7635
7631
AsmJsSIMDValue result = SIMDUint16x8Operation::OpUint16x8 (values);
7636
7632
SetRegRawSimd (playout->U8_0 , result);
7637
7633
}
@@ -7686,7 +7682,7 @@ const byte * InterpreterStackFrame::OP_ProfiledLoopBodyStart(const byte * ip)
7686
7682
values[5 ] = GetRegRawInt (playout->I6 ) ? true : false ;
7687
7683
values[6 ] = GetRegRawInt (playout->I7 ) ? true : false ;
7688
7684
values[7 ] = GetRegRawInt (playout->I8 ) ? true : false ;
7689
-
7685
+
7690
7686
AsmJsSIMDValue result = SIMDBool16x8Operation::OpBool16x8 (values);
7691
7687
SetRegRawSimd (playout->B8_0 , result);
7692
7688
}
@@ -7711,7 +7707,7 @@ const byte * InterpreterStackFrame::OP_ProfiledLoopBodyStart(const byte * ip)
7711
7707
values[13 ] = GetRegRawInt (playout->I14 ) ? true : false ;
7712
7708
values[14 ] = GetRegRawInt (playout->I15 ) ? true : false ;
7713
7709
values[15 ] = GetRegRawInt (playout->I16 ) ? true : false ;
7714
-
7710
+
7715
7711
AsmJsSIMDValue result = SIMDBool8x16Operation::OpBool8x16 (values);
7716
7712
SetRegRawSimd (playout->B16_0 , result);
7717
7713
}
@@ -8334,7 +8330,7 @@ const byte * InterpreterStackFrame::OP_ProfiledLoopBodyStart(const byte * ip)
8334
8330
return JavascriptOperators::OP_ResumeYield (yieldData, iterator);
8335
8331
}
8336
8332
8337
- void * InterpreterStackFrame::operator new (size_t byteSize, void * previousAllocation)
8333
+ void * InterpreterStackFrame::operator new (size_t byteSize, void * previousAllocation) throw ()
8338
8334
{
8339
8335
//
8340
8336
// Placement 'new' is used by InterpreterStackFrame to initialize the C++ object on the RcInterpreter's
@@ -8350,7 +8346,7 @@ const byte * InterpreterStackFrame::OP_ProfiledLoopBodyStart(const byte * ip)
8350
8346
return previousAllocation;
8351
8347
}
8352
8348
8353
- void __cdecl InterpreterStackFrame::operator delete (void * allocationToFree, void * previousAllocation)
8349
+ void __cdecl InterpreterStackFrame::operator delete (void * allocationToFree, void * previousAllocation) throw ()
8354
8350
{
8355
8351
AssertMsg (allocationToFree == previousAllocation, " Memory locations should match" );
8356
8352
AssertMsg (false , " This function should never actually be called" );
0 commit comments