src/share/vm/opto/node.hpp
Index Unified diffs Context diffs Sdiffs Patch New Old Previous File Next File 7088955 Cdiff src/share/vm/opto/node.hpp

src/share/vm/opto/node.hpp

Print this page

        

*** 1,7 **** /* ! * Copyright (c) 1997, 2010, 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 * under the terms of the GNU General Public License version 2 only, as * published by the Free Software Foundation. --- 1,7 ---- /* ! * 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 * under the terms of the GNU General Public License version 2 only, as * published by the Free Software Foundation.
*** 182,191 **** --- 182,193 ---- // Control and data are uniformly represented in the graph. Finally, Nodes // have a unique dense integer index which is used to index into side arrays // 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); public:
*** 1284,1293 **** --- 1286,1296 ---- // Map dense integer indices to Nodes. Uses classic doubling-array trick. // Abstractly provides an infinite array of Node*'s, initialized to NULL. // 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; Node **_nodes; void grow( uint i ); // Grow array node to fit
*** 1314,1323 **** --- 1317,1327 ---- uint Size() const { return _max; } void dump() const; }; class Node_List : public Node_Array { + friend class VMStructs; uint _cnt; public: Node_List() : Node_Array(Thread::current()->resource_area()), _cnt(0) {} Node_List(Arena *a) : Node_Array(a), _cnt(0) {} bool contains(Node* n) {
*** 1337,1346 **** --- 1341,1351 ---- void dump() const; }; //------------------------------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: Unique_Node_List() : Node_List(), _in_worklist(Thread::current()->resource_area()), _clock_index(0) {} Unique_Node_List(Arena *a) : Node_List(a), _in_worklist(a), _clock_index(0) {}
*** 1387,1396 **** --- 1392,1402 ---- _for_igvn->push(n); } //------------------------------Node_Stack------------------------------------- class Node_Stack { + friend class VMStructs; protected: struct INode { Node *node; // Processed node uint indx; // Index of next node's child };
*** 1459,1468 **** --- 1465,1475 ---- //-----------------------------Node_Notes-------------------------------------- // 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: Node_Notes(JVMState* jvms = NULL) { _jvms = jvms;
src/share/vm/opto/node.hpp
Index Unified diffs Context diffs Sdiffs Patch New Old Previous File Next File