Limitations

In this topic, the following HPCJ limitations are discussed:

Linking Using Object Modules
Currently, you cannot use the hpj command to simply bind a number of .o files into a DLL; for instance, the command hpj -main foo *.o will not work. Information about using the hpj command and its options is found in the topic Building Executables and DLLs and the topic hpj Command.

Long Filenames
The loader does not support long filenames for DLLs. Until long filenames are supported by the loader, the HPCJ support for DLLs is restricted. For compound DLLs, the name cannot be longer than 8 characters. For simple DLLs, the filename is the same as the class name. If the class name is not longer than 8 characters, then the simple DLL will use the class name as its filename. Otherwise, an attempt is made to automatically generate an acceptable filename by truncating the class name to 8 characters. If it is found that the truncated class name is not unique, then the class name is truncated further to allow a unique numeric value to be appended. Once it is determined that the class name is unique, the class name becomes the filename of the simple DLL file and the full class name is stored in the extended attributes (EA data) associated with the file. The original class name is used to resolve the class at run time. Additional information about simple and compound DLLs is found in the topic Java Executables and DLLs.

Java API Support
This release of HPCJ supports the Java 1.1.1 APIs with the exceptions of the ClassLoader.defineClass() API, the JNI API DestroyJavaVM(), and the JNI API DefineClass().

There is no support for the dynamic loading of bytecodes using the ClassLoader.defineClass() API and the related JNI API DefineClass(). However, the Class.forName() method (and other similar class loading APIs) will work if you have used HPCJ to compile a class into a DLL and it is accessible through your classpath setting.

The APIs Runtime.traceInstructions() and Runtime.traceMethodCalls() are not implemented and, if invoked, just return.

Language Features
The following language features are not implemented or are only partially implemented:

 


Java Executables and DLLs


Building Executables and DLLs


hpj Command
hpjava Command