Java Solaris Communities Sun Store Join SDN My Profile Why Join?
 
Bug Database
Bug Detail
Quick Lists
Top 25 Bugs
Top 25 RFE's
Recently Closed Bugs
Printable Page Printable Page


Bug Database
Bug ID: 6525802
Votes 0
Synopsis server compiler should support certain reflective and data motion intrinsics
Category hotspot:compiler2
Reported Against
Release Fixed hs10(b13), 6u4(b03) (Bug ID:2171925) , 7(b13) (Bug ID:2176911)
State 10-Fix Delivered, bug
Priority: 3-Medium
Related Bugs 4463011 , 6428387 , 6565543 , 6569243 , 6614036
Submit Date 16-FEB-2007
Description
The following functions should be intrinsics, because they can be optimized, their native performance is poor, and they are important either to known benchmarks or common uses of reflection.

Class.getComponentType, getSuperclass, isArray, isInterface, isPrimitive
Object.clone
Unsafe.copyMemory
Arrays.copyOf, copyOfRange
Array.getLength, newArray
Posted Date : 2007-02-16 02:25:30.0
Work Around
N/A
Evaluation
Yes.

See Suggested Fix for a patch to Unsafe.java which provides new addressing modes for copyMemory and setMemory.

After these intrinsics are added to Unsafe, there may be a number of native methods in J2SE which should be coded in terms of compiler intrinsics (such as Unsafe.copyMemory and Integer.reverseBytes), so that the compiler and runtime system can properly optimize them.  See, for example, java.nio.Bits.copyFromByteArray.  The bug 4463011 talks about the optimization of NIO under the assumption that Unsafe.copyMemory would not be available.  Now it is.
Posted Date : 2007-04-21 23:29:32.0
Comments
  
  Include a link with my name & email   


PLEASE NOTE: JDK6 is formerly known as Project Mustang