Register sun.nio.ch.SelectorImpl fields for unsafe access. (#9631)
Motivation: On JDK > 9 Netty uses Unsafe to write two internal JDK fields: sun.nio.ch.SelectorImp.selectedKeys and sun.nio.ch.SelectorImpl.publicSelectedKeys. This is done in transport/src/main/java/io/netty/channel/nio/NioEventLoop.java:225, in openSelector() method. The GraalVM analysis cannot do the Unsafe registration automatically because the object field offset computation is hidden behind two layers of calls. Modifications: This PR updates the Netty GraalVM configuration by registering those fields for unsafe access. Result: Improved support for Netty on GraalVM with JDK > 9.
This commit is contained in:
parent
d8b1a2d93f
commit
4980a6b304
@ -4,5 +4,12 @@
|
||||
"methods": [
|
||||
{ "name": "<init>", "parameterTypes": [] }
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "sun.nio.ch.SelectorImpl",
|
||||
"fields": [
|
||||
{ "name": "selectedKeys", "allowUnsafeAccess" : true},
|
||||
{ "name": "publicSelectedKeys", "allowUnsafeAccess" : true}
|
||||
]
|
||||
}
|
||||
]
|
||||
|
Loading…
Reference in New Issue
Block a user