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

Commits on Feb 16, 2016

  1. Copy the full SHA
    059c913 View commit details
  2. Copy the full SHA
    d27bb97 View commit details
  3. Copy the full SHA
    500a642 View commit details
  4. [Truffle] getCallerFrame -> getCallerFrameIgnoringSend, rather than j…

    …ust keep that information in a comment
    chrisseaton committed Feb 16, 2016
    1
    Copy the full SHA
    c18b79f View commit details
  5. Copy the full SHA
    89cc9e8 View commit details
  6. Copy the full SHA
    4bc72b9 View commit details
  7. Copy the full SHA
    11a189b View commit details
  8. Copy the full SHA
    72f806e View commit details
  9. Copy the full SHA
    1781496 View commit details
  10. Copy the full SHA
    24abcd3 View commit details
Showing with 253 additions and 254 deletions.
  1. +6 −0 truffle/src/main/java/org/jruby/truffle/RubyContext.java
  2. +26 −27 truffle/src/main/java/org/jruby/truffle/core/CoreLibrary.java
  3. +1 −1 truffle/src/main/java/org/jruby/truffle/core/RubyMethodForeignAccessFactory.java
  4. +1 −1 truffle/src/main/java/org/jruby/truffle/core/array/ArrayForeignAccessFactory.java
  5. +12 −12 truffle/src/main/java/org/jruby/truffle/core/array/ArrayNodes.java
  6. +1 −1 truffle/src/main/java/org/jruby/truffle/core/basicobject/BasicForeignAccessFactory.java
  7. +1 −1 truffle/src/main/java/org/jruby/truffle/core/coerce/ToPathNode.java
  8. +1 −2 truffle/src/main/java/org/jruby/truffle/core/exception/ExceptionNodes.java
  9. +1 −1 truffle/src/main/java/org/jruby/truffle/core/format/nodes/PackRootNode.java
  10. +1 −1 truffle/src/main/java/org/jruby/truffle/core/format/nodes/UnpackRootNode.java
  11. +1 −1 truffle/src/main/java/org/jruby/truffle/core/hash/HashForeignAccessFactory.java
  12. +2 −2 truffle/src/main/java/org/jruby/truffle/core/hash/HashNodes.java
  13. +10 −11 truffle/src/main/java/org/jruby/truffle/core/kernel/KernelNodes.java
  14. +1 −1 truffle/src/main/java/org/jruby/truffle/core/kernel/TraceManager.java
  15. +5 −6 truffle/src/main/java/org/jruby/truffle/core/module/ModuleNodes.java
  16. +6 −6 truffle/src/main/java/org/jruby/truffle/core/numeric/BignumNodes.java
  17. +14 −14 truffle/src/main/java/org/jruby/truffle/core/numeric/FixnumNodes.java
  18. +11 −11 truffle/src/main/java/org/jruby/truffle/core/numeric/FloatNodes.java
  19. +1 −2 truffle/src/main/java/org/jruby/truffle/core/proc/ProcNodes.java
  20. +2 −3 truffle/src/main/java/org/jruby/truffle/core/regexp/RegexpNodes.java
  21. +2 −2 truffle/src/main/java/org/jruby/truffle/core/rubinius/PosixNodes.java
  22. +1 −2 truffle/src/main/java/org/jruby/truffle/core/rubinius/RubiniusLastStringReadNode.java
  23. +1 −2 truffle/src/main/java/org/jruby/truffle/core/rubinius/RubiniusLastStringWriteNode.java
  24. +3 −3 truffle/src/main/java/org/jruby/truffle/core/rubinius/StatPrimitiveNodes.java
  25. +1 −2 truffle/src/main/java/org/jruby/truffle/core/rubinius/ThreadPrimitiveNodes.java
  26. +1 −1 truffle/src/main/java/org/jruby/truffle/core/string/StringForeignAccessFactory.java
  27. +9 −9 truffle/src/main/java/org/jruby/truffle/core/string/StringNodes.java
  28. +1 −2 truffle/src/main/java/org/jruby/truffle/core/symbol/SymbolNodes.java
  29. +1 −2 truffle/src/main/java/org/jruby/truffle/core/thread/ThreadNodes.java
  30. +3 −4 truffle/src/main/java/org/jruby/truffle/extra/TrufflePrimitiveNodes.java
  31. +0 −1 truffle/src/main/java/org/jruby/truffle/instrument/RubyDefaultASTProber.java
  32. +1 −1 truffle/src/main/java/org/jruby/truffle/{language → instrument}/RubySyntaxTag.java
  33. +52 −36 truffle/src/main/java/org/jruby/truffle/language/{RubyCallStack.java → CallStackManager.java}
  34. +1 −0 truffle/src/main/java/org/jruby/truffle/language/LazyRubyRootNode.java
  35. +3 −1 truffle/src/main/java/org/jruby/truffle/language/LexicalScope.java
  36. +0 −4 truffle/src/main/java/org/jruby/truffle/language/RubyNode.java
  37. +51 −43 truffle/src/main/java/org/jruby/truffle/language/SafepointManager.java
  38. +2 −2 truffle/src/main/java/org/jruby/truffle/language/arguments/ReadUserKeywordsHashNode.java
  39. +1 −1 truffle/src/main/java/org/jruby/truffle/language/arguments/RunBlockKWArgsHelperNode.java
  40. +2 −3 truffle/src/main/java/org/jruby/truffle/language/backtrace/BacktraceFormatter.java
  41. +1 −1 truffle/src/main/java/org/jruby/truffle/language/{ → backtrace}/InternalRootNode.java
  42. +1 −2 truffle/src/main/java/org/jruby/truffle/language/dispatch/UnresolvedDispatchNode.java
  43. +2 −3 truffle/src/main/java/org/jruby/truffle/language/objects/AllocateObjectNode.java
  44. +1 −1 truffle/src/main/java/org/jruby/truffle/language/objects/OpenModuleNode.java
  45. +5 −17 truffle/src/main/java/org/jruby/truffle/stdlib/BigDecimalNodes.java
  46. +1 −2 truffle/src/main/java/org/jruby/truffle/tools/InstrumentationServerManager.java
  47. +2 −3 truffle/src/main/java/org/jruby/truffle/tools/SimpleShell.java
