2424 */
2525package org .graalvm .polybench ;
2626
27- import org .graalvm .launcher .AbstractLanguageLauncher ;
28- import org .graalvm .options .OptionCategory ;
29- import org .graalvm .polyglot .Context ;
30- import org .graalvm .polyglot .Engine ;
31- import org .graalvm .polyglot .Source ;
32- import org .graalvm .polyglot .Value ;
33- import org .graalvm .polyglot .proxy .ProxyArray ;
34-
3527import java .io .File ;
3628import java .io .IOException ;
3729import java .io .InputStream ;
4739import java .util .function .BiConsumer ;
4840import java .util .logging .Handler ;
4941
42+ import org .graalvm .launcher .AbstractLanguageLauncher ;
43+ import org .graalvm .options .OptionCategory ;
44+ import org .graalvm .polyglot .Context ;
45+ import org .graalvm .polyglot .Engine ;
46+ import org .graalvm .polyglot .Source ;
47+ import org .graalvm .polyglot .Value ;
48+ import org .graalvm .polyglot .proxy .ProxyArray ;
49+
5050/**
5151 * See help.txt.
5252 */
@@ -493,13 +493,15 @@ private void runHarness(Context.Builder contextBuilder, boolean evalSourceOnly,
493493 if (evalSourceOnly ) {
494494 log ("::: Iterations skipped :::" );
495495 } else {
496+ Workload workload = lookup (context , evalResult .languageId , evalResult .value , "run" );
497+
496498 log ("::: Running warmup :::" );
497- repeatIterations (context , evalResult . languageId , evalResult .sourceName , evalResult . value , true , config .warmupIterations );
499+ repeatIterations (context , workload , evalResult .sourceName , true , config .warmupIterations );
498500 log ("" );
499501
500502 log ("::: Running :::" );
501503 config .metric .reset ();
502- repeatIterations (context , evalResult . languageId , evalResult .sourceName , evalResult . value , false , config .iterations );
504+ repeatIterations (context , workload , evalResult .sourceName , false , config .iterations );
503505 log ("" );
504506 }
505507
@@ -520,8 +522,7 @@ private static String round(double v) {
520522 return String .format ("%.2f" , v );
521523 }
522524
523- private void repeatIterations (Context context , String languageId , String name , Object evalSource , boolean warmup , int iterations ) {
524- Workload workload = lookup (context , languageId , evalSource , "run" );
525+ private void repeatIterations (Context context , Workload workload , String name , boolean warmup , int iterations ) {
525526 // Enter explicitly to avoid context switches for each iteration.
526527 context .enter ();
527528 try {
0 commit comments