< prev index next >

src/share/vm/runtime/vm_operations.hpp

Print this page
rev 13387 : [mq]: parallel_sp_cleaning.patch

*** 196,205 **** --- 196,225 ---- evaluation_mode() == _async_safepoint; } static const char* mode_to_string(Mode mode); + // Safepoint cleanup + // Return true if this VM_Operation takes care of idle monitor deflation. + // Idle monitor deflation is usually done by the safepoint cleanup phase + // in SafepointSynchronize::do_cleanup_tasks(). However, a VM_Operation + // may want to take care of this itself, for example if a GC operation + // scans the thread stack anyway, it probably can piggy-back monitor + // deflation. Note that this is only possible if the oop marks are preserved + // during the VM operation (for example, most current GCs *don't* preserve + // the mark word, but displace it and temporarily use the mark word as + // forwarding pointer). + virtual bool deflates_idle_monitors() { return false; } + + // Return true if this VM_Operation takes care of nmethod marking. + // NMethod marking is usually done by the safepoint cleanup phase + // in SafepointSynchronize::do_cleanup_tasks(). However, a VM_Operation + // may want to take care of this itself, for example if a GC operation + // scans the thread stack anyway, it can just as well piggy-back nmethod + // marking. + virtual bool marks_nmethods() { return false; } + // Debugging virtual void print_on_error(outputStream* st) const; const char* name() const { return _names[type()]; } static const char* name(int type) { assert(type >= 0 && type < VMOp_Terminating, "invalid VM operation type");
< prev index next >