Permalink
Switch branches/tags
Commits on Apr 2, 2012
  1. Apply the VM-to-State transition to the JIT code

    ryoqun committed Apr 2, 2012
    Since the following commit, many C++ functions are changed to take a pointer to
    a State, not a pointer to a VM. But the LLVM code hasn't catch up the change.
    
      35a49f3 Introduce State class as STATE
    
    This is very confusing. Just update it.
    
    The reason Rubinius doesn't currently break in this situation is that the LLVM
    IR type system is completely independent of the actual C++ type system.
  2. Fix a typo

    ryoqun committed Apr 2, 2012
Commits on Apr 1, 2012
Commits on Mar 31, 2012
Commits on Mar 29, 2012
Commits on Mar 28, 2012
  1. Merge pull request #1641 from liff/master

    evanphx committed Mar 28, 2012
    Fix infinite loop when parsing RBXOPT
  2. Remove index arg of BlockEnvironment::under_call_frame

    ryoqun committed Mar 28, 2012
    Since the following commit, BlockEnvironment::under_call_frame's last argument
    called "index" isn't used in the function definition. Just remove the unused
    argument.
      e838319 Fix JIT bug wrt blocks as methods
Commits on Mar 27, 2012
  1. Correct Time#to_r specs

    jfirebaugh committed Mar 27, 2012
  2. Fix Time#strftime with fractional seconds

    jfirebaugh committed Mar 27, 2012
    Also, don't assume a field order for timespec.
    
    Picoseconds case still fails due to lack of support for
    Rational subseconds.
  3. Fix Time#to_s and Time#strftime with fixed offset

    jfirebaugh committed Mar 27, 2012
    Also, implement %:z and %::z strftime formats, by
    hand porting the additions from MRI's strftime.
    
    The offset calculation done by strftime for local times
    was pulled out to Time::utc_offset() and is now used
    by Time#utc_offset. Since it is a mess of #ifdefs, we
    may want to instead implement the previous Ruby definition
    of Time#utc_offset in C. This appears to be what MRI
    does.
    
    Rational offsets are not yet supported.
  4. Use InstructionSet::CALL_FLAG_CONCAT

    ryoqun committed Mar 27, 2012
    CALL_FLAG_CONCAT's definition is duplicated under both Generator and
    InstructionSet. Generator's one is hard-coded, InstructionSet's one is auto-
    generated.
    
    Use InstructionSet::CALL_FLAG_CONCAT and remove Generator::CALL_FLAG_CONCAT.
    
    The commit (1) introduced InstructionSet::CALL_FLAG_CONCAT and replaced
    Generator::CALL_FLAG_CONCAT with it. But the commit (2) removed the use of
    InstructionSet::CALL_FLAG_CONCAT and the commit (3) incorrectly used
    Generator::CALL_FLAG_CONCAT.
    
      (1) 9b60cfd Rework VM instruction parsing and generation.
      (2) 55175ce Requiem for an era: o/~ oh compiler, your sexp expressions... o/~
      (3) 911f390 Moved lib/compiler-ng to lib/compiler.
    
    Easily confirmed by following commands:
      $ git log -S::CALL_FLAG_CONCAT --stat
      $ git log -SCALL_FLAG_CONCAT --stat -p ./lib/ ./kernel
    
    Well, this is the power of git. :p
  5. Remove CALL_FLAG_PRIVATE

    ryoqun committed Mar 27, 2012
    This constant is not used since the following commit:
      17d0fa7 Add allow_private instruction to allow private sends
  6. Remove extra space

    ryoqun committed Mar 27, 2012
  7. Merge pull request #1639 from szimek/use_each_in_struct_each_pair

    dbussink committed Mar 27, 2012
    Use #each instead of #map in Struct#each_pair.
Commits on Mar 26, 2012
  1. Tag remaining Time spec failures

    jfirebaugh committed Mar 26, 2012
    These failures are due to not yet supporting a Rational
    UTC offset (which in turn requires Rational subsecond
    support).