@@ -1863,6 +1863,7 @@ public static void doUnpackIterable(VirtualFrame virtualFrame, Object collection
18631863
18641864 @ Operation
18651865 @ ImportStatic ({PGuards .class })
1866+ @ SuppressWarnings ("truffle-interpreted-performance" )
18661867 public static final class UnpackStarredToLocals {
18671868 @ Specialization (guards = {"cannotBeOverridden(sequence, inliningTarget, getClassNode)" , "!isPString(sequence)" }, limit = "1" )
18681869 public static void doUnpackSequence (VirtualFrame localFrame , PSequence sequence , int starIndex ,
@@ -2949,7 +2950,7 @@ public static void doEnter(VirtualFrame frame, Object contextManager,
29492950 public static final class ContextManagerExit {
29502951 @ Specialization
29512952 public static void doRegular (VirtualFrame frame , PNone none , Object exit , Object contextManager ,
2952- @ Cached CallQuaternaryMethodNode callExit ) {
2953+ @ Shared @ Cached CallQuaternaryMethodNode callExit ) {
29532954 callExit .execute (frame , exit , contextManager , PNone .NONE , PNone .NONE , PNone .NONE );
29542955 }
29552956
@@ -2959,7 +2960,7 @@ public static void doExceptional(VirtualFrame frame,
29592960 Object exception , Object exit , Object contextManager ,
29602961 @ Bind ("this" ) Node inliningTarget ,
29612962 @ Bind ("$root" ) PBytecodeDSLRootNode rootNode ,
2962- @ Cached CallQuaternaryMethodNode callExit ,
2963+ @ Shared @ Cached CallQuaternaryMethodNode callExit ,
29632964 @ Cached GetClassNode getClass ,
29642965 @ Cached ExceptionNodes .GetTracebackNode getTraceback ,
29652966 @ Cached PyObjectIsTrueNode isTrue ,
@@ -3023,7 +3024,7 @@ public static final class AsyncContextManagerCallExit {
30233024 @ Specialization
30243025 public static Object doRegular (VirtualFrame frame ,
30253026 PNone none , Object exit , Object contextManager ,
3026- @ Cached CallQuaternaryMethodNode callExit ) {
3027+ @ Shared @ Cached CallQuaternaryMethodNode callExit ) {
30273028 return callExit .execute (frame , exit , contextManager , PNone .NONE , PNone .NONE , PNone .NONE );
30283029 }
30293030
@@ -3033,7 +3034,7 @@ public static Object doExceptional(VirtualFrame frame,
30333034 Object exception , Object exit , Object contextManager ,
30343035 @ Bind ("this" ) Node inliningTarget ,
30353036 @ Bind ("$root" ) PBytecodeDSLRootNode rootNode ,
3036- @ Cached CallQuaternaryMethodNode callExit ,
3037+ @ Shared @ Cached CallQuaternaryMethodNode callExit ,
30373038 @ Cached GetClassNode getClass ,
30383039 @ Cached ExceptionNodes .GetTracebackNode getTraceback ,
30393040 @ Cached PyObjectIsTrueNode isTrue ,
@@ -3056,9 +3057,10 @@ public static Object doExceptional(VirtualFrame frame,
30563057
30573058 @ Operation
30583059 public static final class AsyncContextManagerExit {
3059- // NB: There is nothing to do after awaiting __exit__(None, None, None), so this
3060- // operation is only used for the case where the context manager exits due to an
3061- // exception.
3060+ /**
3061+ * NB: There is nothing to do after awaiting __exit__(None, None, None), so this operation
3062+ * is only emitted for the case where the context manager exits due to an exception.
3063+ */
30623064 @ Specialization
30633065 @ InliningCutoff
30643066 public static void doExceptional (VirtualFrame frame ,
@@ -3268,6 +3270,7 @@ public static Object doObject(VirtualFrame frame, Object sendValue,
32683270 }
32693271
32703272 @ Operation
3273+ @ SuppressWarnings ("truffle-interpreted-performance" )
32713274 public static final class YieldFromSend {
32723275 private static final TruffleString T_SEND = tsLiteral ("send" );
32733276
@@ -3336,6 +3339,7 @@ private static void handleException(VirtualFrame frame, PException e, Node inlin
33363339 }
33373340
33383341 @ Operation
3342+ @ SuppressWarnings ("turffle-interpreted-performance" )
33393343 public static final class YieldFromThrow {
33403344
33413345 private static final TruffleString T_CLOSE = tsLiteral ("close" );
0 commit comments