The declaration looks like:
ReturnNode( uint edges, Node *cntrl, Node *i_o, Node *memory, Node *retadr, Node *frameptr );
But the definition is:
ReturnNode::ReturnNode(uint edges, Node *cntrl, Node *i_o, Node *memory, Node *frameptr, Node *retadr )
Notice the last two parameters are swapped. Given the implementation, the definition is right, and the declaration should be fixed. I found 2 usages of this ctor (in GraphKit::gen_stub and Compile::return_values) and they seem correct. Maybe there are more?
This swap is misleading for someone who would read the declaration.
ReturnNode( uint edges, Node *cntrl, Node *i_o, Node *memory, Node *retadr, Node *frameptr );
But the definition is:
ReturnNode::ReturnNode(uint edges, Node *cntrl, Node *i_o, Node *memory, Node *frameptr, Node *retadr )
Notice the last two parameters are swapped. Given the implementation, the definition is right, and the declaration should be fixed. I found 2 usages of this ctor (in GraphKit::gen_stub and Compile::return_values) and they seem correct. Maybe there are more?
This swap is misleading for someone who would read the declaration.
- links to
-
Commit(master) openjdk/jdk/1fe45265
-
Review(master) openjdk/jdk/23927