-
Enhancement
-
Resolution: Fixed
-
P5
-
hs23
-
b03
-
generic
-
generic
Issue | Fix Version | Assignee | Priority | Status | Resolution | Resolved In Build |
---|---|---|---|---|---|---|
JDK-8000395 | 8 | Vladimir Kozlov | P5 | Resolved | Fixed | b59 |
JDK-8018005 | 7u45 | Vladimir Kozlov | P5 | Closed | Fixed | b01 |
JDK-8002915 | 7u40 | Vladimir Kozlov | P5 | Closed | Fixed | b01 |
JDK-8001730 | hs24 | Vladimir Kozlov | P5 | Closed | Fixed | master |
new (C, 4) AddPNode(base, ptr, offset);
This is verbose, very unobvious (why pass 4 when the constructor only takes 3 inputs?) and error prone.
Currently it is done this way because the new operator allocates memory for the Node and the inputs array in one chunk.
We should investigate if it is possible to allocate the inputs array separately in the Node's constructors:
// Create a new Node. Required is the number is of inputs required for
// semantic correctness.
Node( uint required );
// Create a new Node with given input edges.
// This version requires use of the "edge-count" new.
// E.g. new (C,3) FooNode( C, NULL, left, right );
Node( Node *n0 );
Node( Node *n0, Node *n1 );
Node( Node *n0, Node *n1, Node *n2 );
Node( Node *n0, Node *n1, Node *n2, Node *n3 );
Node( Node *n0, Node *n1, Node *n2, Node *n3, Node *n4 );
Node( Node *n0, Node *n1, Node *n2, Node *n3, Node *n4, Node *n5 );
Node( Node *n0, Node *n1, Node *n2, Node *n3,
Node *n4, Node *n5, Node *n6 );
These constructors know what the size of the inputs array should be.
- backported by
-
JDK-8000395 C2: remove number of inputs requirement from Node's new operator
-
- Resolved
-
-
JDK-8001730 C2: remove number of inputs requirement from Node's new operator
-
- Closed
-
-
JDK-8002915 C2: remove number of inputs requirement from Node's new operator
-
- Closed
-
-
JDK-8002916 C2: remove number of inputs requirement from Node's new operator
-
- Closed
-
-
JDK-8002917 C2: remove number of inputs requirement from Node's new operator
-
- Closed
-
-
JDK-8018005 C2: remove number of inputs requirement from Node's new operator
-
- Closed
-
- relates to
-
JDK-8160742 Node::operator new invokes undefined behavior
-
- Resolved
-