Skip to content
Permalink

Comparing changes

Choose two branches to see what’s changed or to start a new pull request. If you need to, you can also or learn more about diff comparisons.

Open a pull request

Create a new pull request by comparing changes across two branches. If you need to, you can also . Learn more about diff comparisons here.
base repository: jruby/jruby
Failed to load repositories. Confirm that selected base ref is valid, then try again.
Loading
base: fd45d7734957
Choose a base ref
...
head repository: jruby/jruby
Failed to load repositories. Confirm that selected head ref is valid, then try again.
Loading
compare: 4a736f583cc6
Choose a head ref

Commits on Apr 19, 2017

  1. Copy the full SHA
    06ab258 View commit details
  2. Copy the full SHA
    9ff986e View commit details
  3. Copy the full SHA
    b256a9d View commit details
  4. Copy the full SHA
    b528627 View commit details

Commits on Apr 21, 2017

  1. Copy the full SHA
    cfffca2 View commit details

Commits on May 22, 2017

  1. Copy the full SHA
    aa8d14f View commit details

Commits on Jun 1, 2017

  1. Copy the full SHA
    042f98b View commit details
  2. Fix missing callMethod override

    Although not used by default, the Reificator class at
    https://github.com/jruby/jruby/blob/9.1.10.0/core/src/main/java/org/jruby/RubyClass.java#L1583
    checks which version of callMethod it should use, and needs all three
    versions: no argument, one argument, and more than one argument.
    
    One of these overrides did not exist, and thus would result on a
    
    ```
    java.lang.NoSuchMethodError: rubyobj.BrokenReify.callMethod(
    Ljava/lang/String;Lorg/jruby/runtime/builtin/IRubyObject;)
    Lorg/jruby/runtime/builtin/IRubyObject;
    ```
    
    when running an example with -Xreify.classes=true
    
    ```ruby
    class BrokenReify
      def initialize_copy(other)
        super
      end
    end
    
    puts BrokenReify.new.clone
    ```
    
    With this fix, the above example starts instead giving a
    java.lang.StackOverflowError due to another bug/bad interaction of the
    reify.classes option, which I'll report separately.
    
    Issue #4444
    Ivo Anjo committed Jun 1, 2017
    Copy the full SHA
    ae3f01e View commit details

Commits on Jun 8, 2017

  1. Copy the full SHA
    b70b88b View commit details
  2. Copy the full SHA
    e430eaa View commit details
  3. Add RubyDateParser

    muga committed Jun 8, 2017
    Copy the full SHA
    695610f View commit details
  4. Copy the full SHA
    1b66b58 View commit details
  5. Change data types of cwyear, year, sec_fraction, seconds and _cent in…

    … FormatBag with BigInteger
    muga committed Jun 8, 2017
    Copy the full SHA
    d16ef43 View commit details
  6. Copy the full SHA
    6c71044 View commit details
  7. Add JRuby license notation

    muga committed Jun 8, 2017
    Copy the full SHA
    886deb6 View commit details

Commits on Jun 13, 2017

  1. Merge pull request #4642 from Talkdesk/fix-missing-callmethod-override

    Fix missing callMethod override
    headius authored Jun 13, 2017
    Copy the full SHA
    20d3053 View commit details
  2. Merge pull request #4635 from muga/implement_rubydateparser_in_java

    [WIP] Implement RubyDateParser in Java
    headius authored Jun 13, 2017
    Copy the full SHA
    616daac View commit details
  3. Merge pull request #4640 from headius/jarindex_security

    Also allow access control to trigger quiet bail out of jar index.
    headius authored Jun 13, 2017
    Copy the full SHA
    3d618f0 View commit details
  4. Merge pull request #4620 from MSNexploder/ffi_windows

    Fix wrong FFI types on Windows x64
    headius authored Jun 13, 2017
    Copy the full SHA
    85540c3 View commit details
  5. Copy the full SHA
    b132a18 View commit details
  6. Merge pull request #4570 from jruby/jrubyc-4469

    [jrubyc] respect Ruby visibility rules (do not generate private methods)
    headius authored Jun 13, 2017
    Copy the full SHA
    eb3ed8e View commit details
  7. Copy the full SHA
    c8561db View commit details

