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

Commits on Aug 2, 2016

  1. [Truffle] Untag passing BasicObject#method_missing spec

    Brandon Fish committed Aug 2, 2016
    Copy the full SHA
    6e05197 View commit details
  2. [Truffle] Add Enumerable#grep_v method

    Brandon Fish committed Aug 2, 2016
    Copy the full SHA
    2ac39af View commit details
  3. Copy the full SHA
    e582c6f View commit details
  4. Copy the full SHA
    3d13c4c View commit details
  5. Copy the full SHA
    18036dd View commit details
  6. Copy the full SHA
    aff1868 View commit details
  7. [Truffle] Replace two bailouts with boundaries.

    * Nobody expects those to compile well.
    eregon committed Aug 2, 2016
    Copy the full SHA
    92a3588 View commit details
  8. Copy the full SHA
    9882ead View commit details
  9. Copy the full SHA
    33b50fc View commit details
  10. [Truffle] Add Enumerator::Lazy#grep_v

    Brandon Fish committed Aug 2, 2016
    Copy the full SHA
    4bebf84 View commit details
  11. [Truffle] Add our own KeyValue so getKey() and getValue() are trivial…

    …ly resolved.
    
    * And not some unknown interface call.
    eregon committed Aug 2, 2016
    Copy the full SHA
    e350be1 View commit details
  12. [Truffle] Help partial evaluation of Iterable/Iterator by giving spec…

    …ific types in BoundaryUtils.
    eregon committed Aug 2, 2016
    Copy the full SHA
    b8e96aa View commit details
  13. Copy the full SHA
    1ae3d7d View commit details
  14. Copy the full SHA
    ea9ddbb View commit details
  15. [Truffle] Fix Time#at subclass spec

    Brandon Fish committed Aug 2, 2016
    Copy the full SHA
    15d4875 View commit details
  16. Copy the full SHA
    082b3d8 View commit details
  17. Copy the full SHA
    4d66843 View commit details
  18. [Truffle] Fix marshalling of Exceptions

    Brandon Fish committed Aug 2, 2016
    2
    Copy the full SHA
    3029df7 View commit details
  19. [Truffle] Add Kernel.exec errno exceptions

    Brandon Fish committed Aug 2, 2016
    Copy the full SHA
    77647a5 View commit details

Commits on Aug 3, 2016

  1. Copy the full SHA
    15d956f View commit details
  2. Copy the full SHA
    5a6d170 View commit details
  3. Copy the full SHA
    b248f72 View commit details
  4. Copy the full SHA
    93660dc View commit details
  5. Copy the full SHA
    ddaafdf View commit details
  6. [Truffle] Remove all usages of getInstanceFactory() or make sure they…

    … are behind a boundary.
    
    * The factory needs to be constant for newInstance() to compile well.
    eregon committed Aug 3, 2016
    Copy the full SHA
    067e03c View commit details
  7. Copy the full SHA
    b1e6057 View commit details
  8. Copy the full SHA
    a76ff66 View commit details
  9. [Truffle] Marshal fix indentation

    Brandon Fish committed Aug 3, 2016
    Copy the full SHA
    8350aa6 View commit details
  10. Copy the full SHA
    46a84cd View commit details
  11. Copy the full SHA
    6038957 View commit details
