RFR: 8036128 Remove deprecated VM flag UseVMInterruptibleIO
frederic.parain at oracle.com
Thu Mar 6 16:12:41 UTC 2014
The UseVMInterruptibleIO flag removal has been
scheduled a long time ago:
Now, it's time to effectively remove this flag and
its associated code.
Removing this feature includes removing all the
macros used to deal with interruptible I/Os, which
could make the reading of the webrev hard and painful.
I conservatively preserved the asserts that were
inserted by the INTERRUPTIBLE macros, with one
notable exception for os::read(). The original
asserts checked that the current ThreadState
was not _thread_in_native nor _thread_blocked.
I changed it into an assert checking that the
current thread state is _thread_in_vm. The
rational for that is that the only real usage
of os::read() on Solaris is in the
ClassPathDirEntry::open_stream() method, which
is always called with ThreadState ==_thread_in_vm.
This change makes the TreadStateTransition simpler
and avoid having to store the previous ThreadState.
This choice could be revisited once the rules
for ThreadStateTransition around system calls
when ThreadState is _thread_in_vm are clarified
(Solaris is currently the only platform doing
this kind of transition for os::read()).
Tested with vm.quick.testlist and JPRT hotspot job.
Frederic Parain - Oracle
Grenoble Engineering Center - France
Phone: +33 4 76 18 81 17
Email: Frederic.Parain at oracle.com
More information about the hotspot-runtime-dev