@@ -3,29 +3,27 @@ import { pointer } from "./types";
3
3
4
4
export class Memory {
5
5
readonly rawMemory : WebAssembly . Memory ;
6
- readonly bytes : Uint8Array ;
7
- readonly dataView : DataView ;
8
6
9
7
private readonly heap = new SwiftRuntimeHeap ( ) ;
10
8
11
9
constructor ( exports : WebAssembly . Exports ) {
12
10
this . rawMemory = exports . memory as WebAssembly . Memory ;
13
- this . bytes = new Uint8Array ( this . rawMemory . buffer ) ;
14
- this . dataView = new DataView ( this . rawMemory . buffer ) ;
15
11
}
16
12
17
13
retain = ( value : any ) => this . heap . retain ( value ) ;
18
14
getObject = ( ref : number ) => this . heap . referenceHeap ( ref ) ;
19
15
release = ( ref : number ) => this . heap . release ( ref ) ;
20
16
21
- writeBytes = ( ptr : pointer , bytes : Uint8Array ) =>
22
- this . bytes . set ( bytes , ptr ) ;
17
+ bytes = ( ) => new Uint8Array ( this . rawMemory . buffer ) ;
18
+ dataView = ( ) => new DataView ( this . rawMemory . buffer ) ;
23
19
24
- readUint32 = ( ptr : pointer ) => this . dataView . getUint32 ( ptr , true ) ;
25
- readFloat64 = ( ptr : pointer ) => this . dataView . getFloat64 ( ptr , true ) ;
20
+ writeBytes = ( ptr : pointer , bytes : Uint8Array ) => this . bytes ( ) . set ( bytes , ptr ) ;
21
+
22
+ readUint32 = ( ptr : pointer ) => this . dataView ( ) . getUint32 ( ptr , true ) ;
23
+ readFloat64 = ( ptr : pointer ) => this . dataView ( ) . getFloat64 ( ptr , true ) ;
26
24
27
25
writeUint32 = ( ptr : pointer , value : number ) =>
28
- this . dataView . setUint32 ( ptr , value , true ) ;
26
+ this . dataView ( ) . setUint32 ( ptr , value , true ) ;
29
27
writeFloat64 = ( ptr : pointer , value : number ) =>
30
- this . dataView . setFloat64 ( ptr , value , true ) ;
28
+ this . dataView ( ) . setFloat64 ( ptr , value , true ) ;
31
29
}
0 commit comments