6 changes: 6 additions & 0 deletions truffle/src/main/java/org/jruby/truffle/RubyContext.java
Original file line number Diff line number Diff line change
@@ -30,6 +30,7 @@
import org.jruby.truffle.instrument.RubyDefaultASTProber;
import org.jruby.truffle.interop.InteropManager;
import org.jruby.truffle.interop.JRubyInterop;
import org.jruby.truffle.language.CallStackManager;
import org.jruby.truffle.language.LexicalScope;
import org.jruby.truffle.language.Options;
import org.jruby.truffle.language.RubyGuards;
@@ -72,6 +73,7 @@ public class RubyContext extends ExecutionContext {
private final ObjectSpaceManager objectSpaceManager = new ObjectSpaceManager(this);
private final AtExitManager atExitManager = new AtExitManager(this);
private final SourceCache sourceCache = new SourceCache(new SourceLoader(this));
private final CallStackManager callStack = new CallStackManager(this);

private final CompilerOptions compilerOptions = Truffle.getRuntime().createCompilerOptions();

@@ -310,4 +312,8 @@ public CodeLoader getCodeLoader() {
public InteropManager getInteropManager() {
return interopManager;
}

public CallStackManager getCallStack() {
return callStack;
}
}
53 changes: 26 additions & 27 deletions truffle/src/main/java/org/jruby/truffle/core/CoreLibrary.java
Original file line number Diff line number Diff line change
@@ -77,7 +77,6 @@
import org.jruby.truffle.core.time.TimeNodesFactory;
import org.jruby.truffle.extra.TrufflePrimitiveNodesFactory;
import org.jruby.truffle.interop.TruffleInteropNodesFactory;
import org.jruby.truffle.language.RubyCallStack;
import org.jruby.truffle.language.RubyGuards;
import org.jruby.truffle.language.RubyNode;
import org.jruby.truffle.language.backtrace.BacktraceFormatter;
@@ -918,12 +917,12 @@ public static boolean fitsIntoInteger(long value) {

public DynamicObject runtimeError(String message, Node currentNode) {
CompilerAsserts.neverPartOfCompilation();
return ExceptionNodes.createRubyException(runtimeErrorClass, StringOperations.createString(context, StringOperations.encodeRope(message, UTF8Encoding.INSTANCE)), RubyCallStack.getBacktrace(context, currentNode));
return ExceptionNodes.createRubyException(runtimeErrorClass, StringOperations.createString(context, StringOperations.encodeRope(message, UTF8Encoding.INSTANCE)), context.getCallStack().getBacktrace(currentNode));
}

public DynamicObject systemStackError(String message, Node currentNode) {
CompilerAsserts.neverPartOfCompilation();
return ExceptionNodes.createRubyException(systemStackErrorClass, StringOperations.createString(context, StringOperations.encodeRope(message, UTF8Encoding.INSTANCE)), RubyCallStack.getBacktrace(context, currentNode));
return ExceptionNodes.createRubyException(systemStackErrorClass, StringOperations.createString(context, StringOperations.encodeRope(message, UTF8Encoding.INSTANCE)), context.getCallStack().getBacktrace(currentNode));
}

public DynamicObject frozenError(String className, Node currentNode) {
@@ -933,7 +932,7 @@ public DynamicObject frozenError(String className, Node currentNode) {

public DynamicObject argumentError(String message, Node currentNode) {
CompilerAsserts.neverPartOfCompilation();
return ExceptionNodes.createRubyException(argumentErrorClass, StringOperations.createString(context, StringOperations.encodeRope(message, UTF8Encoding.INSTANCE)), RubyCallStack.getBacktrace(context, currentNode));
return ExceptionNodes.createRubyException(argumentErrorClass, StringOperations.createString(context, StringOperations.encodeRope(message, UTF8Encoding.INSTANCE)), context.getCallStack().getBacktrace(currentNode));
}

public DynamicObject argumentErrorOutOfRange(Node currentNode) {
@@ -980,7 +979,7 @@ public DynamicObject errnoError(int errno, Node currentNode) {
return systemCallError(String.format("Unknown Error (%s)", errno), currentNode);
}

return ExceptionNodes.createRubyException(getErrnoClass(errnoObj), StringOperations.createString(context, StringOperations.encodeRope(errnoObj.description(), UTF8Encoding.INSTANCE)), RubyCallStack.getBacktrace(context, currentNode));
return ExceptionNodes.createRubyException(getErrnoClass(errnoObj), StringOperations.createString(context, StringOperations.encodeRope(errnoObj.description(), UTF8Encoding.INSTANCE)), context.getCallStack().getBacktrace(currentNode));
}

public DynamicObject errnoError(int errno, String message, Node currentNode) {
@@ -992,12 +991,12 @@ public DynamicObject errnoError(int errno, String message, Node currentNode) {
}

final DynamicObject errorMessage = StringOperations.createString(context, StringOperations.encodeRope(String.format("%s - %s", errnoObj.description(), message), UTF8Encoding.INSTANCE));
return ExceptionNodes.createRubyException(getErrnoClass(errnoObj), errorMessage, RubyCallStack.getBacktrace(context, currentNode));
return ExceptionNodes.createRubyException(getErrnoClass(errnoObj), errorMessage, context.getCallStack().getBacktrace(currentNode));
}

public DynamicObject indexError(String message, Node currentNode) {
CompilerAsserts.neverPartOfCompilation();
return ExceptionNodes.createRubyException(indexErrorClass, StringOperations.createString(context, StringOperations.encodeRope(message, UTF8Encoding.INSTANCE)), RubyCallStack.getBacktrace(context, currentNode));
return ExceptionNodes.createRubyException(indexErrorClass, StringOperations.createString(context, StringOperations.encodeRope(message, UTF8Encoding.INSTANCE)), context.getCallStack().getBacktrace(currentNode));
}

public DynamicObject indexTooSmallError(String type, int index, int length, Node currentNode) {
@@ -1007,7 +1006,7 @@ public DynamicObject indexTooSmallError(String type, int index, int length, Node

public DynamicObject localJumpError(String message, Node currentNode) {
CompilerAsserts.neverPartOfCompilation();
return ExceptionNodes.createRubyException(localJumpErrorClass, StringOperations.createString(context, StringOperations.encodeRope(message, UTF8Encoding.INSTANCE)), RubyCallStack.getBacktrace(context, currentNode));
return ExceptionNodes.createRubyException(localJumpErrorClass, StringOperations.createString(context, StringOperations.encodeRope(message, UTF8Encoding.INSTANCE)), context.getCallStack().getBacktrace(currentNode));
}

public DynamicObject noBlockGiven(Node currentNode) {
@@ -1032,7 +1031,7 @@ public DynamicObject noBlockToYieldTo(Node currentNode) {

public DynamicObject typeError(String message, Node currentNode) {
CompilerAsserts.neverPartOfCompilation();
return ExceptionNodes.createRubyException(typeErrorClass, StringOperations.createString(context, StringOperations.encodeRope(message, UTF8Encoding.INSTANCE)), RubyCallStack.getBacktrace(context, currentNode));
return ExceptionNodes.createRubyException(typeErrorClass, StringOperations.createString(context, StringOperations.encodeRope(message, UTF8Encoding.INSTANCE)), context.getCallStack().getBacktrace(currentNode));
}

public DynamicObject typeErrorAllocatorUndefinedFor(DynamicObject rubyClass, Node currentNode) {
@@ -1104,7 +1103,7 @@ public DynamicObject typeErrorWrongArgumentType(Object object, String expectedTy
public DynamicObject nameError(String message, String name, Node currentNode) {
CompilerAsserts.neverPartOfCompilation();
final DynamicObject nameString = StringOperations.createString(context, StringOperations.encodeRope(message, UTF8Encoding.INSTANCE));
DynamicObject nameError = ExceptionNodes.createRubyException(nameErrorClass, nameString, RubyCallStack.getBacktrace(context, currentNode));
DynamicObject nameError = ExceptionNodes.createRubyException(nameErrorClass, nameString, context.getCallStack().getBacktrace(currentNode));
nameError.define("@name", context.getSymbolTable().getSymbol(name), 0);
return nameError;
}
@@ -1191,7 +1190,7 @@ public DynamicObject nameErrorClassVariableNotDefined(String name, DynamicObject
public DynamicObject noMethodError(String message, String name, Node currentNode) {
CompilerAsserts.neverPartOfCompilation();
final DynamicObject messageString = StringOperations.createString(context, StringOperations.encodeRope(message, UTF8Encoding.INSTANCE));
DynamicObject noMethodError = ExceptionNodes.createRubyException(context.getCoreLibrary().getNoMethodErrorClass(), messageString, RubyCallStack.getBacktrace(context, currentNode));
DynamicObject noMethodError = ExceptionNodes.createRubyException(context.getCoreLibrary().getNoMethodErrorClass(), messageString, context.getCallStack().getBacktrace(currentNode));
noMethodError.define("@name", context.getSymbolTable().getSymbol(name), 0);
return noMethodError;
}
@@ -1227,7 +1226,7 @@ public DynamicObject privateMethodError(String name, Object self, Node currentNo
public DynamicObject loadError(String message, String path, Node currentNode) {
CompilerAsserts.neverPartOfCompilation();
DynamicObject messageString = StringOperations.createString(context, StringOperations.encodeRope(message, UTF8Encoding.INSTANCE));
DynamicObject loadError = ExceptionNodes.createRubyException(context.getCoreLibrary().getLoadErrorClass(), messageString, RubyCallStack.getBacktrace(context, currentNode));
DynamicObject loadError = ExceptionNodes.createRubyException(context.getCoreLibrary().getLoadErrorClass(), messageString, context.getCallStack().getBacktrace(currentNode));
loadError.define("@path", StringOperations.createString(context, StringOperations.encodeRope(path, UTF8Encoding.INSTANCE)), 0);
return loadError;
}
@@ -1239,32 +1238,32 @@ public DynamicObject loadErrorCannotLoad(String name, Node currentNode) {

public DynamicObject zeroDivisionError(Node currentNode) {
CompilerAsserts.neverPartOfCompilation();
return ExceptionNodes.createRubyException(context.getCoreLibrary().getZeroDivisionErrorClass(), StringOperations.createString(context, StringOperations.encodeRope("divided by 0", UTF8Encoding.INSTANCE)), RubyCallStack.getBacktrace(context, currentNode));
return ExceptionNodes.createRubyException(context.getCoreLibrary().getZeroDivisionErrorClass(), StringOperations.createString(context, StringOperations.encodeRope("divided by 0", UTF8Encoding.INSTANCE)), context.getCallStack().getBacktrace(currentNode));
}

public DynamicObject notImplementedError(String message, Node currentNode) {
CompilerAsserts.neverPartOfCompilation();
return ExceptionNodes.createRubyException(notImplementedErrorClass, StringOperations.createString(context, StringOperations.encodeRope(String.format("Method %s not implemented", message), UTF8Encoding.INSTANCE)), RubyCallStack.getBacktrace(context, currentNode));
return ExceptionNodes.createRubyException(notImplementedErrorClass, StringOperations.createString(context, StringOperations.encodeRope(String.format("Method %s not implemented", message), UTF8Encoding.INSTANCE)), context.getCallStack().getBacktrace(currentNode));
}

public DynamicObject syntaxError(String message, Node currentNode) {
CompilerAsserts.neverPartOfCompilation();
return ExceptionNodes.createRubyException(syntaxErrorClass, StringOperations.createString(context, StringOperations.encodeRope(message, UTF8Encoding.INSTANCE)), RubyCallStack.getBacktrace(context, currentNode));
return ExceptionNodes.createRubyException(syntaxErrorClass, StringOperations.createString(context, StringOperations.encodeRope(message, UTF8Encoding.INSTANCE)), context.getCallStack().getBacktrace(currentNode));
}

public DynamicObject floatDomainError(String value, Node currentNode) {
CompilerAsserts.neverPartOfCompilation();
return ExceptionNodes.createRubyException(floatDomainErrorClass, StringOperations.createString(context, StringOperations.encodeRope(value, UTF8Encoding.INSTANCE)), RubyCallStack.getBacktrace(context, currentNode));
return ExceptionNodes.createRubyException(floatDomainErrorClass, StringOperations.createString(context, StringOperations.encodeRope(value, UTF8Encoding.INSTANCE)), context.getCallStack().getBacktrace(currentNode));
}

public DynamicObject mathDomainError(String method, Node currentNode) {
CompilerAsserts.neverPartOfCompilation();
return ExceptionNodes.createRubyException(getErrnoClass(Errno.EDOM), StringOperations.createString(context, StringOperations.encodeRope(String.format("Numerical argument is out of domain - \"%s\"", method), UTF8Encoding.INSTANCE)), RubyCallStack.getBacktrace(context, currentNode));
return ExceptionNodes.createRubyException(getErrnoClass(Errno.EDOM), StringOperations.createString(context, StringOperations.encodeRope(String.format("Numerical argument is out of domain - \"%s\"", method), UTF8Encoding.INSTANCE)), context.getCallStack().getBacktrace(currentNode));
}

public DynamicObject ioError(String fileName, Node currentNode) {
CompilerAsserts.neverPartOfCompilation();
return ExceptionNodes.createRubyException(ioErrorClass, StringOperations.createString(context, StringOperations.encodeRope(String.format("Error reading file - %s", fileName), UTF8Encoding.INSTANCE)), RubyCallStack.getBacktrace(context, currentNode));
return ExceptionNodes.createRubyException(ioErrorClass, StringOperations.createString(context, StringOperations.encodeRope(String.format("Error reading file - %s", fileName), UTF8Encoding.INSTANCE)), context.getCallStack().getBacktrace(currentNode));
}

public DynamicObject rangeError(int code, DynamicObject encoding, Node currentNode) {
@@ -1289,17 +1288,17 @@ public DynamicObject rangeError(DynamicObject range, Node currentNode) {

public DynamicObject rangeError(String message, Node currentNode) {
CompilerAsserts.neverPartOfCompilation();
return ExceptionNodes.createRubyException(rangeErrorClass, StringOperations.createString(context, StringOperations.encodeRope(message, UTF8Encoding.INSTANCE)), RubyCallStack.getBacktrace(context, currentNode));
return ExceptionNodes.createRubyException(rangeErrorClass, StringOperations.createString(context, StringOperations.encodeRope(message, UTF8Encoding.INSTANCE)), context.getCallStack().getBacktrace(currentNode));
}

public DynamicObject internalError(String message, Node currentNode) {
CompilerAsserts.neverPartOfCompilation();
return ExceptionNodes.createRubyException(context.getCoreLibrary().getRubyTruffleErrorClass(), StringOperations.createString(context, StringOperations.encodeRope("internal implementation error - " + message, UTF8Encoding.INSTANCE)), RubyCallStack.getBacktrace(context, currentNode));
return ExceptionNodes.createRubyException(context.getCoreLibrary().getRubyTruffleErrorClass(), StringOperations.createString(context, StringOperations.encodeRope("internal implementation error - " + message, UTF8Encoding.INSTANCE)), context.getCallStack().getBacktrace(currentNode));
}

public DynamicObject regexpError(String message, Node currentNode) {
CompilerAsserts.neverPartOfCompilation();
return ExceptionNodes.createRubyException(regexpErrorClass, StringOperations.createString(context, StringOperations.encodeRope(message, UTF8Encoding.INSTANCE)), RubyCallStack.getBacktrace(context, currentNode));
return ExceptionNodes.createRubyException(regexpErrorClass, StringOperations.createString(context, StringOperations.encodeRope(message, UTF8Encoding.INSTANCE)), context.getCallStack().getBacktrace(currentNode));
}

public DynamicObject encodingCompatibilityErrorIncompatible(String a, String b, Node currentNode) {
@@ -1309,12 +1308,12 @@ public DynamicObject encodingCompatibilityErrorIncompatible(String a, String b,

public DynamicObject encodingCompatibilityError(String message, Node currentNode) {
CompilerAsserts.neverPartOfCompilation();
return ExceptionNodes.createRubyException(encodingCompatibilityErrorClass, StringOperations.createString(context, StringOperations.encodeRope(message, UTF8Encoding.INSTANCE)), RubyCallStack.getBacktrace(context, currentNode));
return ExceptionNodes.createRubyException(encodingCompatibilityErrorClass, StringOperations.createString(context, StringOperations.encodeRope(message, UTF8Encoding.INSTANCE)), context.getCallStack().getBacktrace(currentNode));
}

public DynamicObject fiberError(String message, Node currentNode) {
CompilerAsserts.neverPartOfCompilation();
return ExceptionNodes.createRubyException(fiberErrorClass, StringOperations.createString(context, StringOperations.encodeRope(message, UTF8Encoding.INSTANCE)), RubyCallStack.getBacktrace(context, currentNode));
return ExceptionNodes.createRubyException(fiberErrorClass, StringOperations.createString(context, StringOperations.encodeRope(message, UTF8Encoding.INSTANCE)), context.getCallStack().getBacktrace(currentNode));
}

public DynamicObject deadFiberCalledError(Node currentNode) {
@@ -1329,23 +1328,23 @@ public DynamicObject yieldFromRootFiberError(Node currentNode) {

public DynamicObject threadError(String message, Node currentNode) {
CompilerAsserts.neverPartOfCompilation();
return ExceptionNodes.createRubyException(threadErrorClass, StringOperations.createString(context, StringOperations.encodeRope(message, UTF8Encoding.INSTANCE)), RubyCallStack.getBacktrace(context, currentNode));
return ExceptionNodes.createRubyException(threadErrorClass, StringOperations.createString(context, StringOperations.encodeRope(message, UTF8Encoding.INSTANCE)), context.getCallStack().getBacktrace(currentNode));
}

public DynamicObject securityError(String message, Node currentNode) {
CompilerAsserts.neverPartOfCompilation();
return ExceptionNodes.createRubyException(securityErrorClass, StringOperations.createString(context, StringOperations.encodeRope(message, UTF8Encoding.INSTANCE)), RubyCallStack.getBacktrace(context, currentNode));
return ExceptionNodes.createRubyException(securityErrorClass, StringOperations.createString(context, StringOperations.encodeRope(message, UTF8Encoding.INSTANCE)), context.getCallStack().getBacktrace(currentNode));
}

public DynamicObject systemCallError(String message, Node currentNode) {
CompilerAsserts.neverPartOfCompilation();
return ExceptionNodes.createRubyException(systemCallErrorClass, StringOperations.createString(context, StringOperations.encodeRope(message, UTF8Encoding.INSTANCE)), RubyCallStack.getBacktrace(context, currentNode));
return ExceptionNodes.createRubyException(systemCallErrorClass, StringOperations.createString(context, StringOperations.encodeRope(message, UTF8Encoding.INSTANCE)), context.getCallStack().getBacktrace(currentNode));
}

public DynamicObject systemExit(int exitStatus, Node currentNode) {
CompilerAsserts.neverPartOfCompilation();
final DynamicObject message = StringOperations.createString(context, StringOperations.encodeRope("exit", UTF8Encoding.INSTANCE));
final DynamicObject systemExit = ExceptionNodes.createRubyException(systemExitClass, message, RubyCallStack.getBacktrace(context, currentNode));
final DynamicObject systemExit = ExceptionNodes.createRubyException(systemExitClass, message, context.getCallStack().getBacktrace(currentNode));
systemExit.define("@status", exitStatus, 0);
return systemExit;
}
Original file line number Diff line number Diff line change
@@ -19,8 +19,8 @@
import org.jruby.truffle.RubyContext;
import org.jruby.truffle.RubyLanguage;
import org.jruby.truffle.interop.InteropNode;
import org.jruby.truffle.language.InternalRootNode;
import org.jruby.truffle.language.RubyNode;
import org.jruby.truffle.language.backtrace.InternalRootNode;

public class RubyMethodForeignAccessFactory implements ForeignAccess.Factory10 {
private final RubyContext context;
Loading