Allow fine-grained control over JavaScript compiler options via *.ini
JavaScriptOptions bit-field can be set in sbbs.ini and jsexec.ini to over-ride the default JS compiler options which have been changed from 0 to (options previously only used by JSDoor): JIT | METHODJIT | COMPILE_N_GO | PROFILING * JIT - TraceMonkey * METHODJIT - JägerMonkey * COMPILE_N_GO - compile-time scope chain resolution of consts * PROFILING - Choose between TraceMonkey and JägerMonkey at compile-time based on profiling results Other options available but not enabled by default: * STRICT - warn on debious practice (i.e. similar to "use strict") * WERROR - convert warnings to errors * VAROBJFIX - use last object on scope chain as the ECMA 'variables object' * RELIMIT - Throw exception on any regular expression which backtracks more than n^3 times, where n is length of the input string * ANONFUNFIX - Disallow function () {} in statement context per ECMA-262 Edition 3. * METHODJIT_ALWAYS - Always whole-method JIT, don't tune at run-time. Also: - Fixed JS warning string formatting (missing space separator). - Removed an extraneous new-line in lprintf() call in mailsrvr. - Added basic assertEq() global method to jsexec, required when running SpiderMonkey test scripts.
Showing
- src/sbbs3/js_global.c 1 addition, 15 deletionssrc/sbbs3/js_global.c
- src/sbbs3/jsexec.c 29 additions, 4 deletionssrc/sbbs3/jsexec.c
- src/sbbs3/mailsrvr.c 2 additions, 1 deletionsrc/sbbs3/mailsrvr.c
- src/sbbs3/main.cpp 3 additions, 2 deletionssrc/sbbs3/main.cpp
- src/sbbs3/sbbs_ini.c 4 additions, 0 deletionssrc/sbbs3/sbbs_ini.c
- src/sbbs3/sbbsdefs.h 1 addition, 0 deletionssrc/sbbs3/sbbsdefs.h
- src/sbbs3/services.c 1 addition, 0 deletionssrc/sbbs3/services.c
- src/sbbs3/startup.h 17 additions, 0 deletionssrc/sbbs3/startup.h
- src/sbbs3/websrvr.c 3 additions, 1 deletionsrc/sbbs3/websrvr.c
Loading
Please register or sign in to comment