Skip to content

Commit 87c7c43

Browse files
committed
[GR-25948] Remove unneeded ReportPolymorphism
PullRequest: truffleruby/2192
2 parents 935f11d + dfb4a96 commit 87c7c43

File tree

4 files changed

+6
-45
lines changed

4 files changed

+6
-45
lines changed

src/main/java/org/truffleruby/cext/IDToSymbolNode.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,7 @@ public static IDToSymbolNode create() {
3838
}
3939

4040
@Specialization(guards = "isStaticSymbol(value)")
41-
protected Object unwrapStaticUncached(long value,
41+
protected Object unwrapStaticSymbol(long value,
4242
@CachedLanguage RubyLanguage language,
4343
@CachedContext(RubyLanguage.class) RubyContext context,
4444
@Cached BranchProfile errorProfile) {
@@ -56,7 +56,7 @@ protected Object unwrapStaticUncached(long value,
5656
}
5757

5858
@Specialization(guards = "!isStaticSymbol(value)")
59-
protected Object unwrapObject(Object value,
59+
protected Object unwrapDynamicSymbol(Object value,
6060
@Cached UnwrapNode unwrapNode) {
6161
return unwrapNode.execute(value);
6262
}

src/main/java/org/truffleruby/core/array/ArrayNodes.java

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -455,7 +455,6 @@ protected int normalize(int arraySize, int index,
455455
}
456456

457457
@CoreMethod(names = "clear", raiseIfFrozenSelf = true)
458-
@ReportPolymorphism
459458
public abstract static class ClearNode extends ArrayCoreMethodNode {
460459

461460
@Specialization

src/main/java/org/truffleruby/core/encoding/EncodingNodes.java

Lines changed: 4 additions & 36 deletions
Original file line numberDiff line numberDiff line change
@@ -58,31 +58,17 @@
5858
import com.oracle.truffle.api.CompilerDirectives.TruffleBoundary;
5959
import com.oracle.truffle.api.dsl.Cached;
6060
import com.oracle.truffle.api.dsl.Fallback;
61-
import com.oracle.truffle.api.dsl.ReportPolymorphism;
6261
import com.oracle.truffle.api.dsl.Specialization;
6362
import com.oracle.truffle.api.profiles.BranchProfile;
6463
import com.oracle.truffle.api.profiles.ConditionProfile;
6564

6665
@CoreModule(value = "Encoding", isClass = true)
6766
public abstract class EncodingNodes {
6867

69-
@ReportPolymorphism
7068
@CoreMethod(names = "ascii_compatible?")
7169
public abstract static class AsciiCompatibleNode extends CoreMethodArrayArgumentsNode {
72-
73-
@Specialization(guards = "encoding == cachedEncoding", limit = "getIdentityCacheLimit()")
74-
protected boolean isAsciiCompatibleCached(RubyEncoding encoding,
75-
@Cached("encoding") RubyEncoding cachedEncoding,
76-
@Cached("isAsciiCompatible(cachedEncoding)") boolean isAsciiCompatible) {
77-
return isAsciiCompatible;
78-
}
79-
80-
@Specialization(replaces = "isAsciiCompatibleCached")
81-
protected boolean isAsciiCompatibleUncached(RubyEncoding encoding) {
82-
return isAsciiCompatible(encoding);
83-
}
84-
85-
protected static boolean isAsciiCompatible(RubyEncoding encoding) {
70+
@Specialization
71+
protected boolean isAsciiCompatible(RubyEncoding encoding) {
8672
return encoding.encoding.isAsciiCompatible();
8773
}
8874
}
@@ -432,32 +418,20 @@ protected ImmutableRubyString localeCharacterMap(
432418
}
433419
}
434420

435-
@ReportPolymorphism
436421
@CoreMethod(names = "dummy?")
437422
public abstract static class DummyNode extends CoreMethodArrayArgumentsNode {
438-
439-
@Specialization(guards = "encoding == cachedEncoding", limit = "getIdentityCacheLimit()")
440-
protected boolean isDummyCached(RubyEncoding encoding,
441-
@Cached("encoding") RubyEncoding cachedEncoding,
442-
@Cached("isDummyUncached(cachedEncoding)") boolean isDummy) {
443-
return isDummy;
444-
}
445-
446-
@Specialization(replaces = "isDummyCached")
447-
protected boolean isDummyUncached(RubyEncoding encoding) {
423+
@Specialization
424+
protected boolean isDummy(RubyEncoding encoding) {
448425
return encoding.encoding.isDummy();
449426
}
450-
451427
}
452428

453429
@CoreMethod(names = { "name", "to_s" })
454430
public abstract static class ToSNode extends CoreMethodArrayArgumentsNode {
455-
456431
@Specialization
457432
protected ImmutableRubyString toS(RubyEncoding encoding) {
458433
return encoding.name;
459434
}
460-
461435
}
462436

463437
@CoreMethod(names = { "__allocate__", "__layout_allocate__" }, constructor = true, visibility = Visibility.PRIVATE)
@@ -494,12 +468,10 @@ protected Object eachAlias(RubyProc block) {
494468

495469
@Primitive(name = "encoding_is_unicode")
496470
public abstract static class IsUnicodeNode extends PrimitiveArrayArgumentsNode {
497-
498471
@Specialization
499472
protected boolean isUnicode(RubyEncoding encoding) {
500473
return encoding.encoding.isUnicode();
501474
}
502-
503475
}
504476

505477
@Primitive(name = "get_actual_encoding")
@@ -759,22 +731,18 @@ private RubyEncoding createDummy(String name) {
759731

760732
@Primitive(name = "encoding_get_encoding_by_index", lowerFixnum = 0)
761733
public static abstract class GetEncodingObjectByIndexNode extends PrimitiveArrayArgumentsNode {
762-
763734
@Specialization
764735
protected RubyEncoding getEncoding(int index) {
765736
return getContext().getEncodingManager().getRubyEncoding(index);
766737
}
767-
768738
}
769739

770740
@Primitive(name = "encoding_get_encoding_index")
771741
public static abstract class GetEncodingIndexNode extends PrimitiveArrayArgumentsNode {
772-
773742
@Specialization
774743
protected int getIndex(RubyEncoding encoding) {
775744
return encoding.encoding.getIndex();
776745
}
777-
778746
}
779747

780748
public static abstract class CheckRopeEncodingNode extends RubyContextNode {

test/truffle/compiler/pe/core/encoding_pe.rb

Lines changed: 0 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -6,12 +6,6 @@
66
# GNU General Public License version 2, or
77
# GNU Lesser General Public License version 2.1.
88

9-
example "Encoding::US_ASCII.ascii_compatible?", true
10-
example "Encoding::UTF_16BE.ascii_compatible?", false
11-
12-
example "Encoding::ISO_2022_JP.dummy?", true
13-
example "Encoding::UTF_8.dummy?", false
14-
159
example "Encoding.compatible?('abc', 'def')", Encoding::UTF_8
1610
example "Encoding.compatible?(Encoding::UTF_8, Encoding::US_ASCII)", Encoding::UTF_8
1711
example "Encoding.compatible?(Encoding::UTF_8, Encoding::ASCII_8BIT)", nil

0 commit comments

Comments
 (0)