Showing with 721 additions and 506 deletions.
  1. +23 −9 ci.hocon
  2. +1 −0 core/src/main/java/org/jruby/util/cli/Options.java
  3. +14 −0 mx.jruby/mx_jruby.py
  4. +52 −0 samples/truffle/interop/asciidoctor/Asciidoctor.java
  5. +1 −1 spec/ruby/core/signal/trap_spec.rb
  6. +0 −1 spec/truffle/tags/core/basicobject/method_missing_tags.txt
  7. +0 −6 spec/truffle/tags/core/enumerable/grep_v_tags.txt
  8. +0 −9 spec/truffle/tags/core/enumerator/lazy/grep_v_tags.txt
  9. +0 −8 spec/truffle/tags/core/kernel/exec_tags.txt
  10. +0 −3 spec/truffle/tags/core/marshal/load_tags.txt
  11. +0 −3 spec/truffle/tags/core/marshal/restore_tags.txt
  12. +0 −1 spec/truffle/tags/core/time/at_tags.txt
  13. +3 −0 truffle/src/main/java/org/jruby/truffle/Layouts.java
  14. +3 −1 truffle/src/main/java/org/jruby/truffle/RubyContext.java
  15. +73 −26 truffle/src/main/java/org/jruby/truffle/core/CoreLibrary.java
  16. +2 −2 truffle/src/main/java/org/jruby/truffle/core/TruffleProcessNodes.java
  17. +1 −1 truffle/src/main/java/org/jruby/truffle/core/array/ArrayDupNode.java
  18. +7 −12 truffle/src/main/java/org/jruby/truffle/core/array/ArrayNodes.java
  19. +1 −1 truffle/src/main/java/org/jruby/truffle/core/array/ArrayReadSliceNormalizedNode.java
  20. +1 −1 truffle/src/main/java/org/jruby/truffle/core/basicobject/BasicObjectNodes.java
  21. +1 −1 truffle/src/main/java/org/jruby/truffle/core/binding/BindingNodes.java
  22. +1 −1 truffle/src/main/java/org/jruby/truffle/core/dir/DirNodes.java
  23. +6 −17 truffle/src/main/java/org/jruby/truffle/core/encoding/EncodingConverterNodes.java
  24. +4 −4 truffle/src/main/java/org/jruby/truffle/core/encoding/EncodingManager.java
  25. +19 −5 truffle/src/main/java/org/jruby/truffle/core/exception/CoreExceptions.java
  26. +12 −1 truffle/src/main/java/org/jruby/truffle/core/exception/ExceptionNodes.java
  27. +4 −8 truffle/src/main/java/org/jruby/truffle/core/exception/ExceptionOperations.java
  28. +1 −1 truffle/src/main/java/org/jruby/truffle/core/exception/NameErrorNodes.java
  29. +1 −1 truffle/src/main/java/org/jruby/truffle/core/exception/NoMethodErrorNodes.java
  30. +1 −1 truffle/src/main/java/org/jruby/truffle/core/exception/SystemCallErrorNodes.java
  31. +2 −0 truffle/src/main/java/org/jruby/truffle/core/format/exceptions/CantCompressNegativeException.java
  32. +2 −0 truffle/src/main/java/org/jruby/truffle/core/format/exceptions/CantConvertException.java
  33. +2 −0 truffle/src/main/java/org/jruby/truffle/core/format/exceptions/FormatException.java
  34. +2 −0 truffle/src/main/java/org/jruby/truffle/core/format/exceptions/InvalidFormatException.java
  35. +2 −0 truffle/src/main/java/org/jruby/truffle/core/format/exceptions/NoImplicitConversionException.java
  36. +2 −0 truffle/src/main/java/org/jruby/truffle/core/format/exceptions/OutsideOfStringException.java
  37. +2 −0 truffle/src/main/java/org/jruby/truffle/core/format/exceptions/RangeException.java
  38. +2 −0 truffle/src/main/java/org/jruby/truffle/core/format/exceptions/TooFewArgumentsException.java
  39. +1 −0 truffle/src/main/java/org/jruby/truffle/core/format/printf/PrintfSimpleParser.java
  40. +9 −29 truffle/src/main/java/org/jruby/truffle/core/hash/BucketsStrategy.java
  41. +2 −3 truffle/src/main/java/org/jruby/truffle/core/hash/ConcatHashLiteralNode.java
  42. +15 −15 truffle/src/main/java/org/jruby/truffle/core/hash/HashNodes.java
  43. +9 −10 truffle/src/main/java/org/jruby/truffle/core/hash/HashOperations.java
  44. +39 −0 truffle/src/main/java/org/jruby/truffle/core/hash/KeyValue.java
  45. +6 −22 truffle/src/main/java/org/jruby/truffle/core/hash/PackedArrayStrategy.java
  46. +13 −10 truffle/src/main/java/org/jruby/truffle/core/kernel/KernelNodes.java
  47. +1 −1 truffle/src/main/java/org/jruby/truffle/core/mutex/ConditionVariableNodes.java
  48. +1 −1 truffle/src/main/java/org/jruby/truffle/core/mutex/MutexNodes.java
  49. +32 −78 truffle/src/main/java/org/jruby/truffle/core/numeric/FloatNodes.java
  50. +2 −2 truffle/src/main/java/org/jruby/truffle/core/proc/ProcNodes.java
  51. +1 −1 truffle/src/main/java/org/jruby/truffle/core/queue/QueueNodes.java
  52. +6 −2 truffle/src/main/java/org/jruby/truffle/core/queue/SizedQueueNodes.java
  53. +3 −3 truffle/src/main/java/org/jruby/truffle/core/range/RangeNodes.java
  54. +2 −1 truffle/src/main/java/org/jruby/truffle/core/regexp/InterpolatedRegexpNode.java
  55. +10 −13 truffle/src/main/java/org/jruby/truffle/core/regexp/RegexpNodes.java
  56. +16 −2 truffle/src/main/java/org/jruby/truffle/core/rope/RopeOperations.java
  57. +1 −1 truffle/src/main/java/org/jruby/truffle/core/rubinius/AtomicReferenceNodes.java
  58. +0 −31 truffle/src/main/java/org/jruby/truffle/core/rubinius/ChannelPrimitiveNodes.java
  59. +1 −1 truffle/src/main/java/org/jruby/truffle/core/rubinius/IOBufferPrimitiveNodes.java
  60. +3 −1 truffle/src/main/java/org/jruby/truffle/core/rubinius/IOPrimitiveNodes.java
  61. +3 −0 truffle/src/main/java/org/jruby/truffle/core/string/ConvertBytes.java
  62. +18 −25 truffle/src/main/java/org/jruby/truffle/core/string/StringNodes.java
  63. +3 −1 truffle/src/main/java/org/jruby/truffle/core/string/StringOperations.java
  64. +4 −12 truffle/src/main/java/org/jruby/truffle/core/symbol/SymbolTable.java
  65. +1 −5 truffle/src/main/java/org/jruby/truffle/core/thread/ThreadNodes.java
  66. +13 −11 truffle/src/main/java/org/jruby/truffle/core/time/TimeNodes.java
  67. +6 −6 truffle/src/main/java/org/jruby/truffle/core/tracepoint/TracePointLayout.java
  68. +15 −13 truffle/src/main/java/org/jruby/truffle/core/tracepoint/TracePointNodes.java
  69. +1 −1 truffle/src/main/java/org/jruby/truffle/extra/TrufflePosixNodes.java
  70. +5 −5 truffle/src/main/java/org/jruby/truffle/extra/ffi/PointerPrimitiveNodes.java
  71. +3 −3 truffle/src/main/java/org/jruby/truffle/gem/bcrypt/BCrypt.java
  72. +8 −3 truffle/src/main/java/org/jruby/truffle/interop/InteropNodes.java
  73. +5 −1 truffle/src/main/java/org/jruby/truffle/interop/OutgoingForeignCallNode.java
  74. +39 −0 truffle/src/main/java/org/jruby/truffle/language/PerformanceWarnings.java
  75. +0 −5 truffle/src/main/java/org/jruby/truffle/language/RubyBaseNode.java
  76. +32 −28 truffle/src/main/java/org/jruby/truffle/language/arguments/CheckKeywordArityNode.java
  77. +3 −3 truffle/src/main/java/org/jruby/truffle/language/arguments/ReadKeywordArgumentNode.java
  78. +11 −6 truffle/src/main/java/org/jruby/truffle/language/arguments/ReadKeywordRestArgumentNode.java
  79. +3 −1 truffle/src/main/java/org/jruby/truffle/language/arguments/ReadOptionalArgumentNode.java
  80. +2 −2 truffle/src/main/java/org/jruby/truffle/language/arguments/ReadRestArgumentNode.java
  81. +3 −1 truffle/src/main/java/org/jruby/truffle/language/arguments/RunBlockKWArgsHelperNode.java
  82. +2 −0 truffle/src/main/java/org/jruby/truffle/language/control/BreakException.java
  83. +2 −0 truffle/src/main/java/org/jruby/truffle/language/control/ExitException.java
  84. +10 −1 truffle/src/main/java/org/jruby/truffle/language/control/JavaException.java
  85. +2 −0 truffle/src/main/java/org/jruby/truffle/language/control/NextException.java
  86. +2 −0 truffle/src/main/java/org/jruby/truffle/language/control/RaiseException.java
  87. +2 −0 truffle/src/main/java/org/jruby/truffle/language/control/RedoException.java
  88. +2 −0 truffle/src/main/java/org/jruby/truffle/language/control/RetryException.java
  89. +2 −0 truffle/src/main/java/org/jruby/truffle/language/control/ReturnException.java
  90. +2 −0 truffle/src/main/java/org/jruby/truffle/language/control/ThreadExitException.java
  91. +2 −0 truffle/src/main/java/org/jruby/truffle/language/control/ThrowException.java
  92. +2 −0 truffle/src/main/java/org/jruby/truffle/language/control/TruffleFatalException.java
  93. +8 −4 truffle/src/main/java/org/jruby/truffle/language/objects/AllocateObjectNode.java
  94. +1 −1 truffle/src/main/java/org/jruby/truffle/language/parser/jruby/BodyTranslator.java
  95. +5 −2 truffle/src/main/java/org/jruby/truffle/stdlib/bigdecimal/BigDecimalNodes.java
  96. +1 −1 truffle/src/main/java/org/jruby/truffle/stdlib/digest/DigestNodes.java
  97. +1 −1 truffle/src/main/java/org/jruby/truffle/stdlib/psych/PsychEmitterNodes.java
  98. +14 −2 truffle/src/main/java/org/jruby/truffle/stdlib/psych/PsychParserNodes.java
  99. +1 −1 truffle/src/main/java/org/jruby/truffle/tools/callgraph/CallGraph.java
  100. +11 −5 truffle/src/main/java/org/jruby/truffle/util/BoundaryUtils.java
  101. +24 −0 truffle/src/main/ruby/core/enumerable.rb
  102. +20 −0 truffle/src/main/ruby/core/enumerator.rb
  103. +5 −3 truffle/src/main/ruby/core/float.rb
  104. +1 −1 truffle/src/main/ruby/core/marshal.rb
