@markw65/monkeyc-optimizer 1.0.27 → 1.0.30
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 +45 -0
- package/build/api.cjs +2087 -226
- package/build/optimizer.cjs +2010 -172
- package/build/src/api.d.ts +2 -4
- package/build/src/ast.d.ts +7 -0
- package/build/src/control-flow.d.ts +20 -0
- package/build/src/inliner.d.ts +3 -3
- package/build/src/mc-rewrite.d.ts +1 -1
- package/build/src/optimizer.d.ts +1 -0
- package/package.json +4 -2
package/README.md
CHANGED
|
@@ -298,3 +298,48 @@ More fixes found via open source projects.
|
|
|
298
298
|
- Bug fixes
|
|
299
299
|
- Update to `@markw65/prettier-plugin-monkeyc@1.0.29` to fix certain obscure comment related bugs
|
|
300
300
|
- When replacing a node (espcially when inlining), delete any comments contained in the old node.
|
|
301
|
+
|
|
302
|
+
### 1.0.28
|
|
303
|
+
|
|
304
|
+
- Bug fixes
|
|
305
|
+
- In some circumstances, while inlining, a parameter could be substituted, and then reprocessed. During reprocessing, it would attempt to lookup the replacement symbol, and if that was a local from the calling function it would fail (since an inline function never has access to the caller's locals). Prevent the reprocessing step from happening.
|
|
306
|
+
|
|
307
|
+
### 1.0.29
|
|
308
|
+
|
|
309
|
+
- Update to @markw65/prettier-plugin-monkeyc@1.0.32
|
|
310
|
+
|
|
311
|
+
- Fixes a parser issue where `x as Type ? a : b` would be parsed as `(x as Type?) a : b` which would then be reported as a syntax error.
|
|
312
|
+
|
|
313
|
+
- Bug fixes
|
|
314
|
+
|
|
315
|
+
- Fix a bug causing literal nodes to be shared. This was harmless prior to the implementation of the PRE pass
|
|
316
|
+
|
|
317
|
+
- Code cleanup
|
|
318
|
+
|
|
319
|
+
- Add `isStatement` and `isExpression` helpers
|
|
320
|
+
|
|
321
|
+
- New features
|
|
322
|
+
|
|
323
|
+
- Add constant folding for relational and logical operators
|
|
324
|
+
- Allow assignment-scope inlining in variable initializers
|
|
325
|
+
- Better cleanup of unused expressions
|
|
326
|
+
- Add a size based PRE pass. Currently limited to non-local variables, and literals
|
|
327
|
+
|
|
328
|
+
- Testing
|
|
329
|
+
- Ignore case of typeCheckLevel option
|
|
330
|
+
- Actually run the rest of the expected-to-crash tests
|
|
331
|
+
- Better error messages from pragma checker
|
|
332
|
+
- Better regex for filtering projects
|
|
333
|
+
|
|
334
|
+
### 1.0.30
|
|
335
|
+
|
|
336
|
+
- Less greedy approach to finding candidate sets
|
|
337
|
+
- slightly better size reduction when globals maybe modified
|
|
338
|
+
- Fix the control flow after the test of a while loop
|
|
339
|
+
- one of the edges was in the wrong place, leading to suboptimal solutions in some cases
|
|
340
|
+
|
|
341
|
+
Bug Fixes
|
|
342
|
+
|
|
343
|
+
- Fix a bug that could lead to the optimizer never completing
|
|
344
|
+
- Fix a bug that prevented inlining functions that ended in a BlockStatement
|
|
345
|
+
- Fix a bug that could cause nested inlined functions inlined in declarations to not be removed
|