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: af5720de5c13
Choose a base ref
...
head repository: jruby/jruby
Failed to load repositories. Confirm that selected head ref is valid, then try again.
Loading
compare: 7f591b655c0f
Choose a head ref
  • 3 commits
  • 28 files changed
  • 1 contributor

Commits on Mar 3, 2016

  1. Copy the full SHA
    e2de847 View commit details

Commits on Mar 4, 2016

  1. Copy the full SHA
    0aca75f View commit details
  2. Copy the full SHA
    7f591b6 View commit details
Showing with 619 additions and 803 deletions.
  1. +1 −1 truffle/src/main/java/org/jruby/truffle/core/ProcessNodes.java
  2. +0 −2 truffle/src/main/java/org/jruby/truffle/core/format/nodes/read/ReadBase64StringNode.java
  3. +0 −2 truffle/src/main/java/org/jruby/truffle/core/format/nodes/read/ReadBitStringNode.java
  4. +0 −3 truffle/src/main/java/org/jruby/truffle/core/format/nodes/read/ReadHexStringNode.java
  5. +0 −2 truffle/src/main/java/org/jruby/truffle/core/format/nodes/read/ReadMIMEStringNode.java
  6. +0 −2 truffle/src/main/java/org/jruby/truffle/core/format/nodes/read/ReadUUStringNode.java
  7. +0 −3 truffle/src/main/java/org/jruby/truffle/core/hash/HashNodes.java
  8. +1 −1 truffle/src/main/java/org/jruby/truffle/core/module/ModuleFields.java
  9. +1 −1 truffle/src/main/java/org/jruby/truffle/core/rubinius/PosixNodes.java
  10. +0 −1 truffle/src/main/java/org/jruby/truffle/core/string/StringLayout.java
  11. +2 −3 truffle/src/main/java/org/jruby/truffle/core/string/StringNodes.java
  12. +2 −2 truffle/src/main/java/org/jruby/truffle/language/RubyNode.java
  13. +0 −1 truffle/src/main/java/org/jruby/truffle/language/loader/FeatureLoader.java
  14. +0 −1 truffle/src/main/java/org/jruby/truffle/language/objects/DefineModuleNode.java
  15. +0 −1 truffle/src/main/java/org/jruby/truffle/language/objects/SingletonClassNode.java
  16. +2 −2 truffle/src/main/java/org/jruby/truffle/platform/NativePlatform.java
  17. +8 −7 truffle/src/main/java/org/jruby/truffle/platform/darwin/DarwinPlatform.java
  18. +1 −1 truffle/src/main/java/org/jruby/truffle/platform/java/JavaClockGetTime.java
  19. +0 −25 truffle/src/main/java/org/jruby/truffle/platform/java/JavaLibC.java
  20. +7 −7 truffle/src/main/java/org/jruby/truffle/platform/java/JavaPlatform.java
  21. +0 −657 truffle/src/main/java/org/jruby/truffle/platform/java/POSIXDelegator.java
  22. +55 −65 truffle/src/main/java/org/jruby/truffle/platform/java/TruffleJavaPOSIX.java
  23. +8 −7 truffle/src/main/java/org/jruby/truffle/platform/linux/LinuxPlatform.java
  24. +422 −0 truffle/src/main/java/org/jruby/truffle/platform/posix/JNRPosix.java
  25. +3 −3 truffle/src/main/java/org/jruby/truffle/platform/posix/TrufflePOSIXHandler.java
  26. +105 −0 truffle/src/main/java/org/jruby/truffle/platform/posix/TrufflePosix.java
  27. +0 −3 truffle/src/main/java/org/jruby/truffle/platform/sunmisc/SunMiscSignalManager.java
  28. +1 −0 truffle/src/main/java/org/jruby/truffle/tools/InstrumentationServerManager.java
Original file line number Diff line number Diff line change
@@ -19,11 +19,11 @@
import com.oracle.truffle.api.source.SourceSection;
import org.jruby.truffle.RubyContext;
import org.jruby.truffle.core.cast.DefaultValueNodeGen;
import org.jruby.truffle.platform.posix.TimeSpec;
import org.jruby.truffle.language.RubyGuards;
import org.jruby.truffle.language.RubyNode;
import org.jruby.truffle.language.control.RaiseException;
import org.jruby.truffle.platform.posix.ClockGetTime;
import org.jruby.truffle.platform.posix.TimeSpec;
import org.jruby.truffle.platform.signal.Signal;

