Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
Download ZIP
Commits on Jun 3, 2010
  1. @rickard-green

    OTP-8675 Fix erroneous return value from erlang:system_info(multi_sch…

    rickard-green authored Erlang/OTP committed
    …eduling)
    
    erlang:system_info(multi_scheduling) sometimes erroneously returned enabled
    when it should have returned blocked.
  2. @rickard-green

    OTP-8673 Adjust alignment of scheduler data and run queues

    rickard-green authored Erlang/OTP committed
    Alignment of scheduler data and run queues were adjusted.
  3. @rickard-green

    OTP-8666 Enable automatic binding of schedulers when possible

    rickard-green authored Erlang/OTP committed
    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>.
  4. @sverker

    OTP-8555 Send message from NIF

    sverker authored Erlang/OTP committed
    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)
  5. OTP-8665 epp bug

    Hans Bolinder authored Erlang/OTP committed
    The Erlang code preprocessor (epp) did not correctly handle premature
    end-of-input when defining macros. This bug, introduced in STDLIB 1.16, has
    been fixed.
  6. Merge branch 'pan/otp_8579_autoimport_override' into dev

    Erlang/OTP authored
    * origin/pan/otp_8579_autoimport_override:
      Update preloaded modules
      Update primary bootstrap
      Remove outcommented code from erl_lint
      Make port_command/3 auto-imported
      Remove (harmless) warnings about min/max in core applications
      Autoimport min/2 and max/2
      Improve coverage of erl_int in testcases
      Change warning to error for nowarn_bif_clash compiler directive
      Add -compile({no_auto_import,[F/A]}) doc to compiler.xml
      Add some testcases to compiler to verify that overriding really happens
      Return nowarn_bif_clash functionality but with warning
      Teach erl_lint to better override BIFs with local functions and imports
      Teach compiler to override autoimport with import
      First prototype for local functions overriding autoimported
    
    OTP-8579  Local functions should override auto-imported
    
    Local and imported functions now override the autoimported
    BIFs when the names clash. The pre R14 behaviour was that
    autoimported BIFs would override local functions. To avoid
    that old programs change behaviour, the following will
    generate an error:
    
    Doing a call without explicit module name to a local function
    having a name clashing with the name of an autoimported BIF
    that was present (and autoimported) before OTP R14A
    Explicitly importing a function having a name clashing with
    the name of an autoimported BIF that was present (and
    autoimported) before OTP R14A Using any form of the old
    compiler directive nowarn_bif_clash
    
    If the BIF was added or autoimported in OTP R14A or later,
    overriding it with an import or a local function will only
    result in a warning,
    
    To resolve clashes, you can either use the explicit module
    name erlang to call the BIF, or you can remove the autoimport
    of that specific BIF by using the new compiler directive
    -compile({no_auto_import,[F/A]})., which makes all calls to
    the local or imported function without explicit module name
    pass without warnings or errors.
    
    The change makes it possible to add autoimported BIFs without
    breaking or silently changing old code in the future. However
    some current code ingeniously utilizing the old behaviour or
    the nowarn_bif_clash compiler directive, might need changing
    to be accepted by the compiler.
  7. Merge branch 'pan/otp_8577_re_pattern_doc' into dev

    Erlang/OTP authored
    * pan/otp_8577_re_pattern_doc:
      Add documentation of what part of a re mp() can be used for guard tests
    
    OTP-8577 Document re_pattern properties
    
    Some properties of a compiled re pattern are defined to allow for guard
    tests.
  8. Merge branch 'pan/otp_8611_standard_io' into dev

    Erlang/OTP authored
    * pan/otp_8611_standard_io:
      Teach file:write/read/read_line about named io_servers
    
    OTP-8611 file:write,read and read_line on named io_device()
    
    The file module's functions write,read and read_line now handles named
    io_servers like 'standard_io' and 'standard_error' correctly.
  9. Merge branch 'pan/unregister_error' into dev

    Erlang/OTP authored
    * pan/unregister_error:
      Add possibly missing process lock before unregistering oneself
      Keep process lock over trace of unregister
    
    OTP-8663 Unregister may crash VM
    
    Extreme combinations of register/unregister in a highly parallell SMP
    application could crash the VM. The error is corrected.
  10. Merge branch 'pan/otp_8086_ms_grammar' into dev

    Erlang/OTP authored
    * pan/otp_8086_ms_grammar:
      Add match_specification grammar documentation specifically for ets
    
    OTP-8086 Grammar for match specification describes tracing only
    
    The grammar for match specifications in ERTS users guide only described the
    tracing dialect of match specifications. An informal grammar for the ETS
    dialect is added.
  11. Merge branch 'pan/otp_3626_win_find_executable' into dev

    Erlang/OTP authored
    * pan/otp_3626_win_find_executable:
      Teach os.erl to find executable names with extension (i.e. .exe) on windows
    
    OTP-3626 os:find_executable bug on Windows
    
    os:find_executable can now be fed with the complete name of the executable
    on Windows and still find it. I.e os:find_executable("werl.exe") will work
    as os:find_executable("werl").
  12. @dgud

    Fixed a bug in the spec which caused dsa parameters to be lost in the…

    dgud authored Erlang/OTP committed
    … certificates.
