Might have been native platform toolkit... ;)

-kto

On Apr 7, 2014, at 12:12 AM, serguei.spit...@oracle.com wrote:

> On 4/6/14 11:13 PM, Staffan Larsen wrote:
>> Curious: What does NPT stand for?
> 
> This is from Kelly:
> 
> > The original purpose of this library was to provide some generic native 
> > platform tools
> > for dealing with things that will happen BEFORE the JVM is started and Java 
> > code can be called.
> 
> Thanks,
> Serguei
> 
>> 
>> On 4 apr 2014, at 18:52, Kelly O'Hair <kellyoh...@gmail.com> wrote:
>> 
>>> Just as background information...  
>>> 
>>> The serviceability team should do what they think is right here, I'll just 
>>> provide some history... ;)
>>> 
>>> The original purpose of this library was to provide some generic native 
>>> platform tools for dealing with things that will happen BEFORE the JVM is 
>>> started and Java code can be called.
>>> 
>>> This was necessary for JVM agents (hprof, debugger backend, jvmti demo 
>>> agents) and any native code that was executed before the JVM had gotten off 
>>> the ground.
>>> Doing  arbitrary character encoding conversions to/from the various flavors 
>>> of UTF-8 is a nightmare outside Java.
>>> And since the characters typed in on a java commandline is in the OS's 
>>> default platform  encoding, and not in UTF-8, they need to be converted.
>>> Since this native code was not part of hotspot, and was written in C, using 
>>> the hotspot functionality for this was not possible at the time.
>>> 
>>> This logic was isolated because it was so OS specific and ugly, and we 
>>> (maybe just me) had visions of needed more in this library, and that maybe 
>>> we could limit the ifdef-mania to this library rather than scatter the same 
>>> ifdef-mania all over the rest of the JDK native code that lives outside 
>>> hotspot.
>>> So it seemed natural to isolate it as a separate little library that could 
>>> be unit tested on it's own.
>>> 
>>> It's extremely likely that it could be trimmed down, and as more and more 
>>> OS default encodings become UTF-8, maybe it' will eventually become 
>>> obsolete.
>>> 
>>> Hope this helps.
>>> 
>>> -kto
>>> 
>>> On Apr 4, 2014, at 9:28 AM, Dmitry Samersoff wrote:
>>> 
>>>> Hi Everybody,
>>>> 
>>>> We have an libnpt.so[1] in JDK. This library contains bunch of UTF
>>>> related functions. On a brief investigation it looks like most of these
>>>> functions are not used. Six functions below called one time each from
>>>> share/back/* and hprof_init.c [2]
>>>> 
>>>> Should I file a CR to have it cleaned up - remove npt library as a
>>>> separate entity and move few utf functions that really used to place
>>>> where it actually called.
>>>> 
>>>> 
>>>> [1] Library sources location
>>>> 
>>>> src/share/npt
>>>> src/solaris/npt
>>>> src/windows/npt
>>>> 
>>>> [2] Library usage
>>>> 
>>>> src/share/back/transport.c:
>>>> 
>>>> utf8FromPlatform
>>>> utf8ToPlatform
>>>> 
>>>> src/share/back/inStream.c:
>>>> 
>>>> utf8sToUtf8m
>>>> utf8sToUtf8mLength
>>>> 
>>>> src/share/back/outStream.c:
>>>> 
>>>> utf8mToUtf8s
>>>> utf8mToUtf8sLength
>>>> 
>>>> 
>>>> src/share/demo/jvmti/hprof/hprof_init.c
>>>> 
>>>> utf8ToPlatform
>>>> 
>>>> 
>>>> -Dmitry
>>>> 
>>>> -- 
>>>> Dmitry Samersoff
>>>> Oracle Java development team, Saint Petersburg, Russia
>>>> * I would love to change the world, but they won't give me the sources.
> 

Reply via email to