6363import com .oracle .graal .python .builtins .objects .list .PList ;
6464import com .oracle .graal .python .builtins .objects .object .PythonObjectLibrary ;
6565import com .oracle .graal .python .builtins .objects .str .PString ;
66- import com .oracle .graal .python .nodes .expression .CastToBooleanNode ;
6766import com .oracle .graal .python .nodes .expression .CastToListExpressionNode .CastToListNode ;
6867import com .oracle .graal .python .nodes .function .PythonBuiltinBaseNode ;
6968import com .oracle .graal .python .nodes .function .PythonBuiltinNode ;
@@ -235,13 +234,10 @@ int forkExecDefault(VirtualFrame frame, Object args, Object executable_list, Obj
235234 Object restore_signals , Object call_setsid , PNone preexec_fn ,
236235 @ Cached CastToListNode castArgs ,
237236 @ Cached CastToListNode castExecList ,
238- @ Cached ("createIfTrueNode()" ) CastToBooleanNode castCloseFds ,
239237 @ Cached CastToListNode castFdsToKeep ,
240238 @ Cached CastToJavaStringNode castCwd ,
241239 @ Cached CastToListNode castEnv ,
242- @ CachedLibrary (limit = "3" ) PythonObjectLibrary lib ,
243- @ Cached ("createIfTrueNode()" ) CastToBooleanNode castRestoreSignals ,
244- @ Cached ("createIfTrueNode()" ) CastToBooleanNode castSetsid ) {
240+ @ CachedLibrary (limit = "3" ) PythonObjectLibrary lib ) {
245241
246242 String actualCwd ;
247243 if (cwd instanceof PNone ) {
@@ -257,7 +253,8 @@ int forkExecDefault(VirtualFrame frame, Object args, Object executable_list, Obj
257253 actualEnv = castEnv .execute (frame , env );
258254 }
259255
260- return forkExec (castArgs .execute (frame , args ), castExecList .execute (frame , executable_list ), castCloseFds .executeBoolean (frame , close_fds ),
256+ return forkExec (castArgs .execute (frame , args ), castExecList .execute (frame , executable_list ),
257+ lib .isTrueWithState (close_fds , PArguments .getThreadState (frame )),
261258 castFdsToKeep .execute (frame , fdsToKeep ), actualCwd , actualEnv ,
262259 lib .asSizeWithState (p2cread , PArguments .getThreadState (frame )),
263260 lib .asSizeWithState (p2cwrite , PArguments .getThreadState (frame )),
@@ -267,7 +264,8 @@ int forkExecDefault(VirtualFrame frame, Object args, Object executable_list, Obj
267264 lib .asSizeWithState (errwrite , PArguments .getThreadState (frame )),
268265 lib .asSizeWithState (errpipe_read , PArguments .getThreadState (frame )),
269266 lib .asSizeWithState (errpipe_write , PArguments .getThreadState (frame )),
270- castRestoreSignals .executeBoolean (frame , restore_signals ), castSetsid .executeBoolean (frame , call_setsid ), preexec_fn );
267+ lib .isTrueWithState (restore_signals , PArguments .getThreadState (frame )),
268+ lib .isTrueWithState (call_setsid , PArguments .getThreadState (frame )), preexec_fn );
271269 }
272270 }
273271}
0 commit comments