The server currently has a hard limit on heap size for each js scope which is set to 1.1 GB. In the shell we avoid setting any limit.
This leads to situations where jstestfuzz can't verify some js expressions (because some tests in the shell get OOM killed rather than soft limited, because we can't set a limit in the shell) and where users can't ask for more memory server side if they actually want it (for expensive map reduce operations).
Adding a setParameter and shell option would cover both of these use cases at relatively little cost.
The other option to consider is a function that can be invoked from JS, but then we're in a situation where we'd have to work out access control for allowing us to raise the limit, or have only a function that can lower the limit. Moving the limit out of js is cleaner from an authorization perspective.