|
83 | 83 | LTS_JDK_VERSION = '21'
|
84 | 84 | DEFAULT_JDK_VERSION = 'latest'
|
85 | 85 |
|
| 86 | +# Not yet 'jdk.graal' as we test against 21 and 21 does not know 'jdk.graal' |
| 87 | +GRAAL_OPTION_PREFIX = 'graal' |
| 88 | + |
86 | 89 | MRI_TEST_RELATIVE_PREFIX = 'test/mri/tests'
|
87 | 90 | MRI_TEST_PREFIX = "#{TRUFFLERUBY_DIR}/#{MRI_TEST_RELATIVE_PREFIX}"
|
88 | 91 | MRI_TEST_CEXT_DIR = "#{MRI_TEST_PREFIX}/cext-c"
|
@@ -825,9 +828,9 @@ def help
|
825 | 828 | --stress stress the compiler (compile immediately, foreground compilation, compilation exceptions are fatal)
|
826 | 829 | --ea enable assertions
|
827 | 830 | --asm show assembly
|
828 |
| - --igv dump select Graal graphs to graal_dumps/ (-Djdk.graal.Dump=Truffle:1) |
829 |
| - --igv-full dump all Graal graphs to graal_dumps/ (-Djdk.graal.Dump=Truffle:2,TruffleHostInlining:0) |
830 |
| - --igv-network dump to IGV directly through the network (-Djdk.graal.PrintGraph=Network) |
| 831 | + --igv dump select Graal graphs to graal_dumps/ (-D#{GRAAL_OPTION_PREFIX}.Dump=Truffle:1) |
| 832 | + --igv-full dump all Graal graphs to graal_dumps/ (-D#{GRAAL_OPTION_PREFIX}.Dump=Truffle:2,TruffleHostInlining:0) |
| 833 | + --igv-network dump to IGV directly through the network (-D#{GRAAL_OPTION_PREFIX}.PrintGraph=Network) |
831 | 834 | --infopoints show source location for each node in IGV
|
832 | 835 | --fg disable background compilation
|
833 | 836 | --trace show compilation information on stdout
|
@@ -1071,14 +1074,14 @@ def rebuild(*options)
|
1071 | 1074 | when '--igv', '--igv-full'
|
1072 | 1075 | truffleruby_compiler!
|
1073 | 1076 | if arg == '--igv-full'
|
1074 |
| - vm_args << '--vm.Djdk.graal.Dump=Truffle:2,TruffleHostInlining:0,TruffleInjectImmutableFrameFields:0' |
| 1077 | + vm_args << "--vm.D#{GRAAL_OPTION_PREFIX}.Dump=Truffle:2,TruffleHostInlining:0,TruffleInjectImmutableFrameFields:0" |
1075 | 1078 | else
|
1076 |
| - vm_args << '--vm.Djdk.graal.Dump=Truffle:1' |
| 1079 | + vm_args << "--vm.D#{GRAAL_OPTION_PREFIX}.Dump=Truffle:1" |
1077 | 1080 | end
|
1078 |
| - vm_args << '--vm.Djdk.graal.PrintBackendCFG=false' |
| 1081 | + vm_args << "--vm.D#{GRAAL_OPTION_PREFIX}.PrintBackendCFG=false" |
1079 | 1082 | when '--igv-network'
|
1080 | 1083 | truffleruby_compiler!
|
1081 |
| - vm_args << '--vm.Djdk.graal.PrintGraph=Network' |
| 1084 | + vm_args << "--vm.D#{GRAAL_OPTION_PREFIX}.PrintGraph=Network" |
1082 | 1085 | when '--exec'
|
1083 | 1086 | options[:use_exec] = true
|
1084 | 1087 | when /^--vm\./
|
@@ -1787,7 +1790,9 @@ def mspec(*args)
|
1787 | 1790 | vm_args, ruby_args, parsed_options = ruby_options({}, ['--ea', *ruby_args])
|
1788 | 1791 |
|
1789 | 1792 | if !JT_SPECS_COMPILATION && truffleruby_compiler? && truffleruby_jvm?
|
1790 |
| - vm_args << '--vm.XX:-UseJVMCICompiler' << '--experimental-options' << '--engine.Compilation=false' |
| 1793 | + # Note: GR-62802: --vm.XX:-UseJVMCICompiler does not work for unchained standalones or needs --vm.Dpolyglotimpl.DisableVersionChecks=true |
| 1794 | + vm_args << '--vm.XX:-UseJVMCICompiler' |
| 1795 | + vm_args << '--experimental-options' << '--engine.Compilation=false' |
1791 | 1796 | vm_args << '--engine.Splitting=false' unless JT_SPECS_SPLITTING
|
1792 | 1797 | end
|
1793 | 1798 |
|
@@ -2323,19 +2328,19 @@ def graph(*args)
|
2323 | 2328 | "--engine.CompileOnly=#{method}",
|
2324 | 2329 | '--engine.MultiTier=false',
|
2325 | 2330 | '--compiler.NodeSourcePositions',
|
2326 |
| - '--vm.Djdk.graal.PrintGraphWithSchedule=true', |
2327 |
| - *('--vm.Djdk.graal.PrintBackendCFG=true' if cfg2asm), |
2328 |
| - '--vm.Djdk.graal.Dump=Truffle:1', |
| 2331 | + "--vm.D#{GRAAL_OPTION_PREFIX}.PrintGraphWithSchedule=true", |
| 2332 | + *("--vm.D#{GRAAL_OPTION_PREFIX}.PrintBackendCFG=true" if cfg2asm), |
| 2333 | + "--vm.D#{GRAAL_OPTION_PREFIX}.Dump=Truffle:1", |
2329 | 2334 | '--log.file=/dev/stderr', # suppress the Truffle log output help message
|
2330 | 2335 | ]
|
2331 | 2336 |
|
2332 | 2337 | # As per https://github.com/Shopify/seafoam/blob/master/docs/getting-graphs.md
|
2333 | 2338 | # GR-36849: needs #truffleruby_native_built? instead of #truffleruby_native?
|
2334 | 2339 | simplify_vm_args = [
|
2335 |
| - *('--vm.Djdk.graal.PartialUnroll=false' unless truffleruby_native_built?), |
2336 |
| - *('--vm.Djdk.graal.LoopPeeling=false' unless truffleruby_native_built?), |
2337 |
| - *('--vm.Djdk.graal.LoopUnswitch=false' unless truffleruby_native_built?), |
2338 |
| - '--vm.Djdk.graal.OptScheduleOutOfLoops=false', |
| 2340 | + *("--vm.D#{GRAAL_OPTION_PREFIX}.PartialUnroll=false" unless truffleruby_native_built?), |
| 2341 | + *("--vm.D#{GRAAL_OPTION_PREFIX}.LoopPeeling=false" unless truffleruby_native_built?), |
| 2342 | + *("--vm.D#{GRAAL_OPTION_PREFIX}.LoopUnswitch=false" unless truffleruby_native_built?), |
| 2343 | + "--vm.D#{GRAAL_OPTION_PREFIX}.OptScheduleOutOfLoops=false", |
2339 | 2344 | ]
|
2340 | 2345 |
|
2341 | 2346 | base_vm_args += simplify_vm_args if simplify
|
|
0 commit comments