-
Bug
-
Resolution: Fixed
-
P2
-
1.4.0
-
beta
-
generic
-
generic
In Merlin build 46 we changed the value of the file.encoding property for the
"C" locale from "646" to "ISO646-US".
There is code in jni_util.c which checks for the file.encoding value "646" to
determine whether fast translation to/from Unicode should be done, as opposed
to calling Java object methods. This code was not changed to recognize the new
encoding name, and is therefore always using the slow path. (The JVMs call
into libjava to use this functionality.)
The ISO646-US encoding is the default on Solaris 8, so it's important that this
performance regression be fixed.
Looking at jni_util.c, there's another problem: It treats 646 as an alias for
ISO-8859-1, which it most definitely is not. So in addition to fixing the
performance issue we should also add the code needed to implement 646
correctly.
-- mr@eng 2001/1/11
"C" locale from "646" to "ISO646-US".
There is code in jni_util.c which checks for the file.encoding value "646" to
determine whether fast translation to/from Unicode should be done, as opposed
to calling Java object methods. This code was not changed to recognize the new
encoding name, and is therefore always using the slow path. (The JVMs call
into libjava to use this functionality.)
The ISO646-US encoding is the default on Solaris 8, so it's important that this
performance regression be fixed.
Looking at jni_util.c, there's another problem: It treats 646 as an alias for
ISO-8859-1, which it most definitely is not. So in addition to fixing the
performance issue we should also add the code needed to implement 646
correctly.
-- mr@eng 2001/1/11
- relates to
-
JDK-4416199 Cannot run classes when file.encoding=Cp037
-
- Closed
-