Copying in Java_java_net_SocketOutputStream_socketWrite0

Alan Bateman Alan.Bateman at
Wed Apr 1 13:26:12 UTC 2015

On 01/04/2015 13:37, Robert Stupp wrote:
> :
> Just want to understand ”the magic” here (sure, NIO is the way to go)…
> Where’s the ”trick” to avoid GC pauses for socketWrite0 and similar 
> methods?
> Is it something hard coded like ”if JNI method is from jdk source tree”?
> AFAIK there’s always a safe point w/ JNI calls. socketWrite0 is simply 
> declared as ”JNIEXPORT void JNICALL 
> Java_java_net_SocketOutputStream_socketWrite0” and I could not find 
> anything in the source tree declaring ”socketWrite0” or 
> ”SocketOutputStream” to be special (in jdk8u tree).
There isn't anything special here. In HotSpot then threads in JNI 
methods are considered to be a safepoint and so continue to execute even 
if the VM is brought to a safepoint, say for a stop-the-world GC. If the 
thread attempts to call back into VM or return from the native method 
then it will block until the safepoint completes. So nothing special for 


More information about the core-libs-dev mailing list