@CoreClass(name = "Process")
Original file line number Diff line number Diff line change
@@ -9,12 +9,10 @@
*/
package org.jruby.truffle.core.format.nodes.read;

import com.oracle.truffle.api.dsl.Cached;
import com.oracle.truffle.api.dsl.NodeChild;
import com.oracle.truffle.api.dsl.NodeChildren;
import com.oracle.truffle.api.dsl.Specialization;
import com.oracle.truffle.api.frame.VirtualFrame;
import org.jcodings.Encoding;
import org.jcodings.specific.ASCIIEncoding;
import org.jruby.truffle.RubyContext;
import org.jruby.truffle.core.Layouts;
Original file line number Diff line number Diff line change
@@ -9,12 +9,10 @@
*/
package org.jruby.truffle.core.format.nodes.read;

import com.oracle.truffle.api.dsl.Cached;
import com.oracle.truffle.api.dsl.NodeChild;
import com.oracle.truffle.api.dsl.NodeChildren;
import com.oracle.truffle.api.dsl.Specialization;
import com.oracle.truffle.api.frame.VirtualFrame;
import org.jcodings.Encoding;
import org.jcodings.specific.ASCIIEncoding;
import org.jruby.truffle.RubyContext;
import org.jruby.truffle.core.Layouts;
Original file line number Diff line number Diff line change
@@ -9,13 +9,10 @@
*/
package org.jruby.truffle.core.format.nodes.read;

import com.oracle.truffle.api.CompilerDirectives.TruffleBoundary;
import com.oracle.truffle.api.dsl.Cached;
import com.oracle.truffle.api.dsl.NodeChild;
import com.oracle.truffle.api.dsl.NodeChildren;
import com.oracle.truffle.api.dsl.Specialization;
import com.oracle.truffle.api.frame.VirtualFrame;
import org.jcodings.Encoding;
import org.jcodings.specific.ASCIIEncoding;
import org.jruby.truffle.RubyContext;
import org.jruby.truffle.core.Layouts;
Original file line number Diff line number Diff line change
@@ -9,12 +9,10 @@
*/
package org.jruby.truffle.core.format.nodes.read;

import com.oracle.truffle.api.dsl.Cached;
import com.oracle.truffle.api.dsl.NodeChild;
import com.oracle.truffle.api.dsl.NodeChildren;
import com.oracle.truffle.api.dsl.Specialization;
import com.oracle.truffle.api.frame.VirtualFrame;
import org.jcodings.Encoding;
import org.jcodings.specific.ASCIIEncoding;
import org.jruby.truffle.RubyContext;
import org.jruby.truffle.core.Layouts;
Original file line number Diff line number Diff line change
@@ -10,12 +10,10 @@
package org.jruby.truffle.core.format.nodes.read;

import com.oracle.truffle.api.CompilerDirectives;
import com.oracle.truffle.api.dsl.Cached;
import com.oracle.truffle.api.dsl.NodeChild;
import com.oracle.truffle.api.dsl.NodeChildren;
import com.oracle.truffle.api.dsl.Specialization;
import com.oracle.truffle.api.frame.VirtualFrame;
import org.jcodings.Encoding;
import org.jcodings.specific.ASCIIEncoding;
import org.jruby.truffle.RubyContext;
import org.jruby.truffle.core.Layouts;
Original file line number Diff line number Diff line change
@@ -34,7 +34,6 @@
import org.jruby.truffle.core.array.ArrayBuilderNode;
import org.jruby.truffle.core.basicobject.BasicObjectNodes;
import org.jruby.truffle.core.basicobject.BasicObjectNodesFactory;
import org.jruby.truffle.core.proc.ProcNodes;
import org.jruby.truffle.language.NotProvided;
import org.jruby.truffle.language.RubyGuards;
import org.jruby.truffle.language.RubyNode;
@@ -45,8 +44,6 @@
import org.jruby.truffle.language.methods.InternalMethod;
import org.jruby.truffle.language.objects.AllocateObjectNode;
import org.jruby.truffle.language.objects.AllocateObjectNodeGen;
import org.jruby.truffle.language.yield.CallBlockNode;
import org.jruby.truffle.language.yield.CallBlockNodeGen;
import org.jruby.truffle.language.yield.YieldNode;

