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: 9580e6032e02
Choose a base ref
...
head repository: jruby/jruby
Failed to load repositories. Confirm that selected head ref is valid, then try again.
Loading
compare: c8f51c0c165d
Choose a head ref

Commits on Dec 17, 2015

  1. Copy the full SHA
    9d4d585 View commit details
  2. Copy the full SHA
    1a8b8d0 View commit details
  3. Copy the full SHA
    5b15e64 View commit details
  4. Copy the full SHA
    79b0cb8 View commit details
  5. Copy the full SHA
    a71479a View commit details
  6. Dead code.

    headius committed Dec 17, 2015
    Copy the full SHA
    3200624 View commit details
  7. Copy the full SHA
    cc74969 View commit details
  8. Change "has protocol" to "can call direct" and fix all paths.

    IR protocol is not the only requirement for a direct call, and
    the updating of both "has ir protocol" flag and the directly-
    callable path was racy in both interpreter and JIT. In addition,
    full builds and JIT that happen at threshold=0 in sync with
    execution were sometimes continuing down the non-direct path using
    the direct logic. This resulted in some call protocols running
    twice, potentially messing up state for the direct logic.
    
    The new flag is "canCallDirect", indicating that a transition to
    the next tier has happened. Paths through normal non-direct logic
    that might trigger a tier upgrade now re-check to see if that has
    happened, re-branching back to the direct path.
    headius committed Dec 17, 2015
    Copy the full SHA
    2039454 View commit details
  9. CompiledIRBlockBody should never have non-direct calls.

    Leaving this logic in place, commented, for the moment.
    headius committed Dec 17, 2015
    Copy the full SHA
    a3a8783 View commit details
  10. Copy the full SHA
    f73f4bb View commit details
  11. Copy the full SHA
    5525b4f View commit details
  12. Copy the full SHA
    9a260de View commit details
  13. Copy the full SHA
    f424394 View commit details
  14. Copy the full SHA
    27e6a64 View commit details
  15. Copy the full SHA
    5a64d06 View commit details
  16. [Truffle] Add rake from stdlib

    bjfish committed Dec 17, 2015
    Copy the full SHA
    4579df0 View commit details
  17. Copy the full SHA
    583558a View commit details
  18. Copy the full SHA
    19b5591 View commit details
  19. Copy the full SHA
    1c0c1fd View commit details

Commits on Dec 18, 2015

  1. When constructing branches during IRBuilder add some simple direct eq…

    …uality
    
    checks to eliminate the branch instr.  If we know we are comparing true to
    true then we also know we can just perform a jump.  This has an added big
    potential benefit that it should eliminate the next BB from the CFG entirely
    since it will no longer be reachable.
    
    If two directly comparable values are never equal then the branch is replaced
    with a noop.  This will probably not help at all once compiled down to bytecode
    since the JVM will figure out we have a bogus conditional but it makes me
    feel better (and it was driving me crazy to see 'while(true)' generate
    'b_false(true)').
    enebo committed Dec 18, 2015
    Copy the full SHA
    c95f224 View commit details
  2. Remove some useless imports

    subbuss committed Dec 18, 2015
    Copy the full SHA
    4f73879 View commit details
  3. Copy the full SHA
    e56675c View commit details
  4. Copy the full SHA
    824d351 View commit details
  5. Copy the full SHA
    a7265c6 View commit details
  6. Copy the full SHA
    aeea008 View commit details
  7. Tweaks to prepare args to deal with lambda/proc combinations

    * This should be better .. but let us see what Travis thinks.
    subbuss committed Dec 18, 2015
    Copy the full SHA
    3a0d0b7 View commit details
  8. [Truffle] Update bench debug

    * From truffle-head
    chrisseaton authored and eregon committed Dec 18, 2015
    Copy the full SHA
    c3389c3 View commit details
  9. Copy the full SHA
    a9cf20c View commit details
  10. Push lambda non-local returns & breaks through local exceptions

    This ensures that in the block call protocol scenario,
    for lambdas as well as non-lambdas, all non-return control flow
    (exceptions, breaks, nonlocal-returns) goes through the GEB.
    subbuss committed Dec 18, 2015
    Copy the full SHA
    11e3766 View commit details
  11. Copy the full SHA
    ccc8e03 View commit details
  12. Revert "Push lambda non-local returns & breaks through local exceptions"

    Yikes .. this has other ramifications that I haven't worked through yet.
    
    This reverts commit 11e3766.
    subbuss committed Dec 18, 2015
    Copy the full SHA
    3af83b3 View commit details
  13. Copy the full SHA
    5100428 View commit details
  14. Copy the full SHA
    a94de2e View commit details
  15. Merge branch 'master' into truffle-head

    # Conflicts:
    #	tool/jt.rb
    chrisseaton committed Dec 18, 2015
    Copy the full SHA
    6a940b8 View commit details
  16. Copy the full SHA
    c8f51c0 View commit details
