@@ -24,8 +24,8 @@ function makeFloat32(x) {
2424 return module . f32 . const ( x ) ;
2525}
2626
27- function makeInt64 ( l , h ) {
28- return module . i64 . const ( l , h ) ;
27+ function makeInt64 ( x ) {
28+ return module . i64 . const ( x ) ;
2929}
3030
3131function makeFloat64 ( x ) {
@@ -214,7 +214,7 @@ function test_core() {
214214 constF32 = module . f32 . const ( 3.14 ) ,
215215 constF64 = module . f64 . const ( 2.1828 ) ,
216216 constF32Bits = module . f32 . const_bits ( 0xffff1234 ) ,
217- constF64Bits = module . f64 . const_bits ( 0x5678abcd , 0xffff1234 ) ;
217+ constF64Bits = module . f64 . const_bits ( 0xffff1234_5678abcdn ) ;
218218
219219 var iIfF = binaryen . createType ( [ binaryen . i32 , binaryen . i64 , binaryen . f32 , binaryen . f64 ] )
220220
@@ -233,7 +233,7 @@ function test_core() {
233233 var valueList = [
234234 // Unary
235235 module . i32 . clz ( module . i32 . const ( - 10 ) ) ,
236- module . i64 . ctz ( module . i64 . const ( - 22 , - 1 ) ) ,
236+ module . i64 . ctz ( module . i64 . const ( - 23 ) ) ,
237237 module . i32 . popcnt ( module . i32 . const ( - 10 ) ) ,
238238 module . f32 . neg ( module . f32 . const ( - 33.612 ) ) ,
239239 module . f64 . abs ( module . f64 . const ( - 9005.841 ) ) ,
@@ -245,7 +245,7 @@ function test_core() {
245245 module . i32 . eqz ( module . i32 . const ( - 10 ) ) ,
246246 module . i64 . extend_s ( module . i32 . const ( - 10 ) ) ,
247247 module . i64 . extend_u ( module . i32 . const ( - 10 ) ) ,
248- module . i32 . wrap ( module . i64 . const ( - 22 , - 1 ) ) ,
248+ module . i32 . wrap ( module . i64 . const ( - 23 ) ) ,
249249 module . i32 . trunc_s . f32 ( module . f32 . const ( - 33.612 ) ) ,
250250 module . i64 . trunc_s . f32 ( module . f32 . const ( - 33.612 ) ) ,
251251 module . i32 . trunc_u . f32 ( module . f32 . const ( - 33.612 ) ) ,
@@ -268,18 +268,18 @@ function test_core() {
268268 module . f64 . convert_s . i32 ( module . i32 . const ( - 10 ) ) ,
269269 module . f32 . convert_u . i32 ( module . i32 . const ( - 10 ) ) ,
270270 module . f64 . convert_u . i32 ( module . i32 . const ( - 10 ) ) ,
271- module . f32 . convert_s . i64 ( module . i64 . const ( - 22 , - 1 ) ) ,
272- module . f64 . convert_s . i64 ( module . i64 . const ( - 22 , - 1 ) ) ,
273- module . f32 . convert_u . i64 ( module . i64 . const ( - 22 , - 1 ) ) ,
274- module . f64 . convert_u . i64 ( module . i64 . const ( - 22 , - 1 ) ) ,
271+ module . f32 . convert_s . i64 ( module . i64 . const ( - 23 ) ) ,
272+ module . f64 . convert_s . i64 ( module . i64 . const ( - 23 ) ) ,
273+ module . f32 . convert_u . i64 ( module . i64 . const ( - 23 ) ) ,
274+ module . f64 . convert_u . i64 ( module . i64 . const ( - 23 ) ) ,
275275 module . f64 . promote ( module . f32 . const ( - 33.612 ) ) ,
276276 module . f32 . demote ( module . f64 . const ( - 9005.841 ) ) ,
277277 module . f32 . reinterpret ( module . i32 . const ( - 10 ) ) ,
278- module . f64 . reinterpret ( module . i64 . const ( - 22 , - 1 ) ) ,
278+ module . f64 . reinterpret ( module . i64 . const ( - 23 ) ) ,
279279 module . i8x16 . splat ( module . i32 . const ( 42 ) ) ,
280280 module . i16x8 . splat ( module . i32 . const ( 42 ) ) ,
281281 module . i32x4 . splat ( module . i32 . const ( 42 ) ) ,
282- module . i64x2 . splat ( module . i64 . const ( 123 , 456 ) ) ,
282+ module . i64x2 . splat ( module . i64 . const ( 1_000_000_000_123n ) ) ,
283283 module . f32x4 . splat ( module . f32 . const ( 42.0 ) ) ,
284284 module . f64x2 . splat ( module . f64 . const ( 42.0 ) ) ,
285285 module . v128 . not ( module . v128 . const ( v128_bytes ) ) ,
@@ -337,31 +337,31 @@ function test_core() {
337337 module . i32 . add ( module . i32 . const ( - 10 ) , module . i32 . const ( - 11 ) ) ,
338338 module . f64 . sub ( module . f64 . const ( - 9005.841 ) , module . f64 . const ( - 9007.333 ) ) ,
339339 module . i32 . div_s ( module . i32 . const ( - 10 ) , module . i32 . const ( - 11 ) ) ,
340- module . i64 . div_u ( module . i64 . const ( - 22 , 0 ) , module . i64 . const ( - 23 , 0 ) ) ,
341- module . i64 . rem_s ( module . i64 . const ( - 22 , 0 ) , module . i64 . const ( - 23 , 0 ) ) ,
340+ module . i64 . div_u ( module . i64 . const ( - 22 ) , module . i64 . const ( - 23 ) ) ,
341+ module . i64 . rem_s ( module . i64 . const ( - 22 ) , module . i64 . const ( - 23 ) ) ,
342342 module . i32 . rem_u ( module . i32 . const ( - 10 ) , module . i32 . const ( - 11 ) ) ,
343343 module . i32 . and ( module . i32 . const ( - 10 ) , module . i32 . const ( - 11 ) ) ,
344- module . i64 . or ( module . i64 . const ( - 22 , 0 ) , module . i64 . const ( - 23 , 0 ) ) ,
344+ module . i64 . or ( module . i64 . const ( - 22 ) , module . i64 . const ( - 23 ) ) ,
345345 module . i32 . xor ( module . i32 . const ( - 10 ) , module . i32 . const ( - 11 ) ) ,
346- module . i64 . shl ( module . i64 . const ( - 22 , 0 ) , module . i64 . const ( - 23 , 0 ) ) ,
347- module . i64 . shr_u ( module . i64 . const ( - 22 , 0 ) , module . i64 . const ( - 23 , 0 ) ) ,
346+ module . i64 . shl ( module . i64 . const ( - 22 ) , module . i64 . const ( - 23 ) ) ,
347+ module . i64 . shr_u ( module . i64 . const ( - 22 ) , module . i64 . const ( - 23 ) ) ,
348348 module . i32 . shr_s ( module . i32 . const ( - 10 ) , module . i32 . const ( - 11 ) ) ,
349349 module . i32 . rotl ( module . i32 . const ( - 10 ) , module . i32 . const ( - 11 ) ) ,
350- module . i64 . rotr ( module . i64 . const ( - 22 , 0 ) , module . i64 . const ( - 23 , 0 ) ) ,
350+ module . i64 . rotr ( module . i64 . const ( - 22 ) , module . i64 . const ( - 23 ) ) ,
351351 module . f32 . div ( module . f32 . const ( - 33.612 ) , module . f32 . const ( - 62.5 ) ) ,
352352 module . f64 . copysign ( module . f64 . const ( - 9005.841 ) , module . f64 . const ( - 9007.333 ) ) ,
353353 module . f32 . min ( module . f32 . const ( - 33.612 ) , module . f32 . const ( - 62.5 ) ) ,
354354 module . f64 . max ( module . f64 . const ( - 9005.841 ) , module . f64 . const ( - 9007.333 ) ) ,
355355 module . i32 . eq ( module . i32 . const ( - 10 ) , module . i32 . const ( - 11 ) ) ,
356356 module . f32 . ne ( module . f32 . const ( - 33.612 ) , module . f32 . const ( - 62.5 ) ) ,
357357 module . i32 . lt_s ( module . i32 . const ( - 10 ) , module . i32 . const ( - 11 ) ) ,
358- module . i64 . lt_u ( module . i64 . const ( - 22 , 0 ) , module . i64 . const ( - 23 , 0 ) ) ,
359- module . i64 . le_s ( module . i64 . const ( - 22 , 0 ) , module . i64 . const ( - 23 , 0 ) ) ,
358+ module . i64 . lt_u ( module . i64 . const ( - 22 ) , module . i64 . const ( - 23 ) ) ,
359+ module . i64 . le_s ( module . i64 . const ( - 22 ) , module . i64 . const ( - 23 ) ) ,
360360 module . i32 . le_u ( module . i32 . const ( - 10 ) , module . i32 . const ( - 11 ) ) ,
361- module . i64 . gt_s ( module . i64 . const ( - 22 , 0 ) , module . i64 . const ( - 23 , 0 ) ) ,
361+ module . i64 . gt_s ( module . i64 . const ( - 23 ) , module . i64 . const ( - 23 ) ) ,
362362 module . i32 . gt_u ( module . i32 . const ( - 10 ) , module . i32 . const ( - 11 ) ) ,
363363 module . i32 . ge_s ( module . i32 . const ( - 10 ) , module . i32 . const ( - 11 ) ) ,
364- module . i64 . ge_u ( module . i64 . const ( - 22 , 0 ) , module . i64 . const ( - 23 , 0 ) ) ,
364+ module . i64 . ge_u ( module . i64 . const ( - 22 ) , module . i64 . const ( - 23 ) ) ,
365365 module . f32 . lt ( module . f32 . const ( - 33.612 ) , module . f32 . const ( - 62.5 ) ) ,
366366 module . f64 . le ( module . f64 . const ( - 9005.841 ) , module . f64 . const ( - 9007.333 ) ) ,
367367 module . f64 . gt ( module . f64 . const ( - 9005.841 ) , module . f64 . const ( - 9007.333 ) ) ,
@@ -506,7 +506,7 @@ function test_core() {
506506 module . i16x8 . replace_lane ( module . v128 . const ( v128_bytes ) , 1 , module . i32 . const ( 42 ) ) ,
507507 module . i8x16 . replace_lane ( module . v128 . const ( v128_bytes ) , 1 , module . i32 . const ( 42 ) ) ,
508508 module . i32x4 . replace_lane ( module . v128 . const ( v128_bytes ) , 1 , module . i32 . const ( 42 ) ) ,
509- module . i64x2 . replace_lane ( module . v128 . const ( v128_bytes ) , 1 , module . i64 . const ( 42 , 43 ) ) ,
509+ module . i64x2 . replace_lane ( module . v128 . const ( v128_bytes ) , 1 , module . i64 . const ( 42 ) ) ,
510510 module . f32x4 . replace_lane ( module . v128 . const ( v128_bytes ) , 1 , module . f32 . const ( 42 ) ) ,
511511 module . f64x2 . replace_lane ( module . v128 . const ( v128_bytes ) , 1 , module . f64 . const ( 42 ) ) ,
512512 // SIMD shift
@@ -698,15 +698,24 @@ function test_core() {
698698 }
699699 }
700700
701- console . log ( "getExpressionInfo(i32.const)=" + JSON . stringify ( binaryen . getExpressionInfo ( module . i32 . const ( 5 ) ) ) ) ;
702- console . log ( "getExpressionInfo(i64.const)=" + JSON . stringify ( binaryen . getExpressionInfo ( module . i64 . const ( 6 , 7 ) ) ) ) ;
703- console . log ( "getExpressionInfo(f32.const)=" + JSON . stringify ( binaryen . getExpressionInfo ( module . f32 . const ( 8.5 ) ) ) ) ;
704- console . log ( "getExpressionInfo(f64.const)=" + JSON . stringify ( binaryen . getExpressionInfo ( module . f64 . const ( 9.5 ) ) ) ) ;
701+ function infoToString ( info ) {
702+ // BigInt values cannot be pass through JSON.stringify so convert
703+ // them to strings first.
704+ if ( typeof info . value === 'bigint' ) {
705+ info . value = info . value . toString ( ) ;
706+ }
707+ return JSON . stringify ( info ) ;
708+ }
709+
710+ console . log ( "getExpressionInfo(i32.const)=" + infoToString ( binaryen . getExpressionInfo ( module . i32 . const ( 5 ) ) ) ) ;
711+ console . log ( "getExpressionInfo(i64.const)=" + infoToString ( binaryen . getExpressionInfo ( module . i64 . const ( 6 ) ) ) ) ;
712+ console . log ( "getExpressionInfo(f32.const)=" + infoToString ( binaryen . getExpressionInfo ( module . f32 . const ( 8.5 ) ) ) ) ;
713+ console . log ( "getExpressionInfo(f64.const)=" + infoToString ( binaryen . getExpressionInfo ( module . f64 . const ( 9.5 ) ) ) ) ;
705714 var elements = binaryen . getExpressionInfo (
706715 module . tuple . make ( [ makeInt32 ( 13 ) , makeInt64 ( 37 , 0 ) , makeFloat32 ( 1.3 ) , makeFloat64 ( 3.7 ) ] )
707716 ) . operands ;
708717 for ( var i = 0 ; i < elements . length ; i ++ ) {
709- console . log ( "getExpressionInfo(tuple[" + i + "])=" + JSON . stringify ( binaryen . getExpressionInfo ( elements [ i ] ) ) ) ;
718+ console . log ( "getExpressionInfo(tuple[" + i + "])=" + infoToString ( binaryen . getExpressionInfo ( elements [ i ] ) ) ) ;
710719 }
711720
712721 // Make the main body of the function. and one block with a return value, one without
0 commit comments