@markw65/monkeyc-optimizer 1.0.30 → 1.0.33
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/README.md +50 -0
- package/build/api.cjs +1012 -299
- package/build/optimizer.cjs +909 -386
- package/build/src/api.d.ts +5 -1
- package/build/src/ast.d.ts +21 -1
- package/build/src/build.d.ts +1 -0
- package/build/src/control-flow.d.ts +1 -0
- package/build/src/function-info.d.ts +12 -0
- package/build/src/inliner.d.ts +1 -0
- package/build/src/jungles.d.ts +1 -0
- package/build/src/mc-rewrite.d.ts +2 -1
- package/build/src/optimizer-types.d.ts +188 -0
- package/build/src/optimizer.d.ts +4 -174
- package/build/src/pragma-checker.d.ts +2 -1
- package/build/src/pre.d.ts +1 -0
- package/build/src/unused-exprs.d.ts +3 -0
- package/build/src/variable-renamer.d.ts +1 -0
- package/build/src/visitor.d.ts +1 -0
- package/package.json +6 -6
package/README.md
CHANGED
|
@@ -343,3 +343,53 @@ Bug Fixes
|
|
|
343
343
|
- Fix a bug that could lead to the optimizer never completing
|
|
344
344
|
- Fix a bug that prevented inlining functions that ended in a BlockStatement
|
|
345
345
|
- Fix a bug that could cause nested inlined functions inlined in declarations to not be removed
|
|
346
|
+
|
|
347
|
+
### 1.0.31
|
|
348
|
+
|
|
349
|
+
- Bug fixes
|
|
350
|
+
|
|
351
|
+
- Use withLocDeep on inline results
|
|
352
|
+
- Better tracking of state.inType
|
|
353
|
+
- Fix typo setting up the ProgramState
|
|
354
|
+
- Fix a glitch with the scope of for-statement variable declarations
|
|
355
|
+
- Fix some edge cases with pre
|
|
356
|
+
- Remove a check that crippled pre for literals
|
|
357
|
+
- I had forgotten to remove some code that I added to debug a problem
|
|
358
|
+
|
|
359
|
+
- Code cleanup
|
|
360
|
+
|
|
361
|
+
- Move all the global types to optimizer-types.ts, and explicitly import them
|
|
362
|
+
- Be more consistent about when assignment/update lhs is traversed
|
|
363
|
+
- Rework exposed flag
|
|
364
|
+
- Now it only holds the names of symbols (ie `:name`)
|
|
365
|
+
- There's a separate list of variables that shouldn't be removed
|
|
366
|
+
- There's a separate list of functions that shouldn't be removed
|
|
367
|
+
- Update to [@markw65/prettier-plugin-monkeyc@1.0.33](https://github.com/markw65/prettier-plugin-monkeyc#1033)
|
|
368
|
+
- Update for BigInt literals, and cleanup folding code
|
|
369
|
+
|
|
370
|
+
- New features
|
|
371
|
+
|
|
372
|
+
- Support `obj[:key]` as alternate for obj.key in lookup
|
|
373
|
+
- `Find References`, and `Rename` will recognize these references now.
|
|
374
|
+
- Add an unused variable cleanup pass
|
|
375
|
+
- This will delete variables that are completely unreferenced.
|
|
376
|
+
|
|
377
|
+
- Analysis/Optimization
|
|
378
|
+
- Collect info about what each function may modify and call
|
|
379
|
+
- Better analysis of inline function bodies
|
|
380
|
+
- Update the StateNodeDecls when renaming locals
|
|
381
|
+
|
|
382
|
+
### 1.0.32
|
|
383
|
+
|
|
384
|
+
- Bug fixes
|
|
385
|
+
- Fixup the tests to run unoptimized again, and add running unoptimized to the standard test run
|
|
386
|
+
- Fix PRE to not merge Numbers and Floats (ie 1 is not the same thing as 1.0), and add a test
|
|
387
|
+
|
|
388
|
+
### 1.0.33
|
|
389
|
+
|
|
390
|
+
- New features
|
|
391
|
+
|
|
392
|
+
- Tagging a function with (:keep) will prevent the optimizer from removing it, even if it appears to be unused.
|
|
393
|
+
|
|
394
|
+
- Bug fixes
|
|
395
|
+
- Fix PRE to not merge values with different types. ie Number, Long, Float and Double literals should all be treated separately, even when the compare the same.
|