Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
Download ZIP
Commits on Feb 2, 2012
Commits on Feb 1, 2012
  1. erts: Refactor limits

    authored
       * use 'undefined' as off value to 'heap_size'
Commits on Jan 25, 2012
Commits on Jan 19, 2012
Commits on Jan 16, 2012
Commits on Jan 13, 2012
  1. erts: Fix limits bump reds in gc

    authored
       * Reductions will not be bumbed in gc,
         instead the cost is matched to the number of
         fcalls remaining
Commits on Jan 12, 2012
  1. erts: Fix limits on non smp

    authored
       * Exit signal did not take previously
Commits on Jan 11, 2012
  1. erts: Use new layout of limits

    authored
       * Fix send exit in smp case
Commits on Jan 10, 2012
Commits on Jan 4, 2012
  1. Merge branch 'maint'

    authored
    * maint:
      erts: Use re instead of regexp in testsuite
      erts: Remove unused code in testsuites
      orber: Use modern list guard in testsuite
      orber: Ignore unused variable in orber_tb.erl
      xmerl: Ignore unused variable in xmerl_uri.erl
      syntax_tool: Add missing type information
      hipe: Suppress warnings for unused variables
      hipe: Add type information to cfg_info record
      tools: Use literal formatting in erl_memory.c
      asn1: Remove unused variable in asn1_erl_nif.c
      ei: Remove unused variable in ei_format.c
      erts: Add missing prototype to DRIVER_INIT
      runtime_tools: Fix signedness in trace_ip_drv.c
      to_erl: Remove compiler warnings
      heart: Suppress compiler warnings
      erts: Remove compiler warnings in inet_gethost.c
      erts: Remove dead code in inet_gethost.c
      erts: Remove dead code
  2. Merge branch 'egil/fix-compiler-warnings' into maint

    authored
    * egil/fix-compiler-warnings:
      erts: Use re instead of regexp in testsuite
      erts: Remove unused code in testsuites
      orber: Use modern list guard in testsuite
      orber: Ignore unused variable in orber_tb.erl
      xmerl: Ignore unused variable in xmerl_uri.erl
      syntax_tool: Add missing type information
      hipe: Suppress warnings for unused variables
      hipe: Add type information to cfg_info record
      tools: Use literal formatting in erl_memory.c
      asn1: Remove unused variable in asn1_erl_nif.c
      ei: Remove unused variable in ei_format.c
      erts: Add missing prototype to DRIVER_INIT
      runtime_tools: Fix signedness in trace_ip_drv.c
      to_erl: Remove compiler warnings
      heart: Suppress compiler warnings
      erts: Remove compiler warnings in inet_gethost.c
      erts: Remove dead code in inet_gethost.c
      erts: Remove dead code
  3. Merge branch 'maint'

    authored
    * maint:
      erts: Do not profile system profiler pid
      test: system_profile profiler pid is not profiled
      Remove line macros in system_profile_SUITE
  4. Merge branch 'egil/system_profile-profiler-fix/OTP-9849' into maint

    authored
    * egil/system_profile-profiler-fix/OTP-9849:
      erts: Do not profile system profiler pid
      test: system_profile profiler pid is not profiled
      Remove line macros in system_profile_SUITE
  5. @bjorng

    Merge branch 'maint'

    bjorng authored
    * maint:
      Update primary bootstrap
      Add the beam_except pass to optimize exceptions
      Eliminate the match_fail primop in v3_kernel and later passes
  6. @bjorng

    Update primary bootstrap

    bjorng authored
  7. @bjorng

    Merge branch 'bjorn/compiler/match-fail/OTP-9842' into maint

    bjorng authored
    * bjorn/compiler/match-fail/OTP-9842:
      Add the beam_except pass to optimize exceptions
      Eliminate the match_fail primop in v3_kernel and later passes
  8. @bjorng

    Add the beam_except pass to optimize exceptions

    bjorng authored
    In order to save space, rewrite suitable calls to erlang:error/{1,2}
    to special BEAM instructions.
    
    This code is probably longer than the code taken out of v3_life and
    v3_codegen in the previous commit, but it is much easier to
    understand and maintain since the BEAM assembler format is better
    understood than the v3_life format.
  9. @bjorng

    Eliminate the match_fail primop in v3_kernel and later passes

    bjorng authored
    In the v3_life pass, it is assumed that a 'match_fail' primop
    only occur at the top-level and at the end of a function.
    But this code:
    
    do_split_cases(A) ->
        case A of
            x ->
    	    Z = dummy1;
            _ ->
    	    Z = dummy2,
    	    a=b
        end,
        Z.
    
    will be optimized by sys_core_fold to the following code:
    
    'split_cases'/1 =
        fun (_cor0) ->
    	let <_cor7,Z> =
    	    case _cor0 of
    	      <'x'> when 'true' ->
    		   < 'dummy1','dummy1' >
    	      <_cor6> when 'true' ->
                      %% Here follows a 'match_fail' primop inside
    		  %% multiple return values:
    		  < primop 'match_fail'({'badmatch','b'}),'dummy2' >
    	    end
    	in
    	    Z
    
    moving the 'match_fail' primop into a "values" construction.
    
    In the future, we would like to get rid of the v3_life pass (it is
    there for historical reasons), so in the mean-time we prefer to not
    add more code to it by generalizing the handling of 'match_fail'.
    
    Since the 'match_fail' primop can be simulated by erlang:error/{1,2},
    the simplest solution is to translate 'match_fail' to a call to
    erlang:error/{1,2} in v3_kernel and remove the handling of
    'match_fail' in v3_life and v3_codegen.
    
    It is tempting to get rid of 'match_fail' also in the Core Erlang
    format, but there are two issues:
    
    - Removing the support for 'match_fail' completely may break tools
      that generate Core Erlang code. We should not do that in a minor
      release.
    
    - There is no easy way to generate a 'function_clause' exception
      that will remain correct if it will be inlined into another
      function. (Calling "erlang:error(function_clause, Args)" is
      fine only if it is not inlined into another function.) A good
      solution probably involves introducing new instructions, which
      is better done in a major release.
    
    Noticed-by: Håkan Matsson
    Minimized-test-case-by: Erik Søe Sørensen
  10. @garazdawi

    Merge branch 'maint'

    garazdawi authored
  11. @garazdawi

    Merge branch 'lukas/docfixes/OTP-9850' into maint

    garazdawi authored
    * lukas/docfixes/OTP-9850:
      Fix some broken links in documentation
Commits on Jan 3, 2012
Something went wrong with that request. Please try again.