no1wudi opened a new pull request, #3299:
URL: https://github.com/apache/nuttx-apps/pull/3299
## Summary
* **Why change is necessary?** New feature - adds MicroQuickJS JavaScript
interpreter support to NuttX
* **What functional part of the code is being changed?** New interpreter
module added in `interpreters/mquickjs/` directory.
* **How does the change exactly work?**
- FetchContent automatically downloads mquickjs source from
bellard/mquickjs if not present locally
- Builds mqjs_stdlib host tool to generate required headers
(mqjs_stdlib.h, mquickjs_atom.h) during build
- Creates libmquickjs library with proper dependency handling for
parallel builds
- Provides mqjs NSH command for interactive JavaScript execution
- Supports both CMake and Make build systems
## Impact
* **Is new feature added?** YES - New MicroQuickJS JavaScript interpreter
integration
* **Impact on user?** YES - Users can now enable and use JavaScript
interpreter by enabling `CONFIG_INTERPRETERS_MQJS` in Kconfig
* **Impact on build?** YES - Adds new build target and configuration option
* **Impact on hardware?** NO - Works across architectures (32-bit and
64-bit)
* **Impact on documentation?** YES - Documentation should be added in
nuttx repository (separate PR)
* **Impact on security?** NO - Standard JavaScript interpreter integration
* **Impact on compatibility?** NO - Pure addition, no breaking changes
## Testing
stm32f7 disco:
```
Builtin Apps:
mqjs dd nsh sh
nsh> mqjs --memory-limit 65536 -d -e "print('Run 1')"
Run 1
TAG COUNT AVG_SIZE SIZE RATIO
free 6 7 44 1%
object 60 14 836 25%
float64 1 12 12 0%
string 3 13 40 1%
func_bytecode 1 40 40 1%
value_array 12 158 1900 57%
byte_array 8 10 84 3%
varref 44 8 352 11%
heap size=3308/65164 stack_size=0
```
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]