< prev index next >

test/hotspot/jtreg/vmTestbase/nsk/share/gc/tree/TreeNode.java

Print this page

 31  *
 32  * A height of subtree defined by this node is kept in the node.
 33  * Additionaly, a byte array is used to control how much memory
 34  * this node will occupy.
 35  */
 36 public final class TreeNode {
 37         private TreeNode left, right;
 38         // The height of the tree
 39         private int height;
 40         private int size;
 41         private Object storage;
 42 
 43 
 44         /**
 45          * Create a tree node that will occupy approximately given memory.
 46          *
 47          * @param memory memory
 48          */
 49         public TreeNode(long memory) {
 50                 int length = (int) (memory - (4 * 2 + 2 * Memory.getReferenceSize() + Memory.getObjectExtraSize()));
 51                 if (length > 0)
 52                         storage = new byte[length];
 53                 size = length;








 54         }
 55 
 56         /**
 57          * Create a tree node that will occupy approximately given memory.
 58          *
 59          * @param memory memory
 60          */
 61         public TreeNode(long size, GarbageProducer gp) {
 62                 int length = (int) (size - (4 * 2 + 2 * Memory.getReferenceSize() + Memory.getObjectExtraSize()));
 63                 if (length > 0)
 64                         storage = gp.create(length);
 65                 size = length;
 66         }
 67         /**
 68          * Create a tree node that will occupy approximately given memory
 69          * with given left and right children.
 70          *
 71          * @param memory memory
 72          * @param left left child
 73          * @param right right child

 31  *
 32  * A height of subtree defined by this node is kept in the node.
 33  * Additionaly, a byte array is used to control how much memory
 34  * this node will occupy.
 35  */
 36 public final class TreeNode {
 37         private TreeNode left, right;
 38         // The height of the tree
 39         private int height;
 40         private int size;
 41         private Object storage;
 42 
 43 
 44         /**
 45          * Create a tree node that will occupy approximately given memory.
 46          *
 47          * @param memory memory
 48          */
 49         public TreeNode(long memory) {
 50                 int length = (int) (memory - (4 * 2 + 2 * Memory.getReferenceSize() + Memory.getObjectExtraSize()));


 51                 size = length;
 52                 if (length <= 0) {
 53                     return;
 54                 }
 55                 if (Memory.isValhallaEnabled()) {
 56                     storage = new Integer[Memory.getArrayLength(memory, Memory.getIntegerArrayElementSize())];
 57                 } else {
 58                     storage = new int[Memory.getArrayLength(memory, Memory.getIntSize())];
 59                 }
 60         }
 61 
 62         /**
 63          * Create a tree node that will occupy approximately given memory.
 64          *
 65          * @param memory memory
 66          */
 67         public TreeNode(long size, GarbageProducer gp) {
 68                 int length = (int) (size - (4 * 2 + 2 * Memory.getReferenceSize() + Memory.getObjectExtraSize()));
 69                 if (length > 0)
 70                         storage = gp.create(length);
 71                 size = length;
 72         }
 73         /**
 74          * Create a tree node that will occupy approximately given memory
 75          * with given left and right children.
 76          *
 77          * @param memory memory
 78          * @param left left child
 79          * @param right right child
< prev index next >