[prev in list] [next in list] [prev in thread] [next in thread] 

List:       openjdk-hotspot-runtime-dev
Subject:    Re: RFR: 8301106 allow cds interned strings to be moved by gc [v4]
From:       David Holmes <dholmes () openjdk ! org>
Date:       2023-02-27 0:37:04
Message-ID: R9581yrZjOtbbfn_HxcTvzfBUJdF91W4y4aCeReTSn0=.3677e073-a90f-413a-be01-787cc523d2c7 () github ! com
[Download RAW message or body]

On Sat, 25 Feb 2023 13:06:13 GMT, Ioi Lam <iklam@openjdk.org> wrote:

> > src/hotspot/share/classfile/stringTable.cpp line 800:
> > 
> > > 798:       // but bail out for safety.
> > > 799:       log_error(cds)("Too many strings to be archived: " SIZE_FORMAT, \
> > >                 _items_count);
> > > 800:       os::_exit(1);
> > 
> > Hmm I hadn't really noticed that the CDS code has introduced its own direct exit \
> > path using `os::_exit` in a number of places. Why does it do this instead of \
> > using the existing VM exit paths?
> 
> The reason is explained in metaspaceShared.cpp, but perhaps we should consolidate \
> all these direct exit calls (in a separate PR) to an utility function so it's easy \
> to track (and explain) all the calls. 
> 
> // There may be pending VM operations. We have changed some global states
> // (such as vmClasses::_klasses) that may cause these VM operations
> // to fail. For safety, forget these operations and exit the VM directly.
> os::_exit(0);

`vm_direct_exit` would seem to be okay in that case.

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

PR: https://git.openjdk.org/jdk/pull/12607


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic