static void parse_camlrunparam(void)
{
  char *opt = getenv ("OCAMLRUNPARAM");
  uintnat p;

  if (opt == NULL) opt = getenv ("CAMLRUNPARAM");

  if (opt != NULL){
    while (*opt != '\0'){
      switch (*opt++){
      case 'a': scanmult (opt, &p); caml_set_allocation_policy (p); break;
      case 'b': caml_record_backtrace(Val_true); break;
      case 'h': scanmult (opt, &heap_size_init); break;
      case 'i': scanmult (opt, &heap_chunk_init); break;
      case 'l': scanmult (opt, &max_stack_init); break;
      case 'o': scanmult (opt, &percent_free_init); break;
      case 'O': scanmult (opt, &max_percent_free_init); break;
      case 'p': caml_parser_trace = 1; break;
      /* case 'R': see stdlib/hashtbl.mli */
      case 's': scanmult (opt, &minor_heap_init); break;
#ifdef DEBUG
      case 't': caml_trace_flag = 1; break;
#endif
      case 'v': scanmult (opt, &caml_verb_gc); break;
      }
    }
  }
}
Beispiel #2
0
static void parse_camlrunparam(void)
{
#if defined(__FreeBSD__) && defined(_KERNEL)
  char *opt;
  uintnat p;

  opt = get_rtparams();
#else
  char *opt = getenv ("OCAMLRUNPARAM");
  uintnat p;

  if (opt == NULL) opt = getenv ("CAMLRUNPARAM");
#endif

  if (opt != NULL){
    while (*opt != '\0'){
      switch (*opt++){
      case 's': scanmult (opt, &minor_heap_init); break;
      case 'i': scanmult (opt, &heap_chunk_init); break;
      case 'h': scanmult (opt, &heap_size_init); break;
      case 'l': scanmult (opt, &max_stack_init); break;
      case 'o': scanmult (opt, &percent_free_init); break;
      case 'O': scanmult (opt, &max_percent_free_init); break;
      case 'v': scanmult (opt, &caml_verb_gc); break;
      case 'b': caml_record_backtrace(Val_true); break;
      case 'p': caml_parser_trace = 1; break;
      case 'a': scanmult (opt, &p); caml_set_allocation_policy (p); break;
      }
    }
  }
}
Beispiel #3
0
void caml_init_startup_params(void)
{
  char *opt;

  init_startup_params();

  opt = getenv ("OCAMLRUNPARAM");

  if (opt == NULL) opt = getenv ("CAMLRUNPARAM");

  if (opt != NULL){
    while (*opt != '\0'){
      switch (*opt++){
      case 'b': caml_startup_params.backtrace_enabled_init = 1; break;
      case 'h': scanmult (opt, &caml_startup_params.heap_size_init); break;
      case 'i': scanmult (opt, &caml_startup_params.heap_chunk_init); break;
      case 'l': scanmult (opt, &caml_startup_params.max_stack_init); break;
      case 'o': scanmult (opt, &caml_startup_params.percent_free_init); break;
      case 'O': scanmult (opt, &caml_startup_params.max_percent_free_init); break;
      case 'p': caml_startup_params.parser_trace = 1; break;
      /* case 'R': see stdlib/hashtbl.mli */
      case 's': scanmult (opt, &caml_startup_params.minor_heap_init); break;
#ifdef DEBUG
      case 't': caml_startup_params.trace_flag = 1; break;
#endif
      case 'v': scanmult (opt, &caml_startup_params.verb_gc); break;
      case 'e': caml_startup_params.eventlog_enabled = 1; break;
      }
    }
  }
}
Beispiel #4
0
static void parse_camlrunparam(void)
{
  char *opt = getenv ("OCAMLRUNPARAM");

  if (opt == NULL) opt = getenv ("CAMLRUNPARAM");

  if (opt != NULL){
    while (*opt != '\0'){
      switch (*opt++){
      case 's': scanmult (opt, &minor_heap_init); break;
      case 'i': scanmult (opt, &heap_chunk_init); break;
      case 'h': scanmult (opt, &heap_size_init); break;
      case 'l': scanmult (opt, &max_stack_init); break;
      case 'o': scanmult (opt, &percent_free_init); break;
      case 'O': scanmult (opt, &max_percent_free_init); break;
      case 'v': scanmult (opt, &caml_verb_gc); break;
      case 'b': caml_init_backtrace(); break;
      case 'p': caml_parser_trace = 1; break;
      }
    }
  }
}
void caml_parse_ocamlrunparam(void)
{
  char_os *opt = caml_secure_getenv (_T("OCAMLRUNPARAM"));

  init_startup_params();

  if (opt == NULL) opt = caml_secure_getenv (_T("CAMLRUNPARAM"));

  if (opt != NULL){
    while (*opt != _T('\0')){
      switch (*opt++){
      //case _T('a'): scanmult (opt, &p); caml_set_allocation_policy (p); break;
      case _T('b'): scanmult (opt, &params.backtrace_enabled_init); break;
      case _T('c'): scanmult (opt, &params.cleanup_on_exit); break;
      case _T('e'): scanmult (opt, &params.eventlog_enabled); break;
      case _T('f'): scanmult (opt, &params.init_fiber_wsz); break;
      case _T('h'): scanmult (opt, &params.init_heap_wsz); break;
      //case _T('H'): scanmult (opt, &caml_use_huge_pages); break;
      case _T('i'): scanmult (opt, &params.init_heap_chunk_sz); break;
      case _T('l'): scanmult (opt, &params.init_max_stack_wsz); break;
      case _T('o'): scanmult (opt, &params.init_percent_free); break;
      case _T('O'): scanmult (opt, &params.init_max_percent_free); break;
      case _T('p'): scanmult (opt, &params.parser_trace); break;
      case _T('R'): break; /*  see stdlib/hashtbl.mli */
      case _T('s'): scanmult (opt, &params.init_minor_heap_wsz); break;
      case _T('S'): scanmult (opt, &params.print_stats); break;
      case _T('t'): scanmult (opt, &params.trace_level); break;
      case _T('v'): scanmult (opt, &params.verb_gc); break;
      case _T('V'): scanmult (opt, &params.verify_heap); break;
      //case _T('w'): scanmult (opt, &caml_init_major_window); break;
      case _T('W'): scanmult (opt, &caml_runtime_warnings); break;
      }
      --opt; /* to handle patterns like ",b=1" */
      while (*opt != _T('\0')){
        if (*opt++ == ',') break;
      }
    }
  }
}