On Fri, 15 May 2026 11:29:48 GMT, Manuel Hässig <[email protected]> wrote:

>> This PR removes the experimental JVMCI feature and all usages and references 
>> of it, including references to Graal. For more details on the rationale, 
>> please see the issue description.
>> 
>> This change was constructed in several steps:
>>  1. Remove all folders directly related to JVMCI.
>>  2. Go through one folder at a time and remove code relating to matches for 
>> the regex `([Jj][Vv][Mm][Cc][Ii])|([Gg]raal)|vm.ci|[Gg]alahad` and 
>> immediately obvious dead code.
>>  3. Filter the `git blame` for each file for JVMCI related commits and check 
>> if that code is now dead. 
>> 
>> ### Note to Reviewers
>> 
>> Each commit is limited to a subfolder or a change spanning further so you 
>> can take look at a piece of the codebase you are familiar with. I recommend 
>> you look at individual commits and select "Ignore Whitespace" in the Github 
>> UI.
>> 
>> ### Testing
>> 
>>  - [x] Github Actions
>>  - [x] tier1-6 linux-x64, linux-aarch64, windows-x64, macosx-aarch64, 
>> macosx-x64
>>  - [x] build linux-zero, linux-arm, linux-riscv, linux-ppc (LE & BE) 
>> fastdebug with features C1+C2, C2 only, C1 only
>> 
>> ---------
>> - [x] I confirm that I make this contribution in accordance with the 
>> [OpenJDK Interim AI Policy](https://openjdk.org/legal/ai).
>
> Manuel Hässig has updated the pull request with a new target base due to a 
> merge or a rebase. The pull request now contains 49 commits:
> 
>  - Merge branch 'master' into remove-jvmci
>  - Remove graal from test/langtools
>  - Remove jvmci and graal from test/lib
>  - Remove jvmci and graal from test/jdk/jdk/jfr
>  - Remove jvmci from test/jdk/tools/jlink
>  - Remove jvmci and graal from test/jdk/jdk/modules
>  - Remove jvmci and graal frmo test/jdk/java/lang
>  - Remove graal from test/jdk/javax
>  - Remove jvmci and graal from test/jdk/com/sun/jdi
>  - Remove jvmci and graal from test/hotspot/jtreg/runtime
>  - ... and 39 more: https://git.openjdk.org/jdk/compare/061bd076...0100264f

I reviewed  cpu, os_cpu, c1, cds, code, compiler, interpreter, cvmci,  opto, 
prims
I have only few comments.

src/hotspot/cpu/aarch64/sharedRuntime_aarch64.cpp line 245:

> 243: #else
> 244: #if !INCLUDE_JVMCI
> 245:   assert(!_save_vectors, "vectors are generated only by C2 and JVMCI");

Keep assert because it is under `if ! JVMCI` but remove JVMCI from message.

src/hotspot/cpu/riscv/sharedRuntime_riscv.cpp line 206:

> 204: #else
> 205: #if !INCLUDE_JVMCI
> 206:   assert(!_save_vectors, "vectors are generated only by C2 and JVMCI");

Keep this assert, remove JVMCI from message.

src/hotspot/share/classfile/javaClasses.cpp line 5107:

> 5105: jint java_lang_Integer::value(oop obj) {
> 5106:    jvalue v;
> 5107:    java_lang_boxing_object::get_value(obj, &v);

I thought we may use it in C2 for boxing elimination but it seems not. 
`EliminateAutoBox` flag is on by default and your testing did not hit an issue.

src/hotspot/share/code/nmethod.cpp line 927:

> 925:     return nullptr;
> 926:   }
> 927:   assert(cont_offset != exception_offset, "continuation offset and 
> exception offset must be different");

May be `guarantee` instead of `assert`.

src/hotspot/share/compiler/compiler_globals.hpp line 275:

> 273:           "mode if posssible")                                           
>    \
> 274:                                                                          
>    \
> 275:   product(ccstr, CompilationMode, "default",                             
>    \

`CompilationMode` flag was added for Graal: 
https://bugs.openjdk.org/browse/JDK-8227003
Consider reversing changes as followup RFE.

-------------

PR Review: https://git.openjdk.org/jdk/pull/30834#pullrequestreview-4300021164
PR Review Comment: https://git.openjdk.org/jdk/pull/30834#discussion_r3249835421
PR Review Comment: https://git.openjdk.org/jdk/pull/30834#discussion_r3249851694
PR Review Comment: https://git.openjdk.org/jdk/pull/30834#discussion_r3249975398
PR Review Comment: https://git.openjdk.org/jdk/pull/30834#discussion_r3250010633
PR Review Comment: https://git.openjdk.org/jdk/pull/30834#discussion_r3250136528

Reply via email to