Spoofax 1.4.0 (06-03-2015)¶
We're happy to announce the release of Spoofax 1.4.0, a minor release with SDF3 fixes and improvements to language plugins.
Changes¶
SDF3¶
- Fix: Supporting Windows line endings in SDF3.
- Fix: Providing warnings for literals that could be placeholders.
Contributors: Eduardo Amorim
Language plugins¶
Reduced download size of deployed plugins¶
Previously, when creating an Eclipse update site for your language (see tutorial), the result was a ~90MB download that included meta-tools such as SDF3 and NaBL. We brought the download size down to ~60MB by removing dependencies to some of the meta-tools, since end-users of deployed languages don't need them. In the future, we plan to bring the size further down by removing more dependencies.
Contributors: Oskar van Rest
Setting Java VM options for your language¶
For Spoofax and Spoofax-based languages to run smoothly, it is recommended to set Java's -server
flag and to increase the stack size and memory allocation pool:
-Xss<size>
specifies the thread stack size-Xmx<size>
specifies the maximum size, in bytes, of the memory allocation pool.-server
selects server application runtime optimizations.
The server VM will take longer to start and “warm up” but will be more aggressively optimized. The -server
option only affects 32-bit VMs and has influence on 64-bit VMs because these always use server optimizations. These options can be configured in eclipse.ini
as described on the download page. The recommended settings for Spoofax are -server -Xss8m -Xmx1024m
and a warning will pop-up if Eclipse is started with settings that are too low.
Previously, the same settings were assumed for deployed plugins and were enforced by a similar pup-up warning. With Spoofax 1.4.0, language developers can choose their own Java VM settings, which are then recommended to end-users of their language. This can be configured in editor/yourlang.main.esv
. The syntax is as follows:
jvm opts: [-server | -X[ss|mx]<size>[g|G|m|M|k|K]]+
For example: jvm opts: -server -Xss8m -Xmx1024m
. If multiple Spoofax-based languages are installed, the configuration warning will tell how eclipse.ini
needs to be updated such that the requirements of all languages are satisfied.
Contributors: Oskar van Rest
Created: October 17, 2024