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

Commits on Jul 8, 2015

  1. System.gc() is async, do not attempt to invoke it and retry sysopen a…

    …s it will always fail
    eam committed Jul 8, 2015
    Copy the full SHA
    3c87565 View commit details

Commits on Sep 2, 2015

  1. Copy the full SHA
    f3f3602 View commit details

Commits on Oct 5, 2015

  1. Copy the full SHA
    9ea4980 View commit details

Commits on Sep 3, 2016

  1. fix File.dirname with backslashes in unix

    Daniel Smith committed Sep 3, 2016
    Copy the full SHA
    aef4bad View commit details

Commits on Sep 15, 2016

  1. Format initial string to specific precision, so rounding works.

    The logic in our double-based sprintf logic attempts to round
    values manually by inspecting a long-form version of the double.
    If we need to round, and the next digit is a five, it will round
    toward zero (truncate) iff that five is the last digit in the long
    unrounded string. This appears to have been an attempt to mimic
    C printf's behavior of rounding "true half" to even in the
    presence of inaccurately-represented IEEE754 decimals.
    
    This commit changes the pre-formatting to actually format with the
    specified precision, allowing NumberFormat's default HALF_EVEN
    logic to to the work for us.
    
    Fixes #4157.
    headius committed Sep 15, 2016
    Copy the full SHA
    6cef061 View commit details

Commits on Sep 24, 2016

  1. Merge remote-tracking branch 'upstream/master' into dirname-with-back…

    …slash-on-unix
    Daniel Smith committed Sep 24, 2016
    Copy the full SHA
    db355da View commit details
  2. Fix File.dirname on Windows (including UNC)

    Daniel Smith committed Sep 24, 2016
    Copy the full SHA
    f20829c View commit details

Commits on Sep 27, 2016

  1. Copy the full SHA
    f20c60b View commit details
  2. Copy the full SHA
    a0e2b1f View commit details
  3. 4
    Copy the full SHA
    ffa06d3 View commit details
  4. Copy the full SHA
    87e05cc View commit details
  5. Copy the full SHA
    c394026 View commit details
  6. [Truffle] JT: use exec() for the ruby command.

    * Let #run use system() so it can be composed and invoked multiple times.
    eregon committed Sep 27, 2016
    Copy the full SHA
    293c528 View commit details
  7. Copy the full SHA
    ddf8eb3 View commit details
  8. [Truffle] Start implementing Module#deprecate_constant

    Brandon Fish committed Sep 27, 2016
    Copy the full SHA
    6141e30 View commit details
  9. Copy the full SHA
    d66840a View commit details
  10. Copy the full SHA
    595ad5d View commit details
  11. Copy the full SHA
    ef6dd49 View commit details
  12. Copy the full SHA
    55783f9 View commit details
  13. Copy the full SHA
    7156867 View commit details
  14. Copy the full SHA
    b103a3f View commit details
  15. Copy the full SHA
    b286bbc View commit details
  16. Copy the full SHA
    949f814 View commit details
  17. Copy the full SHA
    dc0f782 View commit details
  18. [Truffle] Add WarnNode, code formatting

    Brandon Fish committed Sep 27, 2016
    Copy the full SHA
    95c3463 View commit details

Commits on Sep 28, 2016

  1. Copy the full SHA
    c0f8c56 View commit details
  2. Copy the full SHA
    0fa0791 View commit details
  3. Copy the full SHA
    51fc181 View commit details
  4. [Truffle] Update Truffle.

    chrisseaton committed Sep 28, 2016
    2
    Copy the full SHA
    4b5ec26 View commit details
  5. Copy the full SHA
    1b19ba4 View commit details

Commits on Sep 29, 2016

  1. Copy the full SHA
    779460d View commit details
  2. [Truffle] Update JVMCI.

    chrisseaton committed Sep 29, 2016
    Copy the full SHA
    a19181f View commit details
  3. Copy the full SHA
    427fc50 View commit details
  4. [Truffle] Module#deprecate_constant add profiles/boundaries to Lookup…

    … nodes
    Brandon Fish committed Sep 29, 2016
    Copy the full SHA
    6ab74ed View commit details
  5. Copy the full SHA
    dc20ea8 View commit details
  6. Copy the full SHA
    8b406d5 View commit details
  7. Merge pull request #4179 from jruby/truffle-module-deprecate-constant

    [Truffle] Module#deprecate_constant
    eregon authored Sep 29, 2016
    Copy the full SHA
    439882b View commit details
  8. Copy the full SHA
    2d40fd5 View commit details

