mirror of
https://github.com/openjdk/jdk.git
synced 2025-09-21 03:24:38 +02:00
8012972: Incremental Inlining should support scalar replaced object in debug info
Store in _first_index not absolute index but an index relative to the last (youngest) jvms->_scloff value Reviewed-by: roland, twisti
This commit is contained in:
parent
6549fc2f25
commit
ccfb92c6a9
8 changed files with 53 additions and 27 deletions
|
@ -773,6 +773,21 @@ void Node::del_req( uint idx ) {
|
|||
_in[_cnt] = NULL; // NULL out emptied slot
|
||||
}
|
||||
|
||||
//------------------------------del_req_ordered--------------------------------
|
||||
// Delete the required edge and compact the edge array with preserved order
|
||||
void Node::del_req_ordered( uint idx ) {
|
||||
assert( idx < _cnt, "oob");
|
||||
assert( !VerifyHashTableKeys || _hash_lock == 0,
|
||||
"remove node from hash table before modifying it");
|
||||
// First remove corresponding def-use edge
|
||||
Node *n = in(idx);
|
||||
if (n != NULL) n->del_out((Node *)this);
|
||||
if (idx < _cnt - 1) { // Not last edge ?
|
||||
Copy::conjoint_words_to_lower((HeapWord*)&_in[idx+1], (HeapWord*)&_in[idx], ((_cnt-idx-1)*sizeof(Node*)));
|
||||
}
|
||||
_in[--_cnt] = NULL; // NULL out emptied slot
|
||||
}
|
||||
|
||||
//------------------------------ins_req----------------------------------------
|
||||
// Insert a new required input at the end
|
||||
void Node::ins_req( uint idx, Node *n ) {
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue