@markw65/monkeyc-optimizer 1.0.29 → 1.0.32
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 +54 -0
- package/build/api.cjs +1049 -305
- package/build/optimizer.cjs +947 -393
- package/build/src/api.d.ts +5 -1
- package/build/src/ast.d.ts +2 -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
|
@@ -330,3 +330,57 @@ More fixes found via open source projects.
|
|
|
330
330
|
- Actually run the rest of the expected-to-crash tests
|
|
331
331
|
- Better error messages from pragma checker
|
|
332
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
|
|
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
|