hotspot/src/share/vm/opto/connode.hpp
changeset 23491 f690330b10b9
parent 22799 83e58bac7980
child 23528 8f1a7f5e8066
--- a/hotspot/src/share/vm/opto/connode.hpp	Wed Mar 19 11:37:58 2014 -0700
+++ b/hotspot/src/share/vm/opto/connode.hpp	Thu Mar 20 17:49:27 2014 -0700
@@ -642,6 +642,19 @@
   virtual const Type *bottom_type() const { return TypeInt::INT; }
 };
 
+//------------------------------Opaque3Node------------------------------------
+// A node to prevent unwanted optimizations. Will be optimized only during
+// macro nodes expansion.
+class Opaque3Node : public Opaque2Node {
+  int _opt; // what optimization it was used for
+public:
+  enum { RTM_OPT };
+  Opaque3Node(Compile* C, Node *n, int opt) : Opaque2Node(C, n), _opt(opt) {}
+  virtual int Opcode() const;
+  bool rtm_opt() const { return (_opt == RTM_OPT); }
+};
+
+
 //----------------------PartialSubtypeCheckNode--------------------------------
 // The 2nd slow-half of a subtype check.  Scan the subklass's 2ndary superklass
 // array for an instance of the superklass.  Set a hidden internal cache on a