@@ -3,29 +3,27 @@ import { pointer } from "./types";
33
44export class Memory {
55 readonly rawMemory : WebAssembly . Memory ;
6- readonly bytes : Uint8Array ;
7- readonly dataView : DataView ;
86
97 private readonly heap = new SwiftRuntimeHeap ( ) ;
108
119 constructor ( exports : WebAssembly . Exports ) {
1210 this . rawMemory = exports . memory as WebAssembly . Memory ;
13- this . bytes = new Uint8Array ( this . rawMemory . buffer ) ;
14- this . dataView = new DataView ( this . rawMemory . buffer ) ;
1511 }
1612
1713 retain = ( value : any ) => this . heap . retain ( value ) ;
1814 getObject = ( ref : number ) => this . heap . referenceHeap ( ref ) ;
1915 release = ( ref : number ) => this . heap . release ( ref ) ;
2016
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 ) ;
2319
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 ) ;
2624
2725 writeUint32 = ( ptr : pointer , value : number ) =>
28- this . dataView . setUint32 ( ptr , value , true ) ;
26+ this . dataView ( ) . setUint32 ( ptr , value , true ) ;
2927 writeFloat64 = ( ptr : pointer , value : number ) =>
30- this . dataView . setFloat64 ( ptr , value , true ) ;
28+ this . dataView ( ) . setFloat64 ( ptr , value , true ) ;
3129}
0 commit comments