When an oop is passed as to a function expecting a Handle argument, the VM C++ code calls the conversion operator Handle(oop) which does a Thread::current() call to put the new Handle on the thread's list. I made an edit to reduce use of Thread::current() by making the implicit conversion operator non-public and forcing C++ code to use the Handle(THREAD, oop) variant instead. The prior edit as part of bug 4641403 reduced the Thread::current() calls but restored the public implicit conversion in the checked in code.
One of the benefits to the implicit oop ->handle conversion work was that it found some naked oops and showed some functions were better to take Handle rather than oop arguments, which also reduced the likelihood of naked oops.
This doesn't result in any performance increase even though less tls calls are being made but might reduce the hotpspot code size a little.
This purpose of this bug is to redo this experiment and have a bugid to checkin any cleanups resulting from this experiment.
###@###.### 2005-04-13 19:41:59 GMT
- relates to
-
JDK-6267136 javasoft.sqe.tests.vm.jvmti.GetObjectMonitorUsage.gomu001.gomu00104 fails with a vm crash on Solaris
-
- Closed
-