@@ -102,8 +102,8 @@ export class SwiftRuntime {
102102 const argv = exports . swjs_prepare_host_function_call ( argc )
103103 for ( let index = 0 ; index < args . length ; index ++ ) {
104104 const argument = args [ index ]
105- const base = argv + 20 * index
106- writeValue ( argument , base , base + 4 , base + 8 , base + 12 )
105+ const base = argv + 24 * index
106+ writeValue ( argument , base , base + 4 , base + 8 , base + 16 )
107107 }
108108 let output : any ;
109109 const callback_func_ref = this . heap . allocHeap ( function ( result : any ) {
@@ -184,10 +184,6 @@ export class SwiftRuntime {
184184 return undefined
185185 }
186186 case JavaScriptValueKind . Function : {
187- // console.log("decoding function:")
188- // console.log(" payload1: " + payload1)
189- // console.log("Heap Contents:")
190- // console.log(this.heap)
191187 return this . heap . referenceHeap ( payload1 )
192188 }
193189 default :
@@ -203,6 +199,7 @@ export class SwiftRuntime {
203199 writeUint32 ( kind_ptr , JavaScriptValueKind . Null ) ;
204200 writeUint32 ( payload1_ptr , 0 ) ;
205201 writeUint32 ( payload2_ptr , 0 ) ;
202+ return ;
206203 }
207204 switch ( typeof value ) {
208205 case "boolean" : {
@@ -250,16 +247,16 @@ export class SwiftRuntime {
250247 }
251248
252249 // Note:
253- // `decodeValues` assumes that the size of RawJSValue is 16
254- // and the alignment of it is 4
250+ // `decodeValues` assumes that the size of RawJSValue is 24
251+ // and the alignment of it is 8
255252 const decodeValues = ( ptr : pointer , length : number ) => {
256253 let result = [ ]
257254 for ( let index = 0 ; index < length ; index ++ ) {
258- const base = ptr + 16 * index
255+ const base = ptr + 24 * index
259256 const kind = readUInt32 ( base )
260- const payload1 = readFloat64 ( base + 4 )
257+ const payload1 = readUInt32 ( base + 4 )
261258 const payload2 = readUInt32 ( base + 8 )
262- const payload3 = readUInt32 ( base + 12 )
259+ const payload3 = readFloat64 ( base + 16 )
263260 result . push ( decodeValue ( kind , payload1 , payload2 , payload3 ) )
264261 }
265262 return result
@@ -272,13 +269,6 @@ export class SwiftRuntime {
272269 payload1 : number , payload2 : number , payload3 : number
273270 ) => {
274271 const obj = this . heap . referenceHeap ( ref ) ;
275- // console.log("swjs_set_prop");
276- // console.log(" name: " + readString(name, length));
277- // console.log(" kind: " + kind)
278- // console.log(" payload1: " + payload1)
279- // console.log(" payload2: " + payload2)
280- // console.log(" payload3: " + payload3)
281- // console.log(" value: " + decodeValue(kind, payload1, payload2, payload3))
282272 Reflect . set ( obj , readString ( name , length ) , decodeValue ( kind , payload1 , payload2 , payload3 ) )
283273 } ,
284274 swjs_get_prop : (
0 commit comments