import java.util.Arrays;
Original file line number Diff line number Diff line change
@@ -22,7 +22,6 @@
import org.jruby.truffle.core.Layouts;
import org.jruby.truffle.core.klass.ClassNodes;
import org.jruby.truffle.core.method.MethodFilter;
import org.jruby.truffle.core.module.ModuleNodes.IsSingletonClassNode;
import org.jruby.truffle.language.RubyConstant;
import org.jruby.truffle.language.RubyGuards;
import org.jruby.truffle.language.RubyNode;
@@ -32,6 +31,7 @@
import org.jruby.truffle.language.objects.IsFrozenNodeGen;
import org.jruby.truffle.language.objects.ObjectGraphNode;
import org.jruby.truffle.language.objects.ObjectIDOperations;

import java.util.ArrayDeque;
import java.util.Collection;
import java.util.Collections;
Original file line number Diff line number Diff line change
@@ -806,7 +806,7 @@ public IsATTYNode(RubyContext context, SourceSection sourceSection) {

@Specialization
public int isATTY(int fd) {
return posix().libc().isatty(fd);
return posix().isatty(fd);
}

}
Original file line number Diff line number Diff line change
@@ -15,7 +15,6 @@
import org.jruby.truffle.core.basicobject.BasicObjectLayout;
import org.jruby.truffle.core.rope.Rope;
import org.jruby.truffle.om.dsl.api.Layout;
import org.jruby.truffle.om.dsl.api.Nullable;

