@@ -348,6 +348,16 @@ def run(self, cwd, args):
348
348
name = name .replace ("graalvm-ce-python" , "graalvm-ce" )
349
349
name = name .replace ("graalvm-ee-python" , "graalvm-ee" )
350
350
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
+
351
361
return self .host_vm ().run_launcher ("graalpy" , self ._options + args , cwd )
352
362
353
363
@@ -371,7 +381,17 @@ def interpreter(self):
371
381
372
382
def run (self , cwd , args ):
373
383
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
375
395
return mx .run ([self .interpreter ()] + args , cwd = cwd , env = env )
376
396
377
397
@@ -395,6 +415,11 @@ def interpreter(self):
395
415
return join (home , "bin" , "python" )
396
416
397
417
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
398
423
return mx .run ([self .interpreter ()] + args , cwd = cwd )
399
424
400
425
@@ -676,7 +701,7 @@ def register_python_benchmarks():
676
701
python_vm_registry .add_vm (PyPyVm ())
677
702
python_vm_registry .add_vm (Python3Vm ())
678
703
for config_name , options , priority in [
679
- ("launcher" , ["--vm.Xmx8G" ], 5 ),
704
+ ("launcher" , [], 5 ),
680
705
]:
681
706
python_vm_registry .add_vm (GraalPyVm (config_name , options ), SUITE , priority )
682
707
0 commit comments