Commits on Jun 14, 2017

  1. Copy the full SHA
    4d69890 View commit details
  2. Copy the full SHA
    8537a2b View commit details
  3. Copy the full SHA
    74f3233 View commit details
  4. Copy the full SHA
    83098f6 View commit details

Commits on Jun 16, 2017

  1. Copy the full SHA
    c2eea94 View commit details
  2. Copy the full SHA
    14619bd View commit details
  3. Copy the full SHA
    026b366 View commit details

Commits on Jun 19, 2017

  1. Make Date._strptime loaded as a native ext and make map to hash conve…

    …rsion
    
    in Java vs Ruby.  Improvement (BEFORE):
    
    ```text
    system ~/work/jruby master 1423% jruby ../snippets/date_bench.rb 
    Warming up --------------------------------------
               _strptime    13.890k i/100ms
    Calculating -------------------------------------
    _strptime    168.652k (± 5.7%) i/s -      1.681M in  10.002137s
    ```
    
    AFTER:
    ```text
    jruby ../snippets/date_bench.rb 
    Warming up --------------------------------------
               _strptime    24.108k i/100ms
    Calculating -------------------------------------
    _strptime    291.972k (± 6.1%) i/s -      2.917M in  10.031620s
    ```
    enebo committed Jun 19, 2017
    Copy the full SHA
    4323f93 View commit details
  2. Remove intermediate Map for Hash directly. This was pretty minor chan…

    …ge and it
    
    also gave a modest improvement (BEFORE):
    
    ```text
    jruby ../snippets/date_bench.rb 
    Warming up --------------------------------------
               _strptime    24.108k i/100ms
    Calculating -------------------------------------
    _strptime    291.972k (± 6.1%) i/s -      2.917M in  10.031620s
    ```
    
    AFTER
    
    ```text
    jruby ../snippets/date_bench.rb 
    Warming up --------------------------------------
               _strptime    26.267k i/100ms
    Calculating -------------------------------------
               _strptime    319.069k (± 5.8%) i/s -      3.178M in   9.998810s
               
    ```
    enebo committed Jun 19, 2017
    Copy the full SHA
    65e1495 View commit details

Commits on Jun 20, 2017

  1. Remove BigInteger from values which probably will never need them lik…

    …e year.
    
    This improves my bench a bit more (BEFORE):
    
    ```text
    jruby ../snippets/date_bench.rb 
    Warming up --------------------------------------
               _strptime    26.267k i/100ms
    Calculating -------------------------------------
               _strptime    319.069k (± 5.8%) i/s -      3.178M in   9.998810s
    ```
    
    AFTER:
    
    ```text
    jruby  ../snippets/date_bench.rb 
    Warming up --------------------------------------
               _strptime    29.320k i/100ms
    Calculating -------------------------------------
               _strptime    353.076k (± 2.9%) i/s -      3.548M in  10.057641s
    ```
    
    I also examined MRIs implementation and they basically do all dyncalls for all
    the math which this rewrite in Java does not do.  I think this is ok but it
    underlies how much more overhead may be lurking here (since we are doing direct
    Java math).
    
    I did not change seconds and smaller units of time since they may exceed long
    boundary.  In that case a followup optimization would be to check digits of text
    and flip to BigInteger only in those cases otherwise assume long or even int
    when it fits.
    enebo committed Jun 20, 2017
    Copy the full SHA
    5825391 View commit details

Commits on Jun 21, 2017

  1. Merge pull request #4674 from muga/fix_strptime_lexer_flex_to_add_com…

    …ment_how_to_generate_java
    
    Fix StrptimeLexer.flex to add a comment about how to generate the lexer
    headius authored Jun 21, 2017
    Copy the full SHA
    cf88de7 View commit details

Commits on Jun 22, 2017

  1. Merge pull request #4673 from haines/gzip_reader_readpartial

    Handle nil buffer in Zlib::GzipReader#readpartial
    kares authored Jun 22, 2017
    Copy the full SHA
    eef3f72 View commit details
  2. Copy the full SHA
    5089401 View commit details
  3. Copy the full SHA
    eeaaebf View commit details
  4. Copy the full SHA
    dbde0d5 View commit details

Commits on Jun 23, 2017

  1. Copy the full SHA
    083290a View commit details
  2. Copy the full SHA
    1cd660b View commit details
  3. Copy the full SHA
    a6a1466 View commit details
  4. fix String#rindex not working properly in specific UTF-8 case at #3396

    upper bound check should not halt the loop since we're going pos--
    (and there's a chance were able to find a match at a lower position)
    kares committed Jun 23, 2017
    Copy the full SHA
    c24f7fa View commit details
  5. Copy the full SHA
    5c8e573 View commit details
  6. Copy the full SHA
    718cb7d View commit details
  7. Copy the full SHA
    e5fc7af View commit details
  8. Copy the full SHA
    2b007dd View commit details
  9. Copy the full SHA
    b8edc75 View commit details
  10. Copy the full SHA
    9475410 View commit details
  11. Squashed 'spec/mspec/' changes from 6c95759..86c3bee

    86c3bee Print the output of --verbose/-V and --marker/-m on STDERR
    b4236a6 Show more details when unexpected output is produced on STDOUT with mspec -j
    b4eefac Remove extra spacing
    a44aa8d Handle a closed STDIN in sub-processes
    7293fa1 Let the sub-processes die silently if the main process died
    91ea445 Inspect extra output sent by a worker
    72426f3 Rename the variable ok to success
    4bf8137 Use Process.wait2 to avoid relying on global variables
    84a8121 Close the child IO when it terminates
    d900a49 Highlight the important messages
    38c58f3 Grep for a commit starting with the last merge message
    f653f9b Simplify, avoid extra exceptions and add test for concurrent mspec mkdir_p
    46ae38c fix race condition
    9a80e01 Open files in binary modes for copying in MSpec's #cp
    165d46d Use RUBY_ENGINE directly and remove RUBY_NAME
    9a3fc4b Remove the --name option
    2f7b200 Make all MSpec guards private
    8a9182c Make all MSpec helpers private
    
    git-subtree-dir: spec/mspec
    git-subtree-split: 86c3bee671c1668fe5ac67902cbce450e5f590af
    eregon committed Jun 23, 2017
    Copy the full SHA
    fe7fe66 View commit details
  12. Copy the full SHA
    564ad98 View commit details
  13. Squashed 'spec/ruby/' changes from 2795010..874f42f

    874f42f Set the external encoding of the GzipReader
    c2285d8 Improve Time#{gmtime,utc} spec
    20ce06e Improve Time#gmtime spec regarding frozen Time instances
    ed3075b Correct usage of ruby_bug in Enumerable#uniq
    5cecc96 Add version guard for SecureRandom.random_number with a Range
    62cbf6e Fix spec: Time#localtime only raises if it needs to change the time zone on a frozen Time
    e4a7f8a Put in quarantine specs which are waiting for a resolution in MRI
    45de261 Zlib::GzipReader#pos underflows after calling #ungetbyte or #ungetc at start of file
    b2d03bf BigDecimal with Float::INFINITY is buggy on MRI before 2.4
    d109058 Add spec for nil buffer passed to Zlib::GzipReader#readpartial
    090c87b Add failing specs showing that frozen Time objects can be mutated
    18eece4 [spec] for SecureRandom.random_number (esp. for range argument)
    f1a4344 Add spec for Zlib::GzipReader#gets("")
    02eeed6 Add specs for Zlib::GzipReader#ungetbyte and #ungetc
    00ad47e Fix Float::INFINITY BigDecimal comparison
    e797cc6 Enumerable#uniq has been fixed in 2.5
    582b9f4 Add an example Kernel#clone with `freeze` option
    52b8515 Add MatchData#values_at specs for the new named captures
    44a0731 Write MatchData#named_captures specs
    370d2ad Fix ruby_bug use
    12ca459 Write Enumerator::Lazy#uniq specs
    2a2343c Follow ruby-lang `Bug #13669` in Enumerable#uniq
    39d313d Write Enumerable#uniq specs (#447)
    d313f22 Merge pull request #446 from kachick/enum-sum
    e8a37ce Suppress rubocop
    7f2961d Write Enumerable#sum specs
    ec1c161 Add RuboCop on CI to be notified of new failures
    1f29d20 Disable Lint/AssignmentInCondition as it warns for assignment in while
    5101462 Use while + assignment instead of loop + break in DummyFTP
    d334823 Disable a few cops which do not make sense for ruby/spec
    2a0bdb2 Allow EmptyExpression in language specs
    2d9590a Fix one useless empty expression
    fe66187 Disable a few cops which do not make sense for ruby/spec
    bc928b4 Fix alignment issues discovered by Lint/BlockAlignment
    3f45fea Add `.rubocop_todo.yml`
    47358a5 Add `.rubocop.yml`
    358ca15 Close the server in Socket#connect_nonblock spec
    b82d719 Add spec that a failing -S script sets the exit status correctly
    c730f07 Use just 'r' for the return value variable
    8654896 Close the write side to ensure the read side of the pipe see the data
    cd1b911 Remove unused arguments to DummyFTP server
    b2a6032 Remove SocketSpecs.port, and let the servers find an available port
    736411f Let TCPServer find an available port
    74cf1d7 Let UDPSocket find an available port
    7d8eeb3 Cleanup and reset state in NetHTTPSpecs.stop_server
    edc6bb5 Make sure the server is started to give the port
    a1c2d66 Run the Kernel#yield_self spec on TruffleRuby
    3639bb0 Implement Kernel#yield_self
    83485ce Use before/after in UNIXServer#accept spec
    a90afa1 Make {UNIX,TCP}Server#accept specs faster
    b344842 Detect whether readline is available, no matter if the feature is enabled or not
    5fb6c56 Fix DRb.start_service to use any available port
    fac8624 Remove bad spec which cannot behave nicely in a multi-process environment
    7f264f8 Remove empty files in drb specs
    0fe2eb4 Create the file in the File::TMPFILE spec in its own directory
    666458c Solaris 10 x86 raises SEGV
    f4f9b02 Clean up a bit the Process.setpriority specs
    a7bbcc4 Enable Process.setpriority for a single process on more platforms.
    f28c663 Run in separate process/pgrp [Bug#13609]
    6325c59 rubyspec: Fix method redefinition warning
    bdddf9c Explain why we do not capture stderr
    9b6201b Run the C-API specs on Windows!
    d6642a0 Relax rb_str_hash spec as conversion from st_index_t is very complex
    e8a430a Negative timestamp seems disallowed on x64-mingw32
    327370e Silence make warnings when ruby/spec is run under make
    fdbc0d4 Use nmake to build C APi specs on mswin
    97fe8c7 Use RUBY_ENGINE instead of RUBY_NAME
    33529f2 Remove duplicated `KernelBlockGiven` module
    71097bc Improve spec for String#split with capture and limit
    d8dac70 Simplify condition for run_mkmf_in_process
    419e82b add spec for String#split with capture and limit
    a34d2a5 MRI needs $extout = nil to build C extensions normally
    b2e6a3a Fix compile_extension() for MRI
    ca32ae2 Replace variable by its only usage
    23261e2 Remove implementation-specific headers
    ce7fbc0 Simplify as we only need to copy a single library file
    2a047c8 * remove trailing spaces.
    84ea66e Use mkmf to build C API specs
    c278889 Only compile once the module_under_autoload extension
    
    git-subtree-dir: spec/ruby
    git-subtree-split: 874f42fc50c378d12d2fb72a7045a446a2ecc354
    eregon committed Jun 23, 2017
    Copy the full SHA
    118e415 View commit details
Loading