Skip to content

Commit a4c01b6

Browse files
committed
Remove LazyPythonClass use in RaiseNode
1 parent fdba761 commit a4c01b6

File tree

1 file changed

+6
-4
lines changed
  • graalpython/com.oracle.graal.python/src/com/oracle/graal/python/nodes/statement

1 file changed

+6
-4
lines changed

graalpython/com.oracle.graal.python/src/com/oracle/graal/python/nodes/statement/RaiseNode.java

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,7 @@
3131
import com.oracle.graal.python.builtins.PythonBuiltinClassType;
3232
import com.oracle.graal.python.builtins.objects.PNone;
3333
import com.oracle.graal.python.builtins.objects.exception.PBaseException;
34-
import com.oracle.graal.python.builtins.objects.type.LazyPythonClass;
34+
import com.oracle.graal.python.builtins.objects.object.PythonObjectLibrary;
3535
import com.oracle.graal.python.builtins.objects.type.PythonAbstractClass;
3636
import com.oracle.graal.python.nodes.ErrorMessages;
3737
import com.oracle.graal.python.nodes.PGuards;
@@ -45,6 +45,7 @@
4545
import com.oracle.truffle.api.dsl.NodeChild;
4646
import com.oracle.truffle.api.dsl.Specialization;
4747
import com.oracle.truffle.api.frame.VirtualFrame;
48+
import com.oracle.truffle.api.library.CachedLibrary;
4849
import com.oracle.truffle.api.nodes.Node;
4950
import com.oracle.truffle.api.profiles.BranchProfile;
5051
import com.oracle.truffle.api.profiles.ConditionProfile;
@@ -65,12 +66,13 @@ void setCause(@SuppressWarnings("unused") VirtualFrame frame, PBaseException exc
6566
}
6667

6768
// raise * from <class>
68-
@Specialization
69-
void setCause(@SuppressWarnings("unused") VirtualFrame frame, PBaseException exception, LazyPythonClass causeClass,
69+
@Specialization(guards = "lib.isLazyPythonClass(causeClass)")
70+
void setCause(@SuppressWarnings("unused") VirtualFrame frame, PBaseException exception, Object causeClass,
7071
@Cached BranchProfile baseCheckFailedProfile,
7172
@Cached ValidExceptionNode validException,
7273
@Cached CallNode callConstructor,
73-
@Cached PRaiseNode raise) {
74+
@Cached PRaiseNode raise,
75+
@SuppressWarnings("unused") @CachedLibrary(limit = "2") PythonObjectLibrary lib) {
7476
if (!validException.execute(frame, causeClass)) {
7577
baseCheckFailedProfile.enter();
7678
throw raise.raise(PythonBuiltinClassType.TypeError, ErrorMessages.EXCEPTION_CAUSES_MUST_DERIVE_FROM_BASE_EX);

0 commit comments

Comments
 (0)