@markw65/monkeyc-optimizer 1.1.9 → 1.1.11

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 CHANGED
@@ -677,3 +677,29 @@ Bug Fixes
677
677
 
678
678
  - New optimizations
679
679
  - Adds a `minimizeLocals` pass which runs after `sizeBasedPRE` and attempts to re-use local variables in order to reduce the total number, and hence reduce the stack size.
680
+
681
+ ### 1.1.10
682
+
683
+ - Bug fixes
684
+ - Fix a bug that could cause inlined code to not get fully optimized
685
+ - Fix costs for pre of Long and Double constants, so that values that are used twice (rather than 3 times) will be subject to pre
686
+ - Fix some issues tracking the contents of Objects. In some circumstances, if two objects could be aliased, an assignment to a field of one of them might not be recognized as affecting the other.
687
+ - Don't warn about inlining failing if constant folding succeeds.
688
+ - In the vscode extension, in some cases `Go to Definition` worked for a resource (eg a Menu), but then `Go to References` said there were none. This was caused by incorrect source location in the (fake) resource code.
689
+
690
+ ### 1.1.11
691
+
692
+ - Update to [@markw65/prettier-plugin-monkeyc@1.0.44](https://github.com/markw65/prettier-plugin-monkeyc#1044)
693
+
694
+ - Fixes a parser bug relating to Methods returning Void, and a printer bug relating to nested Method declarations.
695
+
696
+ - Bug fixes
697
+ - Fixes an odd bug that could remove assignments to a global with the same name as an unused local, if the local was declared part way through a block, and the global was used before the declaration of the local.
698
+ - Fix some asserts related to complex member expressions that could fire in unusual circumstances
699
+ - New features
700
+ - Constant fold instanceof expressions
701
+ - Add more Toybox functions to sysCallInfo, so the optimizer knows they have no side effects
702
+ - Remove top level, side-effect free expressions
703
+ - Propagate any :typecheck annotations from inlined functions to their callers
704
+ - Fix some issues keeping track of function calls used as arguments to inlined functions, that could result in bogus diagnostics.
705
+ - Implement [Single Use Copy Propagation](https://github.com/markw65/monkeyc-optimizer/wiki/Local-variable-elimination#single-use-copy-propagation)