--- a/src/hotspot/share/runtime/vmOperations.hpp Thu Feb 21 14:24:44 2019 +0100
+++ b/src/hotspot/share/runtime/vmOperations.hpp Fri Feb 22 14:20:06 2019 +0100
@@ -41,6 +41,7 @@
// Note: When new VM_XXX comes up, add 'XXX' to the template table.
#define VM_OPS_DO(template) \
template(None) \
+ template(Cleanup) \
template(ThreadStop) \
template(ThreadDump) \
template(PrintThreads) \
@@ -213,7 +214,7 @@
// Debugging
virtual void print_on_error(outputStream* st) const;
- const char* name() const { return _names[type()]; }
+ virtual const char* name() const { return _names[type()]; }
static const char* name(int type) {
assert(type >= 0 && type < VMOp_Terminating, "invalid VM operation type");
return _names[type];
@@ -223,6 +224,21 @@
#endif
};
+class VM_None: public VM_Operation {
+ const char* _reason;
+ public:
+ VM_None(const char* reason) : _reason(reason) {}
+ const char* name() const { return _reason; }
+ VMOp_Type type() const { return VMOp_None; }
+ void doit() {};
+};
+
+class VM_Cleanup: public VM_Operation {
+ public:
+ VMOp_Type type() const { return VMOp_Cleanup; }
+ void doit() {};
+};
+
class VM_ThreadStop: public VM_Operation {
private:
oop _thread; // The Thread that the Throwable is thrown against