Skip to content

Commit dcf15ca

Browse files
committed
Remove StringUtils.EqualNode.
1 parent 46da9bc commit dcf15ca

2 files changed

Lines changed: 6 additions & 31 deletions

File tree

graalpython/com.oracle.graal.python/src/com/oracle/graal/python/builtins/objects/str/StringUtils.java

Lines changed: 1 addition & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
/*
2-
* Copyright (c) 2019, 2025, Oracle and/or its affiliates. All rights reserved.
2+
* Copyright (c) 2019, 2026, Oracle and/or its affiliates. All rights reserved.
33
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
44
*
55
* The Universal Permissive License (UPL), Version 1.0
@@ -55,10 +55,8 @@
5555

5656
import com.oracle.graal.python.util.PythonUtils;
5757
import com.oracle.truffle.api.CompilerDirectives.TruffleBoundary;
58-
import com.oracle.truffle.api.HostCompilerDirectives.InliningCutoff;
5958
import com.oracle.truffle.api.dsl.Cached;
6059
import com.oracle.truffle.api.dsl.Cached.Shared;
61-
import com.oracle.truffle.api.dsl.Fallback;
6260
import com.oracle.truffle.api.dsl.GenerateCached;
6361
import com.oracle.truffle.api.dsl.GenerateInline;
6462
import com.oracle.truffle.api.dsl.GenerateUncached;
@@ -586,30 +584,6 @@ public static int getCodePoint(String characterName) {
586584
}
587585
}
588586

589-
/**
590-
* Like {@link com.oracle.truffle.api.strings.TruffleString.EqualNode} but with the proper
591-
* {@link InliningCutoff} since {@link com.oracle.truffle.api.strings.TruffleString.EqualNode}
592-
* is too big for host inlining, at least when used in node guards.
593-
*/
594-
@GenerateInline
595-
@GenerateCached(false)
596-
@GenerateUncached
597-
public abstract static class EqualNode extends Node {
598-
public abstract boolean execute(Node inliningTarget, TruffleString left, TruffleString right);
599-
600-
@Specialization(guards = "left == right")
601-
static boolean doIdentity(TruffleString left, TruffleString right) {
602-
return true;
603-
}
604-
605-
@InliningCutoff
606-
@Fallback
607-
static boolean doEquality(TruffleString left, TruffleString right,
608-
@Cached TruffleString.EqualNode equalNode) {
609-
return equalNode.execute(left, right, TS_ENCODING);
610-
}
611-
}
612-
613587
public static int codepointIndexToByteIndex(int codepointIndex) {
614588
assert TS_ENCODING == TruffleString.Encoding.UTF_32 : "must be adapted when switching to a different encoding";
615589
return codepointIndex << 2;

graalpython/com.oracle.graal.python/src/com/oracle/graal/python/nodes/attributes/LookupAttributeInMRONode.java

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -44,7 +44,6 @@
4444
import com.oracle.graal.python.builtins.Python3Core;
4545
import com.oracle.graal.python.builtins.PythonBuiltinClassType;
4646
import com.oracle.graal.python.builtins.objects.PNone;
47-
import com.oracle.graal.python.builtins.objects.str.StringUtils;
4847
import com.oracle.graal.python.builtins.objects.type.MroShape;
4948
import com.oracle.graal.python.builtins.objects.type.MroShape.MroShapeLookupResult;
5049
import com.oracle.graal.python.builtins.objects.type.PythonAbstractClass;
@@ -56,6 +55,7 @@
5655
import com.oracle.graal.python.runtime.PythonOptions;
5756
import com.oracle.graal.python.runtime.exception.StacktracelessCheckedException;
5857
import com.oracle.graal.python.runtime.sequence.storage.MroSequenceStorage;
58+
import com.oracle.graal.python.util.PythonUtils;
5959
import com.oracle.truffle.api.Assumption;
6060
import com.oracle.truffle.api.CompilerAsserts;
6161
import com.oracle.truffle.api.CompilerDirectives;
@@ -93,16 +93,17 @@ public final Object execute(Object klass) {
9393

9494
protected abstract Object executeInternal(Object klass) throws MROChangedException;
9595

96+
@ImportStatic(PythonUtils.class)
9697
@GenerateUncached
97-
@GenerateInline(false) // footprint reduction 36 -> 17
98+
@GenerateInline(false)
9899
public abstract static class Dynamic extends PNodeWithContext {
99100
public abstract Object execute(Object klass, TruffleString key);
100101

101-
@Specialization(guards = "equalNode.execute(inliningTarget, key, cachedKey)", limit = "2")
102+
@Specialization(guards = "equalNode.execute(key, cachedKey, TS_ENCODING)", limit = "2")
102103
static Object lookupConstantMROEquals(Object klass, TruffleString key,
103104
@Bind Node inliningTarget,
104105
@Cached("key") TruffleString cachedKey,
105-
@Cached @Shared StringUtils.EqualNode equalNode,
106+
@Cached @Shared TruffleString.EqualNode equalNode,
106107
@Cached("create(cachedKey)") LookupAttributeInMRONode lookup) {
107108
return lookup.execute(klass);
108109
}

0 commit comments

Comments
 (0)