1. 21 4月, 2011 2 次提交
  2. 20 4月, 2011 17 次提交
  3. 19 4月, 2011 7 次提交
  4. 18 4月, 2011 9 次提交
    • M
      Update foregoing patches to leave rust_crate alone. · f6be25a8
      Marijn Haverbeke 提交于
      Apparently it can't live in the main binary, since on non-Linux
      platforms, dynamics libs won't find symbols in the binary. This
      removes the crate_map pointer from rust_crate again, and instead
      passes it as an extra argument to rust_start. Rustboot doesn't pass
      this argument, but supposedly that's okay as long as we don't actually
      use it on that platform.
      f6be25a8
    • R
      Add a -c option. · f12998e5
      Rafael Ávila de Espíndola 提交于
      f12998e5
    • M
      Make log the log level configurable per module · 148e6f7b
      Marijn Haverbeke 提交于
      This overloads the meaning of RUST_LOG to also allow
      'module.submodule' or 'module.somethingelse=2' forms. The first turn
      on all logging for a module (loglevel 3), the second sets its loglevel
      to 2. Log levels are:
      
       0: Show only errors
       1: Errors and warnings
       2: Errors, warnings, and notes
       3: Everything, including debug logging
      
      Right now, since we only have one 'log' operation, everything happens
      at level 1 (warning), so the only meaningful thing that can be done
      with the new RUST_LOG support is disable logging (=0) for some
      modules.
      
      TODOS:
       * Language support for logging at a specific level
       * Also add a log level field to tasks, query the current task as well
         as the current module before logging (log if one of them allows it)
       * Revise the C logging API to conform to this set-up (globals for
         per-module log level, query the task level before logging, stop
         using a global mask)
      
      Implementation notes:
      
      Crates now contain two extra data structures. A 'module map' that
      contains names and pointers to the module-log-level globals for each
      module in the crate that logs, and a 'crate map' that points at the
      crate's module map, as well as at the crate maps of all external
      crates it depends on. These are walked by the runtime (in
      rust_crate.cpp) to set the currect log levels based on RUST_LOG.
      
      These module log globals are allocated as-needed whenever a log
      expression is encountered, and their location is hard-coded into the
      logging code, which compares the current level to the log statement's
      level, and skips over all logging code when it is lower.
      148e6f7b
    • M
      collect crate meta info and ext crate names · 0bf75a20
      Marijn Haverbeke 提交于
      0bf75a20
    • M
      0984d1db
    • M
      introduce local_ctxt in trans.rs to keep crate_ctxt global · 36c332a2
      Marijn Haverbeke 提交于
      This reduces crate_ctxt copying (which unfortunately did not
      result in a noticeable speedup), and makes the role of that
      type a bit more clear.
      36c332a2
    • B
      Support the space flag in #fmt · 9976bb93
      Brian Anderson 提交于
      9976bb93
    • B
      Support + flag in #fmt · 86a43c24
      Brian Anderson 提交于
      86a43c24
    • B
      Support #fmt precision for string types · c7edcb3a
      Brian Anderson 提交于
      c7edcb3a
  5. 17 4月, 2011 2 次提交
  6. 16 4月, 2011 3 次提交