hotspot/src/share/vm/runtime/vm_operations.hpp
changeset 35086 bbf32241d851
parent 33160 c59f1676d27e
child 35135 dd2ce9021031
equal deleted inserted replaced
35085:839c8ba29724 35086:bbf32241d851
    28 #include "classfile/javaClasses.hpp"
    28 #include "classfile/javaClasses.hpp"
    29 #include "memory/allocation.hpp"
    29 #include "memory/allocation.hpp"
    30 #include "oops/oop.hpp"
    30 #include "oops/oop.hpp"
    31 #include "runtime/thread.hpp"
    31 #include "runtime/thread.hpp"
    32 #include "utilities/top.hpp"
    32 #include "utilities/top.hpp"
       
    33 #include "code/codeCache.hpp"
    33 
    34 
    34 // The following classes are used for operations
    35 // The following classes are used for operations
    35 // initiated by a Java thread but that must
    36 // initiated by a Java thread but that must
    36 // take place in the VMThread.
    37 // take place in the VMThread.
    37 
    38 
    42   template(Dummy)                                 \
    43   template(Dummy)                                 \
    43   template(ThreadStop)                            \
    44   template(ThreadStop)                            \
    44   template(ThreadDump)                            \
    45   template(ThreadDump)                            \
    45   template(PrintThreads)                          \
    46   template(PrintThreads)                          \
    46   template(FindDeadlocks)                         \
    47   template(FindDeadlocks)                         \
       
    48   template(ClearICs)                              \
    47   template(ForceSafepoint)                        \
    49   template(ForceSafepoint)                        \
    48   template(ForceAsyncSafepoint)                   \
    50   template(ForceAsyncSafepoint)                   \
    49   template(Deoptimize)                            \
    51   template(Deoptimize)                            \
    50   template(DeoptimizeFrame)                       \
    52   template(DeoptimizeFrame)                       \
    51   template(DeoptimizeAll)                         \
    53   template(DeoptimizeAll)                         \
   228   void oops_do(OopClosure* f) {
   230   void oops_do(OopClosure* f) {
   229     f->do_oop(&_thread); f->do_oop(&_throwable);
   231     f->do_oop(&_thread); f->do_oop(&_throwable);
   230   }
   232   }
   231 };
   233 };
   232 
   234 
       
   235 class VM_ClearICs: public VM_Operation {
       
   236  public:
       
   237   VM_ClearICs() {}
       
   238   void doit()         { CodeCache::clear_inline_caches(); }
       
   239   VMOp_Type type() const { return VMOp_ClearICs; }
       
   240 };
       
   241 
   233 // dummy vm op, evaluated just to force a safepoint
   242 // dummy vm op, evaluated just to force a safepoint
   234 class VM_ForceSafepoint: public VM_Operation {
   243 class VM_ForceSafepoint: public VM_Operation {
   235  public:
   244  public:
   236   VM_ForceSafepoint() {}
   245   VM_ForceSafepoint() {}
   237   void doit()         {}
   246   void doit()         {}