Commits on Mar 8, 2012
  1. @subbuss
  2. @qmx
  3. @headius
  4. @headius

    Fix JRUBY-6534: Broken block-local vars in 1.9 mode

    * Simple typo in the parser.
    headius committed Mar 8, 2012
  5. @headius

    Fixes to almost make 1.9 spec run green again.

    * Implement IO#getc/chars/each_char/readchar properly
    * Fix bad boolean logic for # strings in String#inspect
    headius committed Mar 7, 2012
  6. @headius
  7. @subbuss
  8. @headius

    Get 1.8 specs green again.

    * Don't clear ThreadLocals on exit; they're expected to be there.
    ** Pooled threads will dissociate themselves from RubyThread anyway.
    * Force JRUBY_OPTS to have --1.8 or --1.9 for subprocesses.
    * Raise ArgumentError for bad File.*open modes.
    headius committed Mar 7, 2012
Commits on Mar 7, 2012
  1. @enebo
  2. @enebo

    IR: Make DominatorTreeBuilder add CFGBuilder dep via compiler pass an…

    …d remove from IRScope
    enebo committed Mar 7, 2012
  3. @enebo
  4. @enebo
  5. @headius
  6. @headius
  7. @headius

    Remove explicit 1.9 restriction from Fiber methods.

    Fiber is still not available in 1.8 mode, but this will make it
    possible to hack it into existence.
    headius committed Mar 7, 2012
  8. @headius

    More improvements for ServerSocket and accept/connect.

    * Add accept_nonblock to ServerSocket
    * Add ServerSocket error to Socket#listen
    * Add bind/listen warning to ServerSocket#listen
    * Refactor ServerSocket#accept a bit
    headius committed Mar 7, 2012
  9. @headius
  10. @headius

    Add error message for Socket#accept.

    Because we can't support both client and server connections in
    Socket, we have added ServerSocket for the server side. To make
    this easier to find, I've added an impl of Socket#accept that
    mentions ServerSocket and links to an informational page on the
    JRuby wiki.
    headius committed Mar 6, 2012
  11. @headius

    Additional fixes for connect_nonblock and IO.select.

    * Move finishConnect logic into select's write ops handling
    headius committed Mar 6, 2012
  12. @headius

    Fix JRUBY-6528

    Socket#connect_nonblock and IO::select appear to be misbehaving?
    
    When selecting for "write" in Ruby terms, we need to select for
    both "write" and "connect" in Java selector terms. On most impls
    of selectors, there's only "read" and "write" to be used for
    read/accept and write/connect. We were only registering interest
    in the Java "write" event", but the JDK knows we're doing select
    against an unconnected socket, so it's looking for "connect"
    interest. It wakes up, because at the native level "write" and
    "connect" are both just "write", sees that we're not interested
    in "connect", and we don't end up adding anything to the outgoing
    writable array.
    
    By modifying "write" selection events to do write + connect (and
    fixing "read" selection events to do read + accept) the given
    script works as expected.
    
    This code still needs some improvement and refactoring, but I'm
    closer to understanding how to do it right now.
    headius committed Mar 6, 2012
Commits on Mar 6, 2012
  1. @enebo

    IR: Fix more callers of getClosureArg (this should not change anythin…

    …g behaviorally, but it looked goofy before)
    enebo committed Mar 6, 2012
  2. @enebo

    IR: computeScopeFlags was always marking scope as usesZSuper to a pre…

    …vious refactoring mistake I made. Now recv_closures are getting marked dead more often than never :)
    enebo committed Mar 6, 2012
  3. @headius

    Fix JRUBY-6527

    Socket#connect_nonblock raises Errno::EINPROGRESS, but MRI raises IO::WaitWritable
    
    This is just another case where MRI mixes WaitWritable into an
    errno exception at runtime, so I added another subclass that does
    it ahead of time and construct that in 1.9 mode.
    headius committed Mar 6, 2012
  4. @enebo
  5. @enebo
  6. @headius
  7. @headius

    Fix JRUBY-6526 and continue socket refactoring.

    * Moved most Socket class methods to SocketUtils
    * Added ServerSocket as a JRuby workaround for Socket only being clients
    * Added support for symbolic domain, type, and protocol (1.9)
    * Added 1.9 Socket#initialize with two args
    headius committed Mar 6, 2012
  8. @enebo

    IR: tmp -> living for naming and also made it local to methods which …

    …used it. Re-arranged live variable logic a little
    enebo committed Mar 6, 2012
  9. @enebo
  10. @enebo
  11. @headius
  12. @headius

    Fixes for test_thread in thread pooling mode

    * Allow setting priorities for pooled threads
    * Aggregate "dispose" functionality for threads
    * Reset pooled thread priorities to initial
    * Remove undefined-behavior "dead thread" priority test
    * Make Thread.current keys test permissive about extra keys
    headius committed Mar 6, 2012
  13. @subbuss
  14. @enebo
Commits on Mar 5, 2012
  1. Implement rb_str_modify(), and rb_check_safe_obj()

    Wayne Meissner committed Mar 6, 2012