175 fcount = 0; 176 Deoptimization::deoptimize(thread, *fst.current(), fst.register_map()); 177 } 178 } 179 } 180 } 181 } 182 } 183 } 184 } 185 186 187 void VM_ZombieAll::doit() { 188 JavaThread *thread = (JavaThread *)calling_thread(); 189 assert(thread->is_Java_thread(), "must be a Java thread"); 190 thread->make_zombies(); 191 } 192 193 #endif // !PRODUCT 194 195 void VM_UnlinkSymbols::doit() { 196 JavaThread *thread = (JavaThread *)calling_thread(); 197 assert(thread->is_Java_thread(), "must be a Java thread"); 198 SymbolTable::unlink(); 199 } 200 201 void VM_Verify::doit() { 202 Universe::heap()->prepare_for_verify(); 203 Universe::verify(); 204 } 205 206 bool VM_PrintThreads::doit_prologue() { 207 // Get Heap_lock if concurrent locks will be dumped 208 if (_print_concurrent_locks) { 209 Heap_lock->lock(); 210 } 211 return true; 212 } 213 214 void VM_PrintThreads::doit() { 215 Threads::print_on(_out, true, false, _print_concurrent_locks, _print_extended_info); 216 } 217 218 void VM_PrintThreads::doit_epilogue() { 219 if (_print_concurrent_locks) { 220 // Release Heap_lock | 175 fcount = 0; 176 Deoptimization::deoptimize(thread, *fst.current(), fst.register_map()); 177 } 178 } 179 } 180 } 181 } 182 } 183 } 184 } 185 186 187 void VM_ZombieAll::doit() { 188 JavaThread *thread = (JavaThread *)calling_thread(); 189 assert(thread->is_Java_thread(), "must be a Java thread"); 190 thread->make_zombies(); 191 } 192 193 #endif // !PRODUCT 194 195 void VM_Verify::doit() { 196 Universe::heap()->prepare_for_verify(); 197 Universe::verify(); 198 } 199 200 bool VM_PrintThreads::doit_prologue() { 201 // Get Heap_lock if concurrent locks will be dumped 202 if (_print_concurrent_locks) { 203 Heap_lock->lock(); 204 } 205 return true; 206 } 207 208 void VM_PrintThreads::doit() { 209 Threads::print_on(_out, true, false, _print_concurrent_locks, _print_extended_info); 210 } 211 212 void VM_PrintThreads::doit_epilogue() { 213 if (_print_concurrent_locks) { 214 // Release Heap_lock |