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: e87a864f9d6d
Choose a base ref
...
head repository: jruby/jruby
Failed to load repositories. Confirm that selected head ref is valid, then try again.
Loading
compare: 2ec8488e5067
Choose a head ref
  • 12 commits
  • 70 files changed
  • 2 contributors

Commits on May 7, 2015

  1. Copy the full SHA
    a5b4813 View commit details
  2. Copy the full SHA
    af42d09 View commit details
  3. Copy the full SHA
    740b5e5 View commit details
  4. Copy the full SHA
    76ac629 View commit details
  5. Copy the full SHA
    b5e081c View commit details
  6. Copy the full SHA
    15863ec View commit details
  7. 2
    Copy the full SHA
    dc1de58 View commit details
  8. Copy the full SHA
    440a90f View commit details
  9. Copy the full SHA
    d41a2b5 View commit details
  10. Copy the full SHA
    293435f View commit details
  11. Copy the full SHA
    251030d View commit details
  12. Copy the full SHA
    2ec8488 View commit details
Showing with 301 additions and 534 deletions.
  1. +0 −1 spec/truffle/tags/core/file/truncate_tags.txt
  2. +0 −8 truffle/src/main/java/org/jruby/truffle/nodes/RubyNode.java
  3. +2 −1 truffle/src/main/java/org/jruby/truffle/nodes/{ → constants}/ReadConstantNode.java
  4. +2 −1 truffle/src/main/java/org/jruby/truffle/nodes/{ → constants}/WriteConstantNode.java
  5. +2 −1 truffle/src/main/java/org/jruby/truffle/nodes/{ → control}/ForNode.java
  6. +13 −0 truffle/src/main/java/org/jruby/truffle/nodes/core/ArrayBuilderNode.java
  7. +6 −5 truffle/src/main/java/org/jruby/truffle/nodes/core/ArrayDropTailNode.java
  8. +6 −5 truffle/src/main/java/org/jruby/truffle/nodes/core/ArrayGetTailNode.java
  9. +28 −29 truffle/src/main/java/org/jruby/truffle/nodes/core/ArrayNodes.java
  10. +2 −1 truffle/src/main/java/org/jruby/truffle/nodes/core/ArrayPushNode.java
  11. +6 −5 truffle/src/main/java/org/jruby/truffle/nodes/core/ArraySliceNode.java
  12. +4 −4 truffle/src/main/java/org/jruby/truffle/nodes/core/BasicObjectNodes.java
  13. +3 −3 truffle/src/main/java/org/jruby/truffle/nodes/core/BignumNodes.java
  14. +5 −4 truffle/src/main/java/org/jruby/truffle/nodes/core/BindingNodes.java
  15. +0 −2 truffle/src/main/java/org/jruby/truffle/nodes/core/EncodingConverterNodes.java
  16. +9 −9 truffle/src/main/java/org/jruby/truffle/nodes/core/EncodingNodes.java
  17. +3 −2 truffle/src/main/java/org/jruby/truffle/nodes/core/ExceptionNodes.java
  18. +2 −2 truffle/src/main/java/org/jruby/truffle/nodes/core/FiberNodes.java
  19. +1 −1 truffle/src/main/java/org/jruby/truffle/nodes/core/FixnumNodes.java
  20. +8 −30 truffle/src/main/java/org/jruby/truffle/nodes/core/HashNodes.java
  21. +0 −8 truffle/src/main/java/org/jruby/truffle/nodes/core/IntegerNodes.java
  22. +2 −1 truffle/src/main/java/org/jruby/truffle/nodes/core/InteroplatedRegexpNode.java
  23. +35 −35 truffle/src/main/java/org/jruby/truffle/nodes/core/KernelNodes.java
  24. +0 −2 truffle/src/main/java/org/jruby/truffle/nodes/core/MainNodes.java
  25. +10 −10 truffle/src/main/java/org/jruby/truffle/nodes/core/MatchDataNodes.java
  26. +3 −3 truffle/src/main/java/org/jruby/truffle/nodes/core/MethodNodes.java
  27. +61 −61 truffle/src/main/java/org/jruby/truffle/nodes/core/ModuleNodes.java
  28. +6 −8 truffle/src/main/java/org/jruby/truffle/nodes/core/ObjectSpaceNodes.java
  29. +3 −5 truffle/src/main/java/org/jruby/truffle/nodes/core/ProcNodes.java
  30. +2 −4 truffle/src/main/java/org/jruby/truffle/nodes/core/ProcessNodes.java
  31. +4 −11 truffle/src/main/java/org/jruby/truffle/nodes/core/RegexpNodes.java
  32. +9 −36 truffle/src/main/java/org/jruby/truffle/nodes/core/StringNodes.java
  33. +6 −23 truffle/src/main/java/org/jruby/truffle/nodes/core/SymbolNodes.java
  34. +0 −17 truffle/src/main/java/org/jruby/truffle/nodes/core/ThreadNodes.java
  35. +11 −22 truffle/src/main/java/org/jruby/truffle/nodes/core/TrufflePrimitiveNodes.java
  36. +3 −5 truffle/src/main/java/org/jruby/truffle/nodes/core/UnboundMethodNodes.java
  37. +1 −2 truffle/src/main/java/org/jruby/truffle/nodes/dispatch/CachedBoxedDispatchNode.java
  38. +1 −1 truffle/src/main/java/org/jruby/truffle/nodes/methods/locals/ReadLevelVariableNode.java
  39. +1 −1 truffle/src/main/java/org/jruby/truffle/nodes/methods/locals/ReadLocalVariableNode.java
  40. +1 −1 truffle/src/main/java/org/jruby/truffle/nodes/methods/locals/WriteLevelVariableNode.java
  41. +1 −1 truffle/src/main/java/org/jruby/truffle/nodes/methods/locals/WriteLocalVariableNode.java
  42. +1 −1 truffle/src/main/java/org/jruby/truffle/nodes/objects/ReadInstanceVariableNode.java
  43. +1 −1 truffle/src/main/java/org/jruby/truffle/nodes/objects/WriteInstanceVariableNode.java
  44. +3 −2 truffle/src/main/java/org/jruby/truffle/nodes/rubinius/EncodingConverterPrimitiveNodes.java
  45. +0 −4 truffle/src/main/java/org/jruby/truffle/nodes/rubinius/EncodingPrimitiveNodes.java
  46. +1 −2 truffle/src/main/java/org/jruby/truffle/nodes/rubinius/FixnumPrimitiveNodes.java
  47. +1 −2 truffle/src/main/java/org/jruby/truffle/nodes/rubinius/FloatPrimitiveNodes.java
  48. +6 −1 truffle/src/main/java/org/jruby/truffle/nodes/rubinius/IOPrimitiveNodes.java
  49. +1 −10 truffle/src/main/java/org/jruby/truffle/nodes/rubinius/RandomPrimitiveNodes.java
  50. +1 −8 truffle/src/main/java/org/jruby/truffle/nodes/rubinius/RegexpPrimitiveNodes.java
  51. +4 −16 truffle/src/main/java/org/jruby/truffle/nodes/rubinius/StringPrimitiveNodes.java
  52. +2 −1 truffle/src/main/java/org/jruby/truffle/nodes/rubinius/SymbolPrimitiveNodes.java
  53. +1 −7 truffle/src/main/java/org/jruby/truffle/nodes/rubinius/VMPrimitiveNodes.java
  54. +6 −0 truffle/src/main/java/org/jruby/truffle/pack/parser/FormatTokenizer.java
  55. +0 −10 truffle/src/main/java/org/jruby/truffle/runtime/core/CoreLibrary.java
  56. +0 −10 truffle/src/main/java/org/jruby/truffle/runtime/core/RubyArray.java
  57. +0 −22 truffle/src/main/java/org/jruby/truffle/runtime/core/RubyBasicObject.java
  58. +0 −2 truffle/src/main/java/org/jruby/truffle/runtime/core/RubyClass.java
  59. +0 −10 truffle/src/main/java/org/jruby/truffle/runtime/core/RubyFiber.java
  60. +0 −2 truffle/src/main/java/org/jruby/truffle/runtime/core/RubyMatchData.java
  61. +2 −34 truffle/src/main/java/org/jruby/truffle/runtime/core/RubyModule.java
  62. +0 −2 truffle/src/main/java/org/jruby/truffle/runtime/core/RubyProc.java
  63. +0 −4 truffle/src/main/java/org/jruby/truffle/runtime/core/RubyRegexp.java
  64. +0 −2 truffle/src/main/java/org/jruby/truffle/runtime/core/RubyString.java
  65. +0 −4 truffle/src/main/java/org/jruby/truffle/runtime/core/RubySymbol.java
  66. +0 −2 truffle/src/main/java/org/jruby/truffle/runtime/core/RubyThread.java
  67. +3 −1 truffle/src/main/java/org/jruby/truffle/translator/BodyTranslator.java
  68. +0 −1 truffle/src/main/java/org/jruby/truffle/translator/LoadArgumentsTranslator.java
  69. +3 −1 truffle/src/main/java/org/jruby/truffle/{nodes → translator}/ReadNode.java
  70. +3 −1 truffle/src/main/java/org/jruby/truffle/{nodes → translator}/WriteNode.java
