Description
Describe the Issue
I have tried to use the Auxiliary Engine Cache with JavaScript and Python, and with preinitialization enabled, but I've run into a conflict with option policy:
(1) Many options in Truffle engines are still considered experimental
(2) Aux caching itself is considered experimental
(3) But, preinitialized contexts automatically and unconditionally disable experimental options
This results in a condition where, if aux caching is enabled, many other features in Truffle engines cannot be enabled, including critical features like CJS/ESM support for JavaScript.
If the user opts in to experimental options, no stability guarantee is possible anyway, so pre-initialized contexts should respect the user's decision and allow experimental options (if indicated by the user).
Using the latest version of GraalVM can resolve many issues.
- I tried with the latest version of GraalVM.
GraalVM Version
java version "23.0.2" 2025-01-21
Java(TM) SE Runtime Environment Oracle GraalVM 23.0.2+7.1 (build 23.0.2+7-jvmci-b01)
Java HotSpot(TM) 64-Bit Server VM Oracle GraalVM 23.0.2+7.1 (build 23.0.2+7-jvmci-b01, mixed mode, sharing)
Operating System and Version
Linux 5.15.167.4-microsoft-standard-WSL2 #1 SMP Tue Nov 5 00:21:55 UTC 2024 x86_64 x86_64 x86_64 GNU/Linux
Troubleshooting Confirmation
- I tried the suggestions in the troubleshooting guide.
Run Command
(N/A)
Expected Behavior
I expect pre-initialized contexts and contexts cached through the Aux Engine to respect build-time flags and allowances of experimental options.
Actual Behavior
Preinitialized contexts unconditionally forbid experimental options.
Steps to Reproduce
- Activate Aux Cache
- Use Truffle engines with experimental features
Additional Context
No response
Run-Time Log Output and Error Messages
No response