Commits on Sep 30, 2016

  1. Inspect directly into a RubyString and avoid StringBuilder/char[].

    This should reduce the overhead of inspecting by avoiding the
    intermediate StringBuilder/char[] and subsequent conversion to
    byte[]. There are a few extra objects created along the way
    (java.lang.String.getBytes, RubyString for class name, etc) but
    overall memory use should reduce around 3x: a US-ASCII
    string would need 2x byte size in the StringBuilder, and the
    builder is still alive when we create the eventual byte[] for a
    total of 3x max memory use during inspect.
    
    Relates to #4127, but does not constitute a fix for memory issues
    there.
    headius committed Sep 30, 2016
    Copy the full SHA
    a40621d View commit details
  2. Copy the full SHA
    8131146 View commit details
  3. Copy the full SHA
    5fa17d6 View commit details
  4. Copy the full SHA
    b9300d4 View commit details
  5. Copy the full SHA
    e092232 View commit details
  6. Copy the full SHA
    cd47b14 View commit details
  7. Copy the full SHA
    297ac22 View commit details
  8. Copy the full SHA
    0a37a2d View commit details
  9. Copy the full SHA
    7d9fee8 View commit details
  10. Copy the full SHA
    1f75ad9 View commit details
  11. Copy the full SHA
    2ea6de2 View commit details
  12. Use short version.

    headius committed Sep 30, 2016
    Copy the full SHA
    738d9ed View commit details
Showing 987 changed files with 20,398 additions and 14,962 deletions.
15 changes: 10 additions & 5 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -24,10 +24,6 @@
build
build.properties
build_graph.png
/mx.jruby/*pyc
/mx.jruby/env
/mxbuild
/mx.imports
core/src/main/java/org/jruby/runtime/Constants.java
dependency-reduced-pom.xml
dev_null
@@ -88,7 +84,6 @@ tool/nailgun/ng
reference.txt
rubyspec_temp
.polyglot.pom.rb
tool/truffle/jruby_truffle_runner/jruby+truffle_runner-*.gem
test/truffle/cexts/**/Makefile

# binaries
@@ -119,8 +114,18 @@ nbproject/private
.classpath
.project
.settings
.factorypath
build.eclipse

