Bug 1830934 Comment 0 Edit History

Note: The actual edited comment in the bug view page will always show the original commenter’s name and original timestamp.

(I'm filing this in the JS engine component rather than in `Toolkit :: Startup and Profile System` because I figure this component reaches the more interested audience.)

When running the Spidermonkey shell, you can pass arguments which change its behavior, for example:

```
% js --enable-ic-frame-pointers --only-inline-selfhosted --spectre-mitigations=off  --no-async-stacks index.js
```

But when running Firefox, passing the same flags is harder. You can get an approximation like this:

```
% JIT_OPTION_enableICFramePointers=true JIT_OPTION_onlyInlineSelfHosted=true JIT_OPTIONS_spectreIndexMasking=false JIT_OPTIONS_spectreObjectMitigations=false JIT_OPTIONS_spectreStringMitigations=false JIT_OPTIONS_spectreValueMasking=false JIT_OPTIONS_spectreJitToCxxCalls=false firefox
```

but this is quite unwieldy, and environment variables are harder to use than command line flags. Also, for `--no-async-stacks`, you'd additionally have to set the pref `javascript.options.asyncstack` to `false` on `about:config`.

It would be great if you were able to do this instead:

```
% firefox --js-shell="--enable-ic-frame-pointers --only-inline-selfhosted --spectre-mitigations=off  --no-async-stacks"
```

Chrome has a `--js-shell` argument that does this.
(I'm filing this in the JS engine component rather than in `Toolkit :: Startup and Profile System` because I figure this component reaches the more interested audience.)

When running the Spidermonkey shell, you can pass arguments which change its behavior, for example:

```
% js --enable-ic-frame-pointers --only-inline-selfhosted --spectre-mitigations=off  --no-async-stacks index.js
```

But when running Firefox, passing the same flags is harder. You can get an approximation like this:

```
% JIT_OPTION_enableICFramePointers=true JIT_OPTION_onlyInlineSelfHosted=true \
JIT_OPTIONS_spectreIndexMasking=false JIT_OPTIONS_spectreObjectMitigations=false \
JIT_OPTIONS_spectreStringMitigations=false JIT_OPTIONS_spectreValueMasking=false \
JIT_OPTIONS_spectreJitToCxxCalls=false firefox
```

but this is quite unwieldy, and environment variables are harder to use than command line flags. Also, for `--no-async-stacks`, you'd additionally have to set the pref `javascript.options.asyncstack` to `false` on `about:config`.

It would be great if you were able to do this instead:

```
% firefox --js-shell="--enable-ic-frame-pointers --only-inline-selfhosted --spectre-mitigations=off  --no-async-stacks"
```

Chrome has a `--js-shell` argument that does this.
(I'm filing this in the JS engine component rather than in `Toolkit :: Startup and Profile System` because I figure this component reaches the more interested audience.)

When running the Spidermonkey shell, you can pass arguments which change its behavior, for example:

```
% js --enable-ic-frame-pointers --only-inline-selfhosted --spectre-mitigations=off  --no-async-stacks index.js
```

But when running Firefox, passing the same flags is harder. You can get an approximation like this:

```
% JIT_OPTION_enableICFramePointers=true JIT_OPTION_onlyInlineSelfHosted=true \
JIT_OPTIONS_spectreIndexMasking=false JIT_OPTIONS_spectreObjectMitigations=false \
JIT_OPTIONS_spectreStringMitigations=false JIT_OPTIONS_spectreValueMasking=false \
JIT_OPTIONS_spectreJitToCxxCalls=false firefox
```

but this is quite unwieldy, and environment variables are harder to use than command line flags. Also, for `--no-async-stacks`, you'd additionally have to set the pref `javascript.options.asyncstack` to `false` on `about:config`.

It would be great if you were able to do this instead:

```
% firefox --js-shell="--enable-ic-frame-pointers --only-inline-selfhosted --spectre-mitigations=off --no-async-stacks"
```

Chrome has a `--js-shell` argument that does this.
(I'm filing this in the JS engine component rather than in `Toolkit :: Startup and Profile System` because I figure this component reaches the more interested audience.)

When running the Spidermonkey shell, you can pass arguments which change its behavior, for example:

```
% js --enable-ic-frame-pointers --only-inline-selfhosted --spectre-mitigations=off --no-async-stacks index.js
```

But when running Firefox, passing the same flags is harder. You can get an approximation like this:

```
% JIT_OPTION_enableICFramePointers=true JIT_OPTION_onlyInlineSelfHosted=true \
JIT_OPTIONS_spectreIndexMasking=false JIT_OPTIONS_spectreObjectMitigations=false \
JIT_OPTIONS_spectreStringMitigations=false JIT_OPTIONS_spectreValueMasking=false \
JIT_OPTIONS_spectreJitToCxxCalls=false firefox
```

but this is quite unwieldy, and environment variables are harder to use than command line flags. Also, for `--no-async-stacks`, you'd additionally have to set the pref `javascript.options.asyncstack` to `false` on `about:config`.

It would be great if you were able to do this instead:

```
% firefox --js-shell="--enable-ic-frame-pointers --only-inline-selfhosted --spectre-mitigations=off --no-async-stacks"
```

Chrome has a `--js-shell` argument that does this.

Back to Bug 1830934 Comment 0