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

Commits on Aug 1, 2015

  1. Copy the full SHA
    35313b0 View commit details

Commits on Aug 4, 2015

  1. improve test on whether jrubyHome is inside a jar

    this fixes issue #3220
    
    Sponsored by Lookout Inc.
    mkristian committed Aug 4, 2015
    Copy the full SHA
    ee8ed2c View commit details

Commits on Aug 5, 2015

  1. Copy the full SHA
    e8735f2 View commit details
  2. Copy the full SHA
    24fc995 View commit details
  3. Copy the full SHA
    cbd7296 View commit details
  4. Copy the full SHA
    3da24ee View commit details
  5. enable pack_sockaddr_in to work when port is nil

    This change treats it as 0 per MRI Ruby
    reuben-sutton committed Aug 5, 2015
    Copy the full SHA
    b6960a5 View commit details
  6. Copy the full SHA
    2450edb View commit details
  7. Remove fully-qualified name.

    headius committed Aug 5, 2015
    Copy the full SHA
    22536cd View commit details
  8. Copy the full SHA
    e70076d View commit details
  9. Revert "Pack ordinal values for Operation and OperandType in IR."

    This reverts commit e70076d.
    
    This did not appear to help memory significantly and greatly
    impacted interpreter performance and startup time.
    headius committed Aug 5, 2015
    Copy the full SHA
    bd88b74 View commit details
  10. Only have eval and script body scopes record their filename. Other sc…

    …opes can ask them (reduces memory)
    enebo committed Aug 5, 2015
    Copy the full SHA
    fb20764 View commit details
  11. Copy the full SHA
    b3bc8d5 View commit details
  12. Use polymorphism for Operand.getOperandType.

    getOperandType is only used by the persistence engine, so there's
    no impact to interpreter performance by doing this, and for a
    startup-interpreted 'rails c' this reduces memory use by over 5MB.
    headius committed Aug 5, 2015
    Copy the full SHA
    ce91559 View commit details

