Skip to content

Commit 6a13913

Browse files
committed
CR Fixes
1 parent 06aa106 commit 6a13913

File tree

6 files changed

+13
-11
lines changed

6 files changed

+13
-11
lines changed

lib/Runtime/Library/JavascriptLibrary.h

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -98,7 +98,6 @@ namespace Js
9898
class SourceTextModuleRecord;
9999
class ArrayBufferBase;
100100
class SharedContents;
101-
class SharedContents;
102101
typedef RecyclerFastAllocator<JavascriptNumber, LeafBit> RecyclerJavascriptNumberAllocator;
103102
typedef JsUtil::List<Var, Recycler> ListForListIterator;
104103

lib/Runtime/Library/SharedArrayBuffer.cpp

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -248,6 +248,7 @@ namespace Js
248248

249249
BYTE* SharedArrayBuffer::AllocBuffer(uint32 length, uint32 maxLength)
250250
{
251+
Unused(maxLength); // WebAssembly only
251252
#if ENABLE_FAST_ARRAYBUFFER
252253
if (this->IsValidVirtualBufferLength(length))
253254
{
@@ -262,6 +263,7 @@ namespace Js
262263

263264
void SharedArrayBuffer::FreeBuffer(BYTE* buffer, uint32 length, uint32 maxLength)
264265
{
266+
Unused(maxLength); // WebAssembly only
265267
#if ENABLE_FAST_ARRAYBUFFER
266268
//AsmJS Virtual Free
267269
if (this->IsValidVirtualBufferLength(length))
@@ -585,7 +587,7 @@ namespace Js
585587
return false;
586588
}
587589

588-
__checkReturn bool WebAssemblySharedArrayBuffer::GrowMemory(uint32 newBufferLength)
590+
_Must_inspect_result_ bool WebAssemblySharedArrayBuffer::GrowMemory(uint32 newBufferLength)
589591
{
590592
uint32 bufferLength = sharedContents->bufferLength;
591593
BYTE* buffer = sharedContents->buffer;

lib/Runtime/Library/SharedArrayBuffer.h

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -104,6 +104,7 @@ namespace Js
104104
virtual bool IsValidVirtualBufferLength(uint length) const;
105105

106106
protected:
107+
// maxLength is necessary only for WebAssemblySharedArrayBuffer to know how much it can grow
107108
// Must call after constructor of child class is completed. Required to be able to make correct virtual calls
108109
void Init(uint32 length, uint32 maxLength);
109110
virtual BYTE* AllocBuffer(uint32 length, uint32 maxLength);
@@ -148,7 +149,7 @@ namespace Js
148149

149150
virtual bool IsValidVirtualBufferLength(uint length) const override;
150151
virtual bool IsWebAssemblyArrayBuffer() override { return true; }
151-
__checkReturn bool GrowMemory(uint32 newBufferLength);
152+
_Must_inspect_result_ bool GrowMemory(uint32 newBufferLength);
152153

153154
protected:
154155
virtual BYTE* AllocBuffer(uint32 length, uint32 maxLength) override;

lib/Runtime/Library/WebAssemblyMemory.cpp

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -17,18 +17,19 @@ WebAssemblyMemory::WebAssemblyMemory(ArrayBufferBase* buffer, uint32 initial, ui
1717
m_initial(initial),
1818
m_maximum(maximum)
1919
{
20+
Assert(buffer->IsWebAssemblyArrayBuffer());
2021
Assert(m_buffer);
2122
Assert(m_buffer->GetByteLength() >= UInt32Math::Mul<WebAssembly::PageSize>(initial));
2223
}
2324

2425

25-
__checkReturn bool WebAssemblyMemory::AreLimitsValid(uint32 initial, uint32 maximum)
26+
_Must_inspect_result_ bool WebAssemblyMemory::AreLimitsValid(uint32 initial, uint32 maximum)
2627
{
2728
return initial <= maximum && initial <= Wasm::Limits::GetMaxMemoryInitialPages() && maximum <= Wasm::Limits::GetMaxMemoryMaximumPages();
2829
}
2930

3031

31-
__checkReturn bool WebAssemblyMemory::AreLimitsValid(uint32 initial, uint32 maximum, uint32 bufferLength)
32+
_Must_inspect_result_ bool WebAssemblyMemory::AreLimitsValid(uint32 initial, uint32 maximum, uint32 bufferLength)
3233
{
3334
if (!AreLimitsValid(initial, maximum))
3435
{
@@ -186,7 +187,7 @@ WebAssemblyMemory::GrowInternal(uint32 deltaPages)
186187
if (m_buffer->IsSharedArrayBuffer())
187188
{
188189
AssertOrFailFast(Wasm::Threads::IsEnabled());
189-
if (!((WebAssemblySharedArrayBuffer*)PointerValue(m_buffer))->GrowMemory(newBytes))
190+
if (!((WebAssemblySharedArrayBuffer*)GetBuffer())->GrowMemory(newBytes))
190191
{
191192
return -1;
192193
}
@@ -197,7 +198,7 @@ WebAssemblyMemory::GrowInternal(uint32 deltaPages)
197198
JavascriptExceptionObject* caughtExceptionObject = nullptr;
198199
try
199200
{
200-
WebAssemblyArrayBuffer* newBuffer = ((WebAssemblyArrayBuffer*)PointerValue(m_buffer))->GrowMemory(newBytes);
201+
WebAssemblyArrayBuffer* newBuffer = ((WebAssemblyArrayBuffer*)GetBuffer())->GrowMemory(newBytes);
201202
if (newBuffer == nullptr)
202203
{
203204
return -1;

lib/Runtime/Library/WebAssemblyMemory.h

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -54,9 +54,8 @@ namespace Js
5454
#endif
5555
private:
5656
WebAssemblyMemory(ArrayBufferBase* buffer, uint32 initial, uint32 maximum, DynamicType * type);
57-
static __checkReturn bool AreLimitsValid(uint32 initial, uint32 maximum);
58-
static __checkReturn bool AreLimitsValid(uint32 initial, uint32 maximum, uint32 bufferLength);
59-
57+
static _Must_inspect_result_ bool AreLimitsValid(uint32 initial, uint32 maximum);
58+
static _Must_inspect_result_ bool AreLimitsValid(uint32 initial, uint32 maximum, uint32 bufferLength);
6059

6160
Field(ArrayBufferBase*) m_buffer;
6261

lib/WasmReader/WasmParseTree.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -60,7 +60,7 @@ bool IsLocalType(WasmTypes::WasmType type)
6060
return false;
6161
}
6262
#endif
63-
return (uint32)(type - 1) < (WasmTypes::Limit - 1);
63+
return type > WasmTypes::Void && type < WasmTypes::Limit;
6464
}
6565

6666
uint32 GetTypeByteSize(WasmType type)

0 commit comments

Comments
 (0)