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: 7789a89d8fab
Choose a base ref
...
head repository: jruby/jruby
Failed to load repositories. Confirm that selected head ref is valid, then try again.
Loading
compare: 9fced1e1adc0
Choose a head ref
Loading
Showing 1,343 changed files with 83,029 additions and 12,704 deletions.
15 changes: 8 additions & 7 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -24,9 +24,10 @@
build
build.properties
build_graph.png
mx*/*pyc
mx*/env
mxbuild
/mx.jruby/*pyc
/mx.jruby/env
/mxbuild
/mx.imports
core/src/main/java/org/jruby/runtime/Constants.java
dependency-reduced-pom.xml
dev_null
@@ -46,9 +47,7 @@ lib/jruby*.jar
lib/native
lib/ruby/cext/
lib/ruby/gems
lib/ruby/stdlib/*jopenssl*.jar
lib/ruby/stdlib/bcpkix-jdk15on-*.jar
lib/ruby/stdlib/bcprov-jdk15on-*.jar
lib/ruby/stdlib/*.jar
lib/ruby/stdlib/did_you_mean*
lib/ruby/stdlib/gauntlet_rdoc.rb
lib/ruby/stdlib/jar*
@@ -59,17 +58,19 @@ lib/ruby/stdlib/net-telnet.rb
lib/ruby/stdlib/net/telnet*
lib/ruby/stdlib/openssl*
lib/ruby/stdlib/org/
lib/ruby/stdlib/readline/*readline*.jar
lib/ruby/stdlib/ripper.jar
lib/ruby/stdlib/rubygems/defaults/jruby_native.rb
lib/ruby/stdlib/racc*
lib/ruby/stdlib/rake*
lib/ruby/stdlib/json*
lib/ruby/stdlib/rdoc*
lib/ruby/stdlib/test*
lib/ruby/stdlib/hoe*
lib/ruby/stdlib/readline*
lib/ruby/stdlib/minitest*
lib/ruby/stdlib/power_assert*
lib/ruby/stdlib/psych*
lib/ruby/stdlib/**/maven-metadata-local.xml
release.properties
share
spaces test
44 changes: 4 additions & 40 deletions .travis.yml
Original file line number Diff line number Diff line change
@@ -72,47 +72,11 @@ matrix:
- env: COMMAND=test/check_versions.sh
jdk: oraclejdk8
# JRuby+Truffle needs Java 8
- env: JT='test specs :command_line'
- env: JT='test fast'
jdk: oraclejdk8
- env: JT='test specs :language'
jdk: oraclejdk8
- env: JT='test specs :core'
jdk: oraclejdk8
- env: JT='test specs :library'
jdk: oraclejdk8
- env: JT='test specs :truffle'
jdk: oraclejdk8
- env: JT='test integration'
jdk: oraclejdk8
- env:
- COMMAND=test/truffle/gems/install-gems.sh
- JT='test gems'
jdk: oraclejdk8
- env:
- JAVA_OPTS="$JAVA_OPTS -Xmx512m"
- HAS_REDIS=true
- COMMAND=test/truffle/ecosystem-travis-install.sh
- JT='test ecosystem'
jdk: oraclejdk8
- env: JT='test tck'
jdk: oraclejdk8
- env:
- JT=check_ambiguous_arguments
- SKIP_BUILD=true
jdk: oraclejdk8
- env:
- USE_BUILD_PACK=yes
- JT='test fast'
jdk: oraclejdk8
- env: JT='test mri'
jdk: oraclejdk8
allow_failures:
- env: PHASE='-Prake -Dtask=test:mri:fullint'
- env: JT='test mri'
jdk: oraclejdk8
- env: JT='test gems' JAVA_OPTS="$JAVA_OPTS -Xmx512m" HAS_REDIS=true
- env: PHASE='-Pj2ee'
jdk: oraclejdk7
#allow_failures:
#- env: PHASE='-Pj2ee'
# jdk: oraclejdk7
# NOTE: build seems to never start (waited for any to finish for more than a day) - probably a travis-ci bug
#- env: PHASE='-Pmain'
# sudo: required
2 changes: 1 addition & 1 deletion COPYING
Original file line number Diff line number Diff line change
@@ -75,7 +75,7 @@ below. Also see LICENSE.RUBY for most files found in lib/ruby/stdlib.
joni (http://github.com/jruby/joni) are distributed
under the MIT license.

ant (http://ant.apache.org/),
maven (http://maven.apache.org/),
jnr-constants (http://github.com/jnr/jnr-constants),
joda-time (http://joda-time.sourceforge.net),
jffi (https://github.com/jnr/jffi),
30 changes: 0 additions & 30 deletions Rakefile
Original file line number Diff line number Diff line change
@@ -15,33 +15,3 @@ begin
/(#{Rake::Backtrace::SUPPRESS_PATTERN})|(^org\/jruby)/
rescue
end

task :default => [:build]

desc "Build JRuby"
task :build do
ant "jar"
end

task :jar => :build

desc "Clean all built output"
task :clean do
delete_files = FileList.new do |fl|
fl.
include("#{BUILD_DIR}/**").
exclude("#{BUILD_DIR}/rubyspec").
include(DIST_DIR).
include(API_DOCS_DIR)
end

delete_files.each {|files| rm_rf files, :verbose => true}
end

desc "Generate sources, compile and add to jar file"
task :gen do
mkdir_p 'build/src_gen'
system 'apt -nocompile -cp lib/jruby.jar:build_lib/asm-4.0.jar:build_lib/asm-util-4.0.jar -factory org.jruby.anno.AnnotationBinder src/org/jruby/*.java'
system 'javac -cp lib/jruby.jar build/src_gen/*.java'
system 'jar -uf lib/jruby.jar -C build/src_gen .'
end
2 changes: 1 addition & 1 deletion VERSION
Original file line number Diff line number Diff line change
@@ -1 +1 @@
9.1.3.0-SNAPSHOT
9.1.6.0-SNAPSHOT
15 changes: 2 additions & 13 deletions appveyor.yml
Original file line number Diff line number Diff line change
@@ -8,23 +8,12 @@ environment:
- JAVA_HOME: C:\Program Files (x86)\Java\jdk1.8.0

install:
- ps: >-
Add-Type -AssemblyName System.IO.Compression.FileSystem
if (!(Test-Path -Path "C:\maven" )) {
(new-object System.Net.WebClient).DownloadFile(
'http://www.us.apache.org/dist/maven/maven-3/3.3.3/binaries/apache-maven-3.3.3-bin.zip',
'C:\maven-bin.zip'
)
[System.IO.Compression.ZipFile]::ExtractToDirectory("C:\maven-bin.zip", "C:\maven")
}
- cmd: SET PATH=C:\maven\apache-maven-3.3.3\bin;%JAVA_HOME%\bin;%PATH%
- cmd: echo %PATH%
- cmd: java -version
- mvn -X -v

cache:
- C:\maven
- C:\Users\appveyor\.m2
- C:\Users\appveyor\.m2\repository -> pom.xml

test_script:
- mvn -Ptest
28 changes: 24 additions & 4 deletions bench/java/bench_array_to_java.rb
Original file line number Diff line number Diff line change
@@ -5,9 +5,29 @@

TIMES.times do
Benchmark.bm(30) do |bm|
bm.report("control") {a = [1,2,3,4]; 100_000.times {a}}
bm.report("ary.to_java") {a = [1,2,3,4]; 100_000.times {a.to_java}}
bm.report("ary.to_java :object") {a = [1,2,3,4]; 100_000.times {a.to_java :object}}
bm.report("ary.to_java :string") {a = [1,2,3,4]; 100_000.times {a.to_s.to_java :string}}
bm.report("control") { ary = [1,2,3,4,5,6,7,8]; 1_000_000.times { ary } }
bm.report("ary.to_java") { ary = [1,2,3,4,5,6,7,8]; 1_000_000.times { ary.to_java } }
bm.report("ary.to_java :object") { ary = [1,2,3,4,5,6,7,8]; 1_000_000.times { ary.to_java :object } }
bm.report("ary.to_java java.lang.Integer") { ary = [1,2,3,4,5,6,7,8]; 1_000_000.times { ary.to_java java.lang.Integer } }
bm.report("ary.to_java :int") { ary = [1,2,3,4,5,6,7,8]; 1_000_000.times { ary.to_java :int } }
bm.report("ary.to_java Java::int") { ary = [1,2,3,4,5,6,7,8]; 1_000_000.times { ary.to_java Java::int } }
bm.report("ary.to_java :short") { ary = [1,2,3,4,5,6,7,8]; 1_000_000.times { ary.to_java :short } }

bm.report("long_ary.to_java") do
long_ary = (0..255).to_a
100_000.times { long_ary.to_java }
end
bm.report("long_ary.to_java :int") do
long_ary = (0..255).to_a
100_000.times { long_ary.to_java :int }
end
bm.report("long_ary.to_java Java::int") do
long_ary = (0..255).to_a
100_000.times { long_ary.to_java Java::int }
end
bm.report("long_ary.to_java :short") do
long_ary = (0..255).to_a
100_000.times { long_ary.to_java :short }
end
end
end
73 changes: 73 additions & 0 deletions bench/java/bench_java_coll_member.rb
Original file line number Diff line number Diff line change
@@ -0,0 +1,73 @@
require 'java'
require 'benchmark'

TIMES = (ARGV[0] || 5).to_i

CONTENTS = (1..36).to_a

TIMES.times do
Benchmark.bm(10) do |bm|
bm.report('ArrayList#include? hit ') do
list = java.util.ArrayList.new CONTENTS
hit = 32
1_000_000.times { list.include?(hit) }
end
bm.report('ArrayList#include? miss') do
list = java.util.ArrayList.new CONTENTS
miss = 0
1_000_000.times { list.include?(miss) }
end
bm.report('ArrayList#contains hit ') do
list = java.util.ArrayList.new CONTENTS
hit = 32
1_000_000.times { list.contains(hit) }
end
bm.report('ArrayList#contains miss') do
list = java.util.ArrayList.new CONTENTS
miss = 0
1_000_000.times { list.contains(miss) }
end

bm.report('HashSet#include? hit ') do
list = java.util.HashSet.new CONTENTS
hit = 32
1_000_000.times { list.include?(hit) }
end
bm.report('HashSet#include? miss ') do
list = java.util.HashSet.new CONTENTS
miss = 0
1_000_000.times { list.include?(miss) }
end
bm.report('HashSet#contains hit ') do
list = java.util.HashSet.new CONTENTS
hit = 32
1_000_000.times { list.contains(hit) }
end
bm.report('HashSet#contains miss ') do
list = java.util.HashSet.new CONTENTS
miss = 0
1_000_000.times { list.contains(miss) }
end

bm.report('LHashSet#include? hit ') do
list = java.util.LinkedHashSet.new CONTENTS
hit = 32
1_000_000.times { list.include?(hit) }
end
bm.report('LHashSet#include? miss ') do
list = java.util.LinkedHashSet.new CONTENTS
miss = 0
1_000_000.times { list.include?(miss) }
end
bm.report('LHashSet#contains hit ') do
list = java.util.LinkedHashSet.new CONTENTS
hit = 32
1_000_000.times { list.contains(hit) }
end
bm.report('LHashSet#contains miss ') do
list = java.util.LinkedHashSet.new CONTENTS
miss = 0
1_000_000.times { list.contains(miss) }
end
end
end
45 changes: 45 additions & 0 deletions bench/java/bench_java_list_ext.rb
Original file line number Diff line number Diff line change
@@ -0,0 +1,45 @@
require 'java'
require 'benchmark'

TIMES = (ARGV[0] || 5).to_i

TIMES.times do
Benchmark.bm(10) do |bm|
bm.report('ArrayList') do
list = java.util.ArrayList.new
one = 1.to_java
two = 2.to_java
thr = 3.to_java
1_000_000.times do
list.clear

list << one; list << two; list << thr

list[2] = one; list[0] = two; list[1] = thr

list.index(one)
list.rindex(thr)

list.to_a
end
end
bm.report('LinkedList') do
list = java.util.LinkedList.new
one = 1.to_java
two = 2.to_java
thr = 3.to_java
1_000_000.times do
list.clear

list << one; list << two; list << thr

list[2] = one; list[0] = two; list[1] = thr

list.index(one)
list.rindex(thr)

list.to_a
end
end
end
end
3 changes: 3 additions & 0 deletions bin/jruby-truffle
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
#!/usr/bin/env bash

$(dirname $BASH_SOURCE[0])/jruby -X+T $@
Loading