Commits on Aug 6, 2015

  1. Merge pull request #3218 from reuben-sutton/make_env_to_h_dup

    add to_h to the class used for ENV
    kares committed Aug 6, 2015
    Copy the full SHA
    3ff99ce View commit details
  2. Copy the full SHA
    dc3e1ca View commit details
  3. Copy the full SHA
    411ca6a View commit details
  4. Merge pull request #3219 from reuben-sutton/fix_pack_sockaddr_incompa…

    …tability
    
    treat port nil as 0 for pack_sockaddr_in
    kares committed Aug 6, 2015
    Copy the full SHA
    2187665 View commit details
  5. for better ENV compatibility we should not respond to to_h on <= 1.9.3

    (only available since Ruby 2.0)
    kares committed Aug 6, 2015
    Copy the full SHA
    6cf8d01 View commit details
  6. minor cleanup at RubyGlobal

    kares committed Aug 6, 2015
    Copy the full SHA
    41f0a88 View commit details
  7. Copy the full SHA
    2a12ce0 View commit details
  8. Copy the full SHA
    9a784f0 View commit details
  9. Revert "[build] do not use maven-rc"

    travis reverted its breaking change
    
    This reverts commit e8735f2.
    mkristian committed Aug 6, 2015
    Copy the full SHA
    3a0c244 View commit details
  10. Copy the full SHA
    b561183 View commit details
  11. Copy the full SHA
    d6d1151 View commit details
  12. Copy the full SHA
    68c735b View commit details
  13. Copy the full SHA
    c2ba465 View commit details
  14. Copy the full SHA
    5df5491 View commit details
  15. Merge branch 'jruby-1_7'

    * jruby-1_7:
      avoid (expensive) replaceAll when char replace is possible
      little BacktraceData#transformBacktrace cleanup
      avoid Pattern compiling on every BacktraceData construction - use startsWith
      use static helpers in OSEnvironment for slightly less empty map garbage
      Hack --2.0 net/http gzip problem to avoid multiple version refactoring hell (Fixes #1595, #1216)
      Revert "[build] do not use maven-rc"
      use EMPTY_MAP instead of new (temporary) HashMap instance
      avoid getRuntime() in RubyHash#to_h
      minor cleanup at RubyGlobal
      for better ENV compatibility we should not respond to `to_h` on <= 1.9.3
      ensure that ENV.to_h duplicates the env per MRI ruby
      add failing spec for to_h not duplicating
      [build] do not use maven-rc
      improve test on whether jrubyHome is inside a jar
      Fix NPE when getting parameter.
    
    Conflicts:
    	core/src/main/java/org/jruby/RubyGlobal.java
    	core/src/main/java/org/jruby/runtime/backtrace/BacktraceData.java
    	core/src/main/java/org/jruby/util/OSEnvironment.java
    	ext/readline/src/main/java/org/jruby/JRubyApplet.java
    	lib/ruby/2.0/net/http/response.rb
    kares committed Aug 6, 2015
    Copy the full SHA
    a9557ff View commit details
  16. Clean up license information a bit for #3198.

    This isn't a finished job but I made the following changes:
    
    * Updated path to the Ruby standard library
    * Removed Java libraries we no longer use from COPYING
    * Removed paths to jar files we no longer version
    * Added a few libraries we do use now
    * Updated CRuby's license
    * Added BSDL for CRuby's license
    
    I believe we're still missing some Java libraries.
    headius committed Aug 6, 2015
    Copy the full SHA
    2da0320 View commit details
  17. Copy the full SHA
    ee7fa54 View commit details
  18. Add respond_to-aware hashCode and equals to RubyBasicObject.

    We use Object#hashCode and #equals in our Hash impl among other
    places. When the object key is RubyObject or a descendant, we
    would dispatch dynamically to the appropriate methods in Ruby.
    However, RubyBasicObject did not override either method, so they
    both just used base JVM impls and ignored user-defined #hash and
    
    This patch adds "checked" versions of these methods to
    RubyBasicObject and fixes #3227.
    headius committed Aug 6, 2015
    Copy the full SHA
    df6cf57 View commit details
  19. Copy the full SHA
    afe18b2 View commit details
  20. Copy the full SHA
    5cd9230 View commit details
  21. Copy the full SHA
    ae01731 View commit details
  22. Copy the full SHA
    a2c7d6e View commit details
  23. Back off original context idea since it is at odds with needing n IRC…

    …losure contexts to be able to compile with obvious mechanism for how to access a context from within the visitor. For Methods it seems to work so I renamed it to JVMVisitorMethodContext.
    enebo committed Aug 6, 2015
    Copy the full SHA
    ca3b0c1 View commit details
  24. Copy the full SHA
    657dafd View commit details
  25. Copy the full SHA
    4d7548c View commit details
  26. 2
    Copy the full SHA
    ceb2db1 View commit details
  27. Copy the full SHA
    b4facab View commit details
  28. enable pack_sockaddr_in to work when port is nil

    This change treats it as 0 per MRI Ruby
    reuben-sutton authored and kares committed Aug 6, 2015
    Copy the full SHA
    5377122 View commit details
  29. Copy the full SHA
    c293b63 View commit details

Commits on Aug 7, 2015

  1. Copy the full SHA
    02c25e8 View commit details
  2. [Truffle] Revert new LexicalScope commits, we need another approach.

    * Revert "[Truffle] We need the lexical scope of the parent frame in Kernel#eval."
      This reverts commit 46d08ea.
    * Revert "[Truffle] Read the current method behind an identity profile."
      This reverts commit f5298f1.
    * Revert "[Truffle] No need for LexicalScope to get Rational/Complex."
      This reverts commit b2491a9.
    * Revert "[Truffle] Cleanup LexicalScope."
      This reverts commit 4f027fe.
    * Revert "[Truffle] Fix LexicalScope to be attached to an InternalMethod."
      This reverts commit 07f7be0.
    eregon committed Aug 7, 2015
    Copy the full SHA
    fdf639f View commit details
  3. Copy the full SHA
    d6939af View commit details
  4. [Truffle] Do not create a RubyRootNode with invalid AST for blocks.

    * Resolve the BehaveAs*Nodes before creating it.
    eregon committed Aug 7, 2015
    Copy the full SHA
    5abd1e4 View commit details
  5. Copy the full SHA
    9fc3c9b View commit details
  6. 3
    Copy the full SHA
    574f975 View commit details
  7. Tag this for JRuby+Truffle.

    headius committed Aug 7, 2015
    Copy the full SHA
    75250b6 View commit details
Showing with 2,554 additions and 7,482 deletions.
  1. +2 −0 .travis.yml
  2. +22 −0 BSDL
  3. +18 −62 COPYING
  4. +4 −4 LICENSE.RUBY
  5. +42 −0 core/src/main/java/org/jruby/RubyBasicObject.java
  6. +12 −2 core/src/main/java/org/jruby/RubyClass.java
  7. +1 −1 core/src/main/java/org/jruby/RubyFile.java
  8. +59 −48 core/src/main/java/org/jruby/RubyGlobal.java
  9. +2 −1 core/src/main/java/org/jruby/RubyHash.java
  10. +54 −3 core/src/main/java/org/jruby/RubyInstanceConfig.java
  11. +7 −16 core/src/main/java/org/jruby/RubyObject.java
  12. +12 −18 core/src/main/java/org/jruby/RubyProcess.java
  13. +3 −0 core/src/main/java/org/jruby/ast/NewlineNode.java
  14. +9 −0 core/src/main/java/org/jruby/ast/Node.java
  15. +13 −12 core/src/main/java/org/jruby/compiler/JITCompiler.java
  16. +2 −1 core/src/main/java/org/jruby/embed/IsolatedScriptingContainer.java
  17. +11 −0 core/src/main/java/org/jruby/embed/ScriptingContainer.java
  18. +46 −2 core/src/main/java/org/jruby/embed/osgi/OSGiIsolatedScriptingContainer.java
  19. +3 −3 core/src/main/java/org/jruby/ext/socket/Option.java
  20. +2 −0 core/src/main/java/org/jruby/ext/socket/RubyTCPServer.java
  21. +5 −1 core/src/main/java/org/jruby/ext/socket/SocketUtils.java
  22. +1 −1 core/src/main/java/org/jruby/internal/runtime/methods/InterpretedIRMethod.java
  23. +0 −29 core/src/main/java/org/jruby/ir/CodeVersion.java
  24. +6 −6 core/src/main/java/org/jruby/ir/Compiler.java
  25. +17 −33 core/src/main/java/org/jruby/ir/IRBuilder.java
  26. +0 −4 core/src/main/java/org/jruby/ir/IRClassBody.java
  27. +19 −3 core/src/main/java/org/jruby/ir/IRClosure.java
  28. +8 −1 core/src/main/java/org/jruby/ir/IREvalScript.java
  29. +0 −1 core/src/main/java/org/jruby/ir/IRFor.java
  30. +1 −2 core/src/main/java/org/jruby/ir/IRManager.java
  31. +1 −7 core/src/main/java/org/jruby/ir/IRMetaClassBody.java
  32. +11 −24 core/src/main/java/org/jruby/ir/IRMethod.java
  33. +2 −18 core/src/main/java/org/jruby/ir/IRModuleBody.java
  34. +17 −33 core/src/main/java/org/jruby/ir/IRScope.java
  35. +9 −1 core/src/main/java/org/jruby/ir/IRScriptBody.java
  36. +6 −1 core/src/main/java/org/jruby/ir/operands/Array.java
  37. +6 −1 core/src/main/java/org/jruby/ir/operands/AsString.java
  38. +6 −1 core/src/main/java/org/jruby/ir/operands/Backref.java
  39. +6 −1 core/src/main/java/org/jruby/ir/operands/Bignum.java
  40. +6 −1 core/src/main/java/org/jruby/ir/operands/Boolean.java
  41. +6 −1 core/src/main/java/org/jruby/ir/operands/Complex.java
  42. +6 −1 core/src/main/java/org/jruby/ir/operands/CurrentScope.java
  43. +6 −1 core/src/main/java/org/jruby/ir/operands/DynamicSymbol.java
  44. +6 −1 core/src/main/java/org/jruby/ir/operands/Filename.java
  45. +6 −1 core/src/main/java/org/jruby/ir/operands/Fixnum.java
  46. +6 −1 core/src/main/java/org/jruby/ir/operands/Float.java
  47. +6 −1 core/src/main/java/org/jruby/ir/operands/FrozenString.java
  48. +6 −1 core/src/main/java/org/jruby/ir/operands/GlobalVariable.java
  49. +6 −1 core/src/main/java/org/jruby/ir/operands/Hash.java
  50. +6 −1 core/src/main/java/org/jruby/ir/operands/IRException.java
  51. +2 −2 core/src/main/java/org/jruby/ir/operands/ImmutableLiteral.java
  52. +6 −1 core/src/main/java/org/jruby/ir/operands/Label.java
  53. +6 −6 core/src/main/java/org/jruby/ir/operands/LocalVariable.java
  54. +4 −4 core/src/main/java/org/jruby/ir/operands/Nil.java
  55. +6 −1 core/src/main/java/org/jruby/ir/operands/NthRef.java
  56. +6 −1 core/src/main/java/org/jruby/ir/operands/NullBlock.java
  57. +6 −1 core/src/main/java/org/jruby/ir/operands/ObjectClass.java
  58. +2 −6 core/src/main/java/org/jruby/ir/operands/Operand.java
  59. +6 −1 core/src/main/java/org/jruby/ir/operands/Rational.java
  60. +2 −2 core/src/main/java/org/jruby/ir/operands/Reference.java
  61. +6 −1 core/src/main/java/org/jruby/ir/operands/Regexp.java
  62. +6 −1 core/src/main/java/org/jruby/ir/operands/SValue.java
  63. +6 −1 core/src/main/java/org/jruby/ir/operands/ScopeModule.java
  64. +6 −1 core/src/main/java/org/jruby/ir/operands/Self.java
  65. +6 −1 core/src/main/java/org/jruby/ir/operands/Splat.java
  66. +6 −1 core/src/main/java/org/jruby/ir/operands/StandardError.java
  67. +9 −9 core/src/main/java/org/jruby/ir/operands/StringLiteral.java
  68. +6 −1 core/src/main/java/org/jruby/ir/operands/Symbol.java
  69. +6 −1 core/src/main/java/org/jruby/ir/operands/TemporaryVariable.java
  70. +6 −1 core/src/main/java/org/jruby/ir/operands/UnboxedBoolean.java
  71. +6 −1 core/src/main/java/org/jruby/ir/operands/UnboxedFixnum.java
  72. +6 −1 core/src/main/java/org/jruby/ir/operands/UnboxedFloat.java
  73. +6 −1 core/src/main/java/org/jruby/ir/operands/UndefinedValue.java
  74. +6 −1 core/src/main/java/org/jruby/ir/operands/UnexecutableNil.java
  75. +2 −2 core/src/main/java/org/jruby/ir/operands/Variable.java
  76. +6 −1 core/src/main/java/org/jruby/ir/operands/WrappedIRClosure.java
  77. +24 −21 core/src/main/java/org/jruby/ir/targets/JVMVisitor.java
  78. +35 −0 core/src/main/java/org/jruby/ir/targets/JVMVisitorMethodContext.java
  79. +0 −9 core/src/main/java/org/jruby/javasupport/JavaEmbedUtils.java
  80. +9 −55 core/src/main/java/org/jruby/parser/ParserSupport.java
  81. +5 −0 core/src/main/java/org/jruby/runtime/Helpers.java
  82. +3 −2 core/src/main/java/org/jruby/runtime/IRBlockBody.java
  83. +9 −17 core/src/main/java/org/jruby/runtime/backtrace/BacktraceData.java
  84. +1 −0 core/src/main/java/org/jruby/runtime/load/LoadService.java
  85. +24 −0 core/src/main/java/org/jruby/util/ClassLoaderGetResourses.java
  86. +15 −0 core/src/main/java/org/jruby/util/GetResources.java
  87. +52 −49 core/src/main/java/org/jruby/util/OSEnvironment.java
  88. +16 −12 core/src/main/java/org/jruby/util/UriLikePathHelper.java
  89. +4 −0 core/src/main/java/org/jruby/util/cli/ArgumentProcessor.java
  90. +1 −1 core/src/main/ruby/jruby/commands.rb
  91. +2 −1 core/src/main/ruby/jruby/jruby.rb
  92. +6 −4 core/src/test/java/org/jruby/javasupport/JavaEmbedUtilsTest.java
  93. +0 −2,370 install/macos/COPYING.rtf
  94. +0 −30 install/macos/Info.plist
  95. +0 −1 install/macos/JRuby-installer.pmdoc/01jruby-contents.xml
  96. +0 −1 install/macos/JRuby-installer.pmdoc/01jruby.xml
  97. +0 −1 install/macos/JRuby-installer.pmdoc/01jruby.xml.erb
  98. +0 −1 install/macos/JRuby-installer.pmdoc/02gems-contents.xml
  99. +0 −1 install/macos/JRuby-installer.pmdoc/02gems.xml
  100. +0 −1 install/macos/JRuby-installer.pmdoc/02gems.xml.erb
  101. +0 −1 install/macos/JRuby-installer.pmdoc/index.xml
  102. +0 −1 install/macos/JRuby-uninstaller.pmdoc/01uninstaller-contents.xml
  103. +0 −1 install/macos/JRuby-uninstaller.pmdoc/01uninstaller.xml
  104. +0 −1 install/macos/JRuby-uninstaller.pmdoc/01uninstaller.xml.erb
  105. +0 −1 install/macos/JRuby-uninstaller.pmdoc/index.xml
  106. +0 −1 install/macos/JRuby-uninstaller.pmdoc/index.xml.erb
  107. +0 −64 install/macos/LICENSE.jruby.rtf
  108. +0 −17 install/macos/README.jruby.rtf
  109. +0 −5 install/macos/README.txt
  110. +0 −7 install/macos/Welcome.uninstaller.rtf
  111. +0 −7 install/macos/Welcome.uninstaller.rtf.erb
  112. +0 −9 install/macos/rubygems/jruby_mac.rb
  113. +0 −9 install/macos/rubygems/jruby_mac.rb.erb
  114. +0 −39 install/macos/scripts/installer.postflight
  115. +0 −39 install/macos/scripts/installer.postflight.erb
  116. +0 −81 install/macos/scripts/patch_profile
  117. +0 −111 install/macos/scripts/uninstaller.postinstall
  118. +0 −111 install/macos/scripts/uninstaller.postinstall.erb
  119. +5 −1 lib/ruby/stdlib/rubygems/defaults/jruby.rb
  120. +32 −29 maven/jruby-complete/src/it/GH-1983_jruby-completedotjar-S-irb-doesnt-work-anymore/pom.xml
  121. +1 −1 maven/jruby-complete/src/it/GH-3095-gem-install-with-forked-jruby/pom.xml
  122. +3 −3 maven/jruby-complete/src/it/extended/Mavenfile
  123. +0 −104 maven/jruby-complete/src/it/extended/pom.xml
  124. +62 −59 maven/jruby-complete/src/it/hello world/pom.xml
  125. +39 −0 maven/jruby-complete/src/it/integrity/pom.xml
  126. +10 −0 maven/jruby-complete/src/it/integrity/verify.bsh
  127. +0 −35 maven/jruby-complete/src/it/settings.xml
  128. +9 −11 maven/jruby-complete/src/templates/osgi_many_bundles_with_embedded_gems/gems-bundle/pom.rb
  129. +0 −125 maven/jruby-complete/src/templates/osgi_many_bundles_with_embedded_gems/gems-bundle/pom.xml
  130. +6 −0 maven/jruby-complete/src/templates/osgi_many_bundles_with_embedded_gems/pom.rb
  131. +3 −12 maven/jruby-complete/src/templates/osgi_many_bundles_with_embedded_gems/pom.xml
  132. +2 −1 maven/jruby-complete/src/templates/osgi_many_bundles_with_embedded_gems/scripts-bundle/pom.rb
  133. +0 −40 maven/jruby-complete/src/templates/osgi_many_bundles_with_embedded_gems/scripts-bundle/pom.xml
  134. +2 −3 maven/jruby-complete/src/templates/osgi_many_bundles_with_embedded_gems/test/pom.rb
  135. +0 −156 maven/jruby-complete/src/templates/osgi_many_bundles_with_embedded_gems/test/pom.xml
  136. +57 −6 ...y_bundles_with_embedded_gems/test/src/test/java/org/jruby/embed/osgi/test/JRubyOsgiEmbedTest.java
  137. +1 −1 maven/jruby-dist/pom.rb
  138. +0 −35 maven/jruby-dist/src/it/settings.xml
  139. +0 −2 maven/jruby-dist/src/it/sources/invoker.properties
  140. +0 −15 maven/jruby-dist/src/it/sources/verify.bsh
  141. +2 −4 maven/jruby-jars/src/it/extended/pom.rb
  142. +3 −43 maven/jruby-jars/src/it/extended/pom.xml
  143. +0 −35 maven/jruby-jars/src/it/settings.xml
  144. +1 −1 maven/jruby/src/it/extended/pom.rb
  145. +4 −12 maven/jruby/src/it/j2ee_jetty/pom.rb
  146. +3 −130 maven/jruby/src/it/j2ee_jetty/pom.xml
  147. +0 −1 maven/jruby/src/it/j2ee_jetty_rack/.gitignore
  148. +1 −3 maven/jruby/src/it/j2ee_jetty_rack/.jrubydir
  149. +3 −7 maven/jruby/src/it/j2ee_jetty_rack/Mavenfile
  150. +3 −148 maven/jruby/src/it/j2ee_jetty_rack/pom.xml
  151. +7 −12 maven/jruby/src/it/j2ee_tomcat/pom.rb
  152. +3 −119 maven/jruby/src/it/j2ee_tomcat/pom.xml
  153. +0 −1 maven/jruby/src/it/j2ee_tomcat_rack/.gitignore
  154. +1 −3 maven/jruby/src/it/j2ee_tomcat_rack/.jrubydir
  155. +6 −7 maven/jruby/src/it/j2ee_tomcat_rack/Mavenfile
  156. +3 −137 maven/jruby/src/it/j2ee_tomcat_rack/pom.xml
  157. +4 −13 maven/jruby/src/it/j2ee_wildfly/pom.rb
  158. +3 −123 maven/jruby/src/it/j2ee_wildfly/pom.xml
  159. +3 −7 maven/jruby/src/it/jetty/Mavenfile
  160. +3 −172 maven/jruby/src/it/jetty/pom.xml
  161. +1 −1 maven/jruby/src/it/many_jars_with_embedded_gems/app/pom.rb
  162. +0 −40 maven/jruby/src/it/many_jars_with_embedded_gems/app/pom.xml
  163. +3 −0 maven/jruby/src/it/many_jars_with_embedded_gems/pom.rb
  164. +3 −11 maven/jruby/src/it/many_jars_with_embedded_gems/pom.xml
  165. +5 −1 maven/jruby/src/it/many_jars_with_embedded_gems/zip_gem/pom.rb
  166. +0 −47 maven/jruby/src/it/many_jars_with_embedded_gems/zip_gem/pom.xml
  167. +1 −1 maven/jruby/src/it/many_jars_with_embedded_gems_ng/app/pom.rb
  168. +0 −40 maven/jruby/src/it/many_jars_with_embedded_gems_ng/app/pom.xml
  169. +5 −9 maven/jruby/src/it/many_jars_with_embedded_gems_ng/gem1/pom.rb
  170. +0 −75 maven/jruby/src/it/many_jars_with_embedded_gems_ng/gem1/pom.xml
  171. +5 −9 maven/jruby/src/it/many_jars_with_embedded_gems_ng/gem2/pom.rb
  172. +0 −75 maven/jruby/src/it/many_jars_with_embedded_gems_ng/gem2/pom.xml
  173. +3 −0 maven/jruby/src/it/many_jars_with_embedded_gems_ng/pom.rb
  174. +3 −12 maven/jruby/src/it/many_jars_with_embedded_gems_ng/pom.xml
  175. +8 −6 maven/jruby/src/it/runnable/Mavenfile
  176. +3 −346 maven/jruby/src/it/runnable/pom.xml
  177. +0 −35 maven/jruby/src/it/settings.xml
  178. +7 −7 maven/jruby/src/it/tomcat/pom.rb
  179. +0 −111 maven/jruby/src/it/tomcat/pom.xml
  180. +6 −0 maven/jruby/src/it/tomcat/pom.xml.pending
  181. +4 −13 maven/jruby/src/templates/j2ee_wlp/pom.rb
  182. +3 −138 maven/jruby/src/templates/j2ee_wlp/pom.xml
  183. +7 −15 maven/jruby/src/templates/osgi_all_inclusive/pom.rb
  184. +3 −228 maven/jruby/src/templates/osgi_all_inclusive/pom.xml
  185. +3 −4 pom.rb
  186. +3 −4 pom.xml
  187. +26 −0 spec/ruby/core/array/uniq_spec.rb
  188. +10 −0 spec/ruby/core/env/shared/to_hash.rb
  189. +3 −0 spec/ruby/library/socket/shared/pack_sockaddr.rb
  190. +5 −0 spec/ruby/library/socket/tcpserver/new_spec.rb
  191. +3 −0 spec/truffle/tags/language/constants_tags.txt
  192. +2 −2 spec/truffle/tags/language/lambda_tags.txt
  193. +0 −1 spec/truffle/tags/language/proc_tags.txt
  194. +0 −2 test/pom.rb
  195. +4 −4 truffle/pom.rb
  196. +6 −6 truffle/pom.xml
  197. +81 −0 truffle/src/main/java/org/jruby/truffle/nodes/LazyRubyRootNode.java
  198. +0 −7 truffle/src/main/java/org/jruby/truffle/nodes/RubyRootNode.java
  199. +0 −47 truffle/src/main/java/org/jruby/truffle/nodes/cast/LambdaNode.java
  200. +0 −32 truffle/src/main/java/org/jruby/truffle/nodes/constants/AbstractLookupConstantNode.java
  201. +24 −22 truffle/src/main/java/org/jruby/truffle/nodes/constants/GetConstantNode.java
  202. +14 −12 truffle/src/main/java/org/jruby/truffle/nodes/constants/LookupConstantNode.java
  203. +27 −74 truffle/src/main/java/org/jruby/truffle/nodes/constants/LookupConstantWithLexicalScopeNode.java
  204. +19 −73 truffle/src/main/java/org/jruby/truffle/nodes/constants/ReadConstantNode.java
  205. +71 −0 truffle/src/main/java/org/jruby/truffle/nodes/constants/ReadConstantWithLexicalScopeNode.java
  206. +79 −0 truffle/src/main/java/org/jruby/truffle/nodes/constants/ReadLiteralConstantNode.java
  207. +21 −0 truffle/src/main/java/org/jruby/truffle/nodes/constants/RestartableReadConstantNode.java
  208. +3 −3 truffle/src/main/java/org/jruby/truffle/nodes/control/SequenceNode.java
  209. +4 −4 truffle/src/main/java/org/jruby/truffle/nodes/core/CoreMethodNodeManager.java
  210. +1 −1 truffle/src/main/java/org/jruby/truffle/nodes/core/ExceptionNodes.java
  211. +0 −16 truffle/src/main/java/org/jruby/truffle/nodes/core/FiberNodes.java
  212. +11 −9 truffle/src/main/java/org/jruby/truffle/nodes/core/KernelNodes.java
  213. +11 −17 truffle/src/main/java/org/jruby/truffle/nodes/core/ModuleNodes.java
  214. +2 −2 truffle/src/main/java/org/jruby/truffle/nodes/core/SymbolNodes.java
  215. +2 −2 truffle/src/main/java/org/jruby/truffle/nodes/core/array/ArrayNodes.java
  216. +2 −2 truffle/src/main/java/org/jruby/truffle/nodes/exceptions/ClearExceptionVariableNode.java
  217. +24 −48 truffle/src/main/java/org/jruby/truffle/nodes/ext/BigDecimalNodes.java
  218. +0 −43 truffle/src/main/java/org/jruby/truffle/nodes/lexical/GetLexicalScopeModuleNode.java
  219. +0 −43 truffle/src/main/java/org/jruby/truffle/nodes/lexical/GetLexicalScopeNode.java
  220. +46 −0 truffle/src/main/java/org/jruby/truffle/nodes/literal/BooleanLiteralNode.java
  221. +13 −13 .../src/main/java/org/jruby/truffle/nodes/{objects/GetCurrentMethodNode.java → literal/NilNode.java}
  222. +8 −4 truffle/src/main/java/org/jruby/truffle/nodes/methods/BlockDefinitionNode.java
  223. +4 −6 truffle/src/main/java/org/jruby/truffle/nodes/methods/MethodDefinitionNode.java
  224. +35 −0 truffle/src/main/java/org/jruby/truffle/nodes/objects/LexicalScopeNode.java
  225. +14 −20 truffle/src/main/java/org/jruby/truffle/nodes/objects/OpenModuleNode.java
  226. +5 −7 truffle/src/main/java/org/jruby/truffle/nodes/objects/ReadClassVariableNode.java
  227. +3 −4 truffle/src/main/java/org/jruby/truffle/nodes/objects/WriteClassVariableNode.java
  228. +5 −0 truffle/src/main/java/org/jruby/truffle/nodes/rubinius/NativeFunctionPrimitiveNodes.java
  229. +29 −0 truffle/src/main/java/org/jruby/truffle/nodes/rubinius/PosixNodes.java
  230. +4 −4 truffle/src/main/java/org/jruby/truffle/nodes/time/ReadTimeZoneNode.java
  231. +16 −7 truffle/src/main/java/org/jruby/truffle/runtime/LexicalScope.java
  232. +20 −32 truffle/src/main/java/org/jruby/truffle/runtime/ModuleOperations.java
  233. +2 −2 truffle/src/main/java/org/jruby/truffle/runtime/RubyConstant.java
  234. +1 −19 truffle/src/main/java/org/jruby/truffle/runtime/RubyContext.java
  235. +24 −14 truffle/src/main/java/org/jruby/truffle/runtime/RubyLanguage.java
  236. +0 −7 truffle/src/main/java/org/jruby/truffle/runtime/core/RubyFiber.java
  237. +4 −0 truffle/src/main/java/org/jruby/truffle/runtime/methods/Arity.java
  238. +6 −14 truffle/src/main/java/org/jruby/truffle/runtime/methods/InternalMethod.java
  239. +8 −2 truffle/src/main/java/org/jruby/truffle/runtime/methods/SharedMethodInfo.java
  240. +7 −0 truffle/src/main/java/org/jruby/truffle/runtime/sockets/NativeSockets.java
  241. +1 −1 truffle/src/main/java/org/jruby/truffle/runtime/subsystems/FeatureManager.java
  242. +358 −310 truffle/src/main/java/org/jruby/truffle/translator/BodyTranslator.java
  243. +17 −41 truffle/src/main/java/org/jruby/truffle/translator/LoadArgumentsTranslator.java
  244. +154 −136 truffle/src/main/java/org/jruby/truffle/translator/MethodTranslator.java
  245. +5 −14 truffle/src/main/java/org/jruby/truffle/translator/ModuleTranslator.java
  246. +18 −0 truffle/src/main/java/org/jruby/truffle/translator/ParseEnvironment.java
  247. +1 −1 truffle/src/main/java/org/jruby/truffle/translator/ReloadArgumentsTranslator.java
  248. +18 −0 truffle/src/main/java/org/jruby/truffle/translator/Translator.java
  249. +16 −7 truffle/src/main/java/org/jruby/truffle/translator/TranslatorDriver.java
  250. +12 −0 truffle/src/main/java/org/jruby/truffle/translator/TranslatorEnvironment.java
  251. +26 −16 truffle/src/test/java/org/jruby/truffle/tck/RubyTckTest.java
2 changes: 2 additions & 0 deletions .travis.yml
Original file line number Diff line number Diff line change
@@ -7,6 +7,8 @@ sudo: false
# - $HOME/.m2

before_script:
- export MAVEN_SKIP_RC=true
- export MAVEN_OPTS="-Xmx512m -XX:MaxPermSize=192m"
- unset GEM_PATH GEM_HOME IRBRC JRUBY_OPTS
- "export PATH=`pwd`/bin:$PATH"
- echo $HOME
22 changes: 22 additions & 0 deletions BSDL
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
Copyright (C) 1993-2013 Yukihiro Matsumoto. All rights reserved.

Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions
are met:
1. Redistributions of source code must retain the above copyright
notice, this list of conditions and the following disclaimer.
2. Redistributions in binary form must reproduce the above copyright
notice, this list of conditions and the following disclaimer in the
documentation and/or other materials provided with the distribution.

THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
SUCH DAMAGE.
80 changes: 18 additions & 62 deletions COPYING
Original file line number Diff line number Diff line change
@@ -3,17 +3,18 @@ under a tri EPL/GPL/LGPL license. You can use it, redistribute it
and/or modify it under the terms of the:

Eclipse Public License version 1.0
OR
GNU General Public License version 2
OR
GNU Lesser General Public License version 2.1

build_lib/bytelist.jar (http://github.com/jruby/bytelist),
build_lib/yydebug.jar (http://svn.codehaus.org/jruby/trunk/jay/yydebug)
bytelist (http://github.com/jruby/bytelist),
yydebug (http://svn.codehaus.org/jruby/trunk/jay/yydebug)
are released under the same copyright/license.

Some additional libraries distributed with JRuby are not covered by
JRuby's licence. Most of these libraries and their licenses are listed
below. Also see LICENSE.RUBY for most files found in lib/ruby/1.8,
lib/ruby/1.9, and lib/ruby/site_ruby/1.8/rubygems*.
below. Also see LICENSE.RUBY for most files found in lib/ruby/stdlib.

bench/rails/public/javascripts/* are distributed under the MIT
license, and have the following copyrights:
@@ -36,75 +37,30 @@ lib/ruby/1.9, and lib/ruby/site_ruby/1.8/rubygems*.

Copyright (c) 2003, 2004 Jim Weirich

build_lib/*asm*jar (http://asm.objectweb.org) are distributed under the BSD license.
asm (http://asm.objectweb.org) is distributed under the BSD license.

build_lib/apt-mirror-api.jar, build_lib/bnd-0.0.249.jar,
build_lib/commons-logging-1.1.1.jar, build_lib/joda-time-1.6.2.jar,
BSF and ant are distributed under the Apache Software License,
Version 1.1 (license file inside the jars).

build_lib/jcodings.jar (http://github.com/jruby/jcodings) and
build_lib/joni.jar (http://github.com/jruby/joni) are distributed
jcodings (http://github.com/jruby/jcodings) and
joni (http://github.com/jruby/joni) are distributed
under the MIT license.

build_lib/jnr-constants.jar (http://github.com/jnr/jnr-constants),
build_lib/jarjar-1.0rc8.jar (http://code.google.com/p/jarjar),
build_lib/joda-time-1.6.2.jar (http://joda-time.sourceforge.net),
build_lib/jffi*jar (https://github.com/jnr/jffi),
build_lib/jnr-ffi.jar (https://github.com/jnr/jnr-jffi),
build_lib/jnr-netdb.jar (http://github.com/jnr/jnr-netdb),
build_lib/dynalang-0.3.jar (http://dynalang.sourceforge.net),
build_lib/nailgun-0.7.1.jar and tool/nailgun/ng.exe
(http://martiansoftware.com/nailgun) are distributed under the
ant (http://ant.apache.org/),
jnr-constants (http://github.com/jnr/jnr-constants),
joda-time (http://joda-time.sourceforge.net),
jffi (https://github.com/jnr/jffi),
jnr-ffi (https://github.com/jnr/jnr-jffi),
jnr-enxio (https://github.com/jnr/jnr-enxio),
jnr-unixsocket (https://github.com/jnr/jnr-unixsocket),
jnr-netdb (http://github.com/jnr/jnr-netdb), and
nailgun (http://martiansoftware.com/nailgun) are distributed under the
Apache License version 2.0.

build_lib/emma*jar (http://emma.sourceforge.net) and
build_lib/junit.jar (http://www.junit.org) are distributed under the
Common Public License v1.0.

build_lib/jline-* (http://jline.sourceforge.net) is distributed
under the following license:

Redistribution and use in source and binary forms, with or
without modification, are permitted provided that the following
conditions are met:

Redistributions of source code must retain the above copyright
notice, this list of conditions and the following disclaimer.

Redistributions in binary form must reproduce the above copyright
notice, this list of conditions and the following disclaimer
in the documentation and/or other materials provided with
the distribution.

Neither the name of JLine nor the names of its contributors
may be used to endorse or promote products derived from this
software without specific prior written permission.

THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING,
BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY
AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO
EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY,
OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING
IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
OF THE POSSIBILITY OF SUCH DAMAGE.

build_lib/jsr292-mock.jar (http://code.google.com/p/jvm-language-runtime)
jsr292-mock (http://code.google.com/p/jvm-language-runtime)
distributed under the LGPL license. It is only used as a compile-time mock
for Java 7-only features.

Bouncycastle is released under the MIT license, and is Copyright (c)
2000 - 2006 The Legion Of The Bouncy Castle.

The "yecht" library is Copyright (c) 2009-2011 Ola Bini, and released
under the MIT license.

The Rubinius API implementation in truffle/src/main/ruby/core/rubinius/api
is copyright (c) 2011, Evan Phoenix, and released under the 3-clause BSD license.

8 changes: 4 additions & 4 deletions LICENSE.RUBY
Original file line number Diff line number Diff line change
@@ -2,8 +2,8 @@ JRuby distributes some ruby modules which are distributed under Ruby
license:

Ruby is copyrighted free software by Yukihiro Matsumoto <matz@netlab.jp>.
You can redistribute it and/or modify it under either the terms of the GPL
(see the file GPL), or the conditions below:
You can redistribute it and/or modify it under either the terms of the
2-clause BSDL (see the file BSDL), or the conditions below:

1. You may make and give away verbatim copies of the source form of the
software without restriction, provided that you duplicate all of the
@@ -47,9 +47,9 @@ You can redistribute it and/or modify it under either the terms of the GPL
For the list of those files and their copying conditions, see the
file LEGAL.

5. The scripts and library files supplied as input to or produced as
5. The scripts and library files supplied as input to or produced as
output from the software do not automatically fall under the
copyright of the software, but belong to whomever generated them,
copyright of the software, but belong to whomever generated them,
and may be sold commercially, and may be aggregated with this
software.

42 changes: 42 additions & 0 deletions core/src/main/java/org/jruby/RubyBasicObject.java
Original file line number Diff line number Diff line change
@@ -56,6 +56,7 @@
import org.jruby.runtime.Visibility;

import static org.jruby.anno.FrameField.*;
import static org.jruby.runtime.Helpers.invokeChecked;
import static org.jruby.runtime.Visibility.*;
import org.jruby.exceptions.RaiseException;
import org.jruby.runtime.Arity;
@@ -73,6 +74,7 @@
import org.jruby.util.unsafe.UnsafeHolder;

import static org.jruby.runtime.Helpers.invokedynamic;
import static org.jruby.runtime.invokedynamic.MethodNames.HASH;
import static org.jruby.runtime.invokedynamic.MethodNames.OP_EQUAL;
import static org.jruby.runtime.invokedynamic.MethodNames.OP_CMP;
import static org.jruby.runtime.invokedynamic.MethodNames.EQL;
@@ -2822,6 +2824,46 @@ public RubyArray instance_variables19(ThreadContext context) {
return array;
}

/**
* This method is just a wrapper around the Ruby "==" method,
* provided so that RubyObjects can be used as keys in the Java
* HashMap object underlying RubyHash.
*/
@Override
public boolean equals(Object other) {
if (other == this) return true;

if (other instanceof IRubyObject) {
IRubyObject equals = invokeChecked(getRuntime().getCurrentContext(), this, "==", (IRubyObject)other);
if (equals == null) return false;
return equals.isTrue();
}

return false;
}

/**
* Override the Object#hashCode method to make sure that the Ruby
* hash is actually used as the hashcode for Ruby objects. If the
* Ruby "hash" method doesn't return a number, the Object#hashCode
* implementation will be used instead.
*/
@Override
public int hashCode() {
IRubyObject hashValue = invokeChecked(getRuntime().getCurrentContext(), this, "hash");
if (hashValue == null) return super.hashCode();
if (hashValue instanceof RubyFixnum) return (int) RubyNumeric.fix2long(hashValue);
return nonFixnumHashCode(hashValue);
}

protected static int nonFixnumHashCode(IRubyObject hashValue) {
RubyInteger integer = hashValue.convertToInteger();
if (integer instanceof RubyBignum) {
return integer.getBigIntegerValue().intValue();
}
return (int) integer.getLongValue();
}

/**
* Checks if the name parameter represents a legal instance variable name, and otherwise throws a Ruby NameError
*/
14 changes: 12 additions & 2 deletions core/src/main/java/org/jruby/RubyClass.java
Original file line number Diff line number Diff line change
@@ -622,16 +622,25 @@ public IRubyObject finvoke(ThreadContext context, IRubyObject self, String name)
* MRI: rb_check_funcall
*/
public IRubyObject finvokeChecked(ThreadContext context, IRubyObject self, String name) {
return finvokeChecked(context, self, name, IRubyObject.NULL_ARRAY);
}

/**
* Safely attempt to invoke the given method name on self, using respond_to? and method_missing as appropriate.
*
* MRI: rb_check_funcall
*/
public IRubyObject finvokeChecked(ThreadContext context, IRubyObject self, String name, IRubyObject... args) {
RubyClass klass = self.getMetaClass();
DynamicMethod me;
if (!checkFuncallRespondTo(context, self.getMetaClass(), self, name))
return null;

me = searchMethod(name);
if (!checkFuncallCallable(context, me, CallType.FUNCTIONAL, self)) {
return checkFuncallMissing(context, klass, self, name);
return checkFuncallMissing(context, klass, self, name, args);
}
return me.call(context, self, klass, name);
return me.call(context, self, klass, name, args);
}

// MRI: check_funcall_exec
@@ -689,6 +698,7 @@ public static boolean rbMethodCallStatus(ThreadContext context, DynamicMethod me
return method != null && !method.isUndefined() && method.isCallableFrom(self, callType);
}

// MRI: check_funcall_missing
private static IRubyObject checkFuncallMissing(ThreadContext context, RubyClass klass, IRubyObject self, String method, IRubyObject... args) {
Ruby runtime = context.runtime;
if (klass.isMethodBuiltin("method_missing")) {
2 changes: 1 addition & 1 deletion core/src/main/java/org/jruby/RubyFile.java
Original file line number Diff line number Diff line change
@@ -634,7 +634,7 @@ public static IRubyObject dirname(ThreadContext context, IRubyObject recv, IRuby
return runtime.newString(dirname(context, jfilename)).infectBy(filename);
}

private static Pattern PROTOCOL_PATTERN = Pattern.compile("^(uri|jar|file|classpath):([^:]*:)?//?.*");
static Pattern PROTOCOL_PATTERN = Pattern.compile("^(uri|jar|file|classpath):([^:]*:)?//?.*");
public static String dirname(ThreadContext context, String jfilename) {
String name = jfilename.replace('\\', '/');
int minPathLength = 1;
Loading