From 1ba80eadade14052eb5f6048c6c66214c4742ceb Mon Sep 17 00:00:00 2001 From: never Date: Sun, 11 Sep 2011 14:48:24 -0700 Subject: 7088955: add C2 IR support to the SA Reviewed-by: kvn --- src/share/vm/opto/node.hpp | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) (limited to 'src/share/vm/opto/node.hpp') diff --git a/src/share/vm/opto/node.hpp b/src/share/vm/opto/node.hpp index e88c4b96f..8564a7775 100644 --- a/src/share/vm/opto/node.hpp +++ b/src/share/vm/opto/node.hpp @@ -1,5 +1,5 @@ /* - * Copyright (c) 1997, 2010, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 1997, 2011, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -184,6 +184,8 @@ typedef Node** DUIterator_Last; // whenever I have phase-specific information. class Node { + friend class VMStructs; + // Lots of restrictions on cloning Nodes Node(const Node&); // not defined; linker error to use these Node &operator=(const Node &rhs); @@ -1286,6 +1288,7 @@ class SimpleDUIterator : public StackObj { // Note that the constructor just zeros things, and since I use Arena // allocation I do not need a destructor to reclaim storage. class Node_Array : public ResourceObj { + friend class VMStructs; protected: Arena *_a; // Arena to allocate in uint _max; @@ -1316,6 +1319,7 @@ public: }; class Node_List : public Node_Array { + friend class VMStructs; uint _cnt; public: Node_List() : Node_Array(Thread::current()->resource_area()), _cnt(0) {} @@ -1339,6 +1343,7 @@ public: //------------------------------Unique_Node_List------------------------------- class Unique_Node_List : public Node_List { + friend class VMStructs; VectorSet _in_worklist; uint _clock_index; // Index in list where to pop from next public: @@ -1389,6 +1394,7 @@ inline void Compile::record_for_igvn(Node* n) { //------------------------------Node_Stack------------------------------------- class Node_Stack { + friend class VMStructs; protected: struct INode { Node *node; // Processed node @@ -1461,6 +1467,7 @@ public: // Debugging or profiling annotations loosely and sparsely associated // with some nodes. See Compile::node_notes_at for the accessor. class Node_Notes VALUE_OBJ_CLASS_SPEC { + friend class VMStructs; JVMState* _jvms; public: -- cgit v1.2.3