# mx
/mx.jruby/*pyc
/mx.jruby/env
/mx.jruby/eclipse-launches/
/mxbuild
/mx.imports
/RUBY.dist
/RUBY-TEST.dist

# Truffle findbugs
truffle-findbugs-report.html
findbugs-noUpdateChecks-3.0.0.tar.gz
7 changes: 4 additions & 3 deletions .travis.yml
Original file line number Diff line number Diff line change
@@ -7,6 +7,7 @@ cache:
- $HOME/.m2

before_install:
- rm ~/.m2/settings.xml
- export MAVEN_SKIP_RC=true
- mvn -Xmx32M -v | grep 1.7.0; if [ $? = 0 ]; then export MAVEN_OPTS="-XX:MaxPermSize=240M"; else export MAVEN_OPTS="-XX:MaxMetaspaceSize=240M -XX:CompressedClassSpaceSize=240M"; fi
- export MAVEN_OPTS="-Xmx512M $MAVEN_OPTS"
@@ -74,9 +75,9 @@ matrix:
# JRuby+Truffle needs Java 8
- env: JT='test fast'
jdk: oraclejdk8
#allow_failures:
#- 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
6 changes: 0 additions & 6 deletions COPYING
Original file line number Diff line number Diff line change
@@ -19,8 +19,6 @@ The Truffle component also distributes:

SnakeYAML (Copyright the SnakeYAML authors, Apache 2.0 licence)

Antlr4 runtime (Copyright (c) 2015 Terence Parr, Sam Harwell, BSD licence)

truffle-api and truffle-debug (Copyright Oracle and/or its affiliates, GPL
v2, with classpath exception)

@@ -86,10 +84,6 @@ below. Also see LICENSE.RUBY for most files found in lib/ruby/stdlib.
nailgun (http://martiansoftware.com/nailgun) are distributed under the
Apache License version 2.0.

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.

2 changes: 1 addition & 1 deletion VERSION
Original file line number Diff line number Diff line change
@@ -1 +1 @@
9.1.6.0-SNAPSHOT
9.1.7.0-SNAPSHOT
1 change: 0 additions & 1 deletion bin/jruby+truffle.bat

This file was deleted.

4 changes: 3 additions & 1 deletion bin/jruby-truffle
Original file line number Diff line number Diff line change
@@ -1,3 +1,5 @@
#!/usr/bin/env bash

$(dirname $BASH_SOURCE[0])/jruby -X+T $@
bin="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"

exec "$bin"/jruby -X+T "$@"
2 changes: 1 addition & 1 deletion bin/jruby+truffle → bin/jruby-truffle-tool
Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
#!/usr/bin/env bash

exec `dirname $BASH_SOURCE[0]`/jruby `dirname $BASH_SOURCE[0]`/../lib/ruby/truffle/jruby+truffle/bin/jruby+truffle "$@"
exec `dirname $BASH_SOURCE[0]`/jruby `dirname $BASH_SOURCE[0]`/../lib/ruby/truffle/jruby-truffle-tool/bin/jruby-truffle-tool "$@"
9 changes: 8 additions & 1 deletion bin/jruby.bash
Original file line number Diff line number Diff line change
@@ -188,6 +188,7 @@ declare -a ruby_args
mode=""

JAVA_CLASS_JRUBY_MAIN=org.jruby.Main
JAVA_CLASS_JRUBY_TRUFFLE_MAIN=org.jruby.truffle.Main
java_class=$JAVA_CLASS_JRUBY_MAIN
JAVA_CLASS_NGSERVER=org.jruby.main.NailServerMain

@@ -249,6 +250,10 @@ do
-X+T)
USING_TRUFFLE="true"
;;
-X+TM)
USING_TRUFFLE="true"
java_class=$JAVA_CLASS_JRUBY_TRUFFLE_MAIN
;;
# Match -Xa.b.c=d to translate to -Da.b.c=d as a java option
-X*)
val=${1:2}
@@ -297,6 +302,8 @@ do
# Start up as Nailgun server
java_class=$JAVA_CLASS_NGSERVER
VERIFY_JRUBY=true ;;
--no-bootclasspath)
NO_BOOTCLASSPATH=true ;;
--ng)
# Use native Nailgun client to toss commands to server
process_special_opts "--ng" ;;
@@ -363,7 +370,7 @@ if [ "$nailgun_client" != "" ]; then
exit 1
fi
else
if [[ "$VERIFY_JRUBY" != "" && -z "$USING_TRUFFLE" ]]; then
if [[ "$NO_BOOTCLASSPATH" != "" || ("$VERIFY_JRUBY" != "" && -z "$USING_TRUFFLE") ]]; then
if [ "$PROFILE_ARGS" != "" ]; then
echo "Running with instrumented profiler"
fi
8 changes: 7 additions & 1 deletion bin/jruby.sh
Original file line number Diff line number Diff line change
@@ -200,6 +200,10 @@ do
echo "error: -X+T isn't supported in the shell launcher"
exit 1
;;
-X+TM)
echo "error: -X+TM isn't supported in the shell launcher"
exit 1
;;
-Xclassic)
;;
# Match -Xa.b.c=d to translate to -Da.b.c=d as a java option
@@ -243,6 +247,8 @@ do
# Start up as Nailgun server
java_class=$JAVA_CLASS_NGSERVER
VERIFY_JRUBY=true ;;
--no-bootclasspath)
NO_BOOTCLASSPATH=true ;;
--ng)
# Use native Nailgun client to toss commands to server
process_special_opts "--ng" ;;
@@ -280,7 +286,7 @@ if [ "$nailgun_client" != "" ]; then
exit 1
fi
else
if [ "$VERIFY_JRUBY" != "" ]; then
if [ "$NO_BOOTCLASSPATH" != "" || "$VERIFY_JRUBY" != "" ]; then
if [ "$PROFILE_ARGS" != "" ]; then
echo "Running with instrumented profiler"
fi
8 changes: 4 additions & 4 deletions ci.hocon
Original file line number Diff line number Diff line change
@@ -28,7 +28,7 @@ graal-vm: {
downloads: {
GRAALVM_DIR: {
name: graalvm-release,
version: "0.16",
version: "0.18",
platformspecific: true
}
}
@@ -80,9 +80,9 @@ builds: [
{name: ruby-test-specs-core} ${common} ${gate-caps} {run: [${jt} [test, specs, -Gci, ":core"]]},
{name: ruby-test-specs-library} ${common} ${gate-caps} {run: [${jt} [test, specs, ":library"]]},
{name: ruby-test-specs-truffle} ${common} ${gate-caps} {run: [${jt} [test, specs, ":truffle"]]},
{name: ruby-test-integration} ${common} ${gate-caps} {run: [${jt} [test, integration]]},
{name: ruby-test-gems} ${common} ${gate-caps} ${test-gems},
{name: ruby-test-ecosystem} ${common} ${gate-caps} ${test-ecosystem},
//{name: ruby-test-integration} ${common} ${gate-caps} {run: [${jt} [test, integration]]},
//{name: ruby-test-gems} ${common} ${gate-caps} ${test-gems},
//{name: ruby-test-ecosystem} ${common} ${gate-caps} ${test-ecosystem},
{name: ruby-test-tarball} ${common} ${gate-caps} {run: [${jt} [tarball]]},

{name: ruby-test-compiler-graal-vm} ${common} ${graal-vm} ${gate-caps} {run: [${jt} [test, compiler]]},
34 changes: 27 additions & 7 deletions core/pom.rb
Original file line number Diff line number Diff line change
@@ -26,7 +26,9 @@
'jruby.basedir' => '${basedir}/..',
'jruby.test.memory' => '3G',
'jruby.test.memory.permgen' => '2G',
'jruby.compile.memory' => '2G' )
'jruby.compile.memory' => '2G',

'create.sources.jar' => false )

IO.foreach(File.join(basedir, '..', 'default.build.properties')) do |line|
line.chomp!
@@ -46,10 +48,10 @@
jar 'com.github.jnr:jnr-netdb:1.1.6', :exclusions => ['com.github.jnr:jnr-ffi']
jar 'com.github.jnr:jnr-enxio:0.13', :exclusions => ['com.github.jnr:jnr-ffi']
jar 'com.github.jnr:jnr-x86asm:1.0.2', :exclusions => ['com.github.jnr:jnr-ffi']
jar 'com.github.jnr:jnr-unixsocket:0.13', :exclusions => ['com.github.jnr:jnr-ffi']
jar 'com.github.jnr:jnr-posix:3.0.30', :exclusions => ['com.github.jnr:jnr-ffi']
jar 'com.github.jnr:jnr-constants:0.9.4', :exclusions => ['com.github.jnr:jnr-ffi']
jar 'com.github.jnr:jnr-ffi:2.1.0'
jar 'com.github.jnr:jnr-unixsocket:0.14', :exclusions => ['com.github.jnr:jnr-ffi']
jar 'com.github.jnr:jnr-posix:3.0.32', :exclusions => ['com.github.jnr:jnr-ffi']
jar 'com.github.jnr:jnr-constants:0.9.5', :exclusions => ['com.github.jnr:jnr-ffi']
jar 'com.github.jnr:jnr-ffi:2.1.1'
jar 'com.github.jnr:jffi:${jffi.version}'
jar 'com.github.jnr:jffi:${jffi.version}:native'

@@ -62,7 +64,6 @@
jar 'com.headius:options:1.4'
jar 'com.headius:coro-mock:1.0', :scope => 'provided'
jar 'com.headius:unsafe-mock', '${unsafe.version}', :scope => 'provided'
jar 'com.headius:jsr292-mock:1.1', :scope => 'provided'

jar 'bsf:bsf:2.4.0', :scope => 'provided'
jar 'com.jcraft:jzlib:1.1.3'
@@ -273,17 +274,24 @@
'shadedPattern' => 'org.jruby.org.objectweb' } ],
'outputFile' => '${jruby.basedir}/lib/jruby.jar',
'transformers' => [ { '@implementation' => 'org.apache.maven.plugins.shade.resource.ManifestResourceTransformer',
'mainClass' => 'org.jruby.Main' } ] )
'mainClass' => 'org.jruby.Main' } ],
'createSourcesJar' => '${create.sources.jar}' )
end

[:all, :release, :main, :osgi, :j2ee, :complete, :dist, :'jruby_complete_jar_extended', :'jruby-jars' ].each do |name|
profile name do
# we shade in all dependencies which use the asm classes and relocate
# the asm package-name. with all jruby artifacts behave the same
# regarding asm: lib/jruby, jruby-core and jruby-complete via maven
plugin :shade do
execute_goals( 'shade',
:id => 'shade the asm classes',
:phase => 'package',
'artifactSet' => {
# IMPORTANT these needs to match exclusions in
# maven/jruby-complete/pom.rb
'includes' => [ 'com.github.jnr:jnr-ffi',
'me.qmx.jitescript:jitescript',
'org.ow2.asm:*' ]
},
'relocations' => [ { 'pattern' => 'org.objectweb',
@@ -390,4 +398,16 @@
'tzdata.scope' => 'runtime' )

end

profile 'generate sources jar' do
activation do
property( :name => 'create.sources.jar', :value => 'true' )
end

plugin :source do
execute_goals( 'jar-no-fork',
:id => 'pack core sources',
:phase => 'prepare-package' ) # Needs to run before the shade plugin
end
end
end
Loading