RPM Package Manager, CVS Repository http://rpm5.org/cvs/ ____________________________________________________________________________
Server: rpm5.org Name: Jeff Johnson Root: /v/rpm/cvs Email: j...@rpm5.org Module: rpm Date: 09-Jul-2017 11:42:42 Branch: rpm-5_4 Handle: 2017070909424100 Modified files: (Branch: rpm-5_4) rpm/js rpmjs45.cpp rpm/rpmio rpmjss.h Log: - rpmjs45: extend the rpmjss object. Summary: Revision Changes Path 1.1.2.6 +133 -129 rpm/js/rpmjs45.cpp 1.1.2.3 +86 -0 rpm/rpmio/rpmjss.h ____________________________________________________________________________ patch -p0 <<'@@ .' Index: rpm/js/rpmjs45.cpp ============================================================================ $ cvs diff -u -r1.1.2.5 -r1.1.2.6 rpmjs45.cpp --- rpm/js/rpmjs45.cpp 9 Jul 2017 07:10:29 -0000 1.1.2.5 +++ rpm/js/rpmjs45.cpp 9 Jul 2017 09:42:41 -0000 1.1.2.6 @@ -26,6 +26,9 @@ JSObject *global; }; +struct rpmjss_s _jss; +rpmjss jss = &_jss; + /*==============================================================*/ static void mozFini(rpmjss jss) { @@ -276,10 +279,6 @@ #include <poptIO.h> /*==============================================================*/ -struct rpmjss_s _jss; -rpmjss jss = &_jss; - -#ifdef NOTYET #define N_(_str) (_str) struct poptOption rpmjssIPoptTable[] = { { "allow", '\0', POPT_BIT_SET, &_jss.flags, RPMJSS_FLAGS_ALLOW, @@ -311,36 +310,6 @@ POPT_TABLEEND }; -static const char *Ifile; -static const char *Imodule; -static const char *Icode; -static const char *js_cache; -static const char *script; -static const char **scriptArgs; -static int thread_count; - -typedef enum rpmjssIonFlags_e { - ION_SHARED_STUBS = (1 << 0), - ION_SCALAR_REPLACEMENT = (1 << 1), - ION_GVN = (1 << 2), - ION_LICM = (1 << 3), - ION_EDGECASE_ANALYSIS = (1 << 4), - ION_PGO = (1 << 5), - ION_RANGE_ANALYSIS = (1 << 6), - ION_SINCOS = (1 << 7), - ION_SINK = (1 << 8), - ION_LOOP_UNROLLING = (1 << 9), - ION_INSTRUCTION_REORDERING = (1 << 10), - ION_CHECK_RANGE_ANALYSIS = (1 << 11), - ION_EXTRA_CHECKS = (1 << 12), - ION_INLINING = (1 << 13), - ION_OSR = (1 << 14), - ION_LIMIT_SCRIPT_SIZE = (1 << 15), - ION_EAGER = (1 << 16), - ION_OFFTHREAD_COMPILE = (1 << 17), - ION_PARALLEL_COMPILE = (1 << 18), -} rpmjssIonFlags; - rpmjssIonFlags _ionf = (rpmjssIonFlags) ( ION_SCALAR_REPLACEMENT | ION_GVN | @@ -355,150 +324,186 @@ 0 ); -static int ion_warmup_threshold; -static const char * ion_regalloc; - struct poptOption rpmjssIonPoptTable[] = { { "ion-shared-stubs", '\0', POPT_BIT_SET|POPT_ARGFLAG_TOGGLE, - &_ionf, ION_SHARED_STUBS, + &_jss.ionf, ION_SHARED_STUBS, N_("Use shared stubs (default: off)"), NULL }, { "ion-scalar-replacement", '\0', POPT_BIT_SET|POPT_ARGFLAG_TOGGLE, - &_ionf, ION_SCALAR_REPLACEMENT, + &_jss.ionf, ION_SCALAR_REPLACEMENT, N_("Scalar replacement (default: on)"), NULL }, { "ion-gvn", '\0', POPT_BIT_SET|POPT_ARGFLAG_TOGGLE, - &_ionf, ION_GVN, + &_jss.ionf, ION_GVN, N_("Global value numbering (default: on)"), NULL }, { "ion-licm", '\0', POPT_BIT_SET|POPT_ARGFLAG_TOGGLE, - &_ionf, ION_LICM, + &_jss.ionf, ION_LICM, N_("Loop invariant code motion (default: on)"), NULL }, { "ion-edgecase-analysis", '\0', POPT_BIT_SET|POPT_ARGFLAG_TOGGLE, - &_ionf, ION_EDGECASE_ANALYSIS, + &_jss.ionf, ION_EDGECASE_ANALYSIS, N_("Find edge cases where Ion can avoid bailouts (default: off)"), NULL }, { "ion-pgo", '\0', POPT_BIT_SET|POPT_ARGFLAG_TOGGLE, - &_ionf, ION_PGO, + &_jss.ionf, ION_PGO, N_("Profile guided optimization (default: off)"), NULL }, { "ion-range-analysis", '\0', POPT_BIT_SET|POPT_ARGFLAG_TOGGLE, - &_ionf, ION_RANGE_ANALYSIS, + &_jss.ionf, ION_RANGE_ANALYSIS, N_("Range analysis (default: on)"), NULL }, { "ion-sincos", '\0', POPT_BIT_SET|POPT_ARGFLAG_TOGGLE, - &_ionf, ION_SINCOS, + &_jss.ionf, ION_SINCOS, N_("Replace sin(x)/cos(x) to sincos(x) (default: on)"), NULL }, { "ion-sink", '\0', POPT_BIT_SET|POPT_ARGFLAG_TOGGLE, - &_ionf, ION_SINK, + &_jss.ionf, ION_SINK, N_("Sink code motion (default: off)"), NULL }, { "ion-loop-unrolling", '\0', POPT_BIT_SET|POPT_ARGFLAG_TOGGLE, - &_ionf, ION_LOOP_UNROLLING, + &_jss.ionf, ION_LOOP_UNROLLING, N_("Loop unrolling (default: off)"), NULL }, { "ion-instruction-reordering", '\0', POPT_BIT_SET|POPT_ARGFLAG_TOGGLE, - &_ionf, ION_INSTRUCTION_REORDERING, + &_jss.ionf, ION_INSTRUCTION_REORDERING, N_("Instruction reordering (default: off)"), NULL }, { "ion-check-range-analysis", '\0', POPT_BIT_SET|POPT_ARGFLAG_TOGGLE, - &_ionf, ION_CHECK_RANGE_ANALYSIS, + &_jss.ionf, ION_CHECK_RANGE_ANALYSIS, N_("Range analysis checking (default: off)"), NULL }, { "ion-extra-checks", '\0', POPT_BIT_SET|POPT_ARGFLAG_TOGGLE, - &_ionf, ION_EXTRA_CHECKS, + &_jss.ionf, ION_EXTRA_CHECKS, N_("Perform extra dynamic validation checks (default: off)"), NULL }, { "ion-inlining", '\0', POPT_BIT_SET|POPT_ARGFLAG_TOGGLE, - &_ionf, ION_INLINING, + &_jss.ionf, ION_INLINING, N_("Inline methods where possible (default: on)"), NULL }, { "ion-osr", '\0', POPT_BIT_SET|POPT_ARGFLAG_TOGGLE, - &_ionf, ION_OSR, + &_jss.ionf, ION_OSR, N_("On-Stack Replacement(default: on)"), NULL }, { "ion-limit-script-size", '\0', POPT_BIT_SET|POPT_ARGFLAG_TOGGLE, - &_ionf, ION_LIMIT_SCRIPT_SIZE, + &_jss.ionf, ION_LIMIT_SCRIPT_SIZE, N_("Don't compile large scripts(default: on)"), NULL }, + { "ion-warmup-threshold", '\0', POPT_ARG_INT, + &_jss.ion_warmup_threshold, 0, + N_("Wait COUNT calls/iterations before compiling"), N_("COUNT") }, { "ion-regalloc", '\0', POPT_ARG_STRING, - &ion_regalloc, 0, - N_("Specify Ion register allocation <mode>"), N_("<mode>") }, + &_jss.ion_regalloc, 0, + N_("Specify Ion register allocation MODE"), N_("MODE") }, { "ion-eager", '\0', POPT_BIT_SET|POPT_ARGFLAG_TOGGLE, - &_ionf, ION_EAGER, + &_jss.ionf, ION_EAGER, N_("Always ion-compile methods (default: on)"), NULL }, { "ion-offthread-compile", '\0', POPT_BIT_SET|POPT_ARGFLAG_TOGGLE, - &_ionf, ION_OFFTHREAD_COMPILE, + &_jss.ionf, ION_OFFTHREAD_COMPILE, N_("Compile scripts off thread (default: on)"), NULL }, { "ion-parallel-compile", '\0', POPT_BIT_SET|POPT_ARGFLAG_TOGGLE, - &_ionf, ION_PARALLEL_COMPILE, + &_jss.ionf, ION_PARALLEL_COMPILE, N_("Parallel compilation (deprecated: use --ion-offthread-compile)"), NULL }, + POPT_TABLEEND }; - -typedef enum rpmjssXFlags_e { - XF_INTERACTIVE = (1 << 0), - XF_COMPILE_ONLY = (1 << 1), - XF_WARNINGS = (1 << 2), - XF_STRICT = (1 << 3), - XF_DUMP_BYTECODE = (1 << 4), - XF_PRINT_TIMING = (1 << 5), - XF_NO_CACHE_PER_PROCESS = (1 << 6), - XF_CODE_COVERAGE = (1 << 7), - XF_PRINT_ALLOC = (1 << 8), - XF_NO_ION = (1 << 9), - XF_NO_ASMJS = (1 << 10), - XF_NATIVE_REGEXP = (1 << 11), - XF_UNBOXED_OBJECTS = (1 << 12), - XF_UNBOXED_ARRAYS = (1 << 13), - XF_BASELINE = (1 << 14), - XF_BASELINE_EAGER = (1 << 15), - XF_NONWRITABLE_JITCODE = (1 << 16), - XF_NO_FPU = (1 << 17), - XF_NO_SSE3 = (1 << 18), - XF_NO_SSE4 = (1 << 19), - XF_NO_AVX = (1 << 20), - XF_FUZZING_SAFE = (1 << 21), - XF_DISABLE_OOM = (1 << 22), - XF_NO_THREADS = (1 << 23), - XF_DUMP_ENTRAINED_VARIABLES = (1 << 24), - XF_NO_GGC = (1 << 25), - XF_NO_CGC = (1 << 26), - XF_ARM_HWCAP = (1 << 27), - XF_ARM_SIM_ICACHE_CHECKS = (1 << 28), - XF_MIPS_SIM_ICACHE_CHECKS = (1 << 29), -} rpmjssXFlags; -rpmjssXFlags _xf; - -static int baseline_warmup_threshold; - -static int available_memory; -static int asm_pool_max_offset; -static int arm_sim_stop_at; -static int mips_sim_stop_at; -static int nursery_size; -static int gc_zeal; -static const char *module_load_path; - struct poptOption rpmjssOptionsTable[] = { - { "file", 'f', POPT_ARG_STRING, &Ifile, 0, - N_("File <path> to run"), N_("<path>") }, - { "module", 'm', POPT_ARG_STRING, &Imodule, 0, - N_("Module <path> to run"), N_("<path>") }, - { "execute", 'e', POPT_ARG_STRING, &Icode, 0, - N_("Inline <code> to run"), N_("<code>") }, - { "shell", 'i', POPT_BIT_SET, &_xf, XF_INTERACTIVE, + { "file", 'f', POPT_ARG_STRING, &_jss.Ifile, 0, + N_("File PATH to run"), N_("PATH") }, + { "module", 'm', POPT_ARG_STRING, &_jss.Imodule, 0, + N_("Module PATH to run"), N_("PATH") }, + { "execute", 'e', POPT_ARG_STRING, &_jss.Icode, 0, + N_("Inline CODE to run"), N_("CODE") }, + { "shell", 'i', POPT_BIT_SET, &_jss.xf, XF_INTERACTIVE, N_("Enter prompt after running code"), NULL }, - { "compileonly", 'c', POPT_BIT_SET, &_xf, XF_COMPILE_ONLY, + { "compileonly", 'c', POPT_BIT_SET, &_jss.xf, XF_COMPILE_ONLY, N_("Only compile, don't run (syntax checking mode)"), NULL }, - { "warnings", 'w', POPT_BIT_SET|POPT_ARGFLAG_TOGGLE, &_xf, XF_WARNINGS, + { "warnings", 'w', POPT_BIT_SET|POPT_ARGFLAG_TOGGLE, &_jss.xf, XF_WARNINGS, N_("Emit warnings"), NULL }, - { "strict", 's', POPT_BIT_SET|POPT_ARGFLAG_TOGGLE, &_xf, XF_STRICT, + { "strict", 's', POPT_BIT_SET|POPT_ARGFLAG_TOGGLE, &_jss.xf, XF_STRICT, N_("Check strictness"), NULL }, - { "dump-bytecode", 'D', POPT_BIT_SET, &_xf, XF_DUMP_BYTECODE, + { "dump-bytecode", 'D', POPT_BIT_SET, &_jss.xf, XF_DUMP_BYTECODE, N_("Dump bytecode with exec count for all scripts"), NULL }, - { "print-timing", 'b', POPT_BIT_SET, &_xf, XF_PRINT_TIMING, + { "print-timing", 'b', POPT_BIT_SET, &_jss.xf, XF_PRINT_TIMING, N_("Dump bytecode with exec count for all scripts"), NULL }, - { "js-cache", '\0', POPT_ARG_STRING, &js_cache, 0, - N_("Enable JS caching in <dir>"), N_("<dir>") }, - { "no-js-cache-per-process",'\0', POPT_BIT_SET, &_xf, XF_NO_CACHE_PER_PROCESS, + { "js-cache", '\0', POPT_ARG_STRING, &_jss.cachedir, 0, + N_("Enable JS caching in DIR"), N_("DIR") }, + { "no-js-cache-per-process",'\0', POPT_BIT_SET, &_jss.xf, XF_NO_CACHE_PER_PROCESS, N_("Deactivate per-process caching"), NULL }, - { "code-coverage", '\0', POPT_BIT_SET, &_xf, XF_CODE_COVERAGE, + { "code-coverage", '\0', POPT_BIT_SET, &_jss.xf, XF_CODE_COVERAGE, N_("Enable code coverage insturmentation"), NULL }, - { "print-alloc", 'O', POPT_BIT_SET, &_xf, XF_PRINT_ALLOC, + { "print-alloc", 'O', POPT_BIT_SET, &_jss.xf, XF_PRINT_ALLOC, N_("Print no. of allocatsions at exit"), NULL }, - { "script", '\0', POPT_ARG_STRING, &script, 0, - N_("Script <path> to run"), N_("<path>") }, - { "scriptArgs", '\0', POPT_ARG_STRING, &scriptArgs, 0, - N_("Script <path> to run"), N_("<path>") }, - { "thread-count", '\0', POPT_ARG_INT, &thread_count, 0, - N_("Use <count> auxiliary threads"), N_("<count>") }, + { "script", '\0', POPT_ARG_STRING, &_jss.script_path, 0, + N_("Script PATH to run"), N_("PATH") }, + { "scriptArgs", '\0', POPT_ARG_STRING, &_jss.script_args, 0, + N_("Script args to bind as |scriptArgs| in global"), N_("XXX") }, + { "thread-count", '\0', POPT_ARG_INT, &_jss.thread_count, 0, + N_("Use COUNT auxiliary threads"), N_("COUNT") }, + + { "baseline", '\0', POPT_BIT_SET|POPT_ARGFLAG_TOGGLE, + &_jss.xf, XF_BASELINE_EAGER, + N_("Enable baseline compiler (default: on)"), NULL }, + { "baseline-eager", '\0', POPT_BIT_SET|POPT_ARGFLAG_TOGGLE, + &_jss.xf, XF_BASELINE_EAGER, + N_("Always baseline-compile methods"), NULL }, + { "baseline-warmup-threshold", '\0', POPT_ARG_INT, + &_jss.baseline_warmup_threshold, 0, + N_("Wait COUNT calls/iterations before baseline-compiling"), N_("COUNT") }, + + { "non-writable-jitcode", '\0', POPT_BIT_SET, + &_jss.xf, XF_NONWRITABLE_JITCODE, + N_("Allocate JIT code as non-writable memory"), NULL }, + { "fpu", '\0', POPT_BIT_CLR|POPT_ARGFLAG_TOGGLE, + &_jss.xf, XF_NO_FPU, + N_("Assume CPU has a FPU"), NULL }, + { "sse3", '\0', POPT_BIT_CLR|POPT_ARGFLAG_TOGGLE, + &_jss.xf, XF_NO_SSE3, + N_("Assume CPU has SSE3 instructions"), NULL }, + { "sse4", '\0', POPT_BIT_CLR|POPT_ARGFLAG_TOGGLE, + &_jss.xf, XF_NO_SSE4, + N_("Assume CPU has SSE4 instructions"), NULL }, + { "avx", '\0', POPT_BIT_CLR|POPT_ARGFLAG_TOGGLE, + &_jss.xf, XF_NO_AVX, + N_("Assume CPU has AVX instructions"), NULL }, + { "fuzzing-safe", '\0', POPT_BIT_SET, + &_jss.xf, XF_FUZZING_SAFE, + N_("Don't expose unsafe functions (when fuzzing)"), NULL }, + { "disable-oom-functions", '\0', POPT_BIT_SET, + &_jss.xf, XF_DISABLE_OOM, + N_("Disable functions that trigger OOM"), NULL }, + { "threads", '\0', POPT_BIT_CLR|POPT_ARGFLAG_TOGGLE, + &_jss.xf, XF_NO_THREADS, + N_("Disable helper threads"), NULL }, + + { "dump-entrained-variables", '\0', POPT_BIT_SET, + &_jss.xf, XF_DISABLE_OOM, + N_("Print variables entrained by inner functions"), NULL }, + + { "ggc", '\0', POPT_BIT_CLR|POPT_ARGFLAG_TOGGLE, + &_jss.xf, XF_NO_GGC, + N_("Disable Generational GC"), NULL }, + { "cgc", '\0', POPT_BIT_CLR|POPT_ARGFLAG_TOGGLE, + &_jss.xf, XF_NO_CGC, + N_("Disable Compacting GC"), NULL }, + { "incremental-gc", '\0', POPT_BIT_CLR|POPT_ARGFLAG_TOGGLE, + &_jss.xf, XF_NO_INCREMENTAL_GC, + N_("Disable Incremental GC"), NULL }, + + { "available-memory", '\0', POPT_ARG_INT, &_jss.available_memory, 0, + N_("Select GC settings based on SIZE-MB"), N_("SIZE-MB") }, + + { "arm-hwcap", '\0', POPT_ARG_STRING, &_jss.arm_hwcap, 0, + N_("Specify ARM code generation FEATURES"), N_("FEATURES") }, + + { "arm-asm-nop-fill", '\0', POPT_ARG_INT, &_jss.arm_asm_nop_fill, 0, + N_("Insert N NOP instructions in pool"), N_("N") }, + { "asm-pool-max-offset", '\0', POPT_ARG_INT, &_jss.asm_pool_max_offset, 0, + N_("Max PC-relative OFFSET in pool"), N_("OFFSET") }, + + { "arm-sim-icache-checks", '\0', POPT_BIT_SET, + &_jss.xf, XF_ARM_SIM_ICACHE_CHECKS, + N_("(ARM) Enable icache flush checks"), NULL }, + { "arm-sim-stop-at", '\0', POPT_ARG_INT, &_jss.arm_sim_stop_at, 0, + N_("(ARM) Stop simulator after N instructions"), N_("N") }, + + { "mips-sim-icache-checks", '\0', POPT_BIT_SET, + &_jss.xf, XF_MIPS_SIM_ICACHE_CHECKS, + N_("(MIPS) Enable icache flush checks"), NULL }, + { "mips-sim-stop-at", '\0', POPT_ARG_INT, &_jss.mips_sim_stop_at, 0, + N_("(MIPS) Stop simulator after N instructions"), N_("N") }, + + { "nursery-size", '\0', POPT_ARG_INT, &_jss.nursery_size, 0, + N_("Set nursery SIZE-MB"), N_("SIZE-MB") }, + { "gc-zeal", '\0', POPT_ARG_INT, &_jss.gc_zeal, 0, + N_("Set GC zeal LEVEL"), N_("LEVEL") }, + + { "module-load-path", '\0', POPT_ARG_STRING, &_jss.moduledir, 0, + N_("Load modules from DIR"), N_("DIR") }, { NULL, '\0', POPT_ARG_INCLUDE_TABLE, rpmjssIPoptTable, 0, N_("JS interpreter options:"), NULL }, @@ -513,7 +518,6 @@ POPT_AUTOHELP POPT_TABLEEND }; -#endif /* NOTYET */ int rpmMain(int argc, char *argv[], char *envp[]) { @@ -749,12 +753,12 @@ const char * code = av[i]; const char * result = NULL; rc = mozRun(jss, &result, code, _fn, i); - fprintf(stderr, "<== result(%d) |%s| from |%s|\n", rc, result, code); + fprintf(stderr, "<== rc(%d): |%s| from |%s|\n", rc, result, code); result = _free(result); if (!strcasecmp(code, "quit")) break; } - rc = 0; + rc = 0; // XXX mozFini(jss); @@ . patch -p0 <<'@@ .' Index: rpm/rpmio/rpmjss.h ============================================================================ $ cvs diff -u -r1.1.2.2 -r1.1.2.3 rpmjss.h --- rpm/rpmio/rpmjss.h 24 Jun 2017 19:09:35 -0000 1.1.2.2 +++ rpm/rpmio/rpmjss.h 9 Jul 2017 09:42:41 -0000 1.1.2.3 @@ -50,6 +50,61 @@ RPMJSS_FLAGS_GLOBAL = (1<<31), }; +typedef enum rpmjssIonFlags_e { + ION_SHARED_STUBS = (1 << 0), + ION_SCALAR_REPLACEMENT = (1 << 1), + ION_GVN = (1 << 2), + ION_LICM = (1 << 3), + ION_EDGECASE_ANALYSIS = (1 << 4), + ION_PGO = (1 << 5), + ION_RANGE_ANALYSIS = (1 << 6), + ION_SINCOS = (1 << 7), + ION_SINK = (1 << 8), + ION_LOOP_UNROLLING = (1 << 9), + ION_INSTRUCTION_REORDERING = (1 << 10), + ION_CHECK_RANGE_ANALYSIS = (1 << 11), + ION_EXTRA_CHECKS = (1 << 12), + ION_INLINING = (1 << 13), + ION_OSR = (1 << 14), + ION_LIMIT_SCRIPT_SIZE = (1 << 15), + ION_EAGER = (1 << 16), + ION_OFFTHREAD_COMPILE = (1 << 17), + ION_PARALLEL_COMPILE = (1 << 18), +} rpmjssIonFlags; + +typedef enum rpmjssXFlags_e { + XF_INTERACTIVE = (1 << 0), + XF_COMPILE_ONLY = (1 << 1), + XF_WARNINGS = (1 << 2), + XF_STRICT = (1 << 3), + XF_DUMP_BYTECODE = (1 << 4), + XF_PRINT_TIMING = (1 << 5), + XF_NO_CACHE_PER_PROCESS = (1 << 6), + XF_CODE_COVERAGE = (1 << 7), + XF_PRINT_ALLOC = (1 << 8), + XF_NO_ION = (1 << 9), + XF_NO_ASMJS = (1 << 10), + XF_NATIVE_REGEXP = (1 << 11), + XF_UNBOXED_OBJECTS = (1 << 12), + XF_UNBOXED_ARRAYS = (1 << 13), + XF_BASELINE = (1 << 14), + XF_BASELINE_EAGER = (1 << 15), + XF_NONWRITABLE_JITCODE = (1 << 16), + XF_NO_FPU = (1 << 17), + XF_NO_SSE3 = (1 << 18), + XF_NO_SSE4 = (1 << 19), + XF_NO_AVX = (1 << 20), + XF_FUZZING_SAFE = (1 << 21), + XF_DISABLE_OOM = (1 << 22), + XF_NO_THREADS = (1 << 23), + XF_DUMP_ENTRAINED_VARIABLES = (1 << 24), + XF_NO_GGC = (1 << 25), + XF_NO_CGC = (1 << 26), + XF_NO_INCREMENTAL_GC = (1 << 27), + XF_ARM_SIM_ICACHE_CHECKS = (1 << 28), + XF_MIPS_SIM_ICACHE_CHECKS = (1 << 29), +} rpmjssXFlags; + typedef struct JSIO_s * JSIO_t; struct JSIO_s { void (*mozFini) (rpmjss jss); @@ -63,13 +118,44 @@ extern JSIO_t mozjs24; extern JSIO_t mozjs31; extern JSIO_t mozjs38; +#ifdef NOTYET extern JSIO_t mozjs45; +#endif struct rpmjss_s { struct rpmioItem_s _item; /*!< usage mutex and pool identifier. */ uint32_t flags; /*!< JSOPTION_FOO in 0xffff bits */ JSIO_t jsio; void * I; /*!< JS interpreter {rt, cx, globalObj} */ + + const char *Ifile; + const char *Imodule; + const char *Icode; + const char *cachedir; + const char *moduledir; + + const char *script_path; + const char *script_args; + + const char * ion_regalloc; + + const char * arm_hwcap; + + int thread_count; + + int ion_warmup_threshold; + int baseline_warmup_threshold; + + int available_memory; + int arm_asm_nop_fill; + int asm_pool_max_offset; + int arm_sim_stop_at; + int mips_sim_stop_at; + int nursery_size; + int gc_zeal; + + rpmjssXFlags xf; + rpmjssIonFlags ionf; }; struct rpmjss_s _rpmjss; @@ . ______________________________________________________________________ RPM Package Manager http://rpm5.org CVS Sources Repository rpm-cvs@rpm5.org