--- old/src/share/vm/opto/node.hpp Fri Sep 9 14:16:19 2011 +++ new/src/share/vm/opto/node.hpp Fri Sep 9 14:16:18 2011 @@ -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 @@ // 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 @@ // 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 @@ }; 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 @@ //------------------------------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 @@ //------------------------------Node_Stack------------------------------------- class Node_Stack { + friend class VMStructs; protected: struct INode { Node *node; // Processed node @@ -1461,6 +1467,7 @@ // 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: