@@ -348,6 +348,16 @@ def run(self, cwd, args):
348348 name = name .replace ("graalvm-ce-python" , "graalvm-ce" )
349349 name = name .replace ("graalvm-ee-python" , "graalvm-ee" )
350350 type(host_vm ).name = lambda s : name
351+
352+ for idx ,arg in enumerate (args ):
353+ if "--vm.Xmx" in arg :
354+ mx .log (f"Setting Xmx from { arg } " )
355+ break
356+ else :
357+ xmxArg = "--vm.Xmx8G"
358+ mx .log (f"Setting Xmx as { xmxArg } " )
359+ args .insert (0 , xmxArg )
360+
351361 return self .host_vm ().run_launcher ("graalpy" , self ._options + args , cwd )
352362
353363
@@ -371,7 +381,17 @@ def interpreter(self):
371381
372382 def run (self , cwd , args ):
373383 env = os .environ .copy ()
374- env ["PYPY_GC_MAX" ] = "8GB"
384+ xmxArg = re .compile ("--vm.Xmx([0-9]+)([kKgGmM])" )
385+ pypyGcMax = "8GB"
386+ for idx ,arg in enumerate (args ):
387+ if m := xmxArg .search (arg ):
388+ args = args [:idx ] + args [idx + 1 :]
389+ pypyGcMax = f"{ m .group (1 )} { m .group (2 ).upper ()} B"
390+ mx .log (f"Setting PYPY_GC_MAX={ pypyGcMax } via { arg } " )
391+ break
392+ else :
393+ mx .log (f"Setting PYPY_GC_MAX={ pypyGcMax } , use --vm.Xmx argument to override it" )
394+ env ["PYPY_GC_MAX" ] = pypyGcMax
375395 return mx .run ([self .interpreter ()] + args , cwd = cwd , env = env )
376396
377397
@@ -395,6 +415,11 @@ def interpreter(self):
395415 return join (home , "bin" , "python" )
396416
397417 def run (self , cwd , args ):
418+ for idx ,arg in enumerate (args ):
419+ if "--vm.Xmx" in arg :
420+ mx .warn (f"Ignoring { arg } , cannot restrict memory on CPython." )
421+ args = args [:idx ] + args [idx + 1 :]
422+ break
398423 return mx .run ([self .interpreter ()] + args , cwd = cwd )
399424
400425
@@ -676,7 +701,7 @@ def register_python_benchmarks():
676701 python_vm_registry .add_vm (PyPyVm ())
677702 python_vm_registry .add_vm (Python3Vm ())
678703 for config_name , options , priority in [
679- ("launcher" , ["--vm.Xmx8G" ], 5 ),
704+ ("launcher" , [], 5 ),
680705 ]:
681706 python_vm_registry .add_vm (GraalPyVm (config_name , options ), SUITE , priority )
682707
0 commit comments