mirror of
https://gitlab.com/freepascal.org/fpc/pas2js.git
synced 2025-09-13 10:39:06 +02:00
* Webassembly shared buffer & IsSharedBuffer
This commit is contained in:
parent
7137a54cf2
commit
329b963c80
@ -41,11 +41,19 @@ Type
|
||||
TJSWebAssemblyMemory = class external name 'WebAssembly.Memory' (TJSObject)
|
||||
private
|
||||
FBuffer: TJSArrayBuffer; external name 'buffer';
|
||||
FSharedBuffer: TJSSharedArrayBuffer; external name 'buffer';
|
||||
Public
|
||||
constructor new (memorydescriptor : TJSWebAssemblyMemoryDescriptor);
|
||||
constructor new (memorydescriptor : TJSObject);
|
||||
Function grow(number : NativeInt) : NativeInt; external name 'grow';
|
||||
Property buffer : TJSArrayBuffer Read FBuffer;
|
||||
Property Sharedbuffer : TJSSharedArrayBuffer Read FSharedBuffer;
|
||||
end;
|
||||
|
||||
{ TJSWebAssemblyMemoryHelper }
|
||||
|
||||
TJSWebAssemblyMemoryHelper = class helper for TJSWebAssemblyMemory
|
||||
function IsSharedBuffer : Boolean;
|
||||
end;
|
||||
|
||||
{ TJSModulesArray }
|
||||
@ -129,5 +137,15 @@ Type
|
||||
|
||||
implementation
|
||||
|
||||
{ TJSWebAssemblyMemoryHelper }
|
||||
|
||||
function TJSWebAssemblyMemoryHelper.IsSharedBuffer: Boolean;
|
||||
begin
|
||||
asm
|
||||
return ((!(buffer === null)) && (typeof this.FBuffer === 'object'))
|
||||
&& (this.FBuffer instanceof SharedArrayBuffer);
|
||||
end;
|
||||
end;
|
||||
|
||||
end.
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user