JDK 17 | JDK 18 |
---|---|
17.0.8Fixed | 18 b05Fixed |
Relates :
|
G1BarrierSet::write_ref_array_pre_work roughly looks as follows: if marking active -> exit for all references in array: if array[i] != NULL enqueue(array[i]) enqueue every time checks again whether marking is active. In reality, the generated assembly code seems to load Thread::current() and does the check for every loop iteration which is really unnecessary. Also some other code can be hoisted out of the loop which results in more compact generated code.
|