Commits on Oct 9, 2012
  1. Change default image format to SVG.

    voxik committed Oct 9, 2012
    This reduces documentation size, although doxygen 1.7.3 and
    newer browsers are needed.
Commits on Oct 4, 2012
  1. Store the thread name in the managed thread

    dbussink committed Oct 4, 2012
    This makes debugging somewhat easier when we deadlock because we can see
    which thread is actually problematic if we call methods on other running
    threads such as getting backtraces.
  2. Fix deadlock in starting a Thread

    dbussink committed Oct 4, 2012
    When we create a new Thread object, it is allocated with a the
    initializion lock locked. This means that any other method can needs to
    grab this lock has to wait for the thread to be actually started.
    If a method such as getting a backtrace of the thread is called before
    the thread is scheduled to be started, it can deadlock because it can't
    grab the lock and if there is simultanous GC triggered.
Commits on Oct 3, 2012
  1. Cleaned up at_exit spec.

    brixen committed Oct 3, 2012
  2. Merge pull request #1898 from voxik/ignore-block-device-test

    Brian Ford
    Brian Ford committed Oct 3, 2012
    Ignore block device test.
  3. Merge pull request #1936 from ryoqun/raise-nil-false

    Brian Ford
    Brian Ford committed Oct 3, 2012
    Correctly raise TypeError even if nil or false is given
  4. Merge pull request #1937 from voxik/install-manpages

    Brian Ford
    Brian Ford committed Oct 3, 2012
    Install man pages.
  5. Changed configure --libdir to --appdir. Closes #1919.

    brixen committed Oct 3, 2012
    The --libdir option is retained for specifying where to put the Rubinius
    shared library. We don't build a shared or static library yet but we will
    when we have an embedding API.
    The --appdir option specifies where the application runtime and library
    files will be installed. The use of --libdir for this was misleading.
  6. Silence iconv warning.

    brixen committed Oct 1, 2012
Commits on Oct 2, 2012
  1. Trigger a wakeup after setting up the listening socket for the agent

    dbussink committed Oct 2, 2012
    This fixes the problem on OS X where opening an agent console would just
    hang. Related to #1933.
  2. Install man pages.

    voxik committed Oct 2, 2012
  3. Teach the JIT about fixnum_mul

    dbussink committed Oct 2, 2012
    We have to work around a bug in LLVM here which makes smul.with.overflow
    not work correctly. It will not properly detect overflows if we use the
    i63 / i31 integer types as described here:
    We work around it by do multiplication with overflow detection for i64
    and i32 which does work and manually do a bounds check for Fixnum::MIN
    and Fixnum::MAX.
  4. Use better descriptive name for comparison operations

    dbussink committed Oct 2, 2012
    float_compare and fixnum_compare are actually the comparators for the
    Float#<=> and Fixnum#<=> behavior, so this name makes it less ambiguous
    what these wrappers are for.
Commits on Oct 1, 2012
  1. Add missing file

    dbussink committed Oct 1, 2012
  2. Use a block around OnStack with setjmp / longjmp for C-API exceptions

    dbussink committed Oct 1, 2012
    This way we ensure that the destructor for OnStack is executed, even
    when we encounter an exception. We use setjmp / longjmp in the C-API but
    that means we can't depend on RAII behavior here.
    By moving this into a separate block we make sure the destructor part of
    RAII runs before we do the longjmp.
  3. OnStack can mark a location on the stack that contains NULL

    dbussink committed Oct 1, 2012
    When we use OnStack, we might mark a location that holds the return
    value of a call. This return value can be NULL to indicate an exception
    so if we see a NULL here, that is a valid value and we just shouldn't do
    anything with it.
    Before this would cause a segmentation fault because we would deference
    a NULL pointer.
  4. Only try to remove a GC root if it's actually used

    dbussink committed Oct 1, 2012
    These are initialized with cUndef. We already guard the cases for adding
    them so we don't add cUndef, so we should also guard this case when
    trying to remove it.