porffor 0.16.0-f9dde1759 → 0.16.0-fa3914030

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -246,7 +246,7 @@ export default wasm => {
246
246
  const [ b, a ] = pop2();
247
247
  const v = bool(a === b);
248
248
 
249
- replaceVal(v, Valtype.f64);
249
+ replaceVal(v, Valtype.i32);
250
250
  push(v);
251
251
  break;
252
252
  }
@@ -255,7 +255,7 @@ export default wasm => {
255
255
  const [ b, a ] = pop2();
256
256
  const v = bool(a !== b);
257
257
 
258
- replaceVal(v, Valtype.f64);
258
+ replaceVal(v, Valtype.i32);
259
259
  push(v);
260
260
  break;
261
261
  }
@@ -264,7 +264,7 @@ export default wasm => {
264
264
  const [ b, a ] = pop2();
265
265
  const v = bool(a < b);
266
266
 
267
- replaceVal(v, Valtype.f64);
267
+ replaceVal(v, Valtype.i32);
268
268
  push(v);
269
269
  break;
270
270
  }
@@ -273,7 +273,7 @@ export default wasm => {
273
273
  const [ b, a ] = pop2();
274
274
  const v = bool(a <= b);
275
275
 
276
- replaceVal(v, Valtype.f64);
276
+ replaceVal(v, Valtype.i32);
277
277
  push(v);
278
278
  break;
279
279
  }
@@ -282,7 +282,7 @@ export default wasm => {
282
282
  const [ b, a ] = pop2();
283
283
  const v = bool(a > b);
284
284
 
285
- replaceVal(v, Valtype.f64);
285
+ replaceVal(v, Valtype.i32);
286
286
  push(v);
287
287
  break;
288
288
  }
@@ -291,7 +291,7 @@ export default wasm => {
291
291
  const [ b, a ] = pop2();
292
292
  const v = bool(a >= b);
293
293
 
294
- replaceVal(v, Valtype.f64);
294
+ replaceVal(v, Valtype.i32);
295
295
  push(v);
296
296
  break;
297
297
  }
@@ -404,7 +404,7 @@ export default wasm => {
404
404
  case Opcodes.f64_max: {
405
405
  if (stack.length < 2) { empty(); break; };
406
406
  const [ b, a ] = pop2();
407
- const v = a + b;
407
+ const v = Math.max(a, b);
408
408
 
409
409
  replaceVal(v, Valtype.f64);
410
410
  push(v);
@@ -467,9 +467,9 @@ export default wasm => {
467
467
  // i32.const 1
468
468
  // i32.add
469
469
  // local.set 7 ;; $i (i32)
470
- if (
471
- (opcode >= 0xa0 && opcode <= 0xa3) || // main f64 math op
472
- (opcode >= 0x61 && opcode <= 0x66) // main f64 eq op
470
+ if (i >= 2 &&
471
+ ((opcode >= 0xa0 && opcode <= 0xa3) || // main f64 math op
472
+ (opcode >= 0x61 && opcode <= 0x66)) // main f64 eq op
473
473
  ) {
474
474
  const o2 = wasm[i - 1][0];
475
475
  if (o2 === Opcodes.f64_const) { // f64.const
@@ -500,7 +500,7 @@ export default wasm => {
500
500
  }
501
501
  }
502
502
 
503
- if ((opcode === 0xfc02 || opcode === 0xfc03) && i > 3) { // i32.trunc_sat_f64_s/u
503
+ if ((opcode === 0xfc02 || opcode === 0xfc03) && i >= 3) { // i32.trunc_sat_f64_s/u
504
504
  const o2 = wasm[i - 1][0];
505
505
  if (
506
506
  (o2 >= 0xa0 && o2 <= 0xa3) || // main f64 math op