Skip to content

Commit

Permalink
Showing 3 changed files with 5 additions and 17 deletions.
Original file line number Diff line number Diff line change
@@ -1,15 +1,13 @@
package org.jruby.truffle.core.exception;

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.object.DynamicObject;
import org.jruby.truffle.Layouts;
import org.jruby.truffle.builtins.CoreClass;
import org.jruby.truffle.builtins.CoreMethod;
import org.jruby.truffle.builtins.CoreMethodArrayArgumentsNode;
import org.jruby.truffle.builtins.NonStandard;
import org.jruby.truffle.language.RubyNode;
import org.jruby.truffle.builtins.Primitive;
import org.jruby.truffle.builtins.PrimitiveArrayArgumentsNode;

@CoreClass("SystemCallError")
public abstract class SystemCallErrorNodes {
@@ -24,12 +22,8 @@ public Object errno(DynamicObject self) {

}

@NonStandard
@NodeChildren({
@NodeChild(type = RubyNode.class, value = "self"),
@NodeChild(type = RubyNode.class, value = "errno")
})
public abstract static class InternalSetErrnoNode extends RubyNode {
@Primitive(name = "errno_set")
public abstract static class ErrnoSetNode extends PrimitiveArrayArgumentsNode {

@Specialization
public Object setErrno(DynamicObject error, int errno) {
Original file line number Diff line number Diff line change
@@ -1828,12 +1828,6 @@ public RubyNode visitInstAsgnNode(org.jruby.ast.InstAsgnNode node) {
ret = new WriteInstanceVariableNode(context, sourceSection, name, self, IntegerCastNodeGen.create(context, sourceSection, rhs));
return addNewlineIfNeeded(node, ret);
}
} else if (path.equals(corePath + "exception.rb")) {
if (name.equals("@errno")) {
ret = SystemCallErrorNodesFactory.InternalSetErrnoNodeGen.create(self, rhs);
setSourceSection(ret, sourceSection);
return addNewlineIfNeeded(node, ret);
}
}

ret = new WriteInstanceVariableNode(context, sourceSection, name, self, rhs);
2 changes: 1 addition & 1 deletion truffle/src/main/ruby/core/exception.rb
Original file line number Diff line number Diff line change
@@ -373,7 +373,7 @@ class << self
def initialize(*args)
kls = self.class
message, errno, location = args
@errno = errno
Truffle.invoke_primitive :errno_set, self, errno

msg = "unknown error"
msg << " @ #{StringValue(location)}" if location

0 comments on commit 8ad4a61

Please sign in to comment.