Permalink
Switch branches/tags
Commits on Mar 16, 2013
  1. Beginnings of indy-only method binding.

    headius committed Mar 16, 2013
    This patch adds a new MethodFactory that will eventually use
    MethodHandle for binding methods rather than generated stub code.
    This should reduce the amount of memory taken by invokers, since
    the new MH-based DynamicMethod just aggregates a few handles. We
    will eventually be able to remove all the generated invokers and
    populators because the handle-based versions can be built
    programmatically. This may also help improve startup time for
    apps, especially any that are AOT-compiled (since AOT-compiled
    scripts still have to generated their invokers at runtime).
    
    The logic here is only wired up for binding script-borne methods,
    only in AOT mode (or for the target script).
    
    TODO:
    
    * Invokers for script-borne blocks
    * Invokers for core class methods
    * Correct "super" logic (currently can't super because the super
      name is not available).
    * Build of JRuby with no invokers or populators
  2. Merge pull request #554 from robinmessage/master

    headius committed Mar 16, 2013
    Fixes issue #549 (OpenSSL sockets spin indefinitely on timeout in handshake)
Commits on Mar 15, 2013
  1. Update to jzlib 1.1.2.

    headius committed Mar 15, 2013
    A user reported to me that a concurrency issue in jzlib had been
    fixed in 1.1.2. Specifically, the Tree#gen_codes method was
    static and synchronized, causing contention. This was fixed in
    1.1.2.
  2. Changes suggested by #501.

    BanzaiMan committed Mar 15, 2013
  3. Update 1.9 mode to 1.9.3p392 (no visible changes).

    headius committed Mar 15, 2013
    * Tests updated from 1.9.3p392
    * 1.9.3 and 2.0.0 copies modified to exclude shared psych stuff
    * One new BEGIN/END test excluded
Commits on Mar 14, 2013
  1. Bump to 0.8.5 for release.

    headius committed Mar 14, 2013
    I released 0.8.4 without the jopenssl.jar in it, which broke
    everyone on JRuby 1.7.2 or earlier. This version has no diffs...
    it just builds the gem correctly.
  2. Fix relative path logic for ./ and .. files.

    headius committed Mar 14, 2013
    * Loading a file starting with ./ now replaces ./ with cwd.
    * Loading a file that contains any embedded .. will canonicalize
      before checking for file existance, since File#isFile will not
      handle those .. properly.
    * Canonicalize both such paths for __FILE__
    
    Fixes #575.
  3. Update joda-time to 2.2.

    BanzaiMan committed Mar 11, 2013
    NetBeans and Eclipse projects updated as well.
    I'm not sure how it should be done for IntelliJ, so it needs to be done
    separately.
  4. Merge pull request #579 from JonAdams1000/master

    headius committed Mar 14, 2013
    Don't include imports from previously processed ruby files in every generated java file.
Commits on Mar 13, 2013
  1. Implement Method#parameters for native methods.

    headius committed Mar 13, 2013
    In MRI, native methods will only present a list of :req for fixed-
    arity methods or a single :rest for variable-arity methods. I have
    duplicated this in JRuby, though I'd prefer to present the more
    correct layout of required and optional args. I have filed a bug
    with MRI to improve #parameters in this way:
    
    https://bugs.ruby-lang.org/issues/8088
    
    Fixes #583.
Commits on Mar 12, 2013
  1. Additional fixes to get 'ant test' and 'mri19' suites green.

    headius committed Mar 12, 2013
    * Hash head-resetting logic in alloc after construct, fixed.
    * Fixed 2.0-related change to Thread init, confused Thread.list.
  2. Minor improvements for Hash.

    headius committed Mar 12, 2013
    * Avoid creating AtomicInteger by using updater or sync.
    * Avoid re-initializing "head" node.
    * Avoid updating generation unnecessarily at create time.
  3. Fix typo in protocol.rb

    headius committed Mar 12, 2013
Commits on Mar 11, 2013
  1. More tweaks for 2.0 stdlib.

    headius committed Mar 11, 2013
    * Revert rbuf_fill logic in net/protocol to using nonblock. We
      fixed SSL nonblock some time ago, which was the reason for the
      modified logic.
    * Move our fiddle impl to shared location, since it's custom.
    * Remove fiddle from copying in 1.9.3 sync logic.
    * Add 2_0_0 to sync_ruby doco.
    * Copy versions of stdlib directly from jruby/ruby fork. I have
      created the jruby-ruby_2_0_0 branch to use going forward.
    * Update version and revision strings for 2.0 mode.
  2. Incorporate substantive code from 2.0 stdlib.

    headius committed Mar 11, 2013
    This commit only pulls in the parts of 2.0 stdlib that differ
    functionality-wise from their 1.9.3 equivalents. When running in
    2.0 mode, the 2.0 dir will be searched before the 1.9 dir,
    picking up the differing files. We opted to do this to reduce the
    amount of duplicate content in our repository.
    
    JRuby 9000 will likely incorporate 2.0 stdlib en masse, and may
    only be 2.0 compatible.
    
    Note that 2.0 stdlib is *not* included in jruby-complete or
    jruby-jars, since it is still an unsupported mode and we don't
    want to bloat up those artifacts any more than necessary.
  3. Use duplicated imports list so that the default imports list does not…

    Jonathan Adams committed Mar 11, 2013
    … get changed with every compiled script.
  4. Incorporate some 2.0.0 features from backports gem.

    headius committed Mar 11, 2013
    * Use backports version of Enumerator::Lazy. It was close to ours
      but had some edge cases better-handled.
    * Add Range#bsearch.