Search in sources :

Example 1 with JCImageRegister

use of com.ibm.dtfj.image.javacore.JCImageRegister in project openj9 by eclipse.

the class ImageProcessBuilder method addImageThread.

/**
 * @param Properties with String key and String value
 */
public ImageThread addImageThread(long nativeThreadID, long systemThreadID, Properties properties) throws BuilderFailureException {
    try {
        ImagePointer pointer = fImageAddressSpace.getPointer(nativeThreadID);
        JCImageThread thread = fImageProcess.getImageThread(pointer);
        if (thread == null) {
            thread = new JCImageThread(pointer);
            if (registers != null) {
                // Add the registers to the first thread
                for (Iterator it = registers.entrySet().iterator(); it.hasNext(); ) {
                    Map.Entry me = (Map.Entry) it.next();
                    ImageRegister ir = new JCImageRegister((String) me.getKey(), (Number) me.getValue());
                    thread.addRegister(ir);
                }
                registers = null;
            }
            fImageProcess.addImageThread(thread);
        }
        for (Iterator it = properties.entrySet().iterator(); it.hasNext(); ) {
            Map.Entry me = (Map.Entry) it.next();
            thread.addProperty(me.getKey(), me.getValue());
        }
        if (systemThreadID != IBuilderData.NOT_AVAILABLE) {
            pointer = fImageAddressSpace.getPointer(systemThreadID);
            thread.setSystemThreadID(pointer);
        }
        return thread;
    } catch (JCInvalidArgumentsException e) {
        throw new BuilderFailureException(e);
    }
}
Also used : JCImageThread(com.ibm.dtfj.image.javacore.JCImageThread) ImagePointer(com.ibm.dtfj.image.ImagePointer) ImageRegister(com.ibm.dtfj.image.ImageRegister) JCImageRegister(com.ibm.dtfj.image.javacore.JCImageRegister) BuilderFailureException(com.ibm.dtfj.javacore.builder.BuilderFailureException) JCImageRegister(com.ibm.dtfj.image.javacore.JCImageRegister) Iterator(java.util.Iterator) JCInvalidArgumentsException(com.ibm.dtfj.java.javacore.JCInvalidArgumentsException) Map(java.util.Map)

Aggregations

ImagePointer (com.ibm.dtfj.image.ImagePointer)1 ImageRegister (com.ibm.dtfj.image.ImageRegister)1 JCImageRegister (com.ibm.dtfj.image.javacore.JCImageRegister)1 JCImageThread (com.ibm.dtfj.image.javacore.JCImageThread)1 JCInvalidArgumentsException (com.ibm.dtfj.java.javacore.JCInvalidArgumentsException)1 BuilderFailureException (com.ibm.dtfj.javacore.builder.BuilderFailureException)1 Iterator (java.util.Iterator)1 Map (java.util.Map)1