@Layout
public interface StringLayout extends BasicObjectLayout {
Original file line number Diff line number Diff line change
@@ -40,7 +40,6 @@
import com.oracle.truffle.api.profiles.BranchProfile;
import com.oracle.truffle.api.profiles.ConditionProfile;
import com.oracle.truffle.api.source.SourceSection;
import jnr.posix.POSIX;
import org.jcodings.Encoding;
import org.jcodings.specific.ASCIIEncoding;
import org.jcodings.specific.UTF8Encoding;
@@ -80,7 +79,6 @@
import org.jruby.truffle.core.rope.RopeNodes;
import org.jruby.truffle.core.rope.RopeNodesFactory;
import org.jruby.truffle.core.rope.RopeOperations;
import org.jruby.truffle.core.rubinius.ByteArrayNodes;
import org.jruby.truffle.core.rubinius.StringPrimitiveNodes;
import org.jruby.truffle.core.rubinius.StringPrimitiveNodesFactory;
import org.jruby.truffle.language.NotProvided;
@@ -95,6 +93,7 @@
import org.jruby.truffle.language.objects.IsFrozenNodeGen;
import org.jruby.truffle.language.objects.TaintNode;
import org.jruby.truffle.language.objects.TaintNodeGen;
import org.jruby.truffle.platform.posix.TrufflePosix;
import org.jruby.util.ByteList;
import org.jruby.util.CodeRangeable;
import org.jruby.util.ConvertDouble;
@@ -887,7 +886,7 @@ public Object crypt(DynamicObject string, DynamicObject salt) {
throw new RaiseException(coreLibrary().argumentError("salt too short (need >= 2 bytes)", this));
}

final POSIX posix = posix();
final TrufflePosix posix = posix();
final byte[] keyBytes = Arrays.copyOfRange(value.getBytes(), 0, value.byteLength());
final byte[] saltBytes = Arrays.copyOfRange(other.getBytes(), 0, other.byteLength());

Original file line number Diff line number Diff line change
@@ -18,7 +18,6 @@
import com.oracle.truffle.api.object.DynamicObjectFactory;
import com.oracle.truffle.api.source.SourceSection;
import jnr.ffi.provider.MemoryManager;
import jnr.posix.POSIX;
import org.jcodings.Encoding;
import org.jruby.truffle.RubyContext;
import org.jruby.truffle.core.CoreLibrary;
@@ -28,6 +27,7 @@
import org.jruby.truffle.core.string.CoreStrings;
import org.jruby.truffle.core.string.StringOperations;
import org.jruby.truffle.platform.posix.Sockets;
import org.jruby.truffle.platform.posix.TrufflePosix;
import org.jruby.util.ByteList;

@TypeSystemReference(RubyTypes.class)
@@ -179,7 +179,7 @@ protected CoreLibrary coreLibrary() {
return getContext().getCoreLibrary();
}

protected POSIX posix() {
protected TrufflePosix posix() {
return getContext().getNativePlatform().getPosix();
}

Original file line number Diff line number Diff line change
@@ -11,7 +11,6 @@

import com.oracle.truffle.api.frame.VirtualFrame;
import com.oracle.truffle.api.nodes.IndirectCallNode;
import com.oracle.truffle.api.nodes.Node;
import com.oracle.truffle.api.object.DynamicObject;
import com.oracle.truffle.api.source.Source;
import org.jcodings.specific.UTF8Encoding;
Original file line number Diff line number Diff line change
@@ -10,7 +10,6 @@
package org.jruby.truffle.language.objects;

import com.oracle.truffle.api.CompilerDirectives;
import com.oracle.truffle.api.CompilerDirectives.TruffleBoundary;
import com.oracle.truffle.api.frame.VirtualFrame;
import com.oracle.truffle.api.nodes.IndirectCallNode;
import com.oracle.truffle.api.object.DynamicObject;
Original file line number Diff line number Diff line change
@@ -19,7 +19,6 @@
import org.jruby.truffle.RubyContext;
import org.jruby.truffle.core.Layouts;
import org.jruby.truffle.core.klass.ClassNodes;
import org.jruby.truffle.language.RubyGuards;
import org.jruby.truffle.language.RubyNode;
import org.jruby.truffle.language.control.RaiseException;

Original file line number Diff line number Diff line change
@@ -10,16 +10,16 @@
package org.jruby.truffle.platform;

import jnr.ffi.provider.MemoryManager;
import jnr.posix.POSIX;
import org.jruby.truffle.core.queue.ArrayBlockingQueueLocksConditions;
import org.jruby.truffle.core.queue.LinkedBlockingQueueLocksConditions;
import org.jruby.truffle.platform.posix.ClockGetTime;
import org.jruby.truffle.platform.posix.Sockets;
import org.jruby.truffle.platform.posix.TrufflePosix;
import org.jruby.truffle.platform.signal.SignalManager;

public interface NativePlatform {

POSIX getPosix();
TrufflePosix getPosix();

MemoryManager getMemoryManager();

Original file line number Diff line number Diff line change
@@ -12,27 +12,28 @@
import jnr.ffi.LibraryLoader;
import jnr.ffi.Runtime;
import jnr.ffi.provider.MemoryManager;
import jnr.posix.POSIX;
import jnr.posix.POSIXFactory;
import org.jruby.truffle.RubyContext;
import org.jruby.truffle.core.queue.ArrayBlockingQueueLocksConditions;
import org.jruby.truffle.core.queue.LinkedBlockingQueueLocksConditions;
import org.jruby.truffle.platform.posix.ClockGetTime;
import org.jruby.truffle.platform.DefaultRubiniusConfiguration;
import org.jruby.truffle.platform.NativePlatform;
import org.jruby.truffle.platform.ProcessName;
import org.jruby.truffle.platform.RubiniusConfiguration;
import org.jruby.truffle.platform.posix.Sockets;
import org.jruby.truffle.platform.posix.TrufflePOSIXHandler;
import org.jruby.truffle.platform.java.JavaClockGetTime;
import org.jruby.truffle.platform.openjdk.OpenJDKArrayBlockingQueueLocksConditions;
import org.jruby.truffle.platform.openjdk.OpenJDKLinkedBlockingQueueLocksConditions;
import org.jruby.truffle.platform.posix.ClockGetTime;
import org.jruby.truffle.platform.posix.JNRPosix;
import org.jruby.truffle.platform.posix.Sockets;
import org.jruby.truffle.platform.posix.TrufflePosixHandler;
import org.jruby.truffle.platform.posix.TrufflePosix;
import org.jruby.truffle.platform.signal.SignalManager;
import org.jruby.truffle.platform.sunmisc.SunMiscSignalManager;

public class DarwinPlatform implements NativePlatform {

private final POSIX posix;
private final TrufflePosix posix;
private final MemoryManager memoryManager;
private final SignalManager signalManager;
private final ProcessName processName;
@@ -41,7 +42,7 @@ public class DarwinPlatform implements NativePlatform {
private final RubiniusConfiguration rubiniusConfiguration;

public DarwinPlatform(RubyContext context) {
posix = POSIXFactory.getNativePOSIX(new TrufflePOSIXHandler(context));
posix = new JNRPosix(POSIXFactory.getNativePOSIX(new TrufflePosixHandler(context)));
memoryManager = Runtime.getSystemRuntime().getMemoryManager();
signalManager = new SunMiscSignalManager();
processName = new DarwinProcessName();
@@ -53,7 +54,7 @@ public DarwinPlatform(RubyContext context) {
}

@Override
public POSIX getPosix() {
public TrufflePosix getPosix() {
return posix;
}

Original file line number Diff line number Diff line change
@@ -9,8 +9,8 @@
*/
package org.jruby.truffle.platform.java;

import org.jruby.truffle.platform.posix.TimeSpec;
import org.jruby.truffle.platform.posix.ClockGetTime;
import org.jruby.truffle.platform.posix.TimeSpec;

public class JavaClockGetTime implements ClockGetTime {

This file was deleted.

Original file line number Diff line number Diff line change
@@ -10,27 +10,27 @@
package org.jruby.truffle.platform.java;

import jnr.ffi.provider.MemoryManager;
import jnr.posix.POSIX;
import jnr.posix.POSIXFactory;
import org.jruby.truffle.RubyContext;
import org.jruby.truffle.core.queue.ArrayBlockingQueueLocksConditions;
import org.jruby.truffle.core.queue.LinkedBlockingQueueLocksConditions;
import org.jruby.truffle.platform.posix.ClockGetTime;
import org.jruby.truffle.platform.DefaultRubiniusConfiguration;
import org.jruby.truffle.platform.NativePlatform;
import org.jruby.truffle.platform.ProcessName;
import org.jruby.truffle.platform.RubiniusConfiguration;
import org.jruby.truffle.platform.posix.Sockets;
import org.jruby.truffle.platform.posix.TrufflePOSIXHandler;
import org.jruby.truffle.platform.linux.LinuxRubiniusConfiguration;
import org.jruby.truffle.platform.openjdk.OpenJDKArrayBlockingQueueLocksConditions;
import org.jruby.truffle.platform.openjdk.OpenJDKLinkedBlockingQueueLocksConditions;
import org.jruby.truffle.platform.posix.ClockGetTime;
import org.jruby.truffle.platform.posix.Sockets;
import org.jruby.truffle.platform.posix.TrufflePosixHandler;
import org.jruby.truffle.platform.posix.TrufflePosix;
import org.jruby.truffle.platform.signal.SignalManager;
import org.jruby.truffle.platform.sunmisc.SunMiscSignalManager;

public class JavaPlatform implements NativePlatform {

private final POSIX posix;
private final TrufflePosix posix;
private final MemoryManager memoryManager;
private final SignalManager signalManager;
private final ProcessName processName;
@@ -39,7 +39,7 @@ public class JavaPlatform implements NativePlatform {
private final RubiniusConfiguration rubiniusConfiguration;

public JavaPlatform(RubyContext context) {
posix = new TruffleJavaPOSIX(context, POSIXFactory.getJavaPOSIX(new TrufflePOSIXHandler(context)));
posix = new TruffleJavaPosix(POSIXFactory.getJavaPOSIX(new TrufflePosixHandler(context)));
memoryManager = new JavaMemoryManager();
signalManager = new SunMiscSignalManager();
processName = new JavaProcessName();
@@ -51,7 +51,7 @@ public JavaPlatform(RubyContext context) {
}

@Override
public POSIX getPosix() {
public TrufflePosix getPosix() {
return posix;
}

Loading