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": [
|
"methods": [
|
||||||
{ "name": "<init>", "parameterTypes": [] }
|
{ "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