Skip to content

Commit 1e0a2ae

Browse files
committed
Use PySequenceCheckNode in reversed ctor
1 parent 4235f68 commit 1e0a2ae

File tree

1 file changed

+2
-3
lines changed

1 file changed

+2
-3
lines changed

graalpython/com.oracle.graal.python/src/com/oracle/graal/python/builtins/modules/BuiltinConstructors.java

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1017,14 +1017,13 @@ static Object reversed(VirtualFrame frame, Object cls, Object sequence,
10171017
@Cached PySequenceSizeNode pySequenceSizeNode,
10181018
@Cached("create(GetItem)") LookupSpecialMethodSlotNode getItemNode,
10191019
@Cached InlinedConditionProfile noReversedProfile,
1020-
@Cached InlinedConditionProfile noGetItemProfile,
1020+
@Cached PySequenceCheckNode pySequenceCheck,
10211021
@Shared @Cached PythonObjectFactory factory,
10221022
@Cached PRaiseNode.Lazy raiseNode) {
10231023
Object sequenceKlass = getClassNode.execute(inliningTarget, sequence);
10241024
Object reversed = lookupReversed.execute(frame, sequenceKlass, sequence);
10251025
if (noReversedProfile.profile(inliningTarget, reversed == PNone.NO_VALUE)) {
1026-
Object getItem = getItemNode.execute(frame, sequenceKlass, sequence);
1027-
if (noGetItemProfile.profile(inliningTarget, getItem == PNone.NO_VALUE)) {
1026+
if (!pySequenceCheck.execute(inliningTarget, sequence)) {
10281027
throw raiseNode.get(inliningTarget).raise(TypeError, ErrorMessages.OBJ_ISNT_REVERSIBLE, sequence);
10291028
} else {
10301029
int lengthHint = pySequenceSizeNode.execute(frame, inliningTarget, sequence);

0 commit comments

Comments
 (0)