Permalink
Commits on Jun 4, 2010
  1. Merge branch 'egil/call-time-trace-patterns' into dev

    * egil/call-time-trace-patterns:
      Fix ops.tab to include i_return_time_trace
      Let trace_call_time_SUITE scheduling test be more relaxed
      Add documentation for call time breakpoints
      Fix bp_hash_put to do hash value after rehash
      Extend trace_call_time_SUITE with bif-tests
      Fix assertion in trace_pattern for bifs
      Teach erlang:system_info/1 to list snifs
      Add bif tests to call time trace tests
      Teach call time trace patterns to include bifs
      Fix BeamInstr code array in export.h
      Add trace call_time tests for nifs and bifs
      Teach call count tracing to use atomics
      Add first phase of trace call time test suite
      Add a scheduler array for BpData at BeamInstr[-4]
      Add search keys in breakpoints and a searchfunction
      Fix BeamInstr for call_time
      Teach call_time trace to use intruction pointers
      Add return_time trace and PSD deletions
      Remove trailing character in beam_bif_load
      Fix set_function_break to use correct breakpoint
      ...
    
    OTP-8677 egil/call-time-trace-patterns
    Erlang/OTP committed Jun 4, 2010
  2. Merge branch 'uw/mnesia-overload' into dev

    * uw/mnesia-overload:
      Enable continuous monitoring of mnesia overload status
    Erlang/OTP committed Jun 4, 2010
  3. Merge branch 'uw/mnesia-schema-merge' into dev

    * uw/mnesia-schema-merge:
      remove debug printout and accidental variable name reuse
      Allow a user_defined function to wrap mnesia_schema:merge_schema()
    Erlang/OTP committed Jun 4, 2010
  4. Merge branch 'ks/dialyzer' into dev

    * ks/dialyzer:
      dialyzer: Build the PLT even if there are unresolved remote types
      proplists: Export the type property()
      erl_lint: Issue warnings for undefined exported types
      Minor fix in a print message
      Add handling of unknown types
      Add declaration for exported types
      Add types and specs; performed some cleanups also
      erl_scan: Add declarations for exported types
      stdlib: Add declarations for exported types
      hipe: Add declarations for exported types
      compiler: Add declarations for exported types
      syntax_tools: Add declarations for exported types
      kernel: Add declaration for exported types
      Support -export_type() in dialyzer and erl_types
      Add infrastructure for the -export_type() attribute
    
    OTP-8678 ks/dialyzer
    Erlang/OTP committed Jun 4, 2010
  5. Fix scheduler_suspend test when schedulers online isn't equal to the …

    …amount of schedulers
    rickard-green committed with Erlang/OTP Jun 4, 2010
  6. OTP-8529: Raise condition processing replies

    OTP-8561: Performance improvments in megaco_config:conn_info
    OTP-8627: Fix flex lib(s) installation
    OTP-8634: Pending counter raise condition
    bmk committed with Erlang/OTP Jun 4, 2010
Commits on Jun 3, 2010
  1. Fix ops.tab to include i_return_time_trace

    Without the instruction defined in ops the interpreter will not
    compile when using NO_JUMPTABLE.
    psyeugenic committed with RaimoNiskanen Jun 2, 2010
  2. Add documentation for call time breakpoints

    Documented call time breakpoints in
        - erlang:trace_pattern/3
        - erlang:trace_info/2
    psyeugenic committed with RaimoNiskanen Jun 1, 2010
  3. Fix bp_hash_put to do hash value after rehash

    If a rehash was done the old hash value was used. This was incorrect.
    psyeugenic committed with RaimoNiskanen May 31, 2010
  4. Teach erlang:system_info/1 to list snifs

    erlang:system_info(snifs) lists all static native implemented
    functions. The function presents the lists with three tuple
    values containing MFAs [{Module, Function, Arity}, ...].
    psyeugenic committed with RaimoNiskanen May 25, 2010
  5. Teach call count tracing to use atomics

    Call count previously used a global lock for accessing and writing
    its counter in the breakpoint. This is now changed to atomics instead.
    
    The change will let call count tracing and cprof to scale better
    when increasing the number of schedulers.
    psyeugenic committed with RaimoNiskanen May 11, 2010
  6. Add a scheduler array for BpData at BeamInstr[-4]

    To solve the issue of multiple schedulers constantly updating the
    head pointer to the bp data wheel, each scheduler now has its own
    entrypoint to the wheel. This head pointer can be updated without
    a locking being taken. Previously there were no lock ...
    psyeugenic committed with RaimoNiskanen May 6, 2010
  7. Teach call_time trace to use intruction pointers

    call_time trace will use instruction pointers instead of
    breakpoint data pointers. More costly lookup but the bdt
    structure might be deallocated, we do not want that.
    
    Remove unnecessary pattern lock.
    psyeugenic committed with RaimoNiskanen Apr 30, 2010
  8. Fix set_function_break to use correct breakpoint

    op_i_time_breakpoint is now used
    psyeugenic committed with RaimoNiskanen Apr 21, 2010
  9. Add processes hashes for call time breakpoints

    Call time breakpoint tracing traces per call trace per process.
    - Add hashes to support the extra dimension.
    - Teach trace_info/2 to handle the extra information dimension.
    psyeugenic committed with RaimoNiskanen Apr 21, 2010
  10. Call time breakpoint tracing framework

    Initial commit with a new breakpoint instruction and PSD areas
    for temporary time storage during tracing.
    psyeugenic committed with RaimoNiskanen Apr 10, 2010
  11. OTP-8675 Fix erroneous return value from erlang:system_info(multi_sch…

    …eduling)
    
    erlang:system_info(multi_scheduling) sometimes erroneously returned enabled
    when it should have returned blocked.
    rickard-green committed with Erlang/OTP Jun 3, 2010
  12. OTP-8673 Adjust alignment of scheduler data and run queues

    Alignment of scheduler data and run queues were adjusted.
    rickard-green committed with Erlang/OTP Jun 3, 2010
  13. OTP-8666 Enable automatic binding of schedulers when possible

    The runtime system will by default bind schedulers to logical processors
    using the default_bind bind type if the amount of schedulers are at least
    equal to the amount of logical processors configured, binding of schedulers
    is supported, and a CPU topology is available at startup.
    
    NOTE: If the Erlang runtime system is the only operating system process
    that binds threads to logical processors, this improves the performance of
    the runtime system. However, if other operating system processes (as for
    example another Erlang runtime system) also bind threads to logical
    processors, there might be a performance penalty instead. If this is the
    case you, are are advised to unbind the schedulers using the <seealso
    marker="erl#+sbt">+sbtu</seealso> command line argument, or by invoking
    <seealso
    marker="erlang#system_flag_scheduler_bind_type">erlang:system_flag(schedule
    r_bind_type, unbound)</seealso>.
    rickard-green committed with Erlang/OTP Jun 3, 2010
  14. OTP-8555 Send message from NIF

    New NIF features:
    
    Send messages from a NIF, or from thread created by NIF, to any local
    process (enif_send)
    
    Store terms between NIF calls (enif_alloc_env, enif_make_copy)
    
    Create binary terms with user defined memory management
    (enif_make_resource_binary)
    sverker committed with Erlang/OTP Jun 3, 2010