EVALUATION
http://hg.openjdk.java.net/jdk7/build/hotspot/rev/03e1b9fce89d
|
|
|
EVALUATION
http://hg.openjdk.java.net/jdk7/hotspot/hotspot/rev/03e1b9fce89d
|
|
|
EVALUATION
After encountering a problem caused by the HPI changes it has been decided to use this CR to make one specific change.
os_linux.inline.hpp includes sys/ioctl.h for use in the socket_available method. The include of ioctl.h causes name space pollution on some systems due to subsequent includes (eg termios.h) that causes compilation failure. As there is really no reason for socket_available to be inlined (it is used as part of a Java -> native -> VM invocation sequence, so the extra call is insignificant compared to the state transitions) the fix here is to move socket_available into os_linux.cpp and delete the inclusion of sys/ioctl.h from os_linux.inline.hpp
|
|
|
PUBLIC COMMENTS
System header files should be included in our header files any time they are needed.
The suggestion to "avoid if possible" is more about seeing whether certain inline definitions can be moved from inline.hpp file into cpp file instead (and not be inline of course) so that the system includes move to the cpp file.
|
|
|
PUBLIC COMMENTS
The files concerned are as follows:
hypert /mirrors/ws-mirrors/hsdev/hotspot/src > grepsrc.sh \#include | grep .hpp: | grep -v shark | grep \< | grep -v zero
./os/linux/vm/hpi_linux.hpp:#include <unistd.h>
./os/linux/vm/hpi_linux.hpp:#include <sys/socket.h>
./os/linux/vm/hpi_linux.hpp:#include <sys/poll.h>
./os/linux/vm/hpi_linux.hpp:#include <sys/ioctl.h>
./os/linux/vm/hpi_linux.hpp:#include <netdb.h>
./os/solaris/vm/hpi_solaris.hpp:#include <sys/socket.h>
./os/solaris/vm/hpi_solaris.hpp:#include <sys/poll.h>
./os/solaris/vm/hpi_solaris.hpp:#include <sys/filio.h>
./os/solaris/vm/hpi_solaris.hpp:#include <unistd.h>
./os/solaris/vm/hpi_solaris.hpp:#include <netdb.h>
./os/solaris/vm/hpi_solaris.hpp:#include <setjmp.h>
./os_cpu/linux_arm/vm/bytes_linux_arm.inline.hpp:#include <byteswap.h>
./os_cpu/linux_x86/vm/bytes_linux_x86.inline.hpp:#include <byteswap.h>
./share/vm/adlc/adlc.hpp:#include <iostream>
./share/vm/adlc/adlc.hpp:#include <sys/types.h>
./share/vm/adlc/adlc.hpp: #include <inttypes.h>
./share/vm/adlc/filebuff.hpp:#include <iostream>
./share/vm/classfile/classLoader.hpp:#include <sys/stat.h>
./share/vm/gc_implementation/g1/ptrQueue.hpp:#include <new>
./share/vm/libadt/port.hpp:#include <stddef.h>
./share/vm/libadt/port.hpp:#include <stdlib.h>
./share/vm/libadt/port.hpp:#include <string.h>
./share/vm/libadt/port.hpp:#include <mem.h>
./share/vm/libadt/port.hpp:#include <string.h>
./share/vm/libadt/port.hpp:#include <strings.h>
./share/vm/libadt/port.hpp:#include <stdlib.h>
./share/vm/libadt/port.hpp:#include <stdlib.h>
./share/vm/libadt/port.hpp:#include <memory.h>
./share/vm/libadt/port.hpp:#include <stdlib.h>
./share/vm/libadt/port.hpp:#include <memory.h>
./share/vm/libadt/port.hpp:#include <stdlib.h>
./share/vm/libadt/port.hpp:#include <stddef.h>
./share/vm/libadt/port.hpp:#include <stdlib.h>
./share/vm/libadt/port.hpp:#include <string.h>
./share/vm/libadt/port.hpp:#include <stddef.h>
./share/vm/libadt/port.hpp:#include <stdlib.h>
./share/vm/libadt/port.hpp:#include <string.h>
./share/vm/libadt/port.hpp:#include <unistd.h>
./share/vm/libadt/port.hpp:// #include <bstring.h>
./share/vm/oops/typeArrayOop.hpp:#include <limits.h>
./share/vm/utilities/debug.hpp:#include <stdarg.h>
./share/vm/utilities/dtrace.hpp:#include <sys/sdt.h>
./share/vm/utilities/globalDefinitions_gcc.hpp:#include <ctype.h>
./share/vm/utilities/globalDefinitions_gcc.hpp:#include <string.h>
./share/vm/utilities/globalDefinitions_gcc.hpp:#include <stdarg.h>
./share/vm/utilities/globalDefinitions_gcc.hpp:#include <stddef.h>
./share/vm/utilities/globalDefinitions_gcc.hpp:#include <stdio.h>
./share/vm/utilities/globalDefinitions_gcc.hpp:#include <stdlib.h>
./share/vm/utilities/globalDefinitions_gcc.hpp:#include <wchar.h>
./share/vm/utilities/globalDefinitions_gcc.hpp:#include <ieeefp.h>
./share/vm/utilities/globalDefinitions_gcc.hpp:#include <math.h>
./share/vm/utilities/globalDefinitions_gcc.hpp:#include <time.h>
./share/vm/utilities/globalDefinitions_gcc.hpp:#include <fcntl.h>
./share/vm/utilities/globalDefinitions_gcc.hpp:#include <dlfcn.h>
./share/vm/utilities/globalDefinitions_gcc.hpp:#include <pthread.h>
./share/vm/utilities/globalDefinitions_gcc.hpp:#include <thread.h>
./share/vm/utilities/globalDefinitions_gcc.hpp:#include <limits.h>
./share/vm/utilities/globalDefinitions_gcc.hpp:#include <errno.h>
./share/vm/utilities/globalDefinitions_gcc.hpp:#include <sys/trap.h>
./share/vm/utilities/globalDefinitions_gcc.hpp:#include <sys/regset.h>
./share/vm/utilities/globalDefinitions_gcc.hpp:#include <sys/procset.h>
./share/vm/utilities/globalDefinitions_gcc.hpp:#include <ucontext.h>
./share/vm/utilities/globalDefinitions_gcc.hpp:#include <setjmp.h>
./share/vm/utilities/globalDefinitions_gcc.hpp:#include <inttypes.h>
./share/vm/utilities/globalDefinitions_gcc.hpp:#include <signal.h>
./share/vm/utilities/globalDefinitions_gcc.hpp:#include <ucontext.h>
./share/vm/utilities/globalDefinitions_gcc.hpp:#include <sys/time.h>
./share/vm/utilities/growableArray.hpp:#include <new>
Other than the hpi files that initiated this suggestion I don't see anything that actually needs fixing. I'd close this as "not a defect" (or as this is an RFE perhaps just "will not fix" - though that implies something needs fixing.
|
|
|