32 changes: 23 additions & 9 deletions ci.hocon
Original file line number Diff line number Diff line change
@@ -42,7 +42,7 @@ graal-core: {
platformspecific: true
}
}

setup: ${common-setup} [
[mv, mx.jruby, temp_mx],
[mkdir, graal-workspace],
@@ -70,7 +70,7 @@ graal-enterprise: {
platformspecific: true
}
}

setup: ${common-setup} [
[mv, mx.jruby, temp_mx],
[mkdir, graal-workspace],
@@ -235,6 +235,12 @@ image-demo-benchmarks: {
] ${post-process-and-upload-results}
}

optcarrot-benchmarks: {
run: ${setup-benchmarks} [
[mx, benchmark, optcarrot]
] ${post-process-and-upload-results}
}

asciidoctor-benchmarks: {
run: ${setup-benchmarks} [
[mx, benchmark, asciidoctor]
@@ -392,23 +398,23 @@ builds: [
{name: ruby-test-compiler-graal-core} ${common} ${graal-core} ${gate-caps} {run: [${jt} [test, compiler]]},
{name: ruby-test-compiler-graal-enterprise} ${common} ${graal-enterprise} ${gate-caps} {run: [${jt} [test, compiler]]},
{name: ruby-test-compiler-graal-vm} ${common} ${graal-vm} ${gate-caps} {run: [${jt} [test, compiler]]},

//{name: ruby-metrics-noindy} ${common} ${no-graal} ${daily-bench-caps} ${jruby-noindy-metrics} ${metrics},
//{name: ruby-metrics-indy} ${common} ${no-graal} ${daily-bench-caps} ${jruby-indy-metrics} ${metrics},
{name: ruby-metrics-truffle} ${common} ${no-graal} ${bench-caps} ${jruby-truffle} ${metrics},
{name: ruby-metrics-compiler-graal-core} ${common} ${graal-core} ${bench-caps} ${jruby-truffle} ${compiler-metrics},
{name: ruby-metrics-compiler-graal-enterprise} ${common} ${graal-enterprise} ${bench-caps} ${jruby-truffle} ${compiler-metrics},
{name: ruby-metrics-compiler-graal-enterprise-no-om} ${common} ${graal-enterprise-no-om} ${bench-caps} ${jruby-truffle} ${compiler-metrics},
{name: ruby-metrics-compiler-graal-vm} ${common} ${graal-vm} ${daily-bench-caps} ${jruby-truffle} ${compiler-metrics},

//{name: ruby-benchmarks-classic-noindy} ${common} ${no-graal} ${daily-bench-caps} ${jruby-noindy-benchmark} ${classic-benchmarks},
//{name: ruby-benchmarks-classic-indy} ${common} ${no-graal} ${daily-bench-caps} ${jruby-indy-benchmark} ${classic-benchmarks},
{name: ruby-benchmarks-classic-no-graal} ${common} ${no-graal} ${weekly-bench-caps} ${jruby-truffle} ${classic-benchmarks},
{name: ruby-benchmarks-classic-graal-core} ${common} ${graal-core} ${bench-caps} ${jruby-truffle} ${classic-benchmarks},
{name: ruby-benchmarks-classic-graal-enterprise} ${common} ${graal-enterprise} ${bench-caps} ${jruby-truffle} ${classic-benchmarks},
{name: ruby-benchmarks-classic-graal-enterprise-no-om} ${common} ${graal-enterprise-no-om} ${bench-caps} ${jruby-truffle} ${classic-benchmarks},
{name: ruby-benchmarks-classic-graal-vm} ${common} ${graal-vm} ${daily-bench-caps} ${jruby-truffle} ${classic-benchmarks},

//{name: ruby-benchmarks-chunky-noindy} ${common} ${no-graal} ${daily-bench-caps} ${jruby-noindy-benchmark} ${chunky-benchmarks},
//{name: ruby-benchmarks-chunky-indy} ${common} ${no-graal} ${daily-bench-caps} ${jruby-indy-benchmark} ${chunky-benchmarks},
{name: ruby-benchmarks-chunky-no-graal} ${common} ${no-graal} ${weekly-bench-caps} ${jruby-truffle} ${chunky-benchmarks},
@@ -417,7 +423,7 @@ builds: [
{name: ruby-benchmarks-chunky-graal-enterprise-no-om} ${common} ${graal-enterprise-no-om} ${bench-caps} ${jruby-truffle} ${chunky-benchmarks},
{name: ruby-benchmarks-chunky-graal-vm} ${common} ${graal-vm} ${daily-bench-caps} ${jruby-truffle} ${chunky-benchmarks},
//{name: ruby-benchmarks-chunky-sulong} ${common} ${sulong-benchmarks} ${gate-caps} ${jruby-truffle} ${chunky-benchmarks-x},

//{name: ruby-benchmarks-psd-noindy} ${common} ${no-graal} ${daily-bench-caps} ${jruby-noindy-benchmark} ${psd-benchmarks},
//{name: ruby-benchmarks-psd-indy} ${common} ${no-graal} ${daily-bench-caps} ${jruby-indy-benchmark} ${psd-benchmarks},
{name: ruby-benchmarks-psd-no-graal} ${common} ${no-graal} ${weekly-bench-caps} ${jruby-truffle} ${psd-benchmarks},
@@ -442,22 +448,30 @@ builds: [
{name: ruby-benchmarks-asciidoctor-graal-enterprise-no-om} ${common} ${graal-enterprise-no-om} ${bench-caps} ${jruby-truffle} ${asciidoctor-benchmarks},
{name: ruby-benchmarks-asciidoctor-graal-vm} ${common} ${graal-vm} ${daily-bench-caps} ${jruby-truffle} ${asciidoctor-benchmarks},

{name: ruby-benchmarks-optcarrot-noindy} ${common} ${no-graal} ${daily-bench-caps} ${jruby-noindy-benchmark} ${optcarrot-benchmarks},
{name: ruby-benchmarks-optcarrot-indy} ${common} ${no-graal} ${daily-bench-caps} ${jruby-indy-benchmark} ${optcarrot-benchmarks},
{name: ruby-benchmarks-optcarrot-no-graal} ${common} ${no-graal} ${weekly-bench-caps} ${jruby-truffle} ${optcarrot-benchmarks},
{name: ruby-benchmarks-optcarrot-graal-core} ${common} ${graal-core} ${bench-caps} ${jruby-truffle} ${optcarrot-benchmarks},
{name: ruby-benchmarks-optcarrot-graal-enterprise} ${common} ${graal-enterprise} ${bench-caps} ${jruby-truffle} ${optcarrot-benchmarks},
{name: ruby-benchmarks-optcarrot-graal-enterprise-no-om} ${common} ${graal-enterprise-no-om} ${bench-caps} ${jruby-truffle} ${optcarrot-benchmarks},
{name: ruby-benchmarks-optcarrot-graal-vm} ${common} ${graal-vm} ${daily-bench-caps} ${jruby-truffle} ${optcarrot-benchmarks},

//{name: ruby-benchmarks-synthetic-noindy} ${common} ${no-graal} ${daily-bench-caps} ${jruby-noindy-benchmark} ${synthetic-benchmarks},
//{name: ruby-benchmarks-synthetic-indy} ${common} ${no-graal} ${daily-bench-caps} ${jruby-indy-benchmark} ${synthetic-benchmarks},
//{name: ruby-benchmarks-synthetic-indy} ${common} ${no-graal} ${daily-bench-caps} ${jruby-indy-benchmark} ${synthetic-benchmarks},
{name: ruby-benchmarks-synthetic-no-graal} ${common} ${no-graal} ${weekly-bench-caps} ${jruby-truffle} ${synthetic-benchmarks},
{name: ruby-benchmarks-synthetic-graal-core} ${common} ${graal-core} ${bench-caps} ${jruby-truffle} ${synthetic-benchmarks},
{name: ruby-benchmarks-synthetic-graal-enterprise} ${common} ${graal-enterprise} ${bench-caps} ${jruby-truffle} ${synthetic-benchmarks},
{name: ruby-benchmarks-synthetic-graal-enterprise-no-om} ${common} ${graal-enterprise-no-om} ${bench-caps} ${jruby-truffle} ${synthetic-benchmarks},
{name: ruby-benchmarks-synthetic-graal-vm} ${common} ${graal-vm} ${daily-bench-caps} ${jruby-truffle} ${synthetic-benchmarks},

//{name: ruby-benchmarks-micro-noindy} ${common} ${no-graal} ${daily-bench-caps} ${jruby-noindy-benchmark} ${micro-benchmarks},
//{name: ruby-benchmarks-micro-indy} ${common} ${no-graal} ${daily-bench-caps} ${jruby-indy-benchmark} ${micro-benchmarks},
{name: ruby-benchmarks-micro-no-graal} ${common} ${no-graal} ${weekly-bench-caps} ${jruby-truffle} ${micro-benchmarks},
{name: ruby-benchmarks-micro-graal-core} ${common} ${graal-core} ${bench-caps} ${jruby-truffle} ${micro-benchmarks},
{name: ruby-benchmarks-micro-graal-enterprise} ${common} ${graal-enterprise} ${bench-caps} ${jruby-truffle} ${micro-benchmarks},
{name: ruby-benchmarks-micro-graal-enterprise-no-om} ${common} ${graal-enterprise-no-om} ${bench-caps} ${jruby-truffle} ${micro-benchmarks},
{name: ruby-benchmarks-micro-graal-vm} ${common} ${graal-vm} ${daily-bench-caps} ${jruby-truffle} ${micro-benchmarks},

//{name: ruby-benchmarks-server-noindy} ${common} ${no-graal} ${daily-bench-caps} ${jruby-noindy-benchmark} ${server-benchmarks},
//{name: ruby-benchmarks-server-indy} ${common} ${no-graal} ${daily-bench-caps} ${jruby-indy-benchmark} ${server-benchmarks},
{name: ruby-benchmarks-server-no-graal} ${common} ${no-graal} ${weekly-bench-caps} ${jruby-truffle} ${server-benchmarks},
1 change: 1 addition & 0 deletions core/src/main/java/org/jruby/util/cli/Options.java
Original file line number Diff line number Diff line change
@@ -304,6 +304,7 @@ public class Options {
public static final Option<String> TRUFFLE_CALL_GRAPH_WRITE = string(TRUFFLE, "truffle.callgraph.write", "File to write the call garph to on exit.");

public static final Option<Boolean> TRUFFLE_GRAAL_WARNING_UNLESS = bool(TRUFFLE, "truffle.graal.warn_unless", true, "Warn unless the JVM has the Graal compiler.");
public static final Option<Boolean> TRUFFLE_PERF_WARNING = bool(TRUFFLE, "truffle.perf.warn", false, "Warn when using a fature which is not optimized yet.");

public static String dump() {
return "# JRuby configuration options with current values\n" +
14 changes: 14 additions & 0 deletions mx.jruby/mx_jruby.py
Original file line number Diff line number Diff line change
@@ -634,6 +634,19 @@ def benchmarks(self):
def time(self):
return asciidoctor_benchmark_time

class OptcarrotBenchmarkSuite(AllBenchmarksBenchmarkSuite):
def name(self):
return 'optcarrot'

def directory(self):
return 'optcarrot'

def benchmarks(self):
return ['optcarrot']

def time(self):
return 120

synthetic_benchmarks = [
'acid'
]
@@ -737,6 +750,7 @@ def runBenchmark(self, benchmark, bmSuiteArgs):
mx_benchmark.add_bm_suite(PSDBenchmarkSuite())
mx_benchmark.add_bm_suite(ImageDemoBenchmarkSuite())
mx_benchmark.add_bm_suite(AsciidoctorBenchmarkSuite())
mx_benchmark.add_bm_suite(OptcarrotBenchmarkSuite())
mx_benchmark.add_bm_suite(SyntheticBenchmarkSuite())
mx_benchmark.add_bm_suite(MicroBenchmarkSuite())
mx_benchmark.add_bm_suite(ServerBenchmarkSuite())
52 changes: 52 additions & 0 deletions samples/truffle/interop/asciidoctor/Asciidoctor.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,52 @@
/*
* Copyright (c) 2016 Oracle and/or its affiliates. All rights reserved. This
* code is released 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
* GNU General Public License version 2
* GNU Lesser General Public License version 2.1
*/

/*
* To compile:
*
* graalvm/bin/javac -classpath graalvm/jre/lib/truffle/truffle-api.jar samples/truffle/interop/asciidoctor/Asciidoctor.java
*
* To run:
*
* RUBYOPT=-Iasciidoctor/lib graalvm/bin/java -polyglot -classpath samples/truffle/interop/asciidoctor Asciidoctor asciidoctor/benchmark/sample-data/mdbasics.adoc
*
*/

import com.oracle.truffle.api.source.Source;
import com.oracle.truffle.api.vm.PolyglotEngine;

public class Asciidoctor {

public static void main(String[] args) throws Exception {
final PolyglotEngine polyglotEngine = PolyglotEngine
.newBuilder()
.globalSymbol("file", args[0])
.build();

polyglotEngine.eval(Source
.newBuilder("require 'asciidoctor'")
.name("hello")
.mimeType("application/x-ruby")
.build());

final Source convertSource = Source
.newBuilder("Asciidoctor.load(Truffle::Interop.from_java_string(Truffle::Interop.import('file'))).convert")
.name("convert")
.mimeType("application/x-ruby")
.build();

while (true) {
final long startTime = System.currentTimeMillis();
polyglotEngine.eval(convertSource);
System.err.println(System.currentTimeMillis() - startTime);
}
}

}
2 changes: 1 addition & 1 deletion spec/ruby/core/signal/trap_spec.rb
Original file line number Diff line number Diff line change
@@ -20,7 +20,7 @@
it "accepts a block in place of a proc/command argument" do
Signal.trap(:HUP) { ScratchPad.record :block_trap }
Process.kill :HUP, Process.pid
sleep 0.5
Thread.pass until ScratchPad.recorded
ScratchPad.recorded.should == :block_trap
end

1 change: 0 additions & 1 deletion spec/truffle/tags/core/basicobject/method_missing_tags.txt

This file was deleted.

6 changes: 0 additions & 6 deletions spec/truffle/tags/core/enumerable/grep_v_tags.txt

This file was deleted.

9 changes: 0 additions & 9 deletions spec/truffle/tags/core/enumerator/lazy/grep_v_tags.txt

This file was deleted.

8 changes: 0 additions & 8 deletions spec/truffle/tags/core/kernel/exec_tags.txt
Original file line number Diff line number Diff line change
@@ -1,8 +1,4 @@
fails:Kernel#exec raises Errno::ENOENT for an empty string
fails:Kernel#exec raises Errno::ENOENT for a command which does not exist
fails:Kernel#exec raises an ArgumentError if the command includes a null byte
fails:Kernel#exec raises Errno::EACCES when the file does not have execute permissions
fails:Kernel#exec raises Errno::EACCES when passed a directory
fails:Kernel#exec runs the specified command, replacing current process
fails:Kernel#exec sets the current directory when given the :chdir option
fails:Kernel#exec with a single argument subjects the specified command to shell expansion
@@ -14,11 +10,7 @@ fails:Kernel#exec (environment variables) unsets other environment variables whe
fails:Kernel#exec with a command array uses the first element as the command name and the second as the argv[0] value
fails:Kernel#exec with a command array coerces the argument using to_ary
fails:Kernel#exec with a command array raises an ArgumentError if the Array does not have exactly two elements
fails:Kernel.exec raises Errno::ENOENT for an empty string
fails:Kernel.exec raises Errno::ENOENT for a command which does not exist
fails:Kernel.exec raises an ArgumentError if the command includes a null byte
fails:Kernel.exec raises Errno::EACCES when the file does not have execute permissions
fails:Kernel.exec raises Errno::EACCES when passed a directory
fails:Kernel.exec runs the specified command, replacing current process
fails:Kernel.exec sets the current directory when given the :chdir option
fails:Kernel.exec with a single argument subjects the specified command to shell expansion
3 changes: 0 additions & 3 deletions spec/truffle/tags/core/marshal/load_tags.txt
Original file line number Diff line number Diff line change
@@ -2,9 +2,6 @@ fails:Marshal.load loads an array containing objects having _dump method, and wi
fails:Marshal.load loads an array containing objects having marshal_dump method, and with proc
fails:Marshal.load loads a Random
fails:Marshal.load for an Array loads an array containing the same objects
fails:Marshal.load for an Exception loads a marshalled exception with no message
fails:Marshal.load for an Exception loads a marshalled exception with a message
fails:Marshal.load for an Exception loads a marshalled exception with a backtrace
fails:Marshal.load for a user Class raises ArgumentError if the object from an 'o' stream is not dumpable as 'o' type user class
fails:Marshal.load for a user Class that extends a core type other than Object or BasicObject raises ArgumentError if the resulting class does not extend the same type
fails:Marshal.load for a wrapped C pointer loads
3 changes: 0 additions & 3 deletions spec/truffle/tags/core/marshal/restore_tags.txt
Original file line number Diff line number Diff line change
@@ -5,9 +5,6 @@ fails:Marshal.restore loads an array containing objects having marshal_dump meth
fails:Marshal.restore loads an Array with proc
fails:Marshal.restore loads a Random
fails:Marshal.restore for an Array loads an array containing the same objects
fails:Marshal.restore for an Exception loads a marshalled exception with no message
fails:Marshal.restore for an Exception loads a marshalled exception with a message
fails:Marshal.restore for an Exception loads a marshalled exception with a backtrace
fails:Marshal.restore for a user Class raises ArgumentError if the object from an 'o' stream is not dumpable as 'o' type user class
fails:Marshal.restore for a user Class that extends a core type other than Object or BasicObject raises ArgumentError if the resulting class does not extend the same type
fails:Marshal.restore for a wrapped C pointer loads
1 change: 0 additions & 1 deletion spec/truffle/tags/core/time/at_tags.txt
Original file line number Diff line number Diff line change
@@ -1,4 +1,3 @@
fails:Time.at passed Numeric returns a subclass instance on a Time subclass
fails:Time.at passed Time returns a subclass instance
fails:Time.at passed Numeric roundtrips a Rational produced by #to_r
fails:Time.at passed Numeric passed BigDecimal doesn't round input value
3 changes: 3 additions & 0 deletions truffle/src/main/java/org/jruby/truffle/Layouts.java
Original file line number Diff line number Diff line change
@@ -84,6 +84,8 @@
import org.jruby.truffle.core.string.StringLayoutImpl;
import org.jruby.truffle.core.symbol.SymbolLayout;
import org.jruby.truffle.core.symbol.SymbolLayoutImpl;
import org.jruby.truffle.core.thread.ThreadBacktraceLocationLayout;
import org.jruby.truffle.core.thread.ThreadBacktraceLocationLayoutImpl;
import org.jruby.truffle.core.thread.ThreadLayout;
import org.jruby.truffle.core.thread.ThreadLayoutImpl;
import org.jruby.truffle.core.time.TimeLayout;
@@ -136,6 +138,7 @@ public abstract class Layouts {
public static final StringLayout STRING = StringLayoutImpl.INSTANCE;
public static final SymbolLayout SYMBOL = SymbolLayoutImpl.INSTANCE;
public static final ThreadLayout THREAD = ThreadLayoutImpl.INSTANCE;
public static final ThreadBacktraceLocationLayout THREAD_BACKTRACE_LOCATION = ThreadBacktraceLocationLayoutImpl.INSTANCE;
public static final TimeLayout TIME = TimeLayoutImpl.INSTANCE;
public static final UnboundMethodLayout UNBOUND_METHOD = UnboundMethodLayoutImpl.INSTANCE;
public static final WeakRefLayout WEAK_REF_LAYOUT = WeakRefLayoutImpl.INSTANCE;
4 changes: 3 additions & 1 deletion truffle/src/main/java/org/jruby/truffle/RubyContext.java
Original file line number Diff line number Diff line change
@@ -70,7 +70,7 @@ public class RubyContext extends ExecutionContext {
private final PrimitiveManager primitiveManager = new PrimitiveManager();
private final JRubyInterop jrubyInterop = new JRubyInterop(this);
private final SafepointManager safepointManager = new SafepointManager(this);
private final SymbolTable symbolTable = new SymbolTable(this);
private final SymbolTable symbolTable;
private final InteropManager interopManager = new InteropManager(this);
private final CodeLoader codeLoader = new CodeLoader(this);
private final FeatureLoader featureLoader = new FeatureLoader(this);
@@ -141,6 +141,8 @@ public RubyContext(Ruby jrubyRuntime, TruffleLanguage.Env env) {
coreLibrary = new CoreLibrary(this);
coreLibrary.initialize();

symbolTable = new SymbolTable(coreLibrary.getSymbolFactory());

// Create objects that need core classes

nativePlatform = NativePlatformFactory.createPlatform(this);
Loading