1 change: 0 additions & 1 deletion spec/truffle/tags/core/file/truncate_tags.txt
Original file line number Diff line number Diff line change
@@ -1,2 +1 @@
fails:File.truncate raises an Errno::EINVAL if the length argument is not valid
fails:File#truncate raises an IOError if file is closed
8 changes: 0 additions & 8 deletions truffle/src/main/java/org/jruby/truffle/nodes/RubyNode.java
Original file line number Diff line number Diff line change
@@ -265,14 +265,6 @@ public RubyContext getContext() {
return context;
}

// notDesignedForCompilation() helper

// TODO CS 30-Apr-15 inline this when we think it's working well

public static void notDesignedForCompilation() {
CompilerDirectives.transferToInterpreter();
}

// ruby() helper

protected Object ruby(VirtualFrame frame, String expression, Object... arguments) {
Original file line number Diff line number Diff line change
@@ -7,11 +7,12 @@
* GNU General Public License version 2
* GNU Lesser General Public License version 2.1
*/
package org.jruby.truffle.nodes;
package org.jruby.truffle.nodes.constants;

import com.oracle.truffle.api.CompilerDirectives;
import com.oracle.truffle.api.frame.VirtualFrame;
import com.oracle.truffle.api.source.SourceSection;
import org.jruby.truffle.nodes.RubyNode;
import org.jruby.truffle.nodes.dispatch.DispatchAction;
import org.jruby.truffle.nodes.dispatch.DispatchHeadNode;
import org.jruby.truffle.nodes.dispatch.MissingBehavior;
Original file line number Diff line number Diff line change
@@ -7,11 +7,12 @@
* GNU General Public License version 2
* GNU Lesser General Public License version 2.1
*/
package org.jruby.truffle.nodes;
package org.jruby.truffle.nodes.constants;

import com.oracle.truffle.api.CompilerDirectives;
import com.oracle.truffle.api.frame.VirtualFrame;
import com.oracle.truffle.api.source.SourceSection;
import org.jruby.truffle.nodes.RubyNode;
import org.jruby.truffle.runtime.RubyContext;
import org.jruby.truffle.runtime.control.RaiseException;
import org.jruby.truffle.runtime.core.RubyModule;
Original file line number Diff line number Diff line change
@@ -7,10 +7,11 @@
* GNU General Public License version 2
* GNU Lesser General Public License version 2.1
*/
package org.jruby.truffle.nodes;
package org.jruby.truffle.nodes.control;

import com.oracle.truffle.api.frame.VirtualFrame;
import com.oracle.truffle.api.source.SourceSection;
import org.jruby.truffle.nodes.RubyNode;
import org.jruby.truffle.runtime.RubyContext;

public class ForNode extends RubyNode {
Original file line number Diff line number Diff line change
@@ -381,6 +381,7 @@ public static class ObjectArrayBuilderNode extends ArrayBuilderNode {
private final int expectedLength;

@CompilerDirectives.CompilationFinal private boolean hasAppendedObjectArray = false;
@CompilerDirectives.CompilationFinal private boolean hasAppendedIntArray = false;

public ObjectArrayBuilderNode(RubyContext context, int expectedLength) {
super(context);
@@ -432,9 +433,21 @@ public Object append(Object store, int index, RubyArray array) {
return store;
}

if (hasAppendedIntArray && otherStore instanceof int[]) {
final Object[] objectStore = (Object[]) store;
final int[] otherIntStore = (int[]) otherStore;

for (int n = 0; n < array.getSize(); n++) {
objectStore[index + n] = otherIntStore[n];
}

return store;
}

CompilerDirectives.transferToInterpreterAndInvalidate();

if (otherStore instanceof int[]) {
hasAppendedIntArray = true;
for (int n = 0; n < array.getSize(); n++) {
((Object[]) store)[index + n] = ((int[]) otherStore)[n];
}
Original file line number Diff line number Diff line change
@@ -9,6 +9,7 @@
*/
package org.jruby.truffle.nodes.core;

import com.oracle.truffle.api.CompilerDirectives;
import com.oracle.truffle.api.dsl.ImportStatic;
import com.oracle.truffle.api.dsl.NodeChild;
import com.oracle.truffle.api.dsl.NodeChildren;
@@ -32,14 +33,14 @@ public ArrayDropTailNode(RubyContext context, SourceSection sourceSection, int i

@Specialization(guards = "isNull(array)")
public RubyArray getHeadNull(RubyArray array) {
notDesignedForCompilation();
CompilerDirectives.transferToInterpreter();

return new RubyArray(getContext().getCoreLibrary().getArrayClass());
}

@Specialization(guards = "isIntegerFixnum(array)")
public RubyArray getHeadIntegerFixnum(RubyArray array) {
notDesignedForCompilation();
CompilerDirectives.transferToInterpreter();

if (index >= array.getSize()) {
return new RubyArray(getContext().getCoreLibrary().getArrayClass());
@@ -50,7 +51,7 @@ public RubyArray getHeadIntegerFixnum(RubyArray array) {

@Specialization(guards = "isLongFixnum(array)")
public RubyArray geHeadLongFixnum(RubyArray array) {
notDesignedForCompilation();
CompilerDirectives.transferToInterpreter();

if (index >= array.getSize()) {
return new RubyArray(getContext().getCoreLibrary().getArrayClass());
@@ -62,7 +63,7 @@ public RubyArray geHeadLongFixnum(RubyArray array) {

@Specialization(guards = "isFloat(array)")
public RubyArray getHeadFloat(RubyArray array) {
notDesignedForCompilation();
CompilerDirectives.transferToInterpreter();

if (index >= array.getSize()) {
return new RubyArray(getContext().getCoreLibrary().getArrayClass());
@@ -74,7 +75,7 @@ public RubyArray getHeadFloat(RubyArray array) {

@Specialization(guards = "isObject(array)")
public RubyArray getHeadObject(RubyArray array) {
notDesignedForCompilation();
CompilerDirectives.transferToInterpreter();

if (index >= array.getSize()) {
return new RubyArray(getContext().getCoreLibrary().getArrayClass());
Original file line number Diff line number Diff line change
@@ -9,6 +9,7 @@
*/
package org.jruby.truffle.nodes.core;

import com.oracle.truffle.api.CompilerDirectives;
import com.oracle.truffle.api.dsl.ImportStatic;
import com.oracle.truffle.api.dsl.NodeChild;
import com.oracle.truffle.api.dsl.NodeChildren;
@@ -32,14 +33,14 @@ public ArrayGetTailNode(RubyContext context, SourceSection sourceSection, int in

@Specialization(guards = "isNull(array)")
public RubyArray getTailNull(RubyArray array) {
notDesignedForCompilation();
CompilerDirectives.transferToInterpreter();

return new RubyArray(getContext().getCoreLibrary().getArrayClass());
}

@Specialization(guards = "isIntegerFixnum(array)")
public RubyArray getTailIntegerFixnum(RubyArray array) {
notDesignedForCompilation();
CompilerDirectives.transferToInterpreter();

if (index >= array.getSize()) {
return new RubyArray(getContext().getCoreLibrary().getArrayClass());
@@ -50,7 +51,7 @@ public RubyArray getTailIntegerFixnum(RubyArray array) {

@Specialization(guards = "isLongFixnum(array)")
public RubyArray getTailLongFixnum(RubyArray array) {
notDesignedForCompilation();
CompilerDirectives.transferToInterpreter();

if (index >= array.getSize()) {
return new RubyArray(getContext().getCoreLibrary().getArrayClass());
@@ -61,7 +62,7 @@ public RubyArray getTailLongFixnum(RubyArray array) {

@Specialization(guards = "isFloat(array)")
public RubyArray getTailFloat(RubyArray array) {
notDesignedForCompilation();
CompilerDirectives.transferToInterpreter();

if (index >= array.getSize()) {
return new RubyArray(getContext().getCoreLibrary().getArrayClass());
@@ -72,7 +73,7 @@ public RubyArray getTailFloat(RubyArray array) {

@Specialization(guards = "isObject(array)")
public RubyArray getTailObject(RubyArray array) {
notDesignedForCompilation();
CompilerDirectives.transferToInterpreter();

if (index >= array.getSize()) {
return new RubyArray(getContext().getCoreLibrary().getArrayClass());
Loading