< prev index next >

src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/runtime/Threads.java

Print this page

134             } else if (cpu.equals("aarch64")) {
135                 access = new BsdAARCH64JavaThreadPDAccess();
136             }
137         }
138 
139         if (access == null) {
140             throw new RuntimeException("OS/CPU combination " + os + "/" + cpu +
141             " not yet supported");
142         }
143 
144         virtualConstructor = new VirtualConstructor(db);
145 
146         /*
147          * Add mappings for JavaThread types
148          */
149 
150         virtualConstructor.addMapping("JavaThread", JavaThread.class);
151 
152         if (!VM.getVM().isCore()) {
153             virtualConstructor.addMapping("CompilerThread", CompilerThread.class);

154         }
155 
156         // These are all the visible JavaThread subclasses that execute java code.
157         virtualConstructor.addMapping("JvmtiAgentThread", JavaThread.class);
158         virtualConstructor.addMapping("NotificationThread", JavaThread.class);
159         virtualConstructor.addMapping("AttachListenerThread", JavaThread.class);
160 
161         // These are all the hidden JavaThread subclasses that don't execute java code.
162         virtualConstructor.addMapping("StringDedupThread", HiddenJavaThread.class);
163         virtualConstructor.addMapping("ServiceThread", HiddenJavaThread.class);
164         virtualConstructor.addMapping("MonitorDeflationThread", HiddenJavaThread.class);
165         // Only add DeoptimizeObjectsALotThread if it is actually present in the type database.
166         if (db.lookupType("DeoptimizeObjectsALotThread", false) != null) {
167             virtualConstructor.addMapping("DeoptimizeObjectsALotThread", HiddenJavaThread.class);
168         }
169     }
170 
171     public Threads() {
172         _list = VMObjectFactory.newObject(ThreadsList.class, threadListField.getValue());
173     }

134             } else if (cpu.equals("aarch64")) {
135                 access = new BsdAARCH64JavaThreadPDAccess();
136             }
137         }
138 
139         if (access == null) {
140             throw new RuntimeException("OS/CPU combination " + os + "/" + cpu +
141             " not yet supported");
142         }
143 
144         virtualConstructor = new VirtualConstructor(db);
145 
146         /*
147          * Add mappings for JavaThread types
148          */
149 
150         virtualConstructor.addMapping("JavaThread", JavaThread.class);
151 
152         if (!VM.getVM().isCore()) {
153             virtualConstructor.addMapping("CompilerThread", CompilerThread.class);
154             virtualConstructor.addMapping("TrainingReplayThread", TrainingReplayThread.class);
155         }
156 
157         // These are all the visible JavaThread subclasses that execute java code.
158         virtualConstructor.addMapping("JvmtiAgentThread", JavaThread.class);
159         virtualConstructor.addMapping("NotificationThread", JavaThread.class);
160         virtualConstructor.addMapping("AttachListenerThread", JavaThread.class);
161 
162         // These are all the hidden JavaThread subclasses that don't execute java code.
163         virtualConstructor.addMapping("StringDedupThread", HiddenJavaThread.class);
164         virtualConstructor.addMapping("ServiceThread", HiddenJavaThread.class);
165         virtualConstructor.addMapping("MonitorDeflationThread", HiddenJavaThread.class);
166         // Only add DeoptimizeObjectsALotThread if it is actually present in the type database.
167         if (db.lookupType("DeoptimizeObjectsALotThread", false) != null) {
168             virtualConstructor.addMapping("DeoptimizeObjectsALotThread", HiddenJavaThread.class);
169         }
170     }
171 
172     public Threads() {
173         _list = VMObjectFactory.newObject(ThreadsList.class, threadListField.getValue());
174     }
< prev index next >