porffor 0.20.0 → 0.20.1

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.
package/compiler/2c.js CHANGED
@@ -27,7 +27,8 @@ typedef uint64_t u64;
27
27
  typedef float f32;
28
28
  typedef double f64;
29
29
 
30
- f64 NAN = 0e+0/0e+0;
30
+ const f64 NaN = 0e+0/0e+0;
31
+ const f64 Infinity = 1e+0/0e+0;
31
32
 
32
33
  struct ReturnValue {
33
34
  f64 value;
@@ -187,7 +188,11 @@ export default ({ funcs, globals, tags, data, exceptions, pages }) => {
187
188
  }
188
189
  return out;
189
190
  };
190
- const sanitize = str => str.replace(/[^0-9a-zA-Z_]/g, _ => codeToSanitizedStr(_.charCodeAt(0)));
191
+ const sanitize = str => {
192
+ if (str === 'char') return '_' + str;
193
+
194
+ return str.replace(/[^0-9a-zA-Z_]/g, _ => codeToSanitizedStr(_.charCodeAt(0)));
195
+ };
191
196
 
192
197
  for (const x in invGlobals) {
193
198
  invGlobals[x] = sanitize(invGlobals[x]);
@@ -394,17 +399,12 @@ export default ({ funcs, globals, tags, data, exceptions, pages }) => {
394
399
  switch (i[0]) {
395
400
  case Opcodes.i32_const:
396
401
  case Opcodes.i64_const:
397
- // vals.push(read_signedLEB128(i.slice(1)).toString());
398
- vals.push(new String(read_signedLEB128(i.slice(1)).toString()));
399
- vals.at(-1).offset = _;
402
+ vals.push(read_signedLEB128(i.slice(1)).toString());
400
403
  break;
401
404
 
402
405
  case Opcodes.f64_const: {
403
- // const val = read_ieee754_binary64(i.slice(1)).toExponential();
404
- const val = new String(read_ieee754_binary64(i.slice(1)).toExponential());
405
- // vals.push(val == 'NaN' ? 'NAN' : val);
406
- vals.push(val == 'NaN' ? new String('NAN') : val);
407
- vals.at(-1).offset = _;
406
+ const val = read_ieee754_binary64(i.slice(1)).toExponential();
407
+ vals.push(val);
408
408
  break;
409
409
  }
410
410
 
@@ -697,29 +697,6 @@ _time_out = _time.tv_nsec / 1000000. + _time.tv_sec * 1000.;`);
697
697
  break;
698
698
  }
699
699
 
700
- case Opcodes.f64_abs: {
701
- break;
702
- }
703
- case Opcodes.f64_neg: {
704
- break;
705
- }
706
-
707
- case Opcodes.f64_ceil: {
708
- break;
709
- }
710
- case Opcodes.f64_floor: {
711
- break;
712
- }
713
- case Opcodes.f64_trunc: {
714
- break;
715
- }
716
- case Opcodes.f64_nearest: {
717
- break;
718
- }
719
-
720
- case Opcodes.f64_sqrt: {
721
- break;
722
- }
723
700
  case Opcodes.f64_min: {
724
701
  const b = vals.pop();
725
702
  const a = vals.pop();
@@ -740,9 +717,34 @@ _time_out = _time.tv_nsec / 1000000. + _time.tv_sec * 1000.;`);
740
717
  vals.push(`(_tmp${id}a > _tmp${id}b ? _tmp${id}a : _tmp${id}b)`);
741
718
  break;
742
719
  }
743
- case Opcodes.f64_copysign: {
744
- break;
745
- }
720
+
721
+ // case Opcodes.f64_abs: {
722
+ // break;
723
+ // }
724
+ // case Opcodes.f64_neg: {
725
+ // break;
726
+ // }
727
+
728
+ // case Opcodes.f64_ceil: {
729
+ // break;
730
+ // }
731
+ // case Opcodes.f64_floor: {
732
+ // break;
733
+ // }
734
+ // case Opcodes.f64_trunc: {
735
+ // break;
736
+ // }
737
+ // case Opcodes.f64_nearest: {
738
+ // break;
739
+ // }
740
+
741
+ // case Opcodes.f64_sqrt: {
742
+ // break;
743
+ // }
744
+
745
+ // case Opcodes.f64_copysign: {
746
+ // break;
747
+ // }
746
748
 
747
749
  default:
748
750
  if (CMemFuncs[i[0]]) {
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "porffor",
3
3
  "description": "a basic experimental wip aot optimizing js -> wasm engine/compiler/runtime in js",
4
- "version": "0.20.0+221fc85ef",
4
+ "version": "0.20.1+3a57b9280",
5
5
  "author": "CanadaHonk",
6
6
  "license": "MIT",
7
7
  "scripts": {},
package/runner/index.js CHANGED
@@ -1,6 +1,6 @@
1
1
  #!/usr/bin/env node
2
2
  import fs from 'node:fs';
3
- globalThis.version = '0.20.0+221fc85ef';
3
+ globalThis.version = '0.20.1+3a57b9280';
4
4
 
5
5
  // deno compat
6
6
  if (typeof process === 'undefined' && typeof Deno !== 'undefined') {