Skip to content

Commit cc501a6

Browse files
committed
[Truffle] Removing Fixnum#/ Rational and Complex specializations
1 parent dce0852 commit cc501a6

File tree

1 file changed

+2
-26
lines changed

1 file changed

+2
-26
lines changed

truffle/src/main/java/org/jruby/truffle/nodes/core/FixnumNodes.java

Lines changed: 2 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -569,36 +569,12 @@ public int div(@SuppressWarnings("unused") long a, @SuppressWarnings("unused") R
569569
return 0;
570570
}
571571

572-
@Specialization(guards = "isRational(arguments[1])")
573-
public Object div(VirtualFrame frame, int a, RubyBasicObject b) {
574-
if (rationalConvertNode == null) {
575-
CompilerDirectives.transferToInterpreter();
576-
rationalConvertNode = insert(DispatchHeadNodeFactory.createMethodCall(getContext(), true));
577-
rationalDivNode = insert(DispatchHeadNodeFactory.createMethodCall(getContext()));
578-
}
579-
580-
final Object aRational = rationalConvertNode.call(frame, getContext().getCoreLibrary().getRationalClass(), "convert", null, a, 1);
581-
582-
return rationalDivNode.call(frame, aRational, "/", null, b);
583-
}
584-
585-
@Specialization(guards = "isComplex(arguments[1])")
586-
public Object divComplex(VirtualFrame frame, int a, RubyBasicObject b) {
587-
return ruby(frame, "Complex(a) / b", "a", a, "b", b);
588-
}
589-
590-
@Specialization(guards = "isComplex(arguments[1])")
591-
public Object divComplex(VirtualFrame frame, long a, RubyBasicObject b) {
592-
return ruby(frame, "Complex(a) / b", "a", a, "b", b);
593-
}
594-
595-
596-
@Specialization(guards = {"!isComplex(arguments[1])", "!isRational(arguments[1])", "!isRubyBignum(arguments[1])"})
572+
@Specialization(guards = {"!isRubyBignum(arguments[1])"})
597573
public Object divFallback(VirtualFrame frame, long a, RubyBasicObject b) {
598574
return ruby(frame, "redo_coerced :/, o", "o", b);
599575
}
600576

601-
@Specialization(guards = {"!isComplex(arguments[1])", "!isRational(arguments[1])", "!isRubyBignum(arguments[1])"})
577+
@Specialization(guards = {"!isRubyBignum(arguments[1])"})
602578
public Object divFallback(VirtualFrame frame, int a, RubyBasicObject b) {
603579
return ruby(frame, "redo_coerced :/, o", "o", b);
604580
}

0 commit comments

Comments
 (0)