RFR: 8374889: C2 VectorAPI: must handle impossible combination of signed cast from float [v2]

Emanuel Peter epeter at openjdk.org
Wed Jan 14 07:22:35 UTC 2026


On Wed, 14 Jan 2026 03:43:20 GMT, Quan Anh Mai <qamai at openjdk.org> wrote:

>> Yes.  I recommend doing this cleanup in this PR.
>> Unless we think there is a risk that gvn.transform and set_type_bottom will have different effects?
>> I think they amount to the same thing for a halt node.
>
> Also, the `reachable` parameter here seems misleading, of course a `Halt` is unreachable. The parameter seems to be about whether we will emit code for the `HaltNode`.
> 
>     instruct ShouldNotReachHere() %{
>       match(Halt);
>       format %{ "stop\t# ShouldNotReachHere" %}
>       ins_encode %{
>         if (is_reachable()) {
>           const char* str = __ code_string(_halt_reason);
>           __ stop(str);
>         }
>       %}
>       ins_pipe(pipe_slow);
>     %}

It will probably have to be `GraphKit::halt(HaltNode(Node* ctrl, Node* frameptr, const char* reason, bool generate_code_in_product = true)`.
Because there are lots of different uses, and the `ctrl`, `frameptr` and "reachability" are all also used in different ways.

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

PR Review Comment: https://git.openjdk.org/jdk/pull/29169#discussion_r2689255977


More information about the hotspot-compiler-dev mailing list