Use better JS engine defaults

This adds in preferences for all the SM 39 available options (as
retrieved from Gecko), and uses the same defaults as Gecko. A few
properties are not supported yet, and incremental GC is still always
disabled regardless of the preference setting.

This also adds back in the options that were accidentally deleted when
\#10342 was rebased, which moved things from script_thread.rs to
script_runtime.rs.
This commit is contained in:
Jack Moffitt 2016-04-06 17:00:48 -06:00
parent 6150e174c1
commit 1bec193415
4 changed files with 230 additions and 3 deletions

View file

@ -5,6 +5,41 @@
"gfx.webrender.enabled": false,
"js.baseline.enabled": true,
"js.ion.enabled": true,
"js.asmjs.enabled": true,
"js.strict.enabled": false,
"js.strict.debug.enabled": false,
"js.throw_on_asmjs_validation_failure.enabled": false,
"js.native_regexp.enabled": true,
"js.parallel_parsing.enabled": true,
"js.ion.offthread_compilation.enabled": true,
"js.baseline.unsafe_eager_compilation.enabled": false,
"js.ion.unsafe_eager_compilation.enabled": false,
"js.discard_system_source.enabled": false,
"js.asyncstack.enabled": false,
"js.throw_on_debuggee_would_run.enabled": false,
"js.dump_stack_on_debuggee_would_run.enabled": false,
"js.werror.enabled": false,
"js.strict.enabled": false,
"js.shared_memory.enabled": true,
"js.mem.high_water_mark": 128,
"js.mem.max": -1,
"js.mem.gc.per_compartment.enabled": true,
"js.mem.gc.incremental.enabled": true,
"js.mem.gc.incremental.slice_ms": 10,
"js.mem.gc.compacting.enabled": true,
"js.mem.gc.high_frequency_time_limit_ms": 1000,
"js.mem.gc.dynamic_mark_slice.enabled": true,
"js.mem.gc.refresh_frame_slices.enabled": true,
"js.mem.gc.dynamic_heap_growth.enabled": true,
"js.mem.gc.low_frequency_heap_growth": 150,
"js.mem.gc.high_frequency_heap_growth_min": 150,
"js.mem.gc.high_frequency_heap_growth_max": 300,
"js.mem.gc.high_frequency_low_limit_mb": 100,
"js.mem.gc.high_frequency_high_limit_mb": 500,
"js.mem.gc.allocation_threshold_mb": 30,
"js.mem.gc.decommit_threshold_mb": 32,
"js.mem.gc.empty_chunk_count_min": 1,
"js.mem.gc.empty_chunk_count_max": 30,
"layout.columns.enabled": false,
"layout.column-width.enabled": false,
"layout.column-count.enabled": false,