Permalink
Switch branches/tags
Commits on Mar 14, 2013
  1. Don't initialize Arguments::name twice (VM part)

    InlineCache::execute always initializes Arguments::name to appropriate name. So,
    there is no need to initialize Arguments::name when Arguments objects are
    constructed and immediately handed to it.
    
    This commit is only for the VM. One for the JIT will follow.
    committed Mar 13, 2013
  2. Inline everything

    committed Mar 14, 2013
  3. Inline state event check

    committed Mar 14, 2013
Commits on Mar 13, 2013
  1. Factor out duplicated code

    committed Mar 13, 2013
Commits on Mar 12, 2013
  1. Suppress warnings from Clang

    Suppress warnings from Clang when compiling with Valgrind like this:
    
    In file included from vm/capi/handle.cpp:3:
    vm/gc/baker.hpp:274:7: error: expression result unused [-Werror,-Wunused-value]
          VALGRIND_MAKE_MEM_NOACCESS(next->start().as_int(), next->size());
          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    /usr/include/valgrind/memcheck.h:110:5: note: expanded from:
        VALGRIND_DO_CLIENT_REQUEST_EXPR(0 /* default return */,      \
        ^
    /usr/include/valgrind/valgrind.h:383:5: note: expanded from:
        _zzq_result;                                                  \
        ^~~~~~~~~~~
    
    Please remove this when this bug (*1) is fixed and the fixed Valgrind is
    available everywhere.
    
    *1: https://bugs.kde.org/show_bug.cgi?id=316612
    committed Mar 12, 2013
Commits on Mar 11, 2013
  1. Re-enable building with clang.

    brixen committed Mar 11, 2013
  2. Initialize compactlookuptable first

    IO also uses it now, so we had another ontology issue that was exposed
    when doing a heap dump.
    
    Fixes evanphx/heap_dump#1
    dbussink committed Mar 11, 2013
  3. Cleanup push_local_depth implementation in JIT

    A depth of 0 is an invalid value here (the instruction in the
    interpreter throws an exception). We shouldn't special case it here and
    also removed the commented out implementation for depth = 1 since that
    isn't correct anyway.
    dbussink committed Mar 11, 2013
Commits on Mar 10, 2013
  1. Merge pull request #2198 from lmars/fix-melbourne-mri-build-on-linux

    Fix building melbourne for MRI on Linux
    dbussink committed Mar 10, 2013
  2. Fix building melbourne for MRI on Linux

    Lewis Marshall committed Mar 10, 2013
  3. The API of returns the number of needed bytes in certain cases

    When one of the arguments to replace into the string is a string itself
    and doesn't fit, the API of ruby_vsnprintf is that it returns the needed
    size of the string. Handle this case and grow the string to that size in
    that case.
    
    Fixes #2196
    dbussink committed Mar 10, 2013
  4. Add specs for rb_sprintf with a long argument

    Adds a spec where the argument to fill in is larger than the string,
    probably triggering a resize in the implementation.
    dbussink committed Mar 10, 2013
Commits on Mar 8, 2013
  1. Sort classes for LLVM offsets

    This makes sure that if we change one entry here, we don't always end up
    rewriting the whole file. This makes these changes cleaner in the
    history.
    dbussink committed Mar 5, 2013
  2. Remove unused loop optimization

    This hasn't been used since 2010, so we might as well remove it
    completely.
    dbussink committed Mar 8, 2013
  3. Remove unused compile transforms

    The __kind_of__ call was only used in one place and can be replaced with
    using Rubinius::Type that we now have. The JIT can also optimize these
    regular methods well now, so having this doesn't give us anything
    anymore.
    dbussink committed Mar 8, 2013
  4. Cleanup unused primitive

    dbussink committed Mar 8, 2013
Commits on Mar 7, 2013
  1. Merge pull request #2192 from ryoqun/llvm-oprofile-jit

    Enable profiling JIT-ted code using OProfile
    dbussink committed Mar 7, 2013
  2. Create DICompileUnit to fix assertion error

    There was a following assertion error:
      Assertion failed: (TheCU && "Unable to create DW_TAG_file_type without CompileUnit"), function createFile, file DIBuilder.cpp, line 129.
    
    This occurs when using LLVM build with assertion enabled.
    committed Mar 7, 2013
Commits on Mar 6, 2013
  1. Use inline caches in the JIT helpers

    For some reason I can't think of, this was doing a method lookup
    manually instead of using the inline cache already available. This means
    these JIT helpers used the global cache without really needing to.
    
    Also cleans up helpers not used anymore.
    dbussink committed Mar 6, 2013
  2. Support no LLVM

    committed Mar 6, 2013
  3. Support LLVM 3.2

    committed Mar 6, 2013