Skip to content
Commits on Aug 10, 2010
  1. @rickard-green

    Rewrite ethread library

    rickard-green committed Jun 17, 2010
    Large parts of the ethread library have been rewritten. The
    ethread library is an Erlang runtime system internal, portable
    thread library used by the runtime system itself.
    Most notable improvement is a reader optimized rwlock
    implementation which dramatically improve the performance of
    read-lock/read-unlock operations on multi processor systems by
    avoiding ping-ponging of the rwlock cache lines. The reader
    optimized rwlock implementation is used by miscellaneous
    rwlocks in the runtime system that are known to be read-locked
    frequently, and can be enabled on ETS tables by passing the
    `{read_concurrency, true}' option upon table creation. See the
    documentation of `ets:new/2' for more information.
    The ethread library can now also use the libatomic_ops library
    for atomic memory accesses. This makes it possible for the
    Erlang runtime system to utilize optimized atomic operations
    on more platforms than before. Use the
    `--with-libatomic_ops=PATH' configure command line argument
    when specifying where the libatomic_ops installation is
    located. The libatomic_ops library can be downloaded from:
    The changed API of the ethread library has also caused
    modifications in the Erlang runtime system. Preparations for
    the to come "delayed deallocation" feature has also been done
    since it depends on the ethread library.
    Note: When building for x86, the ethread library will now use
    instructions that first appeared on the pentium 4 processor. If
    you want the runtime system to be compatible with older
    processors (back to 486) you need to pass the
    `--enable-ethread-pre-pentium4-compatibility' configure command
    line argument when configuring the system.
Commits on Apr 6, 2010
  1. @tuncer

    Build placeholder PDF files if FOP is not found

    tuncer committed Mar 29, 2010
    If FOP is not found create PDF files with fakefop script.
    Signed-off-by: Tuncer Ayaz <>
Commits on Mar 22, 2010
  1. Merge branch 'pan/otp_8332_halfword' into dev

    Erlang/OTP committed Mar 22, 2010
    * pan/otp_8332_halfword:
      Teach testcase in driver_suite the new prototype for driver_async
      wx: Correct usage of driver callbacks from wx thread
      Adopt the new (R13B04) Nif functionality to the halfword codebase
      Support monitoring and demonitoring from driver threads
      Fix further test-suite problems
      Correct the VM to work for more test suites
      Teach {wordsize,internal|external} to system_info/1
      Make tracing and distribution work
      Turn on instruction packing in the loader and virtual machine
      Add the BeamInstr data type for loaded BEAM code
      Fix the BEAM dissambler for the half-word emulator
      Store pointers to heap data in 32-bit words
      Add a custom mmap wrapper to force heaps into the lower address range
      Fit all heap data into the 32-bit address range
  2. @rickard-green

    OTP-8512 Add Erlangish MarkDown to Erlangish XML support

    rickard-green committed with Erlang/OTP Mar 22, 2010
    The,, and "readme files" are
    now included in both the HTML and the PDF documentation.
Commits on Mar 10, 2010
  1. @bufflig @bjorng

    Store pointers to heap data in 32-bit words

    bufflig committed with bjorng Jan 20, 2010
    Store Erlang terms in 32-bit entities on the heap, expanding the
    pointers to 64-bit when needed. This works because all terms are stored
    on addresses in the 32-bit address range (the 32 most significant bits
    of pointers to term data are always 0).
    Introduce a new datatype called UWord (along with its companion SWord),
    which is an integer having the exact same size as the machine word
    (a void *), but might be larger than Eterm/Uint.
    Store code as machine words, as the instructions are pointers to
    executable code which might reside outside the 32-bit address range.
    Continuation pointers are stored on the 32-bit stack and hence must
    point to addresses in the low range, which means that loaded beam code
    much be placed in the low 32-bit address range (but, as said earlier,
    the instructions themselves are full words).
    No Erlang term data can be stored on C stacks (enforced by an
    earlier commit).
    This version gives a prompt, but test cases still fail (and dump core).
    The loader (and emulator loop) has instruction packing disabled.
    The main issues has been in rewriting loader and actual virtual
    machine. Subsystems (like distribution) does not work yet.
Commits on Feb 18, 2010
  1. @rickard-green

    OTP-8449 Documentation improvements.

    rickard-green committed with Erlang/OTP Feb 18, 2010
              The most important "readme" files now use Markdown notation. HTML
              versions of these files are now also automatically generated and
              included in the HTML documentation.
              - Building and Installing Erlang/OTP - $ERL_TOP/
              (previously known as $ERL_TOP/README).
              - Cross Compiling Erlang/OTP - $ERL_TOP/
              - How to Build Erlang/OTP on Windows - $ERL_TOP/
              (previously known as $ERL_TOP/README.win32).
Commits on Feb 6, 2010
  1. @bufflig @bjorng
Commits on Feb 3, 2010
  1. @rickard-green

    OTP-8323 Cross compilation improvements and other build system

    rickard-green committed with Erlang/OTP Feb 3, 2010
              Most notable:
              Lots of cross compilation improvements. The old cross compilation
              support was more or less non-existing as well as broken. Please,
              note that the cross compilation support should still be
              considered as experimental. Also note that old cross compilation
              configurations cannot be used without modifications. For more
              information on cross compiling Erlang/OTP see the
              $ERL_TOP/xcomp/README file.
              Support for staged install using <url
              ESTDIR</url>. The old broken INSTALL_PREFIX has also been fixed.
              For more information see the $ERL_TOP/README file.
              Documentation of the release target of the top Makefile. For more
              information see the $ERL_TOP/README file.
              make install now by default creates relative symbolic links
              instead of absolute ones. For more information see the
              $ERL_TOP/README file.
              $ERL_TOP/configure --help=recursive now works and prints help for
              all applications with configure scripts.
              Doing make install, or make release directly after make all no
              longer triggers miscellaneous rebuilds.
              Existing bootstrap system is now used when doing make install, or
              make release without a preceding make all.
              The crypto and ssl applications use the same runtime library path
              when dynamically linking against and The
              runtime library search path has also been extended.
              The configure scripts of erl_interface and odbc now search for
              thread libraries and thread library quirks the same way as erts
              The configure script of the odbc application now also looks for
              odbc libraries in lib64 and lib/64 directories when building on a
              64-bit system.
              The file in the erl_interface application is now
              automatically generated in instead of statically updated which
              reduces the risk of configure tests without any effect.
Commits on Nov 20, 2009
  1. The R13B03 release.

    Erlang/OTP committed Nov 20, 2009
Something went wrong with that request. Please try again.