Commits on Jun 2, 2010
  1. @bmk

    OTP-8529: Raise condition processing replies

    bmk authored Erlang/OTP committed
  2. @bmk

    OTP-8634: Pending counter raise condition.

    bmk authored Erlang/OTP committed
  3. @bufflig

    Update preloaded modules

    bufflig authored
  4. @bufflig

    Update primary bootstrap

    bufflig authored
  5. @bufflig
  6. @bufflig
  7. @bufflig
  8. @bufflig

    Autoimport min/2 and max/2

    bufflig authored
  9. @bufflig
  10. @bufflig
  11. @bufflig
  12. @bufflig
  13. @bufflig

    Return nowarn_bif_clash functionality but with warning

    bufflig authored
    Wrote and changed some tests in stdlib:erl_lint_SUITE
    
    nowarn_bif_clash is obsoleted but will remove warnings and errors about bif
    clashes. The recommended way is to use no_auto_import directives instead.
    
    Hopefully erlang.erl is the only user in the world of nowarn_bif_clash.
  14. @bufflig

    Teach erl_lint to better override BIFs with local functions and imports

    bufflig authored
    Added only a few testcases in compiler:error_SUITE and guard_SUITE
    
    The new behaviour of warnings and errors when overriding autoimported BIF's:
    
    Bifs that were autoimported before R14 are dangerous because old code
    using them and overriding them in exports can start behaving
    differently. For newly added autoimports this can't happen to the new
    code that wants to (or dont want to) use them, why only warnings are
    added for the BIFs autoimported after the compilator change. Errors
    are issued only for code that could have worked in one way in R13 and
    now will behave in a different way.
    
    If overriding autoimport with local function:
    - if explicit -compile directive supresses autoimport
    	-> no message
      else
    	- if called from inside module
    		- if pre R14 autoimported bif
    	     		-> error
                      else
    			-> warning
    	  else
                 	-> no message
    If overriding autoimport with import directive
    - if explicit -compile directive supresses autoimport
    	-> no message
      else (regardless of actual usage)
    	- if pre R14 autoimported bif
    	     	-> error
              else
    		-> warning
    
    Calls of local functions or imports overriding autoimported functions
    (either post R14 or by using explicit -compile supressions of
    autoimport) always goes to the local function or the imported.
    
    The compileation errors are added to not let code like this silently
    and disastrously change its semantic (probably to an infinite loop)
    between R13 and R14:
    
    ----------
    -module(m).
    
    -export([length/1]).
    
    length(X) ->
    	...
    	Y = length(Z),
    	....
    ----------
    
    The user has to select if he/she wants to call length in 'erlang' explicitly
    or if the overriding semantics is desired, in which case the -compile
    directive has to be used.
    
    -compile({no_auto_import,[F/A]}). Is added to allow to override the
    autoimports so that code gets unanbiguous. The directive will remove
    an autoimport even if there is no local function or import overriding,
    because any other behaviour would be inconsistent and confusing.
    
    record_info and module_info can never be overridden.
  15. @bufflig
  16. @bufflig

    First prototype for local functions overriding autoimported

    bufflig authored
    Import directives still not sorted out!
  17. OTP-8664 Erlang parser augmented with operators for integer types

    Hans Bolinder authored Erlang/OTP committed
    Expressions evaluating to integers can now be used in types and function
    specifications where hitherto only integers were allowed
    ("Erlang_Integer").
  18. @bufflig
  19. Merge branch 'jv/autoimport-binary_to_term_2' into dev

    Erlang/OTP authored
    * jv/autoimport-binary_to_term_2:
      Change binary_to_term/2 to be auto-imported
    
    OTP-8671 jv/autoimport-binary_to_term_2
    
    Now, binary_to_term/2 is auto-imported. This will cause a compile warning
    if and only if a module has got a local function with that name.
  20. @bjorng

    Update bootstrap compiler

    bjorng authored Erlang/OTP committed
  21. Fixing compiler warnings regarding max/2

    Niclas Eklund authored Erlang/OTP committed
  22. Merge branch 'bg/compiler' into dev

    Erlang/OTP authored
    * bg/compiler:
      beam_peep: Remove optimization already done by beam_dead
      beam_dead: Combine is_eq_exact instructions into select_val instructions
      Evaluate is_record/3 at compile-time using type information
      Evaluate element/2 at compile-time using type information
      erl_expand_records: Replace is_record() with matching
    
    OTP-8668 bg/compiler
    
    The compiler optimizes record operations better.
  23. Merge branch 'am/net_kernel_catchall' into dev

    Erlang/OTP authored
    * am/net_kernel_catchall:
      Add catch all handle_call to net_kernel
Something went wrong with that request. Please try again.