Showing with 712 additions and 558 deletions.
  1. +133 −156 core/src/main/java/org/jruby/RubyFixnum.java
  2. +115 −126 core/src/main/java/org/jruby/RubyFloat.java
  3. +2 −1 core/src/main/java/org/jruby/internal/runtime/methods/MixedModeIRMethod.java
  4. +1 −0 core/src/main/java/org/jruby/ir/IRVisitor.java
  5. +2 −1 core/src/main/java/org/jruby/ir/Operation.java
  6. +37 −4 core/src/main/java/org/jruby/ir/instructions/BEQInstr.java
  7. +0 −2 core/src/main/java/org/jruby/ir/instructions/BlockGivenInstr.java
  8. +0 −1 core/src/main/java/org/jruby/ir/instructions/BranchInstr.java
  9. +0 −2 core/src/main/java/org/jruby/ir/instructions/BreakInstr.java
  10. +0 −2 core/src/main/java/org/jruby/ir/instructions/CheckForLJEInstr.java
  11. +0 −1 core/src/main/java/org/jruby/ir/instructions/NonlocalReturnInstr.java
  12. +4 −12 core/src/main/java/org/jruby/ir/instructions/PrepareBlockArgsInstr.java
  13. +4 −5 core/src/main/java/org/jruby/ir/instructions/PrepareFixedBlockArgsInstr.java
  14. +29 −0 core/src/main/java/org/jruby/ir/instructions/PrepareNoBlockArgsInstr.java
  15. +4 −5 core/src/main/java/org/jruby/ir/instructions/PrepareSingleBlockArgInstr.java
  16. +0 −2 core/src/main/java/org/jruby/ir/instructions/PushBlockBindingInstr.java
  17. +0 −1 core/src/main/java/org/jruby/ir/instructions/PushBlockFrameInstr.java
  18. +0 −1 core/src/main/java/org/jruby/ir/instructions/ReifyClosureInstr.java
  19. +0 −1 core/src/main/java/org/jruby/ir/instructions/ResultBaseInstr.java
  20. +5 −2 core/src/main/java/org/jruby/ir/interpreter/InterpreterEngine.java
  21. +22 −11 core/src/main/java/org/jruby/ir/passes/AddCallProtocolInstructions.java
  22. +59 −26 core/src/main/java/org/jruby/ir/runtime/IRRuntimeHelpers.java
  23. +20 −7 core/src/main/java/org/jruby/ir/targets/JVMVisitor.java
  24. +13 −13 core/src/main/java/org/jruby/runtime/BlockBody.java
  25. +45 −46 core/src/main/java/org/jruby/runtime/CompiledIRBlockBody.java
  26. +21 −21 core/src/main/java/org/jruby/runtime/IRBlockBody.java
  27. +14 −11 core/src/main/java/org/jruby/runtime/InterpretedIRBlockBody.java
  28. +26 −31 core/src/main/java/org/jruby/runtime/MixedModeIRBlockBody.java
  29. +1 −0 lib/ruby/truffle/mri/rake.rb
  30. +1 −0 lib/ruby/truffle/mri/rake/alt_system.rb
  31. +1 −0 lib/ruby/truffle/mri/rake/application.rb
  32. +1 −0 lib/ruby/truffle/mri/rake/backtrace.rb
  33. +1 −0 lib/ruby/truffle/mri/rake/clean.rb
  34. +1 −0 lib/ruby/truffle/mri/rake/cloneable.rb
  35. +1 −0 lib/ruby/truffle/mri/rake/contrib/compositepublisher.rb
  36. +1 −0 lib/ruby/truffle/mri/rake/contrib/ftptools.rb
  37. +1 −0 lib/ruby/truffle/mri/rake/contrib/publisher.rb
  38. +1 −0 lib/ruby/truffle/mri/rake/contrib/rubyforgepublisher.rb
  39. +1 −0 lib/ruby/truffle/mri/rake/contrib/sshpublisher.rb
  40. +1 −0 lib/ruby/truffle/mri/rake/contrib/sys.rb
  41. +1 −0 lib/ruby/truffle/mri/rake/default_loader.rb
  42. +1 −0 lib/ruby/truffle/mri/rake/dsl_definition.rb
  43. +1 −0 lib/ruby/truffle/mri/rake/early_time.rb
  44. +1 −0 lib/ruby/truffle/mri/rake/ext/core.rb
  45. +2 −0 lib/ruby/truffle/mri/rake/ext/module.rb
  46. +1 −0 lib/ruby/truffle/mri/rake/ext/string.rb
  47. +1 −0 lib/ruby/truffle/mri/rake/ext/time.rb
  48. +1 −0 lib/ruby/truffle/mri/rake/file_creation_task.rb
  49. +1 −0 lib/ruby/truffle/mri/rake/file_list.rb
  50. +1 −0 lib/ruby/truffle/mri/rake/file_task.rb
  51. +1 −0 lib/ruby/truffle/mri/rake/file_utils.rb
  52. +1 −0 lib/ruby/truffle/mri/rake/file_utils_ext.rb
  53. +1 −0 lib/ruby/truffle/mri/rake/gempackagetask.rb
  54. +1 −0 lib/ruby/truffle/mri/rake/invocation_chain.rb
  55. +1 −0 lib/ruby/truffle/mri/rake/invocation_exception_mixin.rb
  56. +1 −0 lib/ruby/truffle/mri/rake/linked_list.rb
  57. +1 −0 lib/ruby/truffle/mri/rake/loaders/makefile.rb
  58. +1 −0 lib/ruby/truffle/mri/rake/multi_task.rb
  59. +1 −0 lib/ruby/truffle/mri/rake/name_space.rb
  60. +1 −0 lib/ruby/truffle/mri/rake/packagetask.rb
  61. +1 −0 lib/ruby/truffle/mri/rake/pathmap.rb
  62. +1 −0 lib/ruby/truffle/mri/rake/phony.rb
  63. +1 −0 lib/ruby/truffle/mri/rake/private_reader.rb
  64. +1 −0 lib/ruby/truffle/mri/rake/promise.rb
  65. +1 −0 lib/ruby/truffle/mri/rake/pseudo_status.rb
  66. +1 −0 lib/ruby/truffle/mri/rake/rake_module.rb
  67. +1 −0 lib/ruby/truffle/mri/rake/rake_test_loader.rb
  68. +1 −0 lib/ruby/truffle/mri/rake/rdoctask.rb
  69. +1 −0 lib/ruby/truffle/mri/rake/ruby182_test_unit_fix.rb
  70. +1 −0 lib/ruby/truffle/mri/rake/rule_recursion_overflow_error.rb
  71. +1 −0 lib/ruby/truffle/mri/rake/runtest.rb
  72. +1 −0 lib/ruby/truffle/mri/rake/scope.rb
  73. +1 −0 lib/ruby/truffle/mri/rake/task.rb
  74. +1 −0 lib/ruby/truffle/mri/rake/task_argument_error.rb
  75. +1 −0 lib/ruby/truffle/mri/rake/task_arguments.rb
  76. +1 −0 lib/ruby/truffle/mri/rake/task_manager.rb
  77. +1 −0 lib/ruby/truffle/mri/rake/tasklib.rb
  78. +1 −0 lib/ruby/truffle/mri/rake/testtask.rb
  79. +1 −0 lib/ruby/truffle/mri/rake/thread_history_display.rb
  80. +1 −0 lib/ruby/truffle/mri/rake/thread_pool.rb
  81. +1 −0 lib/ruby/truffle/mri/rake/trace_output.rb
  82. +1 −0 lib/ruby/truffle/mri/rake/version.rb
  83. +1 −0 lib/ruby/truffle/mri/rake/win32.rb
  84. +0 −1 spec/truffle/tags/core/string/modulo_tags.txt
  85. +7 −0 test/mri/excludes_truffle/TestRakeApplication.rb
  86. +3 −0 test/mri/excludes_truffle/TestRakeBacktrace.rb
  87. +1 −0 test/mri/excludes_truffle/TestRakeDirectoryTask.rb
  88. +4 −0 test/mri/excludes_truffle/TestRakeFileList.rb
  89. +1 −0 test/mri/excludes_truffle/TestRakeNameSpace.rb
  90. +2 −0 test/mri/excludes_truffle/TestRakeRules.rb
  91. +2 −0 test/mri/excludes_truffle/TestRakeTask.rb
  92. +2 −0 test/mri/excludes_truffle/TestRakeTaskArgumentParsing.rb
  93. +1 −0 test/mri/excludes_truffle/TestRakeTaskArguments.rb
  94. +2 −0 test/mri/excludes_truffle/TestRakeTaskManager.rb
  95. +1 −0 test/mri/excludes_truffle/TestRakeTestTask.rb
  96. +41 −41 test/mri_truffle.index
  97. +5 −9 test/truffle/integration-tests.sh
  98. +0 −1 tool/jt.rb
  99. +1 −1 truffle/pom.rb
  100. +4 −4 truffle/pom.xml
  101. +4 −0 truffle/src/main/java/org/jruby/truffle/format/nodes/format/FormatIntegerNode.java
  102. +4 −0 truffle/src/main/java/org/jruby/truffle/format/parser/FormatParser.java
  103. +1 −1 truffle/src/main/java/org/jruby/truffle/format/parser/FormatTokenizer.java
  104. +2 −5 truffle/src/main/java/org/jruby/truffle/nodes/core/fixnum/FixnumNodes.java
  105. +12 −4 truffle/src/main/java/org/jruby/truffle/nodes/core/hash/HashNodes.java
Loading