Skip to content

Commit 323be3b

Browse files
committed
Fix native-image compilation
1 parent 4556ef2 commit 323be3b

File tree

4 files changed

+9
-4
lines changed

4 files changed

+9
-4
lines changed

graalpython/com.oracle.graal.python/src/com/oracle/graal/python/builtins/objects/function/BuiltinMethodDescriptor.java

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -151,6 +151,7 @@ private static Builtin findBuiltinAnnotation(String name, NodeFactory<? extends
151151
// Name and isReverseOperation are shortcuts for builtinAnnotation.name()/reverseOperation()
152152
private final String name;
153153
private final boolean isReverseOperation;
154+
private final int minNumOfPositionalArgs;
154155

155156
private BuiltinMethodDescriptor(String name, NodeFactory<? extends PythonBuiltinBaseNode> factory, PythonBuiltinClassType type, Builtin builtinAnnotation) {
156157
assert name.equals(builtinAnnotation.name());
@@ -159,6 +160,7 @@ private BuiltinMethodDescriptor(String name, NodeFactory<? extends PythonBuiltin
159160
this.type = type;
160161
this.builtinAnnotation = builtinAnnotation;
161162
this.isReverseOperation = builtinAnnotation.reverseOperation();
163+
this.minNumOfPositionalArgs = builtinAnnotation.minNumOfPositionalArgs();
162164
}
163165

164166
protected final NodeFactory<? extends PythonBuiltinBaseNode> getFactory() {
@@ -191,6 +193,10 @@ public final boolean isReverseOperation() {
191193
return isReverseOperation;
192194
}
193195

196+
public final int minNumOfPositionalArgs() {
197+
return minNumOfPositionalArgs;
198+
}
199+
194200
public final Builtin getBuiltinAnnotation() {
195201
return builtinAnnotation;
196202
}

graalpython/com.oracle.graal.python/src/com/oracle/graal/python/nodes/call/special/CallBinaryMethodNode.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -100,7 +100,7 @@ static Object callBinarySpecialMethodSlotInlined(VirtualFrame frame, @SuppressWa
100100
}
101101

102102
protected static boolean hasAllowedArgsNum(BuiltinMethodDescriptor descr) {
103-
return descr.getBuiltinAnnotation().minNumOfPositionalArgs() <= 2;
103+
return descr.minNumOfPositionalArgs() <= 2;
104104
}
105105

106106
@Specialization(guards = "cachedInfo == info", limit = "getCallSiteInlineCacheMaxDepth()")

graalpython/com.oracle.graal.python/src/com/oracle/graal/python/nodes/call/special/CallSpecialMethodNode.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -246,6 +246,6 @@ protected void raiseInvalidArgsNumUncached(boolean hasValidArgsNum, BuiltinMetho
246246

247247
@TruffleBoundary
248248
private void raiseInvalidArgsNumUncached(BuiltinMethodDescriptor descr) {
249-
throw PRaiseNode.raiseUncached(this, PythonBuiltinClassType.TypeError, EXPECTED_D_ARGS, descr.getBuiltinAnnotation().minNumOfPositionalArgs());
249+
throw PRaiseNode.raiseUncached(this, PythonBuiltinClassType.TypeError, EXPECTED_D_ARGS, descr.minNumOfPositionalArgs());
250250
}
251251
}

graalpython/com.oracle.graal.python/src/com/oracle/graal/python/nodes/call/special/CallUnaryMethodNode.java

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -92,9 +92,8 @@ Object callUnarySpecialMethodSlotInlined(VirtualFrame frame, @SuppressWarnings("
9292
return node.execute(frame, receiver);
9393
}
9494

95-
@TruffleBoundary(allowInlining = true)
9695
protected static boolean hasAllowedArgsNum(BuiltinMethodDescriptor descr) {
97-
return descr.getBuiltinAnnotation().minNumOfPositionalArgs() <= 1;
96+
return descr.minNumOfPositionalArgs() <= 1;
9897
}
9998

10099
@Specialization(guards = "cachedInfo == info", limit = "getCallSiteInlineCacheMaxDepth()")

0 commit comments

Comments
 (0)