RFR: 8224974: Implement JEP 352

Aleksey Shipilev shade at redhat.com
Wed Jul 31 15:46:18 UTC 2019


On 7/31/19 4:46 PM, Andrew Dinn wrote:
> Well, the failure happened during the build process so I didn't
> (couldn't) debug it. I disabled the assert in supports_cpuflush() in
> order to allow the build to complete and then ran up the resulting JVM
> inside gdb to check what was going on. The problem is that with my patch
> supports_cpuflush() is called from Assembler::clflush() and the latter
> is called from icache_x86.cpp very early during bootstrap (I think this
> is neded to flush the flush routine used to flush the code cache).
> Anyway, the call happens so early that it precedes the call to
> VM_Version::get_processor_features which sets up the _features mask
> tested by the assert.

I believe you can untie this bootstrapping circularity by relaxing the assert with
Universe::is_fully_unitialized(). It still gives us window to fail with SIGILL if the stub is called
early during bootstrap, but that would be something to fix *if* we ever find ourselves there.

-Aleksey

-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 833 bytes
Desc: OpenPGP digital signature
URL: <https://mail.openjdk.java.net/pipermail/nio-dev/attachments/20190731/8b85484b/signature.asc>


More information about the nio-dev mailing list