If `backend` is `mu`, `vmargs` key can be used to specify VM options.
The value of this key is a list of strings.
The framework will join this list together with appropriate separators according to the selected Mu implementation and pass the joint string to the VM initialisation function.
> Note, because the framework passes a list of strings to create the subprocess,
> the flag `--mu-vmargs=` to RPython displayed on the commandline omits the quotation mark (`'`).
> If the command is copied and pasted to the command line, make sure the qutation mark is added to the
> argument string.
The `exec` key can be used to specify a Python 2.7 interpreter for compiling RPython.
The `exec` key can be used to specify a Python 2.7 interpreter for compiling RPython.
By default [PyPy](http://pypy.org/) is used because of its speed.
By default [PyPy](http://pypy.org/) is used because of its speed.
...
@@ -277,7 +287,7 @@ language:
...
@@ -277,7 +287,7 @@ language:
source:build_(benchname).c# required, string
source:build_(benchname).c# required, string
compiler:
compiler:
exec:# optional, string
exec:# optional, string
vmarg:# optional, string
vmargs:# optional, string
```
```
Compile and run a C source file consisting of Mu API calls to construct the Mu bundle,
Compile and run a C source file consisting of Mu API calls to construct the Mu bundle,
then run the bundle on the specified Mu implementation.
then run the bundle on the specified Mu implementation.
...
@@ -288,8 +298,7 @@ Generally the `source` file should be in the form of `build_(bench).c`, since th
...
@@ -288,8 +298,7 @@ Generally the `source` file should be in the form of `build_(bench).c`, since th
`clang` is the default C compiler. This can be changed in the optional `exec` key.
`clang` is the default C compiler. This can be changed in the optional `exec` key.
`vmarg` key can be used to pass an argument string to the VM initialiser.
The meaning and requirement for `vmargs` key is the same with RPython.
Note that in the case of Holstein, since the option items are joined with `'\n'`, it needs be `'\\n'` in the string here.
Same requirements for `environ` and `runner` from [RPython](#rpython) apply.
Same requirements for `environ` and `runner` from